Fix ASSERT in isSelfCollapsingBlock

If margin collapsing results in a float intruding into a box then
we mark it for another layout. If we check whether the block is
self-collapsing before that layout happens ASSERT(!needsLayout())
will fail. The ASSERT is worth keeping, and isSelfCollapsingBlock()
does quite a bit of work, so we should cache the result of our first
call rather than calling it repeatedly on the same child. The result
is less work overall.

BUG=339747

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166459 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Check runtime features before firing needkey events.

BUG=340519

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166460 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[Font Load Events] Remove FontFaceSet#match().

FontFaceSet's match() method was dropped from the latest editor's draft [1].

[1] http://dev.w3.org/csswg/css-font-load-events/#FontFaceSet-interface

BUG=53213

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166461 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix checkbox alignment.

Fixed checkboxes: "Async", "Preserve log", "Capture stacks".

Tested on Linux and Mac.

NOTRY=true
BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166462 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove faulty copy constructor and assignment operator from WebCore::SegmentedString.

The old implementation was just copying each member one by one except m_currentChar,
but the code for m_currentChar is broken for strings that got two pushes.
(There, m_pushedChar1 must precede m_pushedChar2 according to other methods
like toString(), push(), or append().)

For correct implementation, the compiler-default copy operation is sufficient.
In old days the m_currentChar member was a pointer and required special treatment.

BUG=330808
TEST=blink_platform_unittest --gtest_filter='SegmentedStringTest.*'

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166463 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: [ReflectEmpty]

Python side to:
Empty reflected attributes and string literals in extended attributes.
https://codereview.chromium.org/127903002/

Followup to:
IDL compiler: [ReflectMissing], [ReflectInvalid]
https://codereview.chromium.org/152043003/

This completes [Reflect*] extended attributes.
I've got 2 cleanup CLs to do after this, which will simplify the CG.

Remaining: 9 => 6

BUG=239771
R=haraken
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166464 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Quota: Remove self-destructive callbacks for cleanup (Blink)

1) Renames following files:
WebStorageQuotaCallbacks => StorageQuotaCallbacks
WebStorageQuotaCallbacksImpl => DeprecatedStorageQuotaCallbacksImpl 
DeprecatedWebStorageQuotaCallbacksImpl => DeprecatedStorageQuotaCallbacksImpl

2) Adds new WebStorageQuotaCallbacks and WebStorageQuotaCallbacksPrivate which
manages StorageQuotaCallbacks

Depends on Chromium-side change: https://codereview.chromium.org/132333016/


BUG=338995
TEST=should pass all existing tests (run with chromium-side patch)

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166465 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move V8PerIsolateData initialization before calling AddMessageListener

If chrome is started with --js-flags=--prof, AddMessageListener will call
Logger::LogCodeObjects that fetchs the uninitialized V8PerIsolateData for blink.

Moving the initialization before AddMessageListener seems to fix it.

BUG=340521

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166467 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Count consecutive direct adjacent selectors.

The maxDirectAdjacentSelectors counter in RuleFeatureSet should only count
the maximum number of consecutive direct adjacent combinators. The number is
used to invalidate style for sibling trees.

For instance a selector like "div+div div+div" only needs to invalidate a
single sibling tree.

When a different combinator is encountered, store the number of consecutive
direct adjacent combinators seen and reset the counter; instead of counting
all direct adjacent combinators in the selector.

R=ojan
BUG=340866

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

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