Oilpan build fix: Rawptr should be explicitly initialized

BUG=None
R=keishi@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177631 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Compositing updates for filters should work like transform and opacity

Previously, we should eagerly program filter updates into CC because the code
thought that we could fail to create filters in CC and we needed to know about
that failure relatively early in the pipeline. After studying the code,
however, it's clear that we can't ever actually fail to create filters in CC.

This CL removes the concept of failing to create filters in CC and unwinds some
of the compositing chicken/egg hacks related to filters.

BUG=343759

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177632 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove callers of deprecatedShadowAncestorNode

This patch removes callers of deprecatedShadowAncestorNode
from DragController and ReplaceSelectionCommand.

BUG=234099

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177633 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Teach ScopedStyleResolver that it's owned by a TreeScope.

Soon we're going to make ScopedStyleResolver be owned by the TreeScope
itself, for now lets make its scope pointer be to a TreeScope so code
know it's never a random element.

BUG=392018

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177634 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Re-enable ASSERT in RenderLayerCompositor

This ASSERT was disabled because it triggered on some Chrome OS browser_tests.
I've run those tests locally and it doesn't trigger anymore. It's a sensible
ASSERT, so we should have it.

BUG=365507

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177635 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add functions searching a word boundary without VisualPosition to 
HTMLTextFormControlElement.

SpellChecker::respondToChangeClient is called by FrameSelection::SetSelection.
We use VisiblePosition to find word and sentence boundaries and it cause 
synchronous layout.

However we implement text field as a shadow element including only div and text 
nodes.
It means we can find a word boundaries in a text field without VisiblePosition.

This CL introduce new Position functions, 
HTMLTextFormControlElement::startOfWord, endOfWord, startOfSentence and 
endOfSentence.
They doesn't cause synchronous layout and will be used from 
SpellChecher::respondToChangeClient to avoid synchronous layout.

Following is an implementation detail.
Source/core/html/HTMLTextFormControlElement.cpp/h:
- We introduce new Position functions, startOfWord, endOfWord, startOfSentence 
and EndOfSentence.
- They doesn't cause synchronous layout and be used from SpellChecher.
- Each of them works same as a corresponding 'Visible' function in VisibleUnit 
except they can be used to only text fields implemented as TextFormControlElement.

Source/core/html/HTMLTextFormControlElementTest.cpp:
- To confirm those 4 functions, we introduce the 
HTMLTextFormControlElementTest::WordAndSentenceBoundary test.
- It confirms each of them returns a same Position to a corresponding 'Visible' 
function in VisibleUnit on each Selection in a text field.

Source/core/rendering/RenderTreeAsText.cpp/h:
- We change visibility of the nodePosition function to debug DOM tree easily.
- The function is used in HTMLTextFormControlElementTest::WordAndSentenceBoundary test.

TEST=webkit_unit_tests  --gtest_filter=*TextForm*
BUG=382809

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177636 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[webcrypto] Replace the *KeyAlgorithm interfaces with an Object.

This corresponds with the spec update:
https://dvcs.w3.org/hg/webcrypto-api/rev/309495c2794e

BUG=386734

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177637 bbb929c8-8fbe-4397-9dbb-9b2b20218538
OilpanLeakExpectations: add svg font reload leak case

I would like to leave this leak case as a WONTFIX for now, as SVG fonts are likely to be deprecated before oilpan is enabled on trunk.

TBR=tkent
NOTRY=true
BUG=390094

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177638 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add Ahem-font-related test flakiness on Windows to TestExpectations.

BUG=392046
TBR=pilgrim@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177639 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up RenderStyle's NonInheritedFlags

Lets drop the getters and rename the fields to use the modern style. I
didn't rename the noninherited_flags member on RenderStyle itself just
yet so this is a bit easier to review. I'll search and replace the
member in another patch.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177640 bbb929c8-8fbe-4397-9dbb-9b2b20218538
ScriptPromisePropertyTest: Invoke Oilpan GC in memory-related tests too.

BUG=391630

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177641 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Provide a way to install a prototype object of private scripts

In order to make HTMLMarqueeElement in Blink-in-JS workable, we need a way to install a prototype object of the marquee element when the marquee element is created (e.g., when HTMLElementFactory creates the marquee element).

This CL implements PrivateScriptRunner::installClass, which is a C++ API to install a prototype object of a given class.

The API is tested in PrivateScriptTest.

BUG=341031

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177642 bbb929c8-8fbe-4397-9dbb-9b2b20218538
close-code-and-reason.html is flakily timing out, not just slow.

BUG=391068
TBR=tyoshino@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177643 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Prepare Node::dumpStatistics() for oilpan

Bonus: + fix a compile error from AttributeCollection refactoring.

NOTRY because DUMP_NODE_STATISTICS is never enabled on any of the buildbots.
NOTRY=true
BUG=340522

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177644 bbb929c8-8fbe-4397-9dbb-9b2b20218538
history_reload.html sometimes fails with MISSING.

BUG=311301
TBR=pilgrim@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177645 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a debug helper showLiveDocumentInstances()

This CL adds a debug helper function |showLiveDocumentInstances()|.
You can invoke this function from gdb, e.g)
> p showLiveDocumentInstances()
to display live WebCore::Document instances.

This is useful when debugging Document leaks.

WebLeakDetector is also modified to dump live document instances when reporting leaks.

BUG=None

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177646 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix description of 'offsetY'of Layer in protocol.json

BUG=None.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177647 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Address a few more flakinesses related to Ahem font.

overflow-scroll-rtl.html was an interesting case, because a wrong baseline
image (i.e. Ahem font not loaded) was checked in for this test. The image
is rebaselined to the correct one. The test is flaky nonetheless, so the test
expectation is also added.

BUG=392046
TBR=pilgrim@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177648 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Display property as specified on svg elements.

The computed display of svg elements should be as for other elements. For
svg:svg elements, they should behave as other replaced elements when styled
with inline-block, table-cell, etc. For svg elements inside the root svg
element, they still get a computed value for display as other elements,
although the rendering is the same for all display values different from
'none'.

This change aligns the behavior with that of Gecko.

This change makes it possible to remove the custom style building for
display.

R=pdr@chromium.org,fs@opera.com
BUG=391959

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177649 bbb929c8-8fbe-4397-9dbb-9b2b20218538
webaudio/realtimeanalyser-fft-scaling.html is flaky on all platforms.

BUG=392095
TBR=pilgrim@chromium.org,rtoy@chromium.org

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

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