Revert of Move testRunner.startSpeechInput/setValueForUser to internals (https://codereview.chromium.org/176953009/)

Reason for revert:
Broke the Android compile:
  http://build.chromium.org/p/chromium.webkit/builders/Android%20Builder%20%28dbg%29/builds/25493/steps/compile/logs/stdio

Android does not enable speech input, and the methods called are guarded behind the ENABLE_INPUT_SPEECH compile-time flag. The testing code in Internals.cpp should also be guarded with the same flag.

Original issue's description:
> Move testRunner.startSpeechInput/setValueForUser to internals
> 
> Now TestRunner is being moved from CppBoundClass to gin::Wrappable,
> where it is not appropriate to use WebElements directly. This CL moves
> some functions which treats WebElement* from testRunner to internals.
> (To be exact, this CL only copies some functions, but I'll remove those ones
> in testRunner later.)
> 
> BUG=331301
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168495

TBR=haraken@chromium.org,hajimehoshi@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=331301

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168498 bbb929c8-8fbe-4397-9dbb-9b2b20218538
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
Check VisualPosition.isNull() after the DOM mutation in ReplaceSelectionCommand

The crash is on L1125, calling insertNodeAt with the Null VisualPosition, startOfInsertedContent.
It inserts a <br> element to the selected position but the replacing might change visual position so we should check.

BUG=348283

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168502 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Get rid of redundant default selection during inspectElement

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168503 bbb929c8-8fbe-4397-9dbb-9b2b20218538
SkBitmap::Config is deprecated, switch to using SkColorType

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168504 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Build blink_platform_unittests and wtf_unittests on Android

BUG=none
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168505 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add icudtl.dat to the list of files to copy for WebKitUnitTests

icudtl.dat is not copied to an Android device for webkit_unit_tests
leading to the failure of tests depending on ICU.

Add icu.isolate explicitly to get icudtl.dat copied.

TBR=jamesr@chromium.org
BUG=72633
TEST=build/android/test_runner.py gtest -s webkit_unit_tests --verbose
--gtest_filter=WebFrameTest.SelectRange*

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168506 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove calculateStdDeviation function from Blur effect.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168507 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Introduce TerminatedArray<T> type to make data-structure used by RuleSet visible at the type level.

Before this change it was not possible to easily distinguish when RuleData represented a single item and when it represented an array.

This change is prerequisite for moving RuleSet/RuleData into the GC managed heap because tracing routines are largely type driven.

BUG=
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168508 bbb929c8-8fbe-4397-9dbb-9b2b20218538
When the ::first-letter pseudo element is added or removed, it causes a
Reattach which means everything will work fine for ::first-letter changes.

However, if there is a change in ::first-letter style, but the element had
::first-letter style both before and after the change, we would not try to
recalc any ::first-letter pseudo for LocalStyleChange.

The introduction of LocalStyleChange for :hover/:active/:focus caused a
regression for the combination of ::first-letter and e.g. :hover.

This fix does a SubtreeStyleChange for :hover/:active/:focus updates when
the existing renderStyle is marked as having ::first-letter pseudo.

::first-line is working fine. Added a layout test to make sure it will
continue to do so.

R=esprehn
BUG=344322

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168509 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Gardening: Mark audiobuffersource-playbackrate.html slow

BUG=349518
TBR=rtoy@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168510 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix infinite recursion in computePreferredLogicalWidths.

RenderReplaced::computeReplacedLogicalWidth walks up to it's
containingBlock in some cases and asks for the containingBlock's
width. If the containingBlock's width itself depends on the
RenderReplaced's width, then we infinite loop. Avoid the
infinite loop by making sure that width/min-width/max-width
are all specified on the containingBlock, which will keep
the width from depending on it's children.

Added FIXMEs. I think we should delete all this containingBlock
walking code, but it needs to be done carefully to make sure
percentage widths on <svg> keep working. The spec actually
considered this undefined behavior, but suggests doing the
crazy that we do here.

BUG=344647

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

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