Commit Graph

130 Commits

Author SHA1 Message Date
Thomas Nguyen
f9386b7e36 Bug 1216407 - Use mozilla/Endian.h for NfcService. r=yoshi 2015-12-22 00:04:00 +01:00
Birunthan Mohanathas
f6aa64ea3b Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Nathan Froyd
9c5965b035 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Thomas Nguyen
59b4066505 Bug 1168704 - Rename setFocusApp in nslNfcContentHelper. r=yoshi 2015-10-07 23:55:00 +02:00
Shu-yu Guo
d8faa01cea Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Thomas Zimmermann
c1d0b76c75 Bug 1173802: Store global NFC service in ref-counted variable, r=allstars.chh
|ClearOnShutdown| deletes pointers by assigning |nullptr|. This
patch converts |gNfcService| to a smart pointer, so that cleaning
its value during shutdown will actually destruct the instance.
2015-07-31 10:07:25 +02:00
Thomas Zimmermann
ce37f51133 Bug 1173802: Replace |assertIsNfcServiceThread| with thread-safe checks, r=allstars.chh
The main thread writes the NFC thread's field in the NFC service
instance, but the function |assertIsNfcServiceThread| uses this
value on the NFC worker thread itself. Also clearing this value
happens on main, while the NFC thread still executes code. Calls
to |assertIsNfcServiceThread| can therefore fail if they occur
during an NFC shutdown.

This patch replaces the unsafe and racy |assertIsNfcServiceThread|
with the much simpler |NfcConsumer::IsNfcServiceThread|. The new
method tests the current thread against a thread pointer that has
been stored in |NfcConsumer|.
2015-07-31 10:07:25 +02:00
Thomas Zimmermann
76380c5de2 Bug 1173802: Clean up |NfcEventDispatcher|, r=allstars.chh
This patch moves |NfcEventDispatcher| to the namespace of |NfcConsumer|
and renames it to |DispatchNfcEventRunnable|. The NFC service is stored
in the runnable itself.
2015-07-31 10:07:25 +02:00
Thomas Zimmermann
91e427615a Bug 1173802: Run |NfcConsumer| on NFC thread, r=allstars.chh
This patch moves NFC thread onto the NFC service thread by applying
the following changes:

 * The methods |Start| and |Shutdown| now send runnables to the NFC
   thread that start or stop an NFC consumer. After shutting down a
   cleanu-up runnable frees all resources on the main thread.

 * Received messages are forwarded directly from the I/O thread to
   the NFC thread and unpacked there. There's no intermediate hop
   over the main thread any more.

 * Similarly to receiving, packed massages are forwarded directly
   from the NFC thread to the I/O thread. No intermediate hop over
   main is required.

 * On connection errors, |NfcConsumer| sends a runnable to the main
   thread to shutdown NFC.
