Merge 170358 "Revert "Enable V8 Promises""

> Revert "Enable V8 Promises"
> 
> This reverts http://src.chromium.org/viewvc/blink?view=rev&rev=170300
> 
> The final pieces of the patch, which changed V8RecursionScope and
> used it inside WorkerRunLoopTask, do not appear to have been
> code-reviewed, and look wrong to both adamk and rafaelw (who have
> been the main Blink maintainers of both V8RecursionScope and Microtask).
> 
> BUG=352552, 352597
> 
> Review URL: https://codereview.chromium.org/216803003

TBR=adamk@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@170997 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170810 "Fix an issue that webkit-transform might impact fu..."

> Fix an issue that webkit-transform might impact fullscreen video
> 
> Fullscreen video should ignore all css transforms.
> 
> BUG=356282
> 
> Review URL: https://codereview.chromium.org/221333002

TBR=qinmin@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171002 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170543 "Protect EventListener from being deleted before it..."

> Protect EventListener from being deleted before it is passed into InspectorInstrumentation::didRemoveEventListener
> 
> BUG=358467
> 
> Review URL: https://codereview.chromium.org/220693002

TBR=yurys@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171034 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170889 "Fix null crasher by checking the hit test's result."

> Fix null crasher by checking the hit test's result.
> 
> BUG=359531
> 
> Review URL: https://codereview.chromium.org/225113002

TBR=andresantoso@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171282 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170895 "Fix missing foreground layer invalidations"

> Fix missing foreground layer invalidations
> 
> A foreground layer promotes the content that would have been in the main
> graphics layer.  When it gets created or destroyed, the main graphics
> layer needs to invalidate the area for the content that gets
> promoted/unpromoted from the foreground layer.
> 
> BUG=356002
> 
> Review URL: https://codereview.chromium.org/218173003

TBR=enne@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171368 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170495 "Validate finiteness of HTMLMediaElement properties."

> Validate finiteness of HTMLMediaElement properties.
> 
> BUG=357707
> 
> Review URL: https://codereview.chromium.org/217053009

TBR=sandersd@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171370 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171069 "Crash fix for multiple fullscreen layout tests."

> Crash fix for multiple fullscreen layout tests.
> 
> Chromium r261087 resolved a "navigate away from fullscreen" bug, but
> this started triggering crashes in some of the Blink layout tests due to
> an ASSERT failure.  The ASSERTion assumes that a document will always be
> active at the point when the exit fullscreen takes place.  However,
> there are specific situations where the Document might be stopped before
> fullscreen is exited.
> 
> This change simply changes the ASSERT to a return-early guard.  It also
> re-enables the affected layout tests.
> 
> BUG=359067,356951,256870
> 
> Review URL: https://codereview.chromium.org/225263022

TBR=miu@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171383 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171127 "Type extensions should apply similar checks to cus..."

> Type extensions should apply similar checks to custom tags
> 
> When creating a Custom Element with a custom tag, the element must be
> created by a document with a Custom Element registration context and
> have a tag name that conforms to being a valid Custom Element type
> name.
> 
> Nobody was enforcing a similar check for Custom Elements with type
> extensions (for example <button is="panic-button">.) Do that.
> 
> BUG=360429
> TEST=fast/dom/custom/invalid-type-extension-crash.html
> R=haraken@chromium.org
> 
> Review URL: https://codereview.chromium.org/230293002

TBR=kareng@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171410 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170472 "Remove hack in HTMLParserScheduler for deferring t..."

> Remove hack in HTMLParserScheduler for deferring to layout while parsing.
> 
> This code was intending to make sure that layout() timers get
> a chance to fire before parser timers do.  However we no longer use
> SharedTimer for schedulingLayout.  Instead we use the compositor's
> scheduleAnimation timer which is only called when the compositor
> actually is going to put up a frame.
> 
> I could imagine scenerios whereby a layout was scheduled and either
> was called and didn't clear the m_pendingLayout bit due to
> the Document being inactive or some other early-return, or a scenerio
> in which a layout was scheduled but the compistor never needed to
> put up a frame, which would result in the Parser spinning like this
> waiting for the layout timer to fire and clear the m_pendingLayout
> bool, but it never happened.
> 
> As the FIXME said, the real fix here is to reduce the max duration
> of the parser and possibly coordinate with the compositor to allow
> the parser to do work directly after the frame has been put up, in
> the time when the main-thread is otherwise idle waiting for the
> compositor and gpu threads to actually put up the frame.
> 
> This may cause a regression on SpeedIndex benchmarks and we may
> need to find a different way to implement what this code
> was trying to do.
> 
> I was not able to produce a test which triggered this bug, but I'm
> confident it's possible to get Blink into such a confused state.
> 
> BUG=288265
> 
> Review URL: https://codereview.chromium.org/218373002

TBR=eseidel@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171499 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171097 "Remove broken code for yielding parser to layout"

> Remove broken code for yielding parser to layout
> 
> This code previously was attempting to yield to layout
> before running scripts.  However now that layout and style
> are no longer timer-based in Blink but rather driven by
> the compositor's serviceAnimations callback, we no longer
> can yield to them in this way.  Especially since the
> compositor will only call us to layout just before
> putting up a frame, which it will never do for a background
> tab.  However a background tab can still continue to
> run its parser, which with this code would constantly
> attempt to defer itself by 0ms indefinitely.
> 
> The parser yielding logic really no longer makes
> any sense at all, since it only ever yields to the
> main thread by scheduling a 0ms timer which
> will be run again immediately (before returning
> to the chromium event loop) so long as we haven't
> yet exceeded SharedTimer::maxDurationOfFiringTimers
> which is currently set to 50ms.
> 
> Parser yielding, even when working is only managing to
> return after 50ms while there is still work to do.
> 
> Unfortunately I know of no good way to test this
> since we currently don't have any way to disable the
> (fake) compositor callbacks in DumpRenderTree.
> 
> I have tested loading the hanging page:
> http://clothing.shop.ebay.com/Womens-Shoes-/63889/i.html
> in a hundred background tabs and am no longer able
> to trigger the 100% cpu usage spin.
> 
> BUG=288265
> 
> Review URL: https://codereview.chromium.org/229443003

