DevTools: Add a checkbox to enable async stacks in the sidebar header.

This also removes the checkbox from the Settings page.

BUG=272416
R=pfeldman, yurys

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163448 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move WebScrollbarImpl to platform/

BUG=297477

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163449 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix Windows precompiled headers build.

TBR=abarth@chromium.org
BUG=303332

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163451 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Throw DOM exception in insertAdjacentHTML if context becomes null

Align first part of the insertAdjacentHTML implementation with
http://domparsing.spec.whatwg.org/#insertadjacenthtml().

"Let context be the context object's parent.

 If context is null or a document, throw a DOMException with name
 NoModificationAllowedError and terminate these steps."

While the 'or a document' part was previously implemented, the
'context is null' part was not.

BUG=326965

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163452 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add http/tests/inspector/network/long-script-content.html to SlowTests

TBR=mkwst@chromium.org
BUG=327078

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163453 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rework margin-collapsing for self-collapsing blocks
Refactor the way self-collapsing blocks with clearance are positioned so that they
get the correct logical-top position during margin-collapsing.

See also webkit.org/b/119979
BUG=309294

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163454 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Slim down generated Callback classes and enforce more at compile-time

Removed unused executionContext() virtual method which was being generated for
every callback class (it was previously used by MutationCallback, but that's
completely custom these days).

Also enforced that callbacks are always constructed with v8::Objects rather
than values, and added a FIXME to switch to v8::Function if we can change
WebSQL's behavior.

R=haraken@chromium.org, nbarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163455 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[webcrypto] Add crypto.subtle.wrapKey() and crypto.subtle.unwrapKey()

As described by the WebCrypto spec:
  http://www.w3.org/TR/WebCryptoAPI/#dfn-SubtleCrypto-method-wrapKey
  http://www.w3.org/TR/WebCryptoAPI/#dfn-SubtleCrypto-method-unwrapKey

In particular, this changelist introduces the javascript-side bindings. This includes the algorithm normalization, various checks on parameters like key usages and key extractability, and then defers the real cryptographic work to the embedder via two new methods on Blink API.

BUG=245025

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163456 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Implement Element.matches(selectors)"

This reverts commit 23ee357add9601e5d28329e927acbaeab0ddcd7e.

It was causing failures on linux_chromeos browser_tests, in particular
VirtualKeyboardBrowserTest.*.

BUG=326652
TBR=philipj@opera.com

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163457 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move remaining files in core/platform/graphics root directory.

And move the text-related classes to text.

Also some cleanup of gyp files to remove no-longer-needed conditions.

And some fixes for pre-submit issues.

Only filters remains.

R=abarth@chromium.org, senorblanco@chromium.org
BUG=303332

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163458 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Split out repaint code from RenderBlockFlow layout.

Currently the RenderBlockFlow layout code has a FIXME to extract some repaint
logic into a helper function. This extraction is needed for the repaintAfterLayout
work because we need to be able to call it when layout is complete.

This CL pulls the code out into a method defined in RenderObject and overridden
in RenderBlockFlow.

BUG=310398

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163460 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make calls to AtomicString(const String&) explicit in css/

Make calls to AtomicString(const String&) explicit in css/ and avoid useless
conversions from String to AtomicString when possible.

This is one step towards making the AtomicString(const String&) constructor
explicit. This CL takes care only of the css/ part so that it is more
easily reviewable.

R=eseidel, abarth
BUG=323739

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163461 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move WebScrollbarThemeClientImpl to platform/

BUG=297477

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163462 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make arguments to Range methods non-optional

http://dom.spec.whatwg.org/#interface-rage
http://domparsing.spec.whatwg.org/#extensions-to-the-range-interface

Only touch methods defined by the above specs.

The added missing-arguments test passes in Firefox Nightly, IE11
Release Preview and Opera 12.16, so there ought to be fairly little
Web content depending on the old behavior.

BUG=325922

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163463 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't synchronize attributes unless necessary when matching
attribute CSS selectors.

Previously, synchronization was always happening, causing a
large performance impact due to syncing of inline styles
into the "style" attribute on some pages that updated
styles on every frame.

Fix another small bug in which the two versions of synchronizeAttribute in the Element class were not functionally equivalent (in particular, with regard to case-sensitive matching on the style attribute).

BUG=322239

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163464 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix duplicate timeupdate events

This change prevents duplicate timeupdate events caused by the text
track code. The comment above the call indicates that the timeupdate
event should have the same restrictions as the normal periodic
timeupdate event. By changing the parameter passed to
scheduleTimeupdateEvent() to true, the event rate limiting guards
are properly applied to this call and duplicate events won't
fire.

TEST=Manually tested that timeupdate events don't fire more
often than every 250ms during normal playback. An automated
test to verify this would likely be flaky.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163465 bbb929c8-8fbe-4397-9dbb-9b2b20218538
This refactoring removes the logic for bubbling scrolls and moves it up into EventHandler. It also removes the logicalScroll method on RenderBox and also moves that concept into EventHandler, making the scroll method in RenderBox essentially plumbing to the associated ScrollableArea. This puts most of scrolling logic in one place and makes further cleanup possible.

BUG=325554

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163466 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove UnusedParam.h as most of its use is not not needed.

Chromium and Blink sets -Wno-unused-parameter intentionally, so no need to silence related warnings using the UNUSED_PARAM macro. 

Introduce ALLOW_UNUSED for Blink to mark local variables that might be unused to silence -Wunused-variable. The same macro exists on the chromium side with the same definition.

Replace UNUSED_PARAM with the newly introduced ALLOW_UNUSED where needed.

TBR=dglazkov@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163467 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Test for https://src.chromium.org/viewvc/blink?revision=163447&view=revision

This covers the case where an iframe initially loads about:blank, navigates
again to about:blank, then does a real navigation. We were incorrectly creating
a new history entry for the final navigation. The entire operation should
constitute a single entry.

BUG=323574

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163468 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[CSS Shapes] Add BoxShape and FloatRoundingRect classes

Added the BoxShape class. It's now used to represent shape-outside box values: [margin/border/padding/content]-box. It will be used to represent inset shapes as well. BoxShape depends on a new FloatRoundedRect class, which is a float analog of the existing (int) RoundedRect class.

This is an incremental step towards supporting the new CSS “box” shapes (http://dev.w3.org/csswg/css-shapes/#typedef-box), and the inset shape (http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes).

Note that FloatRoundedRect is essentially a copy of a subset of RoundedRect with int=>float, IntSize=>FloatSize, etc. In the fullness of time, I’d like to make FloatRoundedRect and RoundedRect a subclass of a template class that defines all of the common code.

BUG=319406

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

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