2015-07-31 10:07:25 +02:00
Thomas Zimmermann
8fc0fd898e Bug 1173802: Move NFC socket and messaging code into |NfcConsumer|, r=allstars.chh
|NfcConsumer| will encapsulates all NFC socket and messaging code. It
wil be able to run solely on the NFC worker thread.
2015-07-31 10:07:25 +02:00
Birunthan Mohanathas
e52329c788 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Juan Gomez
21d73728f3 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Thomas Zimmermann
338f781818 Bug 1173334: Open nfcd connections with socket type SOCK_SEQPACKET, allstars.chh
NFC requires sequential transfer of individual messages. Using the
socket type SOCK_SEQPACKET guarantees these properties.
2015-06-25 08:29:04 -07:00
Krzysztof Mioduszewski
a799a445e4 Bug 1172159 - [NFC] Introduce getFocusTabId function. r=allstars.chh 2015-06-16 04:06:00 -04:00
Birunthan Mohanathas
8aaa6ae83e Bug 968520 - Add mozilla::fallible to more FallibleTArray calls. r=froydnj
This calls were already fallible due to their type (FallibleTArray). This
commit merely makes that fact visible at the call site.
2015-06-10 14:30:41 -07:00
Dimi Lee
eb0e2edca7 Bug 1170053 - [Aries] Not able to share a picture using NFC. r=yoshi 2015-06-03 15:54:55 +08:00
Yoshi Huang
9d64049d3a Bug 1168292 - Part 3: add tabId in notifyUserAccepted. r=dimi 2015-05-27 18:10:37 +08:00
Yoshi Huang
e9634c83bf Bug 1168292 - Part 2: notify listener with correct tabId. r=dimi 2015-05-27 17:31:43 +08:00
Yoshi Huang
4cb46118fe Bug 1168292 - Part 1: update SYSTEM_APP_ID. r=dimi 2015-05-27 11:50:14 +08:00
Thomas Zimmermann
f19339336d Bug 1166638: Use |ListenSocketConsumer| in |ListenSocket|, r=kmachulis, dlee, chucklee, shuang
This patch converts |ListenSocket| to forward events to an instance
of |ListenSocketConsumer|. All users are converted and the related
listener and consumer classes are removed.
2015-05-26 13:24:20 +02:00
Thomas Zimmermann
70111c54d3 Bug 1166638: Use |StreamSocketConsumer| in |StreamSocket|, r=kmachulis, dlee, chucklee, htsai
This patch converts |StreamSocket| to forward events and data to an
instance of |StreamSocketConsumer|. All users are converted and the
related listener and consumer classes are removed.
2015-05-26 13:24:20 +02:00
Yoshi Huang
82d3354929 Bug 1165841 - Part 5: remove listener when window is destroyed. r=dimi 2015-05-20 15:01:16 +08:00
Yoshi Huang
4bf759585c Bug 1165841 - Part 4: using eventListeners. r=dimi 2015-05-20 10:45:30 +08:00
Thomas Zimmermann
8fb67a5055 Bug 1164425: Cleanup interfaces of |ListenSocket|, r=kmachulis
This patch removes |ListenSocket::GetSocketAddr|, which is unused
and not thread-safe. The |Listen| methods now return error codes.
2015-05-20 10:50:43 +02:00
Carsten "Tomcat" Book
70b8a9bab5 Backed out changeset 17bd0777339a (bug 1164425) 2015-05-20 10:30:55 +02:00
Thomas Zimmermann
60a59f574c Bug 1164425: Cleanup interfaces of |ListenSocket|, r=kmachulis
This patch removes |ListenSocket::GetSocketAddr|, which is unused
and not thread-safe. The |Listen| methods now return error codes.
2015-05-20 09:54:27 +02:00
Thomas Zimmermann
9c1ff726f4 Bug 1161020: Implement new socket-connector interface for NFC, r=allstars.chh
This patch moves |NfcConnector| into its own file and implements
the new socket-connector interface.
2015-05-19 13:28:46 +02:00
Carsten "Tomcat" Book
03af28a47e Backed out 8 changesets (bug 1161020) for b2g ics emulator debug mochitest memory leaks on a CLOSED TREE
Backed out changeset 976e19eac8b5 (bug 1161020)
Backed out changeset 4f782be31f87 (bug 1161020)
Backed out changeset 384de663084c (bug 1161020)
Backed out changeset a8f42d85ce3f (bug 1161020)
Backed out changeset ac23206e80bd (bug 1161020)
Backed out changeset 34a20b05af6c (bug 1161020)
Backed out changeset 13753f9043f7 (bug 1161020)
Backed out changeset f90b8d3d6b70 (bug 1161020)
2015-05-18 15:01:27 +02:00
Thomas Zimmermann
ce9f13b8e1 Bug 1161020: Implement new socket-connector interface for NFC, r=allstars.chh
This patch moves |NfcConnector| into its own file and implements
the new socket-connector interface.
2015-05-18 11:28:30 +02:00
Andrew McCreight
aeff7c99ee Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Thomas Zimmermann
39a0f71307 Bug 1156352: Remove |UnixSocketRawData| from NFC interfaces, r=allstars.chh 2015-04-23 13:48:48 +02:00
Thomas Zimmermann
d5a07501e6 Bug 1154281: Don't include UnixSocket.h in NFC, r=allstars.chh
NFC only requires |UnixSocketRawData|, which is defined in SocketBase.h.
2015-04-21 10:33:06 +02:00
Yoshi Huang
f0384282bc Bug 1156208 - this.nfc.getErrorMessage is not a function. r=dimi
From 810bdc26b4f20b448212f32458fa43b7a5e573bf Mon Sep 17 00:00:00 2001
---
 dom/nfc/gonk/Nfc.js | 4 ++++
 1 file changed, 4 insertions(+)
2015-04-20 17:47:24 +08:00
Yoshi Huang
63be57309b Bug 1152667 - Remove NfcGonkMessage.h r=dimi
From 391484fa778ea08a5041bece49ef4ee14e13c7a4 Mon Sep 17 00:00:00 2001
---
 dom/nfc/gonk/NfcGonkMessage.h      | 44 --------------------------------------
 dom/nfc/gonk/NfcMessageHandler.cpp |  8 ++++---
 dom/nfc/gonk/NfcService.cpp        |  1 -
 3 files changed, 5 insertions(+), 48 deletions(-)
 delete mode 100644 dom/nfc/gonk/NfcGonkMessage.h
2015-04-09 15:54:02 +08:00
Yoshi Huang
f9e51404c2 Bug 1127735 - Update TechDiscoveredNotication. r=smaug, dimi 2015-03-25 11:16:42 +08:00
Yoshi Huang
f405d96e15 Bug 1146270 - Move HCI Event Origin into NfcOptions.webidl. r=smaug, dimi 2015-03-24 17:19:48 +08:00
Andrea Marchesini
b212600c95 Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Thomas Zimmermann
2b228f8626 Bug 1109592 - Listen for connections from NFC daemon. r=allstars.chh
This patch inverses the connection setup procedure between Gecko
and nfcd. Gecko now installs a listen socket and starts nfcd from
the init scripts. Nfcd establishes the connection by connecting
to Gecko's socket.

