Bug 880672:  Add support for unprefixed cursor:grab and cursor:grabbing.  r=bzbarsky  sr=dbaron
Bug 898333, patch 1:  Restyle the :after pseudo-element after the content children.  r=bzbarsky
Bug 898333, patch 2:  Change RestyleManager::Restyle's tree traversal to reach next-continuations (and same-display block-in-inline siblings) from their prev-continuation rather than from their parent.  r=bzbarsky

This patch fundamentally makes three changes:

 (1) Change the way RestyleSelf is used so that it is called in a loop,
     over all of the same-style continuations and block-in-inline
     siblings.
     (I had a note here reminding myself:
       TODO: Don't set hints for descendants!
     but I no longer remember what it meant.)

 (2) Change the traversal of children to traverse all of the children of
     the items traversed in (1).

 (3) When traversing children, skip children that are continuations,
     since we already reached them in (1) and (2).

A later patch will change the RestyleSelf loop to copy for the later
continuations rather than repeating the work.  This will mean reverting
many of the RestyleSelf changes contained here.

Some of the pieces marked temporary will be removed in bug 828312 patch
11, and the rest should hopefully be removed in bug 918064.
Bug 898209 patch 16:  Move a comment that should have been moved in patch 15.  No review.
Bug 828312 patch 5:  Don't handle UpdateCursor more than once per round of style change processing, since it's global.  r=bzbarsky

(This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.  In this case, however, the
change hint only needs to apply once, globally.)
Bug 828312 patch 6:  Make early transform handling check continuations.  r=bzbarsky

This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
Bug 828312 patch 7:  Use more typical loop structure and don't mutate |frame| in UpdateOverflow hint handling.  r=bzbarsky
Bug 828312 patch 8:  Make handling of UpdateEffects hint check continuations.  r=bzbarsky

This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
Bug 828312 patch 9a:  Make sticky positioning handle block-in-inline splits correctly.  r=dholbert

This assumes that the specification for how position:sticky behaves for
block-in-inline splits matches the specification for position:relative,
in other words, matches
http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level .

It's also necessary for patch 9b since the new rule for handling of
style change hints is that a style change hint applies to all
continuations and all block-in-inline siblings ("special siblings").

The change in StickyScrollContainer::GetScrollRanges is really the fix
for bug 918994, but adjusted for the change here to use block-in-inline
siblings ("special siblings") in addition to continuations.
Bug 828312 patch 9b:  Make handling of RecomputePosition hint check continuations.  r=bzbarsky

This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
Bug 828312 patch 10:  Add assertions to check that handling of nsChangeHint_ChildrenOnlyTransform doesn't need to check continuations.  r=bzbarsky

This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
Bug 828312 patch 11:  Don't generate change hints for restyling of later continuations, since the handling of the change hints from the first continuation is required to do the necessary work.  r=bzbarsky

This depends on bug 898333 in order to avoid causing:
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/chrome/dom/tests/mochitest/chrome/test_focused_link_scroll.xul | Assertion count 1 is greater than expected range 0-0 assertions.
due to the assertion:
###!!! ASSERTION: Shouldn't be trying to restyle non-elements directly: '!aContent || aContent->IsElement()', file ../../../layout/base/nsStyleChangeList.cpp, line 62

The assertion count change in layout/generic/crashtests/571995.xhtml is
expected because it changes us from having 7 of:
###!!! ASSERTION: Shouldn't be trying to restyle non-elements directly: '!aContent || aContent->IsElement()', file ../../../layout/base/nsStyleChangeList.cpp, line 62
with the stack:
  mozilla::ElementRestyler::CaptureChange(nsStyleContext*, nsStyleContext*, nsChangeHint) [layout/base/nsChangeHint.h:191]
  mozilla::ElementRestyler::RestyleSelf(nsRestyleHint) [layout/base/RestyleManager.cpp:2304]
to only having one.  This is expected since this patch changes
RestyleSelf to only call CaptureChange for the first continuation or
block-in-inline sibling.
Bug 920248: Temporarily disable TLS false start, r=keeler, r=wtc

--HG--
extra : rebase_source : 4fc35de2d6e2dc99de11b2a2d0c0f3ebe1de8b97