REGRESSION: Text INPUT inside a LABEL associated to a radio button can't get focus by mouse press.

This is a regression by Blink r153039 [1], which made radio buttons
mouse-focusable.

We fix this regression by improving specification conformance.
The specification [2] says:
> The activation behavior of a label element for events targeted at interactive
> content descendants of a label element, and any descendants of those
> interactive content descendants, must be to do nothing.

We didn't have such behavior. Implementing it fixes the regression beucase mouse
press on the text <input> does nothing for <label>.

The new behavior is compatible with IE.

Implementation:
We introduce HTMLElement::isInteractiveContent virtual function. Interactive
content elements defined by the specification should override it so that it
returns true. HTMLLabelElement checks if a click event is inside an interactive
content.

[1] http://src.chromium.org/viewvc/blink?revision=153039&view=revision
[2] http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#the-label-element

BUG=305751
TEST=automated

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159400 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove dependency on RenderStyle when creating CSSPrimitiveValues from Lengths

RenderStyles were used in the conversion from Lengths to
CSSPrimitiveValues to undo the zoom that gets applied to Lengths. Only
the zoom value associated with the Length is required to do this rather
than an entire RenderStyle object.

This patch is in preparation for converting animation snapshot Lengths
back to CSS without needing to store an entire RenderStyle object to know
the zoom value.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159401 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move Navigation Timing and other various window-level objects out of page/

Navigation Timing actually has its own spec, so I moved it to its own "timing" directory.

I moved a bunch of the rest of the idls in page into a new frame/ directory.

I'll move Frame.h and friends in their own CL as they're included by 500+ files.

BUG=305811
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159402 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move Frame.* to frame/

This is the largest separation for OOPI.
In an OOPI world, Frame is the top-level object, where as currently
Page (really PageGroup) is the top-level object.

Everything includes Frame.h so this is a huge CL, but it's just
moving Frame.h and Frame.cpp into frame/

BUG=305811
TBR=abarth

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

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