Commit Graph

880 Commits

Author SHA1 Message Date
Thomas Zimmermann
a7b1e31f1b Bug 979370: Remove |ToggleBtTask|, r=echou
|ToggleBtTask| runs on the same thread as the start and stop methods
of |BluetoothService|. This patch merges the code of |ToggleBtTask|
into the start and stop methods and removes the class.
2014-03-14 10:50:18 +01:00
Thomas Zimmermann
7cdb5bf24d Bug 979370: Split |BluetoothService::StartStopBluetooth|, r=echou
This patch splits |BluetoothService::StartStopBluetooth| into two
separate functions. Both have mostly different code paths.
2014-03-14 10:50:02 +01:00
Thomas Zimmermann
cdaa2663bf Bug 979370: Move Bluetooth thread into BlueZ backend, r=echou
The Bluetooth thread is only necessary for starting and stopping
Bluetooth with the BlueZ backend. Bluedroid implements its multi-
threading internally.

This patch moves the Bluetooth thread into the BlueZ backend. Two
runnables implement the starting and stopping code. The methods
|StartInternal| and |StopInternal| of |BluetoothDBusService| each
create an instance of the respective runnable and send it to the
internal BT thread. The code in |BluetoothService| runs completely
on the main thread.

For the Bluedroid back end, the patch changes a number of thread
assertions.
2014-03-14 10:49:33 +01:00
Shawn Huang
276d7a631f Bug 976485 - [bluedroid] Fix sometimes Avrcp 1.3 play status is out of sync. r=gyeh 2014-03-13 09:12:41 -04:00
Ben Tian
1201c02cee Bug 981458 - Revise +CIEV string for battery charge indicator, r=gyeh 2014-03-12 17:21:07 +08:00
Vicamo Yang
e02ccd0835 Bug 957917 - 2/2: test cases. r=hsinyi 2014-03-11 22:18:00 +08:00
Shawn Huang
feba044fd1 Bug 979160 - Outgoing connection failure shall trigger OnConnect instead of OnDisconnect, r=echou 2014-03-10 10:33:32 +08:00
Ryan VanderMeulen
cb6ce085e9 Backed out changesets a7ea2d51414d and 901717199390 (bug 957917) for causing bug 980375. 2014-03-06 16:30:35 -05:00
Thomas Zimmermann
1e4c0c54eb Bug 978809: Send ToggleBtAck after finishing BlueZ connection setup, r=echou
With this patch, ToggleBtAck is sent by the BlueZ backend of
Bluetooth after the connection has been set up completely.
2014-03-06 12:45:16 +01:00
Thomas Zimmermann
e36fd9541b Bug 978809: Remove sToggleBtMonitor from Bluedroid backend, r=echou
When enabling or disabling Bluetooth, the Bluedroid backend waits
on sToggleBtMonitor until a BT adapter has been activated. Once
the monitor gets notified, the backend sends a ToggleBtAck runnable
to the main thread.

This patch removes sToggleBtMonitor from the Bluetooth Bluedroid
backend. Instead of signalling the monitor's notification, the
Bluedroid handler function sends the ToggleBtAck directly.
2014-03-06 12:43:35 +01:00
Eric Chou
1a2e41ef89 Bug 976943 - Replace OnConnect/OnDisconnect with one function, f=btian, r=gyeh
In BluetoothProfileController, it's meaningless to separate OnConnect
and OnDisconnect since the following steps would be the same for both
cases. Therefore I introduced a function called NotifyCompletion() for
each profile manager to report the completion of connecting/disconnecting
operations.
2014-03-06 19:26:28 +08:00
Eric Chou
c3b5cb5574 Bug 976943 - Add error handing for connect/disconnect process, f=btian, r=gyeh 2014-03-06 19:26:22 +08:00
Eric Chou
7bb536bce6 Bug 976883 - Handle unknown property sent from bt stack properly, f=btian, r=shuang 2014-03-05 15:50:54 +08:00
Shawn Huang
bc17206b08 Bug 951634: Add TimerCallback in Profile Controller, r=gyeh 2014-01-29 19:13:10 +08:00
Vicamo Yang
b4077f06b2 Bug 957917 - 2/2: test cases. r=hsinyi 2014-03-05 10:37:45 +08:00
Jamin Liu
98714c3135 Bug 972730 - Avoid disabling BT before the BT adapter is initialized in marionette test. r=echou, f=vicamo
The current Bluetooth API can't allow user to disable BT before the BT
adapter is initialized.
In practice, We block the clicking event in gaia layer to prevent user
to turn off BT before BT enable procedure complete.
If we use marionette test to force emulator turn on and turn off BT in
a short period of time, it may crash emulator.

