Add virtual DirectWrite test suite on windows

Add a new virtual test suite on windows for DirectWrite that runs the
fast/text layout tests with the --enable-direct-write and --enable-font-
smoothing flags.

R=dglazkov@chromium.org
BUG=356780

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171177 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Allow cache reuse of some requests with Cache-Control headers

Traditionally, we have carefully handled Cache-Control headers that were set on a ResourceResponse, but have pretended Cache-Control doesn't exist on ResourceRequests. As of http://src.chromium.org/viewvc/blink?view=rev&rev=165603, we do the smarter naive thing, and never allow resources to be reused from MemoryCache if the ResourceRequest includes a Cache-Control header.

This patch moves ResourceResponse's Cache-Control parsing to HTTPParsers and handles Cache-Control headers consistently, whether the header appears on a ResourceRequest or a ResourceResponse.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171178 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove testRunner.display from windowless plugin test

This is a straggler test that https://codereview.chromium.org/224093012/
dropped in the last patch set.

BUG=345027

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171179 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move modal dialogs from WebViewClient to WebFrameClient, part 2/3.

BUG=304341
TEST=modal dialogs still work

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171180 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Blink side changes to open a color chooser using WebFrameClient instead of WebViewClient.

BUG=304341

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171181 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert didAddShadowRoot() into willAddFirstAuthorShadowRoot()

There's no reason to have this hook on Element that is called whenever
any ShadowRoot is added. Instead all the users just want to know when
the first Author shadow root is added since they need to switch back
to a different rendering.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171182 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable LayoutState for pages with composited views

When a view isn't composited, renderers that use the view
as their repaint container will actually return null for
containerForRepaint. When the view is composited, however,
every associated renderer will have a repaint container
that corresponds to the owner of the composited layer it
paints into.

LayoutState is used to quickly map renderers that repaint
to the root to the root's coordinate space, but the logic
where it's used hadn't been updated for composited
RenderViews, so it only checked to see if the repaint
container was null, which is never the case when the view
is composited.

This is a performance optimization and should result in no
behavioral changes.

BUG=361754

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171183 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't reuse POST XHRs in the MemoryCache

The HTTP spec states that certain request methods are implicitly uncacheable. Respect that in deciding cache policy.

Also, don't automatically assume that it's safe to merge simulatneous XHRs to the same resource. This is safe in the standard subresource case, but XHRs might have manually set headers that influence caching decisions (e.g., Cache-Control).

BUG=361087
TEST=CachingCorrectnessTest.PostToSameURLTwice

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171184 bbb929c8-8fbe-4397-9dbb-9b2b20218538
RenderBlock::nextFloatLogicalBottomBelow should allow LayoutUnit::max() as a return value

Update the function to allow return values up to and including LayoutUnit::max().
BUG=356678

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171185 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mark some layout tests as failed.

BUG=361795
TBR=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171186 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Disable x-webkit-speech

This does not remove the code yet, only makes x-webkit-speech
test-only (only exposed during LayoutTests) which makes
this patch only a one-line change. We should follow up this
change with a full removal of this feature including
all tests.

x-webkit-speech is a Chrome-only feature which was
announced as deprecated Feb 2014:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/jlPdpx6jErE
Current usage is at about 0.487% of reported Chrome page views
which is (well) above our normal 0.06% removal threshold:
http://www.chromestatus.com/metrics/feature/popularity#PrefixedSpeechAttribute

However, hours ago we recieved report of cases where *requiring
user interaction* speech can be captured for up to 8 seconds
or until the user stops un-interrupted speaking without proper
appearance of the "Allow this site to use your microphone"
infobar.

Although this is only a medium-security issue (requires
user interaction and very limited duration), this is still
severe enough that we no longer believe we can support
this deprecated, webkit-only feature.

Removing this feature will not affect mobile users
which already have access to speech-input via various
speech-enabled keyboards on Android.  Desktop sites which
were using this feature can use the modern Web Speech APIs
instead, which are standardized and supported accross many
browsers: http://caniuse.com/web-speech

Without this feature pages will continue to work, they just
will not be able to get speech input via <input> controls
via these APIs and will either have to use the standard
Web Speech APIs or depend on the operating system to expose
speech input via other methods.

I've verified that disabling this does not affect the new
JS Web Speech API by testing with:
https://www.google.com/intl/en/chrome/demos/speech.html

BUG=360448

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171187 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Adjust compositing/layer-creation/fixed-position tests for FCM.

This makes the test easier to rebaseline when ForceCompositingMode is
enabled, removing the then-incorrect text from it.

R=enne@chromium.org
BUG=361729

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171188 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Update previous marked tests as image fialure only.

BUG=361795
TBR=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171189 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add blob serialization support [currently unused] to SerializedScriptValue.
This will be needed by IDB Blob support, in progress.

BUG=108012
R=cmumford,jsbell

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171190 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add some layout tests to explicitly test dynamic translateZ changes.

R=enne@chromium.org
BUG=361729

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171191 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Changing between multicol and regular block shouldn't recreate all renderers.

Make the new (flowthread-based) multicol implementation cope without
having to reattach renderers for all nodes in the subtree.

Up until recently (last year) a reattach was only done for the new
flowthread-based multicol implementation, while it wasn't done for the
old implementation (ColumnInfo), but due to some refactoring of the
code that determines whether or not to reattach on style changes, any
changes to column-width or column-count would result in a reattach,
regardless of which implementation was used.

Now that both implementations can handle it, there's no need to force
a reattach anymore.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171192 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix LinkHighlighting crash with squashing + universal overflow scroll.

A combination of --enable-layer-squashing --enable-accelerated-overflow-scroll
--enable-universal-accelerated-overflow-scroll --simulate-touch-screen-with-mouse
can cause a crash in LinkHighlight.cpp if we try to access
RenderLayer::compositedLayerMapping() on a squashed layer (ie, when we should really
be instead checking RenderLayer::groupedMapping()).

BUG=356209

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

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