Fix missing negation on early exit condition when computing position constraints

In r159907 a small mistake landed where I missed a negation operator.
By fluke, the negation operator does not actually affect
fixed-position correctness: either the composited layer will be
implicitly fixed to another composited layer that is truly fixed (the
original way the code intended to work), or it will walk further up
the tree and be fixed with respect to the actual fixed-position
element. There may have been a minor performance hit, though,
with the mistake, because of additional position constraints in the
layer tree that need costly scroll compensation computations.

Pinch-zoom on the impl thread may behave differnetly, since a layer may
inherit awkward position constraints that should not have applied. But
there does not seem to be any reliable way to test that in a layout test
on the blink side.

BUG=317881

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161825 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Create DEFINE_STATIC_REF macro and use it

Based on idea from James Robinson <jamesr@chromium.org>

The DEFINE_STATIC_REF is a DEFINE_STATIC_LOCAL analogue for ref-counted objects which allows however to obviate an unneded allocation when using 'DEFINE_STATIC_LOCAL(RefPtr<>..)'.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161826 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix exception message for SubtleCrypto importKey to say "importKey".

This bug was introduced in r161808:
https://codereview.chromium.org/70173002/

BUG=270033

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

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

Implement SVGGeometryElement as described in https://svgwg.org/svg2-draft/types.html#InterfaceSVGGeometryElement

Use existing nodeAtPoint functionality from RenderSVGShape to implement the isPointInFill/Stroke methods of the interface.

Because of this feature update svg2-inheritance.html and add tests for it in svg-ellipse.xhtml.

TESTS=svg/dom/svg2-inheritance.html, svg/hittest/svg-ellipse.xhtml
BUG=315802

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161828 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add watchlist for Device Orientation/Motion in Blink.

Watchlist for Device Orientation/Motion related code and
tests.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161829 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix style sharing bug in TextAutosizer::setMultiplier

TextAutosizing is setting styles on renderers without marking them as
unique which can result in another element sharing the style and getting
an unexpected autosizing value.

I can't find a repro of this, but the code is wrong by inspection. We
really need to make it so that the default version of RenderStyle::clone
makes a unique style and a special one makes a sharable style so these
bugs don't happen.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161830 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove custom code for JavaScriptCallFrame.setVariableValue() operation

Remove custom code for JavaScriptCallFrame.setVariableValue() operation by using
ScriptValue instead of v8::Value on the implementation side and by marking
the arguments as optional to behave the same way.

TEST=inspector-protocol/debugger/debugger-setVariableValue.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161831 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Get rid of DocumentRuleSets.

While I'm loath to add even small amounts of code to StyleResolver,
this level of abstraction is no longer providing value. It's just
confusing.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161832 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make media/W3C tests be normal js-tests.

Right now they do a bunch of extraneous things, print their
own TEST COMPLETE line  and don't set jsTestIsAsync for
async tests, which makes them flaky.

BUG=316429, 306249

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161833 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Avoid synchronous style resolver updates from the DevTools code.

R=pfeldman, vsevik
CC=eseidel
BUG=315885

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161834 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Have ElementTraversal / NodeTraversal's next() methods take a reference

Have ElementTraversal / NodeTraversal's next() methods take a reference instead
of a pointer and the argument is expected to be non-null. This makes the code
look safer.

R=adamk

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161835 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: show message informing about required reload for some device emulation features.

BUG=316608

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161836 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use HashCountedSet for fontStats in InspectorCSSAgent

Use HashCountedSet for fontStats in InspectorCSSAgent instead of handling the
counting manually and using a HashMap data structure. This makes the code a
bit simpler.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161837 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Abstract away some of the complexity in CSSSelectorWatch by using HashCountedSet

Abstract away some of the complexity in CSSSelectorWatch by using HashCountedSet data
structure instead of handling the counting manually and use a HashMap.
WTF's HashCountedSet exists exactly for this kind of use cases and it makes the code
a bit simpler.

R=eseidel

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161838 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Separate BreakingContext from RenderBlockLineLayout.cpp

This patch is part of the bigger RenderBlockLineLayout refactoring (tracking bug: https://code.google.com/p/chromium/issues/detail?id=316347).
In this patch I introduced the line subdirectory in core/rendering, which will contain all of the linelayout related files. In this patch I
added BreakingContextInlineHeaders.h and separated the LineInfo class into LineInfo.h. BreakingContextInlineHeaders contains more helper classes
which will require their own files, but I'll do that later.

BUG=312826

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161839 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Layout Test editing/spelling/spellcheck-editable-on-focus.html is flaky

Do not use 'shouldBe' helper to check markers when asynchronous spell checking
is being used. Even if they should not have markers, we need to wait for them.

According to r158283 use shouldBecomeEqual. However, the spelling markers are
verified synchronously. As a result, we will check next marker only when the
current one appears. It allows us to set focus on elements and make sure
that it does not influence the previous expectations (where markers should not be
present).

BUG=278318

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161840 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Let autorebaseliner to its work.

Turn NeedsManualRebaseline to NeedsRebaseline now that
all the pieces of resizing plumbing have landed.

BUG=309760
TBR=jochen

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161841 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IndexedDB: Move DataLoss enum off of WebIDBCallbacks

The WebIDBCallbacks interface has grown an implementation, so it is no
longer appropriate to reference it from chromium's content/browser.
Give the enum a new home, with temporary support until chromium is
updated.

BUG=234277
R=jamesr@chromium.org,alecflett@chromium.org,dgrogan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161842 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move the logic for creating a new window as part of a "normal" load to CreateWindow.cpp. Hopefully this will enable us to merge more of that code with the window.open case in the future. The new window case now re-enters FrameLoader via its public api, instead of calling into the new FrameLoader's private loadWithNavigationAction().

Also, remove the ResourceRequest parameter from loadWithNavigationAction(), since it's redundant with part of the NavigationAction parameter.

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161843 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Tweak IndexedDB watchlist regex, add cmumford

TBR=dgrogan@chromium.org
NOTRY=true

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

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