[CSS Grid Layout] Speed up painting of large grids with overflowing items

https://codereview.chromium.org/23439008 added a correctness
fallback for painting grids with items overflowing their grid
areas. That CL was effectively disabling all the painting
optimizations if the grid had just a single grid item overflowing
its grid area.

This patch tries to be smarter by tracking those grid items and
painting them whenever needed. Profiling of a big (200x200) grid
shows how the amount of time spent painting the grid decreases by
an order of magnitude, from 0.18% of total execution time to
0.01%.

BUG=248151

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166966 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a class-level comment to CSSSelector.h.
Add a test to CSSSelector that parses some rules, and prints out debug info in debug mode.
Make CSSSelector::show() ouput easier to read.
Add RuleSet::show() (debug mode only).

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166967 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Modernize and enable by default RenderLayer::STRICT_STATE_MACHINE

This enables the asserts that we don't query compositingState from
RenderLayer when compositingState is not up to date. For now it
just asserts that we're past InPreLayout and adds a bunch of 
disables to codepaths that violate the asserts. 

In a followup patch, we'll need to make this assert more aggressive.

I removed the special-case in RenderLayer::updateLayerPositions.
That will come back when we make isAllowedToQueryCompositingState
more aggressive (i.e. when we assert we're in the LayoutClean state).

This is a first step in making sure we don't add new compositingState
read violations.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166968 bbb929c8-8fbe-4397-9dbb-9b2b20218538
If a compositing update is declared as needed, scheduleAnimation should be triggered.

This fixes some issues where deferred compositing on aura was
causing things to not be rendered because frames were not
being scheduled correctly.

BUG=336676

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166969 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert of Update of change event for datetime input type (https://codereview.chromium.org/128153002/)

Reason for revert:
INPUT element dispatches extra events.


Original issue's description:
> Update of change event for datetime input type
> 
> BaseMultipleFieldDateAndTime includes changes for sending change event when popup is closed, keyboard event and mouse event.
> 
> BaseChoosedOnlyDateAndTime includes changes for sending change event when popup is closed. Special case for input type datetime-local.
> 
> R=tkent
> BUG=155747
> TEST=Fixes currently broken test in bug331189
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=165455

TBR=keishi@chromium.org,habib.virji@samsung.com
NOTREECHECKS=true
NOTRY=true
BUG=155747

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166970 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add WD EME ClearKey playback test.

BUG=338485
TEST=This CL adds a new layout test.

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

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