Get rid of unnecessary layouts on body elements with quirky children

RenderBlockFlow::marginBeforeEstimateForChild() was checking the wrong
margin when detecting quirky children. The performance test added by
this patch times out without the change in this CL - obviously a
pathological case!

BUG=

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169269

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169790 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: reset inspector agents before frame view is reset, but after the rest of the frame interations.

BUG=352702,312393,344623

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169791 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: promote large views with overflow to layers in order to not repaint on scroll.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169792 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add support for attribute selectors in TargetedStyleRecalc.

Like with classes, even if local TargetedStyleRecalc is not
supported for an attribute selector, this also causes style
invalidation tree walks rather than
setting style recalc dirty bits directly.


BUG=339729,352300

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169793 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove a lot of dead code from AXNodeObject

Remove a lot of dead code from AXNodeObject. The following virtual function is
no longer used:
virtual void accessibilityText(Vector<AccessibilityText>&);

BUG=352771
R=dmazzoni@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169794 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rebase fast/css/css2-system-fonts.html test expectations on Win XP

Notry because we don't have an XP trybot.
NOTRY=TRUE
BUG=354849

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169795 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add layout test for EME WD using multiple sessions

BUG=308704
TEST=new test runs

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169796 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Moving creation of WebContentDecryptionModule from Platform to public/web.

This is done in order to get the origin and WebFrame needed to create the
CDM. This is now similar to how WebMediaPlayer is created. This change adds
a Page supplement for MediaKeys to enable this.

BUG=250049, 353324
TEST=EME content tests pass (plus disabled ECK browser tests now pass)

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169797 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove out-of-date FIXME on collapsing margins

CSS2.1 is now clear about what to do if the collapsed margins are
greater than the offset required to clear a float.

"Computing the clearance of an element on which 'clear' is set is done
by first determining the hypothetical position of the element's top
border edge. This position is where the actual top border edge would
have been if the element's 'clear' property had been 'none'. If this
hypothetical position of the element's top border edge is not past
the relevant floats, then clearance [..] is set to the greater of:
The amount necessary to place the border edge of the block even with
the bottom outer edge of the lowest float that is to be cleared. [or]
The amount necessary to place the top border edge of the block at
its hypothetical position."

http://www.w3.org/TR/CSS2/visuren.html#clearance


BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169798 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Only :host and :ancestor should ever match the host in a ShadowRoot

We were blocking tag, id and class from matching when put before :host, but were
not correctly stopping things like :first-child:host or *:host.

Instead of trying to black list selectors we need to whitelist :host and
:ancestor as being special.

It turns out we did have test coverage for this, but the expected results were
all wrong so it printed PASS even though we were failing what the test was
supposed to be testing.

BUG=355149, 355158

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169799 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Expand WidthCache for complex text width queries

Expand use of WidthCache to apply to all complex text width queries.
It'll still bail out for queries where the GlyphOverflow bounds are
needed.

BUG=347186
R=dominik.rottsches@intel.com

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169800 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Renamed MediaQueryExp::create

Since MediaQueryExp::create returns a nullptr when the input string is not a valid media feature,
I've renamed it to createIfValid.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169801 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactor unitTable access

Following the review of https://codereview.chromium.org/209443002/ , I've changed the unitTable access method to be a static CSSPrimitiveValue::fromName method.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169802 bbb929c8-8fbe-4397-9dbb-9b2b20218538
id of iframe incorrectly sets window name

As per the specification, the iframe's name should be an empty string if unset:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-name

Instead, Chromium was using the iframe's id as window name if the name was
unset. This change makes us behave like Firefox 27 and IE 11, verified using:
http://jsfiddle.net/xf5H7/9/

This CL sets the name attribute iframe in a lot of layout tests so that
testRunner.dumpChildFramesAsText() keeps printing the same result.

R=arv@chromium.org, tkent@chromium.org
BUG=347169
TEST=fast/frames/iframe-no-name.html

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168553

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168801

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169304

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169683

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169803 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: minor UI / menu tweaks reducing the clutter.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169804 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Node::setTextContent should avoid work when nothing changes

We already had code to handle this case, which is shared
by editing as well as HTMLElement::setInnerText.
However that code (replaceChildrenWithText) appears to
be both wrong and unsafe (modifies existing text nodes
without checking if they're shared or not), so I chose
not to re-use it for now.

This was originally committed as:
https://src.chromium.org/viewvc/blink?view=rev&revision=169394
using replaceChildrenWithText, but was rolled out for
breaking a zillion tests. This version does not use
replaceChildrenWithText.
BUG=352836
R=jchaffraix@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169805 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mark http/tests/navigation/same-and-different-back.html as flaky on all platforms

TBR=japhet

BUG=355274

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169806 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Partial revert of r169693

That CL caused a bunch of crashes (see referenced bug). This CL contains a
manual partial revert of that CL, which will hopefully fix the crashes.

TBR=eseidel@chromium.org
BUG=355262

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169807 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up parseMediaQueryList from BisonCSSParser

Following https://codereview.chromium.org/171383002/ BisonCSSParser::parseMediaQueryList is no longer used. This CL removes that unused code.

BUG=

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

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