Rename deprecated "supplemental_dependencies" and clean up IDL dependency script

This is a cleanup patch:
* Rename "supplemental_dependencies" to "interface_dependencies",
  since these are actually partial interfaces and implements,
  not supplementals (which has a technical meaning that's not being used here)
  (Changed throughout.)

* Rename preprocess_idls.py to compute_dependencies.py,
  since this computes dependencies, and is not a preprocessor
  (a preprocessor changes source files before they hit the compiler,
   while this doesn't change the .idls: it just computes dependencies)

* Significant refactoring to compute_dependencies.py (was: preprocess_idls.py)

When renaming variables, I had trouble understanding what the variables
actually were (what's the difference between "supplemental_dependencies"
and "supplementals"?), so I cleaned up to make it clearer.

The main function parse_idl_files was actually computing a backwards
dictionary (!), and then reversing it at the end (!), which is brain-bending,
and dates back to Perl when we just had partial dependencies, not implements.
I rewrote it to just compute the dependencies in the forward order.

I also made the code simpler (less deeply nested, less hard-coded) and clearly
separated the IDL parsing from the output file writing: previously some files
were written in the middle of parsing, while others were done afterwards.

Review URL: https://chromiumcodereview.appspot.com/18341025

git-svn-id: svn://svn.chromium.org/blink/trunk@153766 bbb929c8-8fbe-4397-9dbb-9b2b20218538
MediaStreamAudioDestinationNode should inherit AudioNode

MediaStreamAudioDestinationNode should inherit AudioNode, not AudioSourceNode
according to the specification:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaElementAudioSourceNode

The inheritance was correct on native side but incorrect on Web IDL / JS side.

Review URL: https://chromiumcodereview.appspot.com/18629003

git-svn-id: svn://svn.chromium.org/blink/trunk@153767 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a layout test for the FileReader checking its attributes during readAsArrayBuffer.

Review URL: https://chromiumcodereview.appspot.com/18039005

git-svn-id: svn://svn.chromium.org/blink/trunk@153768 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Do not parse webfont in CSSFontFace::fontLoaded if FontSelecter is detached from Document

In CSSFontFace::fontLoaded(), do not call ensureFontData() if its owner CSSFontSelector has no Document reference.
Since no document to report, it's no use parsing font data here.

BUG=257357
TEST=fast/css/font-face-html-as-svg.html

Review URL: https://chromiumcodereview.appspot.com/18342007

git-svn-id: svn://svn.chromium.org/blink/trunk@153769 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fixed crashes on SVG tests which is caused by r153748.

r153748 moved an ASSERT() from HTMLScriptElement to ScriptLoader,
which is wrong for SVGScriptElement case. This change moves it back
to HTMLScriptElement.

TBR=abarth
BUG=none
TEST=svg/*

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

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

This patch implements KeyframeAnimationEffect from the Web Animations spec [1]. Note that the version implemented is modified from that published for FPWD to include some changes currently under final review. [2] 

[1] http://dev.w3.org/fxtf/web-animations/#keyframe-animation-effects
[2] https://github.com/web-animations/web-animations-spec/pull/4

Note also that keyframe distribution and accumulation are omitted from this patch, as they are not required for CSS integration. They will be implemented in later patches. 
 
BUG=240653
R=dstockwell

Review URL: https://chromiumcodereview.appspot.com/15358003

git-svn-id: svn://svn.chromium.org/blink/trunk@153771 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Layout tests: merge existing expectations with bot results when using ignore-flaky-tests='unexpected'.

With the previous behavior, bot results completely override existing expectations. This makes it impossible to set a new expectation or modifier in the expectations file, that has not been seen on the bots. Also, if builders do not match entirely (e.g. reading linux release from webkit deps builders and using it for linux debug on V8 waterfall), some expectations are overidden with the bot expectations (e.g. for debug exists a SLOW modifier, but the release bot returns PASS, FAIL - like that the SLOW modifier is dropped).

When running the feature ignore-flaky-tests='unexpected', the original expectations from the test expectations file should always be merged with anything new coming from the bots.

Review URL: https://chromiumcodereview.appspot.com/18701005

git-svn-id: svn://svn.chromium.org/blink/trunk@153772 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Hovered/active/focused will never share style with siblings/cousins.

For any given hovered/active node at a given time, other hovered/active nodes
are either ancestors or descendants of that node. Since style sharing is
looking at siblings and cousins, hovered/active nodes will never share style.

Similarly, there's always a single focused element in a document, hence it
will never share style with another node.

BUG=255189

Review URL: https://chromiumcodereview.appspot.com/18764003

git-svn-id: svn://svn.chromium.org/blink/trunk@153773 bbb929c8-8fbe-4397-9dbb-9b2b20218538
I haven't managed to reproduce the issue. But according to the creash report some exception happens inside InjectedScript.prototype.wrapObject.

In attempt to handle that exception InspectorDebuggerAgent::addMessageToConsole calls a JS code which fails becouse the exception was handling at the moment.

In such a situation WebCore::InspectorDebuggerAgent::addMessageToConsole(WebCore::MessageSource, WebCore::MessageType) is called with source == JSMessageSource (from Document::logExceptionToConsole). So changing the order in condition avoids invoking JS code in this case.

BUG=254747

Review URL: https://chromiumcodereview.appspot.com/18842002

git-svn-id: svn://svn.chromium.org/blink/trunk@153774 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Introduce isHTMLAnchorElement and toHTMLAnchorElement

To avoid direct use of static_cast, this patch introduces isHTMLAnchorElement and toHTMLAnchorElement for code cleanup.

Review URL: https://chromiumcodereview.appspot.com/18888002

git-svn-id: svn://svn.chromium.org/blink/trunk@153775 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Workaround for missing glyphs in complex text rendering path on Vista.

Vista's combination of Uniscribe and some fonts doesn't return glyphs
with value wgDefault for characters that cannot be displayed by that
font. Instead, it returns wgBlank with the fZeroWidth attribute set.

This patch detects them and treats as missing glyphs.
This is essentially the same workaround used in Chromium's
native text fields: http://crrev.com/{135206,145046}.

BUG=120336

Review URL: https://chromiumcodereview.appspot.com/18873002

git-svn-id: svn://svn.chromium.org/blink/trunk@153776 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Recording timeline on a web worker crashes inspected process

BUG=258413
R=yurys@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153778 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix run-bindings-tests post-cleaning

Cleaning and renaming broke run-bindings-tests.
This fixes it by updating the names.

Issue 18341025: Rename deprecated "supplemental_dependencies" and clean up IDL dependency script
https://chromiumcodereview.appspot.com/18341025/

Review URL: https://chromiumcodereview.appspot.com/18425003

git-svn-id: svn://svn.chromium.org/blink/trunk@153779 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Create an ArrayBuffer for FileReader.result using m_bytesLoaded

The length of m_rawData will be 32k (default buffer size)
unless total length is known or load is completed. So, without
this fix, FileReader.result will include garbage when accessed
while e.g. loading some source originating from HTTP response
without content-length but transferred by chunked encoding.

Till now, at least in layout tests, we haven't encountered this
bug maybe since for any resource FileReader may access, total
length is known at the beginning of loading (Blob has fixed
length. BlobURLRequestJob of Chromium always generates
the Content-Length header for responses with status code of
200).

So, we expect that this change doesn't affect any existing code
that uses FileReader. At least, ones following the spec won't
be affected.

This bug becomes problematic once it start supporting Stream.

TEST=Layout tests under fast/files (especially fast/files/read-file-async.html) should pass
BUG=169957

Review URL: https://chromiumcodereview.appspot.com/18881002

git-svn-id: svn://svn.chromium.org/blink/trunk@153780 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reland "Rebaseline after r153607 (http://crrev.com/18341015)."

Includes the -expected.txt files this time.

TBR=dimich@chromium.org,schenney@chromium.org
BUG=169254

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153782 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename run-webkit-tests's --chromium-android flag to --android.

The Chromium-Android port was renamed to just plain Android in r153597,
while running with the recommended --chromium-android command line flag
still appends --platform=chromium-android.  Rename the flag to read
--android instead, which now is an alias to --platform=android.

BUG=232044

Review URL: https://chromiumcodereview.appspot.com/18542004

git-svn-id: svn://svn.chromium.org/blink/trunk@153783 bbb929c8-8fbe-4397-9dbb-9b2b20218538
@viewport lengths relative to initial font.

em/rem/ex Were incorrectly computed relative to the documentElement font.

BUG=257070

Review URL: https://chromiumcodereview.appspot.com/18023018

git-svn-id: svn://svn.chromium.org/blink/trunk@153784 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Introduce WebKit::shutdownWithoutV8 as counterpart to initializeWithoutV8

BUG=258327
R=tkent@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18132023

git-svn-id: svn://svn.chromium.org/blink/trunk@153785 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools extensions: forward keyboard shortcuts to DevTools

This adds keyboard event handler that forwards keyboard extensions
that look like shortcuts to DevTools, so these may be handled as
global shortcuts by DevTools.

BUG=160930
R=apavlov@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153786 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: expose setLayerTreeId() so we can relate events from LayerTreeHost

Currently, we track which content layers are painted in WebCore to track layers
that belong to a page. This is a hack and does not work for non-content layers,
so let's bind layer tree to a page and updated layers to layer tree.

R=apavlov@chromium.org, jamesr@chromium.org

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

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