Add security checks to verify that V8PerContextData is not accessed from a wrong context

- If V8PerContextData::from() is called for a context that does not have valid embedder data in its embedder field, we will end up static_casting a wrong point to V8PerContextData.

- This CL adds security checks to verify that such mis-casting doesn't happen.

BUG=341032
R=dcarney@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169103 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make IdlType OO

This moves module functions from idl_types into methods on IdlType,
making type handling OO and much slicker.

Compare:
idl_types.is_integer_type(argument.idl_type)
argument.idl_type.is_integer_type

One potentially unfamiliar features is the use of properties
via the @property decorator (which define a getter):
http://docs.python.org/2.7/library/functions.html#property
This avoids () cruft.

A subtlety is that "type name" has a technical meaning in
the Web IDL spec:
http://heycam.github.io/webidl/#dfn-type-name
The type name of |unsigned long| is "UnsignedLong",
for instance, and of |DOMString| is "String".
Thus I use the clear OO |idl_type.name| when we can (esp. interface types),
but |str(idl_type)| when we really need the raw form,
notably for primitive types that we want to pass directly
to the C++.

V8-specific type handling can also be made OO;
I'll do that in a followup.

Followup to:
Use IdlType (not str) for types in IDL compiler
https://codereview.chromium.org/194383003/

R=haraken
BUG=345137

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169104 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use backend DOM node ids in Layers panel

- emit backend node ids as part of Layer information, so it does not require pushing nodes synchronously to the front-end;
- DOMAgent.pushNodeByBackendIdToFrontend -> DOMAgent.pushNodesByBackendIdsToFrontend(), as it now works on batches of node ids.

BUG=
R=pfeldman@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169105 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Copy DatabaseTask.{h,cpp} to TaskSynchronizer.{h,cpp}

This CL just copies a file just to make the diff of https://codereview.chromium.org/198673002/ saner.

TBR=tkent
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169106 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Stop using toParentMediaElement internally in MediaControlElements

Just use mediaElement()

BUG=341813
R=adamk@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169107 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Fix WI.ConsoleMessage.prototype.clone

Not all arguments were correctly passed to the cloned instance ctor

R=eustas, vsevik
BUG=352013

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169108 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify FrameLoaderClient interface to take HTMLFormElement* instead of FormState
when only FormState::form() was used.

R=tkent@chromium.org
BUG=none
TEST=compile

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

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