PartitionAlloc: simplify PartitionPage structure some more.

Two important simplifications:
1) Remove the foul union. It isn't necessary if we don't try and put pages on
the active and free lists at the same time. Instead, we can simply tag free
pages as free and mop them up when we next walk the active pages list.
2) Remove the flags field. It's strictly a duplication of information we have
available in other fields. And we hate duplication because it will get out of
sync and cause bugs.
Also, the freed up field can likely be profitably used to avoid having to
re-introduce a union later.

BUG=332282

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165036 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactor RenderStyle::diff to be grouped by type and guard with pointer compares on structs

This patch moves around the checks inside RenderStyle::diff so that as
much a possible the checks for a given structure of data are all grouped
and then guards those checks with a pointer compare on the struct when
possible. This was already done for some of the structs but not all of
them.

I also noticed that the logic for table display types had not been updated
for flex box so I removed the >= TABLE check and replaced it with a
LAST_TABLE_DISPLAY and FIRST_TABLE_DISPLAY guard cutting out a bunch of
if checks for flex boxes.

Similarly we were deep comparing the SVGRenderStyle because we were using
the overloaded operator== on the DataRef<SVGRenderStyle> before calling
into ::diff() to do the real comparison which is a waste. I changed to a
pointer comparison which will reduce the number of duplicate checks for
SVG elements.

While this is definitely a set of micro-optimizations it should reduce
the number of checks for a typical RenderStyle::diff which is very hot
code in all our benchmarks.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165037 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Partially revert "should-scroll-on-main-thread reasons if the main thread is not scrollable"

This partially reverts r162663
(https://codereview.chromium.org/85763003).

I believe the real fix is https://codereview.chromium.org/103583007/, but
that solution is causing layout test failures that need
to be debugged. Reverting this should get us working in
the interim and the fix is not at all risky.

TBR=jamesr@chromium.org
BUG=303920

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165038 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove dead code path (typed array interfaces)

Typed arrays all have custom bindings, so code path that checks if an
interface is a typed array (IsTypedArray($interfaceName)) is dead code.

This removes it to avoid being misleading (and clarify rewrite);
no changes to generated code.

Obviously we want to remove these custom bindings, but the existing dead
code isn't helpful.

R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165039 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make ancestors of modal <dialog> inert

As per spec change: http://html5.org/r/8343

Now, document.body is also inert. Previously events that
"skipped" an inert node were fired on document.body; now,
they are fired on document.

Test: modal-dialog-ancestor-is-inert.html
Also, other tests cover some of this behavior and have
expectations updated.

BUG=329407

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165040 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Update more bindings classes to use OVERRIDE / FINAL when needed

Update more bindings classes to use OVERRIDE / FINAL when needed. Those are
useful for error checking or performance when the compiler supports it.

These were found using the chromium style clang plugin.

R=haraken
BUG=333316

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165041 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove compile time flag ORIENTATION_EVENT and use runtime flag instead.
Update layout test case to use runtime flag.

Depends on 131913003 & 132203007

BUG=181136, 331337

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165042 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Compatible handling of the form.autocomplete IDL attribute.

Align with the spec and Gecko for the enumerated attribute
'autocomplete' over form elements. That is, map both missing and
invalid content attribute values to the "on" keyword/string.

R=
BUG=333229

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

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