Sandbox Linux: add CHECK for broken promises.

GetStatus() returns the expected sandbox status, as it's typically called
before the sandbox is initialized.

Add a clear check that no broken promises have been made.

BUG=328555
R=joi@chromium.org, jorgelo@chromium.org

Review URL: https://codereview.chromium.org/115493004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240979 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 240979
Separated DialServiceImpl's socket logic into a separate class DialSocket.

A DialSocket object represents a socket bound to a network interface. It invokes callbacks when a discovery request was made, a device was discovered, or when socket error occurred.

DialServiceImpl manages multiple DialSocket objects, with callbacks back to DialServiceImpl to notify observers.

TODO in next patch: Fix 300113 to bind a socket to all IPv4 and IPv6 network interface, and discover devices on each of them.

BUG=300113

Review URL: https://codereview.chromium.org/114293003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240982 0039d316-1c4b-4281-b951-d872f2087c98
[sync] Remove is_sync_disabled_ flag from ProfileSyncServiceHarness

ProfileSyncServiceHarness implements a bunch of Await* methods that let
you wait for various sync events. However, these waits will block and
timeout if a sync client is disabled. We used to use a boolean flag to
determine if sync was disabled on a client.

This CL gets rid of the boolean flag and inspects the actual disabled
state of the internal ProfileSyncService object. Only the subset of sync
integration tests that call DisableSync should be affected.

BUG=323380
TEST=sync_integration_tests:*DisableSync
R=rlarocque@chromium.org

Review URL: https://codereview.chromium.org/113893006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240983 0039d316-1c4b-4281-b951-d872f2087c98
rAc: open info bubbles only within the dialog using existing logic.

Kills some duplicated logic and fixes vertical positioning.

R=msw@chromium.org
BUG=322816
NOTRY=true

Review URL: https://codereview.chromium.org/115483004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240984 0039d316-1c4b-4281-b951-d872f2087c98
[sync] Simplify EnableEncryption and WaitForEncryption

ProfileSyncServiceHarness provides sync integration tests with a couple
of methods to enable / wait for encryption. These methods inspect internal
state in ProfileSyncService to determine when encryption is complete.

This CL removes the reliance on sync session snapshots in
WaitForEncryption. In addition, it also removes the condition that
IsFullySynced be true before WaitForEncryption returns true. This is
done under the premise that tests are responsible for waiting for sync
to complete after encryption is enabled, by calling AwaitQuiescence or a
related Await* method. An audit of all the integration tests that enable
encryption reveals that this is already true.

BUG=95619,323380
TEST=sync_integration_tests:*Encryption*

Review URL: https://codereview.chromium.org/115523002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240985 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 240985