Make DOM properties exposed as instance properties use the base object instead of |this|
https://bugs.webkit.org/show_bug.cgi?id=133353

Reviewed by Geoffrey Garen.

Source/WebCore:
Make the bindings generator emit code that uses the base object for
a property, rather than the this object. This means that attributes
that we need to be treated as instance properties will match their old
instance-based behaviour.

* bindings/scripts/CodeGeneratorJS.pm:
(InterfaceRequiresAttributesOnInstanceForCompatibility):
(InterfaceRequiresAttributesOnInstance):
(GetCastingHelperForBaseObject):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):

LayoutTests:
Update tests to cover change in expected behaviour.

* js/dom/dom-as-prototype-assignment-exception-expected.txt:
* js/dom/dom-attributes-on-mismatch-type-expected.txt:
* js/dom/dom-attributes-on-mismatch-type.html:
* js/dom/script-tests/dom-as-prototype-assignment-exception.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Marking test as flaky pending further review.
https://bugs.webkit.org/show_bug.cgi?id=133351

Unreviewed gardening.

* TestExpectations:
Skip css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add WKWebView SPI to forcefully kill the associated Web process
https://bugs.webkit.org/show_bug.cgi?id=133357

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _killWebContentProcess]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS WebKit2] Sometimes Safari gets into a limbo state after web process crash
<rdar://problem/17029526>
https://bugs.webkit.org/show_bug.cgi?id=133362

Reviewed by Dan Bernstein.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Remove unnecessary initialization of a unique_ptr.

(WebKit::WebPageProxy::reattachToWebProcess):
Move calls to update the view state and activity tokens to after we have swapped in the new process.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Clear the activity token on process exit.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169436 268f45cc-cd09-0410-ab3c-d52691b4dbfc