Listen to 'adapteradded' event rather than 'enabled' as the end of
BT enable to make sure we wouldn't disable BT when it's not ready.
2014-03-03 10:20:24 -05:00
Thomas Zimmermann
3f6340544d Bug 977146: Push ToggleBtAck into implementations of {Start|Stop}Internal, r=echou
The methods {Start|Stop}Internal for BlueZ and Bluedroid now send
ToggleBtAck to signal completeness of the operation.

The current patch allows for further cleanups in the BlueZ code. It
does not change the semantics or code flow.
2014-03-03 13:07:17 +01:00
Thomas Zimmermann
bb87fe4d28 Bug 977146: Declare ToggleBtAck in header file, r=echou
Declaring ToggleBtAck in the header file of BluetoothService makes
it available ot others classes.
2014-03-03 13:07:17 +01:00
Thomas Zimmermann
d3e5381cea Bug 977146: Set PROP_BLUETOOTH_ENABLED in ToggleBtAck, r=echou
PROP_BLUETOOTH_ENABLED signals the Bluetooth state to other
components in the system. Setting its value in ToggleBtAck
on the main thread avoids duplicated code in the upcoming
patches.
2014-03-03 13:07:16 +01:00
Carsten "Tomcat" Book
01f93d64ea Merge mozilla-central to b2g-inbound 2014-02-27 15:59:39 +01:00
Hsin-Yi Tsai
b7e0a2c555 Bug 881174 - part5 - cdma 3way call: BT. r=gyeh 2014-02-21 17:53:23 +08:00
Ben Tian
92255142aa Bug 939672 - Patch 2/2: Move NS_DECL_ISUPPORTS and NS_DECL_NSIOBSERVER into BluetoothProfileManagerBase.h 2014-02-20 18:15:47 +08:00
Ben Tian
c16cd5a358 Bug 939672 - Patch 1/2: [bluedroid] Add fallback BluetoothHfpManager, r=gyeh
--HG--
rename : dom/bluetooth/bluedroid/BluetoothHfpManager.cpp => dom/bluetooth/bluedroid/hfp/BluetoothHfpManager.cpp
rename : dom/bluetooth/bluedroid/BluetoothHfpManager.h => dom/bluetooth/bluedroid/hfp/BluetoothHfpManager.h
2014-02-25 11:37:37 +08:00
Ben Tian
81fa60b1c1 Bug 972732 - Patch 1/2: Remove bluez/linux and bluedroid/gonk folders, r=echou
--HG--
rename : dom/bluetooth/bluedroid/gonk/BluetoothServiceBluedroid.cpp => dom/bluetooth/bluedroid/BluetoothServiceBluedroid.cpp
rename : dom/bluetooth/bluedroid/gonk/BluetoothServiceBluedroid.h => dom/bluetooth/bluedroid/BluetoothServiceBluedroid.h
rename : dom/bluetooth/bluez/linux/BluetoothDBusService.cpp => dom/bluetooth/bluez/BluetoothDBusService.cpp
rename : dom/bluetooth/bluez/linux/BluetoothDBusService.h => dom/bluetooth/bluez/BluetoothDBusService.h
2014-02-25 10:38:51 +08:00
Ehsan Akhgari
dea85f2037 Bug 975732 - Move one CXXFLAGS variable in dom/bluetooth to DEFINES; r=mshal 2014-02-22 21:42:12 -05:00
Ehsan Akhgari
7e41f47adf Bug 935778 - Part 0.4: Spray even more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-21 09:11:33 -05:00
Thomas Zimmermann
46edc5eb77 Bug 972253: Remove GetDBusConnection, r=echou
All calls to GetDBusConnection have been replaced by direct references
to sDBusConnection.
2014-02-20 12:56:11 +01:00
Thomas Zimmermann
9dc09442a0 Bug 972253: Cleanup Start/Stop methods in BlueZ backend, r=echou
This patch cleans up the code for starting and stopping DBus
connections in the BlueZ backend of Bluetooth. It also fixes
a bug were the initial 'adapteradded' reply might have been
missed.
2014-02-20 12:55:57 +01:00
Thomas Zimmermann
11f9899457 Bug 972253: Merge the content of DBusThread.cpp into Bluetooth code, r=echou
DBusThread.{cpp,h} maintains state for Bluetooth. This patch moves
the content of these files to Bluetooth's Bluez backend.
2014-02-20 12:55:41 +01:00
Sam Joch
02bac5e79f Bug 968215 - SettingsService needs to have a callback when transaction are completed. r=bent 2014-02-07 12:19:58 +01:00
Thomas Zimmermann
dcb36dc325 Bug 969314: Cleanup Gonk start/stop code in BluetoothDBusService, r=echou
This patch removes all unnecessary code when starting and stopping
Gonk in BluetoothDBusService. The change simplifies the respective
methods considerably.
2014-02-13 16:28:11 +01:00
Thomas Zimmermann
28afc0ec13 Bug 969314: Cleanup handling of libbluedroid.so, r=echou
This patch cleans up the handling of libbluedroid.so and its
interfaces. Open and closing the library is now handled internally
and contained functions are wrapped in class methods.
2014-02-13 16:28:09 +01:00
Thomas Zimmermann
e5ec01aca8 Bug 969314: Merge BluetoothGonkService into BluetoothDBusService, r=echou
This patch merges the code from BluetoothGonkService into
BluetoothDBusService. The merged code is protected by ifdef
statements.
2014-02-13 16:28:07 +01:00
Vicamo Yang
90fc702d2a Bug 969109 follow-up: strictly define the order of participating promises. r=echou, f=jaliu 2014-02-13 19:52:05 +08:00
Ben Tian
b9bec5646b Bug 969447 - Unable to turn bluetooth on after turning it on and off several times, r=echou, a=1.3+ 2014-02-13 12:08:41 +08:00
Ryan VanderMeulen
450343501c Backed out changeset eea91c2d859d (bug 969447) for Marionette-webapi bustage.
CLOSED TREE
2014-02-11 12:48:09 -05:00
Ben Tian
a6c3a5d5bf Bug 969447 - Unable to turn bluetooth on after turning it on and off several times, r=echou 2014-02-11 18:14:58 +08:00
Eric Chou
e990369c4b Bug 962310 - Support in-process bt file transfer, f=bent, r=gyeh
Currently if an app which lives in chrome process calls SendFile()
to send a file via Bluetooth, it would crash.
2014-02-11 10:07:23 +08:00
Carsten "Tomcat" Book
893735910e merge b2g-inbound to mozilla-central 2014-02-10 12:52:16 +01:00
Vicamo Yang
e00a9d0dfd Bug 969109: fix racing condition in test_dom_BluetoothManager_enabled.js. r=echou, f=jaliu 2014-02-10 12:03:43 +08:00
Chris Peterson
268821c150 Bug 952785 - RawDBusConnection::SendWithReply() returns bool, not nsresult. r=echou 2014-02-09 12:44:05 -08:00
Thomas Zimmermann
4f63fd3fe0 Bug 964817: Invoke DBus send operations on I/O thread, r=echou
Currently, the DBus connection for Bluetooth is shared between the
main thread and the I/O thread. This causes race conditions when
starting or stopping Bluetooth.

