Add monotonic time and target property to WebAnimationDelegate notifications

This adds monotonic time and target property as arguments to 
WebAnimationDelegate::notifyAnimation{Started, Finished}. 

The existing wall clock time argument can be removed once the legacy 
implementation of CSS animations and transitions is removed. 

The target property argument is needed to distinguish between notifications
for CSS animations/transitions and notifications for the scroll animations
being added for the CSSOM View smooth scroll API.

BUG=299945,243871

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163659 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: sync Python to r163540

Python side to:
Migrate bindings constructors to the new ExceptionState model.
https://codereview.chromium.org/111373003/

BUG=239771
NOTRY=true
TBR=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163660 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Ensure selection is reset after inserting new list of different type over existing selection consisting of the last list item.

When an existing selection spanning across multiple list items and consisting of the last list item is converted into a new list of a different type, the ending selection is not set properly which results in the content before the
original selection getting the selection after inserting the new list.

In case the selection is a range and spans across multiple paragraphs, we apply the command paragraph by paragraph. We make the currentSelection point to one paragraph at a time
and then apply the command over it.

A call to doApplyForSingleParagraph() can however remove nodes thereby removing or orphaning a VisiblePosition pointing to the end of the selection.
Based on this VisiblePosition we try to set the original selection after executing the command.
So, after a call to doApplyForSingleParagraph() we try to reset the VisiblePosition pointing to the end of the selection.
However, when doing this for the last paragraph consisting of the contents of the last list item in its entirety, after a call to doApplyForSingleParagraph(), if the position pointing to the end of the selection becomes invalid, we should not use the endingSelection() to restore
the same since endingSelection() itself would not be pointing to the correct end of selection position. Instead we should use the previously computed |indexForEndOfSelection| using the TextIterator and set the end of selection using that.
Post which we can correctly set the ending selection.

Also, |indexForEndOfSelection| needs to be computed only once since the index pointing to the original end of selection shall not change. Hence this particular computation can be moved outside of the while.
Even as per the FIXME associated with this, computation of |indexForEndOfSelection| is inefficient.

An existing test expectation changes in that it now sets the focus/caret at the end of the last list item instead of incorrectly setting it to the beginning of the last list item.
The testcase itself takes all the contents of an unordered list and tries to change the type of selection for it.
Since all of its contents are being selected, the end caret/focus should point to the end of the last list item contained within the selection.

BUG=327261

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163661 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[webcrypto] Add AES-KW to the list of registered algorithms.

This algorithm is not yet defined in the WebCrypto spec, however is planned for inclusion and should make a forthcoming spec update.

BUG=245025

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163662 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add test for sub-pixel scaling of web fonts

Add new test for scaling of web fonts with sub-pixel precision. Also
add a copy of the APL2 licensed OpenSans font to LayoutTests/resources/
opensans with LICENSE and README files.

R=dglazkov@chromium.org, eseidel@chromium.org
BUG=290411

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163663 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a missing return statement.

It looks like this was omitted accidentally. This isn't a behavior change
as the next case contains the same if check that the current case contained
(which will not be taken, because it wasn't taken in the current case), and
the next intended state is identical. So no behavior change other than saving
one conditional and making the code less confusing.

BUG=177475

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163664 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify invokeCallback() and support void return values for IDL callbacks

Now that all callbacks are forced to be v8::Functions, invokeCallback() can be
a lot simpler: no more need to look for a handleEvent method on a v8::Object.

Only a single caller made use of the |callbackReturnValue|, so it's been removed
and that caller now takes care of calling the callback.

invokeCallback() is now just a TryCatch around ScriptController::callFunction.
I also inverted the return value of invokeCallback: true means "everything went fine",
false means "threw an exception".

In making that change, it became clear that most callbacks don't actually have
a return value (and their callers don't care what the called function returns),
and were only using "boolean" in the IDL files because that was all the code
generator supported. I've added support for "void", which is used everywhere
except for a few cases in WebSQL.

R=haraken@chromium.org, nbarth@chromium.org

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

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