Simplify watched selector handling and remove remnants of user stylesheets

This patch simplifies our handling of watched selectors, allowing us to
remove the remaining pieces of user stylesheets. Currently a special
-internal-callback property is added via a user stylesheet, which depends
on the StyleBuilder applying all values and not just the cascaded values
to function correctly. The approach in this patch is to have this logic
separate to applyMatchedProperties, which means we won't need to have a
separate property and we can still use the matched properties cache in
these cases. This also allows us to remove the Vector of StyleRule in
MatchResult.

BUG=316960

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180379 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Do not fire a DOMSubtreeModified event when Attr.value attribute is set

Do not fire a DOMSubtreeModified event when Attr.value attribute is set. This
event is deprecated and both Firefox 31 and IE 11 do not fire it in this case.

Firing a DOMSubtreeModified event is problematic because it is synchronous and
it can lead to calling Attr::setValueInternal() recursively if the JS callback
sets Attr.value again. This can lead to serious problems as setValueInternal()
calls:
1. Element::willModifyAttribute(oldValue, newValue)
2. Attr::setValue(newValue);
3. Element::didModifyAttribute(newValue)

Due to recursivity, we can end up with the following call stack:
1. Element::willModifyAttribute("old-id", "new-id")
2. Attr::setValue("new-id");
3. Element::willModifyAttribute("new-id", "id-from-callback")
4. Attr::setValue("id-from-callback");
5. Element::didModifyAttribute("id-from-callback")
6. Element::didModifyAttribute("new-id")

After this, the Element's id is "new-id" because the id attribute is updated
in Element::didModifyAttribute(). However, the id in the DocumentOrderedMap
is "id-from-callback" because the id DocumentOrderedMap is updated in
Element::willModifyAttribute(). This mismatch between the DocumentOrderedMap
and the actual Element id can cause getElementById() to return incorrect
result. Even worse, it can result in a use-after-free (as in Bug 402255)
because the DocumentOrderedMap does not hold a reference to the StringImpl
used as key, assuming the StringImpl will be kept alive as it is used as 'id'
for an Element.

BUG=402255
TEST=fast/dom/Attr/set-attr-value-no-DOMSubtreeModified.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180380 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Make the way inspectorFrontend is referenced in agents consistent in all of them.

R=yurys, pfeldman

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180381 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Adding a word to dictionary should remove spelling markers.

This patch adds code for removing spelling markers under words on 
blink's side.

BUG=3506

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180382 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix typo in Path class comment.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180383 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL: Set dictionary default values in impl constructor

The current implementation sets default values in
V8T::toNative(). However, there are some code paths in which
we don't call V8T::toNative(). For example, if an IDL dictionary
is an optional argument and it isn't given, the binding layer
creates impl class by calling T::create() and passes it to
blink without calling V8T::toNative(). Since all dictionary impl
class instances should have default values, we should sets
default values in impl constructor.

BUG=321462

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

git-svn-id: svn://svn.chromium.org/blink/trunk@180384 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move commit list out its own model.

This CL creates a model to hold information on the commit lists. This is
in prepartion for adding the ability to expand the commit list.

BUG=399715
NOTRY=true

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

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