Check that usage isn't empty when generateKey() is called

This is my second attempt at https://codereview.chromium.org/745443002/,
after it was reverted. The broken test that caused it to get reverted was
fixed in https://codereview.chromium.org/757813002/.

BUG=425645

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

Cr-Commit-Position: refs/heads/master@{#306667}
gn format: Add 'outputs' to preferred-multiline lists

For symmetry with 'inputs'.

R=brettw@chromium.org,tfarina@chromium.org
BUG=348474

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

Cr-Commit-Position: refs/heads/master@{#306668}
Reland: Change to Shill's IPConfig objects.

Before a recent Shill change, Static and Saved IP config properties were stored in toplevel properties with prefixed keys like kStaticIPAddressProperty.
This change makes use of Shill now exposing these properties nested under a StaticIPConfig and SavedIPConfig dictionary.

This also makes the translation between a list of nameservers and a comma-separated string obsolete.

Original Review URL: https://codereview.chromium.org/762243002

BUG=411289
TBR=pneubeck@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#306669}
gn format //chrome

No intended functionality change.

R=brettw@chromium.org
BUG=348474

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

Cr-Commit-Position: refs/heads/master@{#306670}
Roll src/third_party/WebKit a0d6462:35097dd (svn 186421:186444)

Summary of changes available at:
https://chromium.googlesource.com/chromium/blink/+log/a0d6462..35097dd

TBR=pfeldman@chromium.org,schenney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#306671}
extensions: Make sure a valid key is used to track the event-listener counts.

The extension ID can be empty in some scenarios (e.g. <webview> in webui pages).
In such cases, use the ScriptContext's URL as the key.

BUG=434727
R=kalman@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#306672}
sandbox: sandbox_linux_unittests enforces TSYNC on ChromeOS

Make Seccomp-bpf tsync support mandatory on ChromeOS now
that all kernels support it.

BUG=
TEST=ChromeOS trybots

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

Cr-Commit-Position: refs/heads/master@{#306673}
Roll src/third_party/skia 2dd1ae0:96a6c4d

Summary of changes available at:
https://chromium.googlesource.com/skia/+log/2dd1ae0..96a6c4d

CQ_EXTRA_TRYBOTS=tryserver.blink:linux_blink_rel,linux_blink_dbg
TBR=halcanary@google.com

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

Cr-Commit-Position: refs/heads/master@{#306674}
FakeVideoCaptureDevice: add 1080p resolution

TEST= Run Chrome with flag
--use-fake-device-for-media-stream, navigate to
http://goo.gl/s2XhGB and see the rolling
pacman correctly displayed.

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

Cr-Commit-Position: refs/heads/master@{#306675}
aw: Add more trace events to drawing functions

Add more events with an eye towards debugging as well as accounting
all the time spent on RenderThread.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#306676}
Remove DesktopNotificationService::AddIconNotification.

There's only two call sites, which can easily talk to the Notification
UI Manager directly.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#306677}
Fix focus regression in chrome://settings/editDictionary.

BUG=437704

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

Cr-Commit-Position: refs/heads/master@{#306678}
Cleanup: Remove some unneeded string allocations.

The string conversion functions called all take StringPieces.

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

Cr-Commit-Position: refs/heads/master@{#306679}
Disable flaky OutOfProcessPPAPITest.MediaStreamAudioTrack on Windows

BUG=438729
TEST=None
TBR=bbudge
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#306680}
[Android] Allow multiple --install in bb_device_steps.py.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#306681}
Add Bookmark All Tabs UMA metric

Record all cases where this functionality is used. The existing
TabContextMenu_BookmarkAllTabs metric only records when the
functionality is invoked from the tab context menu.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#306682}
cc: Trace event for veto reason

Allow a pointer to a |reason| string to be passed through the
|Picture| to the |SkPicture|.

Create an instant event when the gpu rasterization veto
is hit.

BUG=434613

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

Cr-Commit-Position: refs/heads/master@{#306683}
Revert of Disable flaky OutOfProcessPPAPITest.MediaStreamAudioTrack on Windows (patchset #1 id:1 of https://codereview.chromium.org/770423005/)

Reason for revert:
Caused compile failure

Original issue's description:
> Disable flaky OutOfProcessPPAPITest.MediaStreamAudioTrack on Windows
>
> BUG=438729
> TEST=None
> TBR=bbudge
> NOTRY=true
>
> Committed: https://crrev.com/cd4450ef786b0a8f801d17a0563eeb67198de8e0
> Cr-Commit-Position: refs/heads/master@{#306680}

TBR=bbudge@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=438729

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

Cr-Commit-Position: refs/heads/master@{#306684}
ozone: dri: Mark DSI connectors as internal

So that ash detects the scale factor automatically.

TEST=manual on rush_ryu
BUG=chrome-os-partner:34264

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

Cr-Commit-Position: refs/heads/master@{#306685}
Safebrowsing download protection: also check blob URLs.

BUG=431187

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

Cr-Commit-Position: refs/heads/master@{#306686}