CSS Grid Layout should be be a CSS runtime-enabled feature
    
This change converts CSS Grid Layout from using a Settings based logic
to using the new CSS runtime-enabled feature logic.
    
This change doesn't remove the exposed WebSettings API as it is still
used in Chromium.
    
BUG=241619
TEST=Manually tested that "Enabled experimental WebKit features" still
toggles grid layout support.

Review URL: https://chromiumcodereview.appspot.com/15131009

git-svn-id: svn://svn.chromium.org/blink/trunk@152371 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add more tests for hostname encoding in database identifiers

This tests the encoding of hostnames with various characters into database
identifiers. Many of these inputs are not valid hostnames, but we want to
have consistent behavior for all inputs as this is run on untrusted input.

We could also have the database identifier code more aggressively reject
invalid or non-canonicalized input data, but that would have to be done
with care to make sure that we don't accidentally orphan user data.

BUG=243095

Review URL: https://chromiumcodereview.appspot.com/16934002

git-svn-id: svn://svn.chromium.org/blink/trunk@152372 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove the explicit group parameter from the flakiness dashboard links in garden-o-matic.

All the group names changed, making the current explicitly listed
name incorrect. The group correctly defaults to ToT Blink now,
so we can just stop setting it.

NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/16844015

git-svn-id: svn://svn.chromium.org/blink/trunk@152373 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mac: Fix scroll offset not being restored when using back-swipe gesture.

ScrollElasticityController::handleWheelEvent() is changed to only return
true for the PlatformWheelEventPhaseEnded case if a rubber band was actually
started (so that it doesn't return true when the start of rubber-banding
did not happen due to !shouldRubberBandInHorizontalDirection()).

EventHandler::handleWheelEvent() is changed to only set |wasScrolledByUser|
when returning true. Also, some clean up.

The underlying issue was caused by the fact that wasScrolledByUser() was
true in HistoryController::restoreScrollPositionAndViewState(), which caused
it to not restore the scroll state.

BUG=141130
TEST=On a Mac 10.7+, go to https://github.com/mojombo/jekyll/wiki/sites
and scroll down a bit. Click on a link. Gesture-scroll left via the
trackpad to trigger back navigation. The previous page should have the
same scroll position as before.

Review URL: https://chromiumcodereview.appspot.com/16336016

git-svn-id: svn://svn.chromium.org/blink/trunk@152374 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix SVG animations which set rx or ry attributes

Earlier to update path on Rect, hasAttribute() was used
to check if the rx or ry attributes are present.
Now it checks if the rx or ry are greater than zero.

BUG=235256
R=pdr@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16914003

git-svn-id: svn://svn.chromium.org/blink/trunk@152376 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Avoid leaking objects between isolated worlds via attribute event listeners

This patch adds an isolatedWorld argument to the setters and getters
for attribute event listeners (e.g., document.onload). When called
from the bindings, this is appropriately set to either the current
isolated world or null (which can be the case for either the main
world or a worker). When these methods are called from within Blink,
we always default to the "normal" (main or worker) case.

R=abarth
BUG=87520

Review URL: https://chromiumcodereview.appspot.com/16904002

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

TBR=pdr
BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@152378 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add minimal implementation of unprefixed MediaSource API that has feature parity with the prefixed API.

BUG=239506

Review URL: https://chromiumcodereview.appspot.com/16625011

git-svn-id: svn://svn.chromium.org/blink/trunk@152379 bbb929c8-8fbe-4397-9dbb-9b2b20218538
XMLHttpRequest#responseText should use a rope

Instead of building a flat WTF::String from XMLHttpRequest response data, we
should build a v8::String rope. That way when web sites query the responseText
field repeatedly, every query will share the same underlying data.

This CL causes StringImpl::hashSlowCase to drop way down the CPU profile of
reloading Mobile Gmail:

Before: 1.08%  content_shell  content_shell          [.] WTF::StringImpl::hashSlowCase() const
After:  0.37%  content_shell  content_shell          [.] WTF::StringImpl::hashSlowCase() const

There are likely other savings as well, but the effect on StringImpl::hashSlowCase
is the most dramatic change to the profile.

R=jamesr

Review URL: https://chromiumcodereview.appspot.com/16925002

git-svn-id: svn://svn.chromium.org/blink/trunk@152380 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use skia's SkArithmeticMode for a GPU-accelerated implementation of FEComposite "arithmetic".

Also, replace use of Skia's SkOffsetImageFilter with a custom OffsetImageFilter. This is necessary because there's an offset optimization in Skia which is not valid for some compositing modes, and for filter primitive subregion. Once we can provide a way to opt-out of the optimization, we'll re-enable it.

effect-reference-composite-hw.html and effect-reference-composite.html should now give similar results.

BUG=234341

Review URL: https://chromiumcodereview.appspot.com/16969004

git-svn-id: svn://svn.chromium.org/blink/trunk@152381 bbb929c8-8fbe-4397-9dbb-9b2b20218538
ResourceCache: fix accounting of purgable resources, facilitate unittesting

When the cached resources are being made purgable, their size is not subtracted
from the cache size. This is reasonable, but then we need to subtract the size
when the purgable resources are being evicted.

This patch fixed that, also introducing simple logic allowing to swap in a test
instance of MemoryCache to be hooked in the memoryCache() call for unittesting.

Simple test for dead resource eviction and accounting is also introduced.

BUG=247665
TEST=MemoryCacheTest.DeadResourceEviction

Review URL: https://chromiumcodereview.appspot.com/16836002

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