As a side effect of this patch, nfcd only runs while NFC is switched
on. This saves ~1.6 MiB os memory with contemporary NFC drivers on
flame-kk.
2015-03-11 03:38:00 -04:00
Thomas Zimmermann
3f04f600c1 Bug 1109592 - Forward socket state from |NfcSocketListener|. r=allstars.chh
This patch allows to handle changes to the socket state at a higher
level than |NfcSocketListener|.
2015-03-09 03:27:00 -04:00
Thomas Zimmermann
4365986c1d Bug 1109592 - Only open connection to nfcd while NFC is switched on. r=allstars.chh
With this patch Gecko only creates a connection to nfcd while NFC is
switched on, and closes the connection after NFC has been switched off.

While the connection is being opened, commands to nfcd are held in a
waiting queue. Gecko flushes the queue after it connected successfully
to nfcd.

As a side effect of this patch, the NFC thread only exists while NFC
is switched on.
2015-03-12 07:43:00 -04:00
Yoshi Huang
e78f29ee9c Bug 1141457 - Part 3: add a CommandMsgTable. r=dimi
From 7650a8e6a0ab634b90c85c0fa85a096e7d0f4ec9 Mon Sep 17 00:00:00 2001
---
 dom/nfc/gonk/Nfc.js | 36 +++++++++++++-----------------------
 1 file changed, 13 insertions(+), 23 deletions(-)
2015-03-10 17:06:56 +08:00
Yoshi Huang
a24e6525de Bug 1141457 - Part 2: add isP2P for writeNDEF. r=dimi
From 35af6fe22fa075ecef92cd84e2ce22357c9c395f Mon Sep 17 00:00:00 2001
---
 dom/nfc/NfcContentHelper.js     | 5 +++--
 dom/nfc/gonk/Nfc.js             | 1 -
 dom/nfc/nsINfcContentHelper.idl | 5 ++++-
 dom/nfc/nsNfc.js                | 4 ++--
 4 files changed, 9 insertions(+), 6 deletions(-)
2015-03-10 16:49:08 +08:00
Yoshi Huang
9a3417e8f9 Bug 1141457 - Part 1: Move SendFile to gMessageManager. r=dimi
From 4bb362a58ce6fb1bf32efd8a5202f28aa909f5f1 Mon Sep 17 00:00:00 2001
---
 dom/nfc/gonk/Nfc.js | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)
2015-03-05 17:43:43 +08:00
Thomas Zimmermann
a1c98c3c72 Bug 1140383: Add fast path for NFC:QueryInfo, r=allstars.chh
Messages of type NFC:QueryInfo return local RF state. We don't need
the NFC Service, so we can return early.
2015-03-10 13:51:57 +01:00
Yoshi Huang
d9b5b09720 Bug 1139830 - Make type/id/payload nullable in MozNDEFRecordOptions. r=smaug 2015-03-06 16:23:21 +08:00
Yoshi Huang
3c9cfd2a18 Bug 1137107 - Part 2: Add NfcResponseType and NfcNotificationType. r=smaug, dimi 2015-02-26 17:23:17 +08:00
Yoshi Huang
4cf97dac15 Bug 1137107 - Part 1: Add NfcRequestType. r=smaug, dimi
From 2c1e87a8e1018f2c1d9f8825e36d1478a8a409bc Mon Sep 17 00:00:00 2001
---
 dom/nfc/gonk/Nfc.js                | 22 ++++++---
 dom/nfc/gonk/NfcGonkMessage.h      |  9 ----
 dom/nfc/gonk/NfcMessageHandler.cpp | 91 +++++++++++++++++++-------------------
 dom/nfc/gonk/NfcOptions.h          |  2 +-
 dom/webidl/NfcOptions.webidl       | 16 ++++++-
 5 files changed, 76 insertions(+), 64 deletions(-)
2015-02-26 13:49:28 +08:00
Yoshi Huang
dcb1428e8d Bug 1137101 - Refactor Response/Notification sent from nfcd. r=dimi
From 80bbb263c548a86287bec29c5983e0ca3714a841 Mon Sep 17 00:00:00 2001
---
 dom/nfc/gonk/NfcGonkMessage.h      | 12 +++++----
 dom/nfc/gonk/NfcMessageHandler.cpp | 52 +++++++++++++++++++++++++-------------
 dom/nfc/gonk/NfcMessageHandler.h   |  5 ++--
 3 files changed, 44 insertions(+), 25 deletions(-)
2015-02-16 18:47:58 +08:00
Yoshi Huang
8045419885 Bug 1133390 - onfocuschanged(false) will be notified twice. r=dimi
From 1c1b9ad0570901cc2c9ce6bce1bbeda210c1e1ca Mon Sep 17 00:00:00 2001
---
 dom/nfc/gonk/Nfc.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
2015-02-16 11:13:18 +08:00