Add a RELEASE_ASSERT() to invesigate some mysterious crashes

This change adds a RELEASE_ASSERT() which should replaces
a series of crashes we're seeing in the crash report.

BUG=352043
R=kouhei,japhet@chromium.org,eseidel

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169297 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use invalidation sets for some pseudo elements.

Allow to use class invalidation sets for selectors containing ::before,
::after, or ::backdrop. These pseudo elements are updated correctly in
Element::recalcChildStyle for LocalStyleChange on their parents.

BUG=335247

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169298 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Follow up fix after r169252

The scrollTop should never go below zero after guardZone is applied.
Otherwise it will always force an update. A similar property
should hold for scrollBottom.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169299 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Encapsulate the checks for shouldRepaintOverflow into RenderObject.

Instead of explosing an IfNeeded method that returns a boolean on
RenderObject we should just add a method that does the work IfNeeded
like we do in the rest of blink.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169300 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Speedup window selection in heap allocations tracking.

Do not make extra call to updateVisibleNodes as another one
has already been performed in sortingChanged -> recursiveSortingLeave

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

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