Remove forwarding headers in public/

Chromium has been updated to include from the new locations:
https://codereview.chromium.org/68683009/

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162076 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename installPerContextEnabledPrototypeProperties => installPerContextEnabledMethods

sed -i \
s/installPerContextEnabledPrototypeProperties/installPerContextEnabledMethods/g \
$(git ls-files)

TBR=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162077 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: Refactor attribute configuration from Python CG to Jinja template

Most of the attribute configuration is simple enough to compute in the
templates (via {% set %}), which avoids having to look back and forth
between the template and Python code to figure out what's going on.
This reduces the complexity of the CG, and puts the logic right where
it's actually being used.

setter_callback_name in the one exception -- it's complex and going
to get more complex when we support [PutForwards].

This also makes the naming clearer, as it's all lined up, and makes the
actual attribute line more legible without all the |attribute.| noise.

BUG=239771
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162078 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move ownership of the TextResourceDecoder to DecodedDataDocumentParser

Continued from https://codereview.chromium.org/23455024/ 

This moves the Document's reference to the decoder to the parser. The
parser informs the document of changes in the encoding as well as two
bits indicating if the encoding was determined heuristically (to set up
the decoder properly for child frames) and if the decoder has encountered
any decoding errors (to generate errors for XML documents).

R=abarth@chromium.org, japhet@chromium.org
BUG=277886

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162079 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Prevent recursive call of Document::execCommand() to protect from attack code

This patch prevents recursive call of Document::execCommand() to protect from attack code, e.g. executing editing operation in <iframe onload="... editing command">, <iframe src="javascript:...">.

Before this patch, editing operations moving iframe executes JavaScript script, specified in load event handler or src with javascript protocol. Although, implementation of editing operations don't handle DOM tree modification during executing editing operation.

Note: This change reduces security risk but introduces browser incompatibility to Blink. However, compatibility risk is low because use case of recursive execution of Document::execCommand() is very tricky and the result is different in each browser. We've seen usage of this in attack code only so far.

BUG=314609
TEST=LayoutTests/editing/execCommand/apply-style-iframe-crash.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162080 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Dispatch 'click' event even if a mousedown event target and a mouseup event target are different.

We dispatched 'click' event only if a mousedown event target and a mouseup event
target were identical. It's not practical because a click event was not
dispatched in the following case:

<button>Click me</button>
<style>
button {
    padding: 10px;
}
button:active {
    top: 5px;
    position: relative;
}
</style>
- Click on the top of an inner element.

<div id=outer><div id=inner>Click me</div></div>
- mousedown on the inner element, remove the inner element from
the tree, mouseup on the outer element.

The latest draft of DOM Events specification [1] says:
> should fire click and dblclick events on the nearest common ancestor when the
> event targets of the associated mousedown and mouseup events are different.

We follow it, and the new behavior matches to IE11.

[1] https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#events-mouseevents

BUG=163854, 310263

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162081 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't double clear rareData bits inside attach

Now that ::detach() marks the element with NeedsReattachStyleChange we
end up double clearing a bunch of state in the ElementRareData. We only
need to clear that state inside ::detach if we know we're not about to
call ::attach().

BUG=299011

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162082 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add casting helper functions for ClipPathOperation subclasses.

Also, simplify ReferenceClipPathOperation::operator== and
ShapeClipPathOperation::operator==.

BUG=309516

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162083 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactoring: Move Document::m_styleResolver to StyleEngine

This is a preparation for StyleEngine sharing between imported documents.
The chagne moves Document::m_styleResolver and related states into
StyleEngine because we want to share StyleResolver as well.

The overview of the series of changes is here: http://goo.gl/pgxcW2

BUG=319151
TEST=none
R=tasak@google.com, dglazkov, eseidel, tasak

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

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