Make DOM attributes appear to be faux accessor properties
https://bugs.webkit.org/show_bug.cgi?id=127797

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Add flag so we can identify which properties should have the old
custom property semantics vs. the new faux accessors. Update the
inspector protocol accordingly.

These faux accessors produce descriptors with "get" and "set"
properties, but both values are undefined so can't be used
directly. A few custom properties actually require their
existing magical behaviour, so we now have a flag to
distinguish the expected output.

* inspector/InjectedScriptSource.js:
(.):
* runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setCustomDescriptor):
* runtime/PropertyDescriptor.h:
* runtime/PropertySlot.h:

Source/WebCore:

Refactor the bindings generator, and make sure we emit
the CustomAccessor flag on properties that should
appear to be accessors.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateAttributesHashTable):
(GenerateImplementation):

LayoutTests:

These properties now show up as accessors in these tests

* fast/dom/Window/replaceable-expected.txt:
* fast/dom/Window/replaceable.html:
* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/resources/getOwnPropertyDescriptor.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-29  Oliver Hunt  <oliver@apple.com>

        This dereference should not actually be necessary, and
        is producing deprecation warnings with newer perls

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateAttributesHashTable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Consolidate page loading functions
https://bugs.webkit.org/show_bug.cgi?id=127847

Reviewed by Tim Horton.

Get rid of the loadURL functions (and the LoadURL message), rename
loadURLRequest to loadRequest and change it to take a ResourceRequest instead
of an API::URLRequest.

* UIProcess/API/C/WKPage.cpp:
(WKPageLoadURL):
(WKPageLoadURLWithUserData):
(WKPageLoadURLRequest):
(WKPageLoadURLRequestWithUserData):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadRequest:userData:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::createInspectorPage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
* UIProcess/WebPageProxy.h:
* UIProcess/cf/WebPageProxyCF.cpp:
(WebKit::WebPageProxy::restoreFromSessionStateData):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IDB: Opening an existing database is broken
https://bugs.webkit.org/show_bug.cgi?id=127851

Reviewed by Tim Hatcher.

Source/WebCore:

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
(WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
  been called yet, then it is incorrect to process any pending calls right now.
* Modules/indexeddb/IDBDatabaseBackend.h:

Source/WebKit2:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Save the request to get metadata
  to the set before posting the task to the thread.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Actually save the retrieved
  object store metadata to the database metadata.

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

* WebView/WebPDFView.mm:
(_applicationInfoForMIMEType):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix JSONP requests made by the WebKit Bot Watcher's Dashboard following <http://trac.webkit.org/changeset/163034>
(https://bugs.webkit.org/show_bug.cgi?id=127784)

Use dot-notation instead of array index notation to access the dictionary value for key jsonpCallbackName
in the specified options dictionary.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:
(JSON.load):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MediaControls][iOS] Hook up the fullscreen button
https://bugs.webkit.org/show_bug.cgi?id=127850

Reviewed by Eric Carlson.

For the fullscreen button, do the same thing we do for the play button: handle touchstart,
touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
(ControllerIOS.prototype.isFullScreen): Override.
(ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
(ControllerIOS.prototype.handleFullscreenTouchStart): Added.
(ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
(ControllerIOS.prototype.handleFullscreenTouchCancel): Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make WKWebView limp along on OS X
https://bugs.webkit.org/show_bug.cgi?id=127857

Reviewed by Tim Horton.

On Mac, create a WKView and add it as a subview of the WKWebVew so we'll actually get something
on screen when creating a WKWebView.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
Create a WKView.

(-[WKWebView resizeSubviewsWithOldSize:]):
Resize the WKView.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:configuration:]):
Add new initializer.

* UIProcess/API/mac/WKViewInternal.h:
Use a class extension for internal methods and add the new initializer.

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