This patch moves all occurences of main-thread-invoked DBus send
operations to the I/O thread. This is mostly refactoring. Internally,
send operations are already executed on the main thread, so there is
no change in the over all logic of these methods.
2014-02-06 13:44:46 +01:00
Thomas Zimmermann
8815883deb Bug 843857: Don't listen if connect fails on BT server, r=echou
If the listen operation fails for Bluetooth servers, we should
not call listen again in the error handler. Otherwise, we run
into an endless loop of listen calls and error callbacks.
2014-02-05 14:17:22 +01:00
Jon Coppeard
4df3aa4450 Bug 959787 - Handlify JS_GetProperty and related APIs r=terrence r=bz 2014-01-31 09:55:20 +00:00
Birunthan Mohanathas
02d0812720 Bug 828300 - Replace NS_ARRAY_LENGTH with mozilla::ArrayLength/MOZ_ARRAY_LENGTH. r=ehsan 2014-01-30 13:26:54 -05:00
Kyle Huey
502ccb79bd Bug 965498 - Don't lose an already_AddRefed<T> and leak blobs in bluetooth. r=qdot 2014-01-29 17:03:51 -05:00
Ben Tian
ab82c431da Bug 957949 - [HFP] Add B2G common bluedroid config file, r=echou 2014-01-15 11:50:27 +08:00
Ben Tian
c5682cb766 Bug 921999 - Bluetooth Device connection status in Settings is incorrect if remote headset restores connection, r=gyeh 2014-01-23 10:46:45 +08:00
Gina Yeh
f386355248 Bug 952907 - Patch 1: Use WebIDL codegen to implement Bluetooth events, r=smaug 2014-01-22 14:26:29 +08:00
L. David Baron
03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Jamin Liu
9e0c783bfd Bug 953045 - Fix a bug of bluetooth AVRCP to support media metadata updating correctly. f=shuang, r=echou 2014-01-17 18:15:37 +08:00
Ryan VanderMeulen
fdd6001939 Merge m-c to inbound. 2014-01-16 15:07:22 -05:00
Ryan VanderMeulen
127438a7eb Merge inbound to m-c. 2014-01-16 15:06:12 -05:00
Terrence Cole
6beccf2363 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 3; r=sfink
--HG--
extra : rebase_source : ace7b0fa6ba93acbf0ec8ecaeb68ffa287a33665
2014-01-16 09:48:58 -08:00
Shawn Huang
5073a3f047 Bug 953034 - Part 2: Change MediaNumber type to uint64_t. r=gyeh 2014-01-16 08:39:34 -05:00
Shawn Huang
e06c376115 Bug 953034 - Part 1: Reply RegisterNotification event EVENT_TRACK_CHANGED with correct parameter whether a track is selected or not. r=gyeh 2014-01-16 08:39:14 -05:00
Shawn Huang
426ad22263 Bug 950220 - Unable to change Bluetooth device name from Settings UI, r=echou 2014-01-16 14:36:35 +08:00
Tom Schuster
f39e81815a Bug 939294 - Change xpidl jsval to handles. r=gabor,bz,khuey,bsmedberg,terrence 2014-01-09 18:39:36 +01:00
Ben Tian
5f3ae35ee6 Bug 948337 - create BluetoothHfpManagerBase for audio manager access 2014-01-13 13:58:43 +08:00
Jamin Liu
91f62414a0 Bug 953036 - Set HSP flag when BluetoothHfpManager chooses to connect HSP. r=echou 2014-01-10 08:23:13 -05:00
Ben Tian
95cf96304b Bug 956258 - [cleanup] Patch 2/2: reduce warnings and remove cancel_discovery() in SendFile(), r=echou 2014-01-03 17:25:04 +08:00
Ben Tian
ac2a05d6a2 Bug 956258 - [cleanup] Patch 1/2: rename g* variables to s* ones, r=echou 2014-01-10 09:34:43 +08:00
Thomas Zimmermann
d4a238ea67 Bug 950891: Don't run GetServiceChannel while turning Bluetooth on/off, r=echou
This patch adds a check to BluetoothDBusService::GetServiceChannel to
ensure that Bluetooth is ready. If the system is in a transition from
on to off, or vice versa, the method might operate on an undefined
state.
2014-01-07 13:46:20 +01:00
Shawn Huang
5f3ba55496 Bug 946240 - [Bluetooth][gonk-kk] Add flags to support different AVRCP profile version. r=echou 2014-01-08 09:32:19 -05:00
Boris Zbarsky
2d26bed9c3 Bug 950188. DOMRequest should only have a constructor taking a Window. r=khuey 2014-01-06 21:53:23 -05:00
Birunthan Mohanathas
d05644b6b3 Bug 784739 - Switch from NULL to nullptr in remaining directories; r=ehsan
--HG--
extra : rebase_source : 1ff19b2c8fd0e77fa8e822f5007a9fa3a6b6d474
2014-01-06 10:06:04 -05:00
Ehsan Akhgari
1b83407ce9 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ben Tian
96953caf23 Bug 947870 - Assertion in BluetoothOppManager::CreateFile (bluedroid), r=echou 2013-12-23 16:47:12 +08:00
Ben Tian
02483f8f82 Bug 939022 - BluetoothUtils for bluedroid. Patch 2/3: Modify files, r=echou 2013-12-23 11:24:11 +08:00
Ben Tian
7722a2510c Bug 939022 - BluetoothUtils for bluedroid. Patch 1/3: Move files, r=echou
--HG--
rename : dom/bluetooth/BluetoothUtils.cpp => dom/bluetooth/bluedroid/BluetoothUtils.cpp
rename : dom/bluetooth/BluetoothUtils.h => dom/bluetooth/bluedroid/BluetoothUtils.h
rename : dom/bluetooth/BluetoothUtils.cpp => dom/bluetooth/bluez/BluetoothUtils.cpp
rename : dom/bluetooth/BluetoothUtils.h => dom/bluetooth/bluez/BluetoothUtils.h
2013-12-16 19:00:54 +08:00
Ms2ger
df65132615 Bug 942104 - Fix a mismerge from the backout on a CLOSED TREE; a=Tomcat 2013-12-20 15:19:14 +01:00
Ms2ger
17684644bd Merge backout. 2013-12-20 11:36:27 +01:00
Ms2ger
0ca1c2ac03 Backout bug 942104 (changesets 4e5746a65a5e:62e32a84a9fb) for missing review. 2013-12-20 11:33:37 +01:00
Eric Chou
2fe77c563d Bug 949772 - Fire PropertyChanged to registered BluetoothDevice objects, r=gyeh 2013-12-18 18:21:37 +08:00
Eric Chou
7dbd32c503 Bug 949772 - Make BluetoothAdpater be able to deal with multiple properties in one PropertyChanged event, f=btian, r=gyeh 2013-12-18 18:21:05 +08:00
Ben Tian
9cc7da49ac Bug 949843 - Don't use char* str = NS_ConvertUTF16toUTF8(aBdAddress).get();, r=echou 2013-12-18 09:53:11 +08:00
Eric Chou
74a7ecb704 Bug 942104 - Fire event 'ondiscoverystatechanged' (bluez), r=gyeh 2013-11-30 20:20:18 +08:00
Eric Chou
3c5f74ef5d Bug 942104 - Fire event 'ondiscoverystatechanged', r=gyeh
From b03fc76c1810cf3f91aa9f92732c3df4ffd471a3 Mon Sep 17 00:00:00 2001
2013-11-25 14:13:26 +08:00
Eric Chou
57de6c7c2d Bug 942104 - Add nsIDOMBluetoothDiscoveryStateChangedEvent, r=gyeh 2013-11-30 20:20:17 +08:00
Eric Chou
d50d82aeec Bug 942104 - Add an event "ondiscoverystatechanged", r=gyeh, sr=mrbkap 2013-11-30 20:20:17 +08:00
Shawn Huang
004633cb58 Bug 944293 - [Bluetooth] Correct IS_PERIPHERAL COD validation and add error handling if COD is invalid, r=gyeh 2013-11-29 16:01:22 +08:00
Eric Chou
e81e85b392 Bug 942712 - Ensure event 'AdapterAdded' will be fired after 'Enabled' being fired, r=gyeh 2013-11-27 16:24:51 +08:00
Eric Chou
7682be42aa Bug 942712 - Set gToggleInProgress to false when bt toggling is done, r=gyeh
From 2e8e1d84251fac968caf9104536d1b794c986670 Mon Sep 17 00:00:00 2001
2013-11-26 15:13:43 +08:00
Mike Hommey
8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Jamin Liu
e6c9ee0f38 Bug 881194 - [Bluetooth] Send +CIEV callheld for conference call. r=echou 2013-12-16 08:37:33 -05:00
Jamin Liu
f43378e9ff Bug 881194 - [Bluetooth] Send +CIEV callheld properly to indicate call hold status. r=echou
- Send +CIEV callheld=1 when active calls become held calls
- Send +CIEV callheld=0 when all held calls become active calls.
2013-11-15 14:48:00 +08:00
Jamin Liu
4f634eea11 Bug 881194 - [Bluetooth] Support AT+CHLD=3 in dom bluetooth. When "AT+CHLD=3" is received from a hands-free device, notify the Dialer app to "Add a held call to the conversation". r=echou 2013-11-28 14:05:05 +08:00
Vicamo Yang
0867faba06 Bug 939637: B2G Bluetooth: add test case for navigator.BluetoothManager.adapteradded. r=echou 2013-12-13 15:31:21 +08:00
Vicamo Yang
7944cb8b87 Bug 939441: B2G Bluetooth: add test cases for navigator.BluetoothManager.enabled. r=echou, f=jgriffin 2013-12-13 15:31:16 +08:00
Thomas Zimmermann
d6f5d45a38 Bug 932728: Open only one connection to DBus, r=echou,qdot
Bluetooth maintains two connections to the DBus server and the DBus
system itself maintains a third one. This implies some overhead and
makes the code more difficult to understand.

This patch changes the Bluetooth code to use the connection that is
established by the DBus system.
2013-12-12 12:56:00 +01:00
Shawn Huang
c533d73a07 Bug 941462 - Reply internal error code when getting I/O error from BlueZ, r=gyeh 2013-12-12 19:37:42 +08:00
Jamin Liu
aae415e05c Bug 932490 - Fix the buffer overflows of OBEX packet. r=echou 2013-12-11 09:53:24 -05:00
Ben Tian
2e823715a4 Bug 948247 - [bluedroid] Race condition in BluetoothSocket may result in segmentation fault, r=echou 2013-12-11 16:53:11 +08:00
Eric Chou
9aacc7b3f5 Bug 947870 - Avoid assertion on receiving files via Bluetooth, r=gyeh 2013-12-11 13:17:34 +08:00
Ryan VanderMeulen
52ab5ad2dc Merge b2g-inbound to m-c. 2013-12-09 17:26:11 -05:00
Birunthan Mohanathas
0d3a767ee1 Bug 798033 - Remove 'using namespace' from dom/ headers. r=echou 2013-12-08 21:53:11 -05:00
Birunthan Mohanathas
3440613a39 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Birunthan Mohanathas
68b00083fd Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo 2013-12-08 21:52:33 -05:00