Make ContainerNode::removeChildren detach before removing from the tree.

Similar to http://trac.webkit.org/changeset/148754 by Andrei Bucur.

Currently, ContainerNode::removeChildren initially removes the nodes from the
DOM tree  and then calls detach() on each of them. This is anti-intuitive and can
lead to subtle bugs because the detached renderers are not backed by a valid DOM
tree any more. With the patch, the nodes are first detached and then removed from
the DOM.

The patch also lets the tree in a consistent state after each node removal by using
removeBetween which clears dangling pointers (this might have a very, very small
performance impact because NoEventDispatchAssertion is called for every removed
node even though it's called for the ContainerNode as well). I haven't found any proof
the performance will get worse if the detachment happens when the children are still
in the DOM tree.

BUG=235447

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149189 bbb929c8-8fbe-4397-9dbb-9b2b20218538
add back TestPartialInterface bindings test

This test was missing from r149182.

Also reset bindings test results.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149190 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Build fix: UseCounter::deprecationMessage returns String, not String*.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149191 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Highlight Sass sources loaded from the local filesystem

Added the "scss" and "sass" file extensions to treat as stylesheets.
Drive-by: added "htm" extension to tread as Document.

BUG=235695

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149192 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename 'UseCounter::observe' to 'UseCounter::measureFeature'.

Observation is a leftover concept from the class's old name ("FeatureObserver")
and doesn't make much sense in the new class. Renaming the methods to
"count" and "countDeprecation" seems more clear.

This mechanical patch was brought to you by 'sed', 'ack', and the letter 'e'.

BUG=233522

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149193 bbb929c8-8fbe-4397-9dbb-9b2b20218538
MediaStream API: Modifying WebMediaStreamSource::ExtraData to have a owner()

BUG=229208

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149194 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: syntax highlight for network resources loaded via XHR

Simplify content mimeType on the SourceFrame level.

BUG=235469

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149195 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Optimize function and interface object length computation in bindings generator

Introduce new GetFunctionLength() function that efficiently compute the length
of a function (i.e. its number of mandatory parameters).

We now call GetFunctionLength() instead of GenerateFunctionParametersCheck()
whenever we care only interested in the function length and not the actual
expression for checking the parameters. This is much more efficient as
GenerateFunctionParametersCheck() does a lot more processing than we need in
this case.

NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149196 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make sure WebCore::ApplyStyleCommand does not remove format after the selection

This bug is hit when ApplyStyleCommand is used to change the
style and the current selection ends in the beginning of a new node.
The bug is actually a two-fold thing:

1. There was no check as to whether the end node is really
selected or not, and format was always removed from it with
pushDownInlineStyleAroundNode(). An equivalent check for the start
node was already in place, so fix it analogously.

2. Previous stage might change the dom tree, resulting in a render
tree that is not up-to-date. Position::upstream() is later used
and, in order to be able to find a visually equivalent position in
a text node, this method needs the render tree to be up-to-date,
therefore, a call to updateLayoutIgnorePendingStylesheets() is
necessary.

R=jamesr@chromium.org
BUG=233122

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149197 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove feature flag ENABLE_SHARED_WORKERS, since it is always on. This is part of a cleanup effort to remove unneeded feature flags. This feature can still be controlled by a commandline switch.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149198 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Avoid constructing a complete KURL in fragmentIdentifierFromIRIString.

Constructing the KURL from base + fragment ref is problematic for data: URI, as it is not a
hierarchical scheme and relative resolution fails.

Luckily, this is avoidable: the only reason for constructing a KURL is to compare against the
document URL, but the comparison ignores the fragment anyway (equalIgnoringFragmentIdentifier).
This is equivalent to a base-only comparison, which is the approach proposed in this patch.

No test: the issue only triggers when the document url is data: URI based, and DRT doesn't seem to
support opening such a scheme directly. Current baseURI vs. document URL validation is covered by
existing tests.

(For background on why we perform such validation in the first place, see
https://bugs.webkit.org/show_bug.cgi?id=63283
https://bugzilla.mozilla.org/show_bug.cgi?id=308590)

BUG=234595

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

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