Web MIDI: add assign() and equals() to WebMIDIPermissionRequest

Since WebMIDIPermissionRequeset should be managed by embedder
until the permission decision is made, export assign() and
equals() methods. It makes it possible to handle them in a
container.

TEST=none
BUG=163795

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154188 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Unofficial gardening. Mark new createImageBitmap test as Slow. Rebaseline vertical-scroll-composited on XP.

BUG=166658
TBR=eseidel

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154189 bbb929c8-8fbe-4397-9dbb-9b2b20218538
This is an experiment to see if it clears up bot flakiness. Add an onload handler for the <use> element in this test, to make sure the resource load has finished before content_shell takes the image snapshot.

TBR=ojan
BUG=258991

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154190 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use toSVGFilterElement instead of static_cast<..>

Though there is toSVGFilterElement(), some files still use static_cast<SVGFilterElement*>.
To remove all static_cast<> use, we need to change argument from SVGElement to Node.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154191 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "This is an experiment to see if it clears up bot flakiness. Add an onload handler for the <use> element in this test, to make sure the resource load has finished before content_shell takes the image snapshot." (r154190).

TBR=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154192 bbb929c8-8fbe-4397-9dbb-9b2b20218538
This is an experiment to see if it clears up bot flakiness. Add an onload handler
for the <use> element in this test, to make sure the resource load has finished
before content_shell takes the image snapshot.

TBR=ojan
BUG=258991

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

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154193 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Manage FloatingObjects using hashmaps

Previously, FloatingObject objects are kept in a list referenced
by a member variable in RenderBlock. There have been many special
cases in which these objects end up in lists that are not cleared
properly due to mutations of the render tree, resulting in
security bugs.

This patch changes FloatingObject tracking to use 2 global
hashmaps, one of which replaces the member variable pointer
in RenderBlock, and the other of which stores container
references, so that we can easily find all RenderBlocks that
have a given FloatingObject in their maps.

R=inferno@chromium.org
BUG=245727

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154194 bbb929c8-8fbe-4397-9dbb-9b2b20218538
This is an experiment to see if it clears up bot flakiness. Add an onload handler
for the <use> element in this test, to make sure the resource load has finished
before content_shell takes the image snapshot.

TBR=ojan
BUG=258991

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

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

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154195 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move remaining properties out of and delete DeprecatedStyleBuilder

Move the remaining DeprecatedStyleBuilder code to StyleBuilderCustom.
So that's one less system for applying properties now :)

BUG=237400

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154196 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reduce dependency on StyleResolver in StyleBuilderCustom

Also mark a couple of methods as const to allow a const RenderState
object to be used.

R=dglazkov@chromium.org
BUG=237268

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154197 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove the PAN_SCROLLING feature define

Pan scrolling is Windows-only, so remove this feature define and
replace it with a check for OS(WINDOWS).

BUG=246664

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154198 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Start moving unit test files from WebKit/chromium to web/.

BUG=None
TEST=webkit_unit_tests
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154200 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove the need for NPObjectWrapper around the window script object.

The V8 ScriptController now forces internal window script object resources to be released by Dispose()ing of the window script NPObject's underlying V8 object, rather than force-deallocating the NPObject. 

As a result, the NPObjectWrapper, used to work-around problems with plugins touching the window script object during teardown, after it has been deallocated, is no longer required. 

This is a re-land of https://src.chromium.org/viewvc/blink?revision=121610&view=revision which was originally reverted due to tickling NPObject ownership tracking bugs into crashing DRT in layout tests. Since Chrome & content-shell run NPAPI out-of-process, this should no longer be a problem.

BUG=152006

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154201 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Get rid of drawer css animaitons aget back to javascript animation.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154202 bbb929c8-8fbe-4397-9dbb-9b2b20218538
updateStyleForNodeIfNeeded should be Shadow DOM aware

updateStyleForNodeIfNeeded was not traversing through shadow hosts and was being used
as a fast path for Element::offsetWidth which meant that a style change on your host or any
of their ancestors would not get applied in some cases if requiresLayoutToDetermineWidth
was false.

This was a regression caused by http://src.chromium.org/viewvc/blink?revision=153074&view=revision

R=tonyg@chromium.org,eseidel@chromium.org,ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154203 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Get rid of SVGRect special case from the bindings generator

Get rid of SVGRect special case from the bindings generator by adding a
a typedef to FloatRect in SVGRect.h.

Also use SVGRect type in the implementation API for consistency with
the IDL.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154204 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Replace scheduleForcedStyleRecalc with setNeedsStyleRecalc

Document::scheduleForcedStyleRecalc used a separate bool to track if the
next style recalc should Force, instead we should just use the same model
as Elements where a SubtreeStyleChange means to Force recalc all descendants.

The only quirk here is that SVG's <use> element can go through
DocumentStyleSheetCollection::updateActiveStyleSheets and call into
Document::setNeedsStyleRecalc in the middle of a style recalc so we need
a hack in Document::recalcStyle to notice if the style resolver needs an update
and reschedule it.

I also removed the unused Document::childNeedsAndNotInStyleRecalc() method.

R=eseidel@chromium.org,ojan@chromium.org,

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154205 bbb929c8-8fbe-4397-9dbb-9b2b20218538
CSP: Add 'status-code' to violation reports.

A 'status-code' field has been added to CSP violation reports[1]; this
patch brings our implementation into line with the spec.

It also goes slightly beyond the spec by adding a 'statusCode' property
to the 'securitypolicyviolation' event, since they share a common data
structure in Blink. That seems like a reasonable addition that ought
to be proposed to the WebAppSec WG.

[1]: https://dvcs.w3.org/hg/content-security-policy/rev/ec76bd637141

R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154206 bbb929c8-8fbe-4397-9dbb-9b2b20218538
'security/xss-DENIED-mime-type-execute-as-html.html' times out.

This test loads 15 iframes, which is crazy slow on all platforms (times
out on Windows, loads in ~10 seconds on Mac). This patch splits the test
into 15 single-iframe tests, which should speed things up nicely.

BUG=42044
R=jochen@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154207 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Test that the order of Custom Element upgrades is as spec'd.

The order used to be non-deterministic but was recently fixed by: http://src.chromium.org/viewvc/blink?view=revision&revision=153873 to match the order implied by the spec: https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-element-upgrade-algorithm

BUG=234509

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

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