Implement 'mouseenter' and 'mouseleave' from DOM Level 3 Events.

This patch adds 'mouseenter' and 'mouseleave' as accepted event names in
a variety of places, and does the core of the implementation inside
Document::updateHoverActiveState. Since we're already doing all the
testing there to determine hover state (which 'mouseenter'/'mouseleave'
closely mirrors), that method now accepts a PlatformMouseEvent*
parameter, using it to directly dispatch the new events on relevant
nodes.

A bit of logic has also been added to that method to ensure that we only
generate events when an event handler is listening for them, as
performance is otherwise slightly less than awesome. This optimization
requires the addition of an EventTarget method to determine if capturing
event listeners exist (which requires the addition of an
EventListenerMap method to do the dirty work).

This patch is a lightly modified version of the mouseenter/mouseleave
WebKit patch[1] submitted by allan.jensen@digia.com (carewolf), reviewed
by David Hyatt.

[1]: http://trac.webkit.org/changeset/149173

BUG=236215

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153877 bbb929c8-8fbe-4397-9dbb-9b2b20218538
To transition to bindings generation in Python rather than Perl,
we're adding a parallel flow in GYP, and moving IDL files one-by-one
as the generator is able to handle them.

This CL contains the necessary build changes and basic Python scripts,
but does not include the parser or code generator, which will come later.

The build generates exactly the same bindings files before and after this CL.

In detail, this CL:
* Splits the existing GYP target 'bindings_sources' in two:
  - 'perl_bindings_sources' (rename existing),
  - 'python_bindings_sources' (new one, just copy-paste Perl one and change script),
  ...and splits the various 'idl_files' lists into 'perl_...' and 'python_...',
  so we can just move files one-by-one from the Perl list to the Python list.

* Adds generate_bindings.py, the main Python bindings build script
  Almost complete, just does not call the parser or the real code generator.

* Adds a stub build_ir.py
  This will eventually be the main AST to IR converter, but for now just does
  dependency resolution and raises an IdlNotFoundError exception,
  instructing generate_bindings.py to make dummy files.

* Adds a stub code_generator_v8.py, which only generates dummy files
  (.cpp and .h only needed to provide 'outputs' for build).

* Moves the 37 IDL files that generate dummy files over to Python.


Also a few cleanups I noticed on the way (commented inline).

BUG=239771

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153878 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mixed content iframe checks should use top

Prior to this CL, we were using the parent frame when checking iframes for
mixed content. Unfortunately, that breaks the iTunes download page because it
uses an HTTPS iframe to kick off the HTTP download.

This CL causes us to use the top-level frame for this check. That's reasonable
because if the top-level frame is HTTP, the user doesn't have any expectation
that they're being protected from network attackers. This change restores our
behavior in this regard to match our behavior prior to
https://src.chromium.org/viewvc/blink?revision=150260&view=revision. We still
block mixed content iframes, which is the main change from
https://src.chromium.org/viewvc/blink?revision=150260&view=revision.

R=tsepez@chromium.org,cevans@chromium.org
BUG=244210

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153879 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Move V8 shutdown code to WebKit::shutdown and shut it down properly"

This has tentatively resulted into all interactive_ui_tests asserting:

ASSERTION FAILED: s_endOfTaskRunner
../../third_party/WebKit/Source/web/WebKit.cpp(175) : void WebKit::shutdown()
1   0xfd0e596 WebKit::shutdown()
2   0xa6fd3c8 content::WebKitThread::InternalWebKitThread::CleanUp()
3   0x7935b05 base::Thread::ThreadMain()

This reverts commit d5a00bedc5c85a4501049fdfcc737a6d82c7286e.

TBR=jochen

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

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