TBR=eseidel@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171500 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171148 "Overlay fullscreen video should remove fixed backg..."

> Overlay fullscreen video should remove fixed background layer.
> 
> Overlay fullscreen video removes all layers other than the video layer
> by re-rooting the tree. Fixed background layer is a special layer
> outside the RenderView layer tree. We need to remove it separately.
> 
> BUG=356185
> 
> Review URL: https://codereview.chromium.org/229613002

TBR=trchen@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171508 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171441 "Use document's contentSize when the HTML element i..."

> Use document's contentSize when the HTML element is selected.
> 
> HTMLHtmlElement's size might not be the size of the document, such as
> HTMLBodyElement's size, so when the selection root in the html element,
> the best thing we can do is get the size of the content because <html>
> and <body> might have a different size.
> 
> BUG=361927
> 
> Review URL: https://codereview.chromium.org/236083003

TBR=mlamouri@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171511 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171249 "Revert 169206 "Enable Woff 2.0 font compression fo..."

> Revert 169206 "Enable Woff 2.0 font compression format by default"
> 
> The Working Group is considering a couple of minor but potentially
> compatibility breaking changes to the spec. Given the risk, we decided
> to postpone WOFF 2.0 support to M36.
> I will merge this change to M35 branch, and then re-enable it on trunk.
> 
> > Enable Woff 2.0 font compression format by default
> > 
> > Feature Dashboard: http://www.chromestatus.com/features/6718644721549312
> > PSA: https://groups.google.com/a/chromium.org/d/topic/chromium-dev/j27Ou4RtvQI/discussion
> > 
> > BUG=242809, 223731
> > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169206
> 
> Review URL: https://codereview.chromium.org/232223007

TBR=ksakamoto@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171520 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170825 "Only delay scrolling for FrameViews"

> Only delay scrolling for FrameViews
> 
> Widgets that are implemented with ScrollViews may not
> scroll properly since the delayed scroll is implemented
> in FrameView. This should fix the issue.
> 
> BUG=357480
> 
> Review URL: https://codereview.chromium.org/223083003

TBR=ykyyip@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171675 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170582 "Timeline: fix frame event dividers in Timeline's m..."

> Timeline: fix frame event dividers in Timeline's main view
> 
> BUG=358679
> 
> Review URL: https://codereview.chromium.org/221093002

TBR=caseq@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171676 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171216 "Add renderer type checks to HTMLSelectElement even..."

> Add renderer type checks to HTMLSelectElement event handlers.
> 
> focus() can change the renderer type.
> 
> 
> This CL is based on a patch by jbutler@chromium.org. This CL fixed one bug in
> the original CL, and added a test.
> The test is only for OSX because other platforms don't use
> HTMLSelectElement::platformHandleKeydownEvent.
> 
> BUG=349903
> TEST=automated
> 
> Review URL: https://codereview.chromium.org/230143004

TBR=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171726 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171115 "RuleFetureSet should not reset StyleInvalidator."

> RuleFetureSet should not reset StyleInvalidator.
> 
> When a new sheet is loaded before StyleInvalidator works, StyleInvalidator
> misses style recalc for some elements, because elements' needsStyleInvalidation
> flags are not cleared in StyleInvalidator::clearPendingInvalidations.
> 
> BUG=344729
> TEST=fast/css/invalidation/sheet-loaded-before-invalidation.html
> 
> Review URL: https://codereview.chromium.org/225263016

TBR=tasak@google.com

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171732 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 171162 "Outline is not invalidated correctly"

> Outline is not invalidated correctly
> 
> r169659 moved the outline to the visual overflow but forgot
> that any outline change (especially growth) would impact the
> visual overflow but would NOT trigger a layout.
> 
> The fix is to force a full layout when the outline changes.
> It is not strictly necessary as we could get away with
> just recomputing the visual overflow but we don't
> have such a specialized layout yet.
> 
> BUG=3555983
> 
> Review URL: https://codereview.chromium.org/216013004

TBR=jchaffraix@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171787 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 171787 "Merge 171162 "Outline is not invalidated correctly""

The merge was badly done and needs to be redone correctly (the
change doesn't apply correctly and it needs to be checked manually).

> Merge 171162 "Outline is not invalidated correctly"
> 
> > Outline is not invalidated correctly
> > 
> > r169659 moved the outline to the visual overflow but forgot
> > that any outline change (especially growth) would impact the
> > visual overflow but would NOT trigger a layout.
> > 
> > The fix is to force a full layout when the outline changes.
> > It is not strictly necessary as we could get away with
> > just recomputing the visual overflow but we don't
> > have such a specialized layout yet.
> > 
> > BUG=3555983
> > 
> > Review URL: https://codereview.chromium.org/216013004
> 
> TBR=jchaffraix@chromium.org
> 
> Review URL: https://codereview.chromium.org/239513011

TBR=jchaffraix@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171820 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge 170327 "DevTools: Fix platform-specific extension-based sh..."

> DevTools: Fix platform-specific extension-based shortcuts on Windows
> 
> TBR=vsevik
> BUG=357494
> 
> Review URL: https://codereview.chromium.org/216693003

TBR=apavlov@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/branches/chromium/1916@171863 bbb929c8-8fbe-4397-9dbb-9b2b20218538