Pages are missing invalidations

r168968 made us avoid full invalidations in repaintAfterLayoutIfNeeded
for shifted renderers. This is wrong as inserted / removed renderers
can shift content without marking them for layout.

The old logic would rely on the outline box to detect the previous
case and force a full invalidation but r168968 disabled the outline
box checks unless you have an outline.

This change brings back the full-invalidation-on-shifted-renderer,
which brings back some missing invalidations. The new baselines are
matching pre-r168968 baselines but we haven't completely reverted
the changes from r168968 so it's still an overall win.

BUG=353933

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170066 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[Refactring] Turn HTMLImport::m_sync from bool to an enum.

This change introduces HTMLImport::SyncMode for readability.

TEST=none
BUG=356257
R=dominicc@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170067 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Make Array.remove O(N).

TEST=LayoutTests/inspector/utilities.html
R=alph, pfeldman

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170068 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Implement batch event forwarding from extension panels

Drive-by: Provide and handle a synthetic keyCode for synthetic KeyboardEvents.
This is required for handling of shortcuts forwarded from extension panels.

R=caseq

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170069 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mark svg/as-image/animated-svg-animation-control.html as flaky

BUG=356742
TBR=fs@opera.com

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170070 bbb929c8-8fbe-4397-9dbb-9b2b20218538
WebGL: Return both unprefixed and prefixed supported names from getSupportedExtensions

WebGL spec requires that getExtension "Returns an object if, and only if,
name is an ASCII case-insensitive match [HTML] for one of the names
returned from getSupportedExtensions; otherwise, returns null." Respect
this requirement by always returning both unprefixed and prefixed names
from getSupportedExtensions in case they are supported by getExtension.

Functionality that is common to both getExtension and
getSupportedExtensions is refactored to separate helper functions so that
maintaining this becomes easier.

BUG=354454
TEST=WebGL conformance tests
R=bajones@chromium.org, kbr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170071 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Schedule image resource downloads by decreasing visual impact

This CL adds an intra-priority level sorting value for finer grained
control of resource loading. The blink side of this patch sorts images by
estimated on screen real-estate, preferring to download images in order of
decreasing visual impact. Ie. On a page with a large banner, and dozens of
small icons, the large banner will most likely be scheduled ahead of the
others.

In the future, we can also use this to experiment with other signals, ie.
prioritize out of viewport images by their distance to viewport.

Will be followed up by https://codereview.chromium.org/146333004/.

In our tests, this was a nice win on speed-index for desktop, with a gain of 
about ~2-3%. 

This is first of 3 sided patch. Following pattern suggested on chromium-dev:

"
1) Add the new WebKit interface, preserving the old.
2) Change Chrome to use the new interface.
3) Modify WebKit to remove the old interface.
"

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170072 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Inform the client when the Service Worker rejects an install event

BUG=285976

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170073 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert MediaQueryTokenizer's codepoints array to be static data.

Since there's no reason that the MediaQueryTokenizer's codepoints array would be created dynamically, I've created it here as an initialized array.
I used the build scripts to do that.



BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170074 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Usage of DirectWrite now determined browser-side

Enabling DirectWrite requires the sandbox to have knowledge of whether
DirectWrite or GDI is used for font rendering, so it's now decided
in the browser. Don't do fallback behavior in the renderer any more.

Browser side is https://codereview.chromium.org/209163002/ .

R=jamesr@chromium.org
BUG=333029

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170075 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mark device-emulation-scale-only as failing on Mac

TBR=dgozman
BUG=356743

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170076 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Intent to remove:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/GzMh_HfjUVc

This method is removed is from SVG2, uses the deprecated CSSValue and use counter data indicates it is little or not used.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170077 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove removed uniscribe files from blink_platform.gypi

Clean up blink_platform.gypi and remove references to files that are
no longer part of the build.

TBR=leviw@chromium.org
BUG=313423

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170078 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Drop event should generate user gesture.

Generate a user gesture when drop event is fired. This is useful for extensions
to call some user gesture based APIs during a drop event. Please see the bug
for a sample extension.

R=adamk@chromium.org,abarth@chromium.org
BUG=355269

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170079 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make mediaPlayerRequestFullscreen() user gesture bypass explicit

mediaPlayerRequestFullscreen() is only ever called from Chromium's
BrowserMediaPlayerManager::OnProtectedSurfaceRequested() when the
--disable-gesture-requirement-for-media-fullscreen flag is used.

Make this behavior explicit, limiting it to just this case instead of
disabling it even for script-initiated fullscreen requests.

This will allow removing the mediaFullscreenRequiresUserGesture setting
once Chromium has been updated.

BUG=355439
TEST=LayoutTests/media/media-player-request-fullscreen.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170080 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Drop empty list :host() and :host-context().

The <compound-selector> argument may not be empty according to spec.

BUG=356578

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170081 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mark frameset-repeated-name as flaking

TBR=japhet@chromium.org
BUG=356777

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170082 bbb929c8-8fbe-4397-9dbb-9b2b20218538