Split generate_event_interfaces.py from compute_interfaces_info.py

This is the last step in factoring compute_interfaces_info:
EventInterfaces.in is a simple auxiliary file that's largely unrelated to
bindings.
Splitting it out means compute_interfaces_info now purely computes interfaces
info!
This means we can reuse it without needing dummy files (e.g., in r-b-t and in
gyp), and also simplifies its code.

We can actually simplify both scripts (and r-b-t) further,
but this is a conservative CL, just splitting it out.

BUG=341748
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168499 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations API: Implement step-middle and steps(x, middle) timing functions.

step-middle and steps(x, middle) need to work in the Web Animations API but not in CSS. To achieve that we check for step-middle and steps(x, middle) in CSSToStyleMap::mapAnimationTimingFunction, where CSS-land timing functions are set. Step middle functions won’t behave like other invalid inputs; when an animation is made with timing-function: step-middle, or the timing function is set to step-middle after creating the animation, the timing-function value is set to “ease”.

In AbstractPropertySetCSSStyleDeclaration::setPropertyInternal (in PropertySetCSSStyleDeclaration.cpp) there is no good way to check the value of the property to be set, so we just don’t. This means that if you do

    element.style.animationTimingFunction = 'step-middle';

then element.style.animationTimingFunciton will return “step-middle”, but “ease” is used as the actual timing function. This issue is partially mitigated by the fact that we also check RuntimeEnabledFeatures::webAnimationsAPIEnabled at the parsing layer, and don’t parse step middle functions if it’s false.


This CL also removes TimingFunctionTestHelper and TimingFunctionTestHelperTest and  adds TimingFunctionTest.

BUG=327564

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168500 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add Frame and RemoteFrame classes.

Creates RemoteFrame, which will represent in WebCore frames
that are rendered outside of Blink, and Frame, a base class
for both LocalFrame and RemoteFrame. The current division of
members and methods between Frame and LocalFrame is not
final, but provides a starting point for us to start
converting LocalFrame to Frame in some parts of Blink.

BUG=346764
R=eseidel@chromium.org

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

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