Diff
Modified: branches/safari-601-branch/Source/WebKit2/ChangeLog (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/ChangeLog 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/ChangeLog 2015-12-15 00:35:22 UTC (rev 194076)
@@ -1,5 +1,48 @@
2015-12-08 Harris Papadopoulos <[email protected]>
+ Merge r188553. rdar://problem/23816165
+
+ 2015-08-13 Anders Carlsson <[email protected]>
+
+ Add WKWindowFeaturesRef and a new modern createNewPage UI client callback
+ https://bugs.webkit.org/show_bug.cgi?id=147989
+
+ Reviewed by Tim Horton.
+
+ Re-land this and make sure we actually allocate a WKWindowFeatures object.
+
+ * Platform/IPC/mac/ConnectionMac.mm:
+ * Shared/API/APIObject.h:
+ * Shared/API/c/WKBase.h:
+ * UIProcess/API/APIWindowFeatures.cpp: Added.
+ * UIProcess/API/APIWindowFeatures.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageUIClient):
+ * UIProcess/API/C/WKPageUIClient.h:
+ * UIProcess/API/C/WKWindowFeaturesRef.cpp: Added.
+ (WKWindowFeaturesGetTypeID):
+ * UIProcess/API/C/WKWindowFeaturesRef.h: Added.
+ * UIProcess/API/Cocoa/WKWindowFeatures.mm:
+ (-[WKWindowFeatures dealloc]):
+ (-[WKWindowFeatures menuBarVisibility]):
+ (-[WKWindowFeatures statusBarVisibility]):
+ (-[WKWindowFeatures toolbarsVisibility]):
+ (-[WKWindowFeatures allowsResizing]):
+ (-[WKWindowFeatures x]):
+ (-[WKWindowFeatures y]):
+ (-[WKWindowFeatures width]):
+ (-[WKWindowFeatures height]):
+ (-[WKWindowFeatures _apiObject]):
+ (-[WKWindowFeatures _initWithWindowFeatures:]): Deleted.
+ * UIProcess/API/Cocoa/WKWindowFeaturesInternal.h:
+ (WebKit::wrapper):
+ * UIProcess/Cocoa/UIDelegate.mm:
+ (WebKit::UIDelegate::UIClient::createNewPage):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2015-12-08 Harris Papadopoulos <[email protected]>
+
Merge r188386. rdar://problem/23816165
2015-08-12 Anders Carlsson <[email protected]>
Modified: branches/safari-601-branch/Source/WebKit2/Shared/API/APIObject.h (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/Shared/API/APIObject.h 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/Shared/API/APIObject.h 2015-12-15 00:35:22 UTC (rev 194076)
@@ -148,6 +148,7 @@
VisitedLinkProvider,
WebsiteDataRecord,
WebsiteDataStore,
+ WindowFeatures,
#if ENABLE(MEDIA_SESSION)
MediaSessionMetadata,
Modified: branches/safari-601-branch/Source/WebKit2/Shared/API/c/WKBase.h (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/Shared/API/c/WKBase.h 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/Shared/API/c/WKBase.h 2015-12-15 00:35:22 UTC (rev 194076)
@@ -141,6 +141,7 @@
typedef const struct OpaqueWKVibration* WKVibrationRef;
typedef const struct OpaqueWKViewportAttributes* WKViewportAttributesRef;
typedef const struct OpaqueWKWebsiteDataStore* WKWebsiteDataStoreRef;
+typedef const struct OpaqueWKWindowFeatures* WKWindowFeaturesRef;
/* WebKit2 Bundle types */
Modified: branches/safari-601-branch/Source/WebKit2/Shared/Cocoa/APIObject.mm (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/Shared/Cocoa/APIObject.mm 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/Shared/Cocoa/APIObject.mm 2015-12-15 00:35:22 UTC (rev 194076)
@@ -60,6 +60,7 @@
#import "WKWebProcessPlugInScriptWorldInternal.h"
#import "WKWebsiteDataRecordInternal.h"
#import "WKWebsiteDataStoreInternal.h"
+#import "WKWindowFeaturesInternal.h"
#import "_WKDownloadInternal.h"
#import "_WKFrameHandleInternal.h"
#import "_WKProcessPoolConfigurationInternal.h"
@@ -217,6 +218,10 @@
wrapper = [WKWebsiteDataStore alloc];
break;
+ case Type::WindowFeatures:
+ wrapper = [WKWindowFeatures alloc];
+ break;
+
case Type::BundleFrame:
wrapper = [WKWebProcessPlugInFrame alloc];
break;
Copied: branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIWindowFeatures.cpp (from rev 194075, branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesInternal.h) (0 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIWindowFeatures.cpp (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIWindowFeatures.cpp 2015-12-15 00:35:22 UTC (rev 194076)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "APIWindowFeatures.h"
+
+namespace API {
+
+Ref<WindowFeatures> WindowFeatures::create(const WebCore::WindowFeatures& windowFeatures)
+{
+ return adoptRef(*new WindowFeatures(windowFeatures));
+}
+
+WindowFeatures::WindowFeatures(const WebCore::WindowFeatures& windowFeatures)
+ : m_windowFeatures(windowFeatures)
+{
+}
+
+WindowFeatures::~WindowFeatures()
+{
+}
+
+}
Copied: branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIWindowFeatures.h (from rev 194075, branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesInternal.h) (0 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIWindowFeatures.h (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/APIWindowFeatures.h 2015-12-15 00:35:22 UTC (rev 194076)
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef APIWindowFeatures_h
+#define APIWindowFeatures_h
+
+#include "APIObject.h"
+#include <WebCore/WindowFeatures.h>
+
+namespace API {
+
+class WindowFeatures final : public ObjectImpl<Object::Type::WindowFeatures> {
+public:
+ static Ref<WindowFeatures> create(const WebCore::WindowFeatures&);
+ virtual ~WindowFeatures();
+
+ const WebCore::WindowFeatures& windowFeatures() const { return m_windowFeatures; }
+
+private:
+ explicit WindowFeatures(const WebCore::WindowFeatures&);
+
+ const WebCore::WindowFeatures m_windowFeatures;
+};
+
+}
+
+#endif // APIWindowFeatures_h
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKAPICast.h (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKAPICast.h 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKAPICast.h 2015-12-15 00:35:22 UTC (rev 194076)
@@ -64,6 +64,7 @@
class UserContentExtensionStore;
class UserScript;
class WebsiteDataStore;
+class WindowFeatures;
}
namespace WebKit {
@@ -164,6 +165,7 @@
WK_ADD_API_MAPPING(WKVibrationRef, WebVibrationProxy)
WK_ADD_API_MAPPING(WKViewportAttributesRef, WebViewportAttributes)
WK_ADD_API_MAPPING(WKWebsiteDataStoreRef, API::WebsiteDataStore)
+WK_ADD_API_MAPPING(WKWindowFeaturesRef, API::WindowFeatures)
/* Enum conversions */
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2015-12-15 00:35:22 UTC (rev 194076)
@@ -41,6 +41,7 @@
#include "APIPolicyClient.h"
#include "APISessionState.h"
#include "APIUIClient.h"
+#include "APIWindowFeatures.h"
#include "AuthenticationChallengeProxy.h"
#include "LegacySessionStateCoding.h"
#include "Logging.h"
@@ -102,7 +103,7 @@
};
template<> struct ClientTraits<WKPageUIClientBase> {
- typedef std::tuple<WKPageUIClientV0, WKPageUIClientV1, WKPageUIClientV2, WKPageUIClientV3, WKPageUIClientV4, WKPageUIClientV5> Versions;
+ typedef std::tuple<WKPageUIClientV0, WKPageUIClientV1, WKPageUIClientV2, WKPageUIClientV3, WKPageUIClientV4, WKPageUIClientV5, WKPageUIClientV6> Versions;
};
#if ENABLE(CONTEXT_MENUS)
@@ -1341,38 +1342,55 @@
}
private:
- virtual PassRefPtr<WebPageProxy> createNewPage(WebPageProxy* page, WebFrameProxy*, const SecurityOriginData&, const ResourceRequest& resourceRequest, const WindowFeatures& windowFeatures, const NavigationActionData& navigationActionData) override
+ virtual PassRefPtr<WebPageProxy> createNewPage(WebPageProxy* page, WebFrameProxy* initiatingFrame, const SecurityOriginData& securityOriginData, const ResourceRequest& resourceRequest, const WindowFeatures& windowFeatures, const NavigationActionData& navigationActionData) override
{
- if (!m_client.base.version && !m_client.createNewPage_deprecatedForUseWithV0)
- return 0;
+ if (m_client.base.version < 6) {
+ if (!m_client.base.version && !m_client.createNewPage_deprecatedForUseWithV0)
+ return nullptr;
- if (m_client.base.version > 0 && !m_client.createNewPage)
- return 0;
+ if (!m_client.createNewPage_deprecatedForUseWithV1)
+ return nullptr;
- API::Dictionary::MapType map;
- if (windowFeatures.x)
- map.set("x", API::Double::create(*windowFeatures.x));
- if (windowFeatures.y)
- map.set("y", API::Double::create(*windowFeatures.y));
- if (windowFeatures.width)
- map.set("width", API::Double::create(*windowFeatures.width));
- if (windowFeatures.height)
- map.set("height", API::Double::create(*windowFeatures.height));
- map.set("menuBarVisible", API::Boolean::create(windowFeatures.menuBarVisible));
- map.set("statusBarVisible", API::Boolean::create(windowFeatures.statusBarVisible));
- map.set("toolBarVisible", API::Boolean::create(windowFeatures.toolBarVisible));
- map.set("locationBarVisible", API::Boolean::create(windowFeatures.locationBarVisible));
- map.set("scrollbarsVisible", API::Boolean::create(windowFeatures.scrollbarsVisible));
- map.set("resizable", API::Boolean::create(windowFeatures.resizable));
- map.set("fullscreen", API::Boolean::create(windowFeatures.fullscreen));
- map.set("dialog", API::Boolean::create(windowFeatures.dialog));
- Ref<API::Dictionary> featuresMap = API::Dictionary::create(WTF::move(map));
+ API::Dictionary::MapType map;
+ if (windowFeatures.x)
+ map.set("x", API::Double::create(*windowFeatures.x));
+ if (windowFeatures.y)
+ map.set("y", API::Double::create(*windowFeatures.y));
+ if (windowFeatures.width)
+ map.set("width", API::Double::create(*windowFeatures.width));
+ if (windowFeatures.height)
+ map.set("height", API::Double::create(*windowFeatures.height));
+ map.set("menuBarVisible", API::Boolean::create(windowFeatures.menuBarVisible));
+ map.set("statusBarVisible", API::Boolean::create(windowFeatures.statusBarVisible));
+ map.set("toolBarVisible", API::Boolean::create(windowFeatures.toolBarVisible));
+ map.set("locationBarVisible", API::Boolean::create(windowFeatures.locationBarVisible));
+ map.set("scrollbarsVisible", API::Boolean::create(windowFeatures.scrollbarsVisible));
+ map.set("resizable", API::Boolean::create(windowFeatures.resizable));
+ map.set("fullscreen", API::Boolean::create(windowFeatures.fullscreen));
+ map.set("dialog", API::Boolean::create(windowFeatures.dialog));
+ Ref<API::Dictionary> featuresMap = API::Dictionary::create(WTF::move(map));
- if (!m_client.base.version)
- return adoptRef(toImpl(m_client.createNewPage_deprecatedForUseWithV0(toAPI(page), toAPI(featuresMap.ptr()), toAPI(navigationActionData.modifiers), toAPI(navigationActionData.mouseButton), m_client.base.clientInfo)));
+ if (!m_client.base.version)
+ return adoptRef(toImpl(m_client.createNewPage_deprecatedForUseWithV0(toAPI(page), toAPI(featuresMap.ptr()), toAPI(navigationActionData.modifiers), toAPI(navigationActionData.mouseButton), m_client.base.clientInfo)));
- Ref<API::URLRequest> request = API::URLRequest::create(resourceRequest);
- return adoptRef(toImpl(m_client.createNewPage(toAPI(page), toAPI(request.ptr()), toAPI(featuresMap.ptr()), toAPI(navigationActionData.modifiers), toAPI(navigationActionData.mouseButton), m_client.base.clientInfo)));
+ Ref<API::URLRequest> request = API::URLRequest::create(resourceRequest);
+ return adoptRef(toImpl(m_client.createNewPage_deprecatedForUseWithV1(toAPI(page), toAPI(request.ptr()), toAPI(featuresMap.ptr()), toAPI(navigationActionData.modifiers), toAPI(navigationActionData.mouseButton), m_client.base.clientInfo)));
+ }
+
+ if (!m_client.createNewPage)
+ return nullptr;
+
+ auto configuration = page->configuration().copy();
+ configuration->setRelatedPage(page);
+
+ auto sourceFrameInfo = API::FrameInfo::create(*initiatingFrame, securityOriginData.securityOrigin());
+
+ bool shouldOpenAppLinks = !protocolHostAndPortAreEqual(WebCore::URL(WebCore::ParsedURLString, initiatingFrame->url()), resourceRequest.url());
+ auto apiNavigationAction = API::NavigationAction::create(navigationActionData, sourceFrameInfo.ptr(), nullptr, resourceRequest, WebCore::URL(), shouldOpenAppLinks);
+
+ auto apiWindowFeatures = API::WindowFeatures::create(windowFeatures);
+
+ return adoptRef(toImpl(m_client.createNewPage(toAPI(page), toAPI(configuration.ptr()), toAPI(apiNavigationAction.ptr()), toAPI(apiWindowFeatures.ptr()), m_client.base.clientInfo)));
}
virtual void showPage(WebPageProxy* page) override
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h 2015-12-15 00:35:22 UTC (rev 194076)
@@ -49,7 +49,7 @@
typedef uint32_t WKPluginUnavailabilityReason;
typedef void (*WKPageUIClientCallback)(WKPageRef page, const void* clientInfo);
-typedef WKPageRef (*WKPageCreateNewPageCallback)(WKPageRef page, WKURLRequestRef urlRequest, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo);
+typedef WKPageRef (*WKPageCreateNewPageCallback)(WKPageRef page, WKPageConfigurationRef configuration, WKNavigationActionRef navigationAction, WKWindowFeaturesRef windowFeatures, const void *clientInfo);
typedef void (*WKPageRunJavaScriptAlertCallback)(WKPageRef page, WKStringRef alertText, WKFrameRef frame, WKSecurityOriginRef securityOrigin, const void *clientInfo);
typedef bool (*WKPageRunJavaScriptConfirmCallback)(WKPageRef page, WKStringRef message, WKFrameRef frame, WKSecurityOriginRef securityOrigin, const void *clientInfo);
typedef WKStringRef (*WKPageRunJavaScriptPromptCallback)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, WKSecurityOriginRef securityOrigin, const void *clientInfo);
@@ -101,6 +101,7 @@
typedef void (*WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef alertText, WKFrameRef frame, const void *clientInfo);
typedef bool (*WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef message, WKFrameRef frame, const void *clientInfo);
typedef WKStringRef (*WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, const void *clientInfo);
+typedef WKPageRef (*WKPageCreateNewPageCallback_deprecatedForUseWithV1)(WKPageRef page, WKURLRequestRef urlRequest, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo);
typedef struct WKPageUIClientBase {
int version;
@@ -197,7 +198,7 @@
void* shouldInterruptJavaScript_unavailable;
// Version 1.
- WKPageCreateNewPageCallback createNewPage;
+ WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
@@ -248,7 +249,7 @@
void* shouldInterruptJavaScript_unavailable;
// Version 1.
- WKPageCreateNewPageCallback createNewPage;
+ WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
@@ -304,7 +305,7 @@
void* shouldInterruptJavaScript_unavailable;
// Version 1.
- WKPageCreateNewPageCallback createNewPage;
+ WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
@@ -363,7 +364,7 @@
void* shouldInterruptJavaScript_unavailable;
// Version 1.
- WKPageCreateNewPageCallback createNewPage;
+ WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
@@ -428,7 +429,7 @@
void* shouldInterruptJavaScript_unavailable;
// Version 1.
- WKPageCreateNewPageCallback createNewPage;
+ WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
@@ -456,10 +457,8 @@
WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
} WKPageUIClientV5;
-enum { kWKPageUIClientCurrentVersion WK_ENUM_DEPRECATED("Use an explicit version number instead") = 2 };
-typedef struct WKPageUIClient {
- int version;
- const void * clientInfo;
+typedef struct WKPageUIClientV6 {
+ WKPageUIClientBase base;
// Version 0.
WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
@@ -468,9 +467,9 @@
WKPageTakeFocusCallback takeFocus;
WKPageFocusCallback focus;
WKPageUnfocusCallback unfocus;
- WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert;
- WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm;
- WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt;
+ WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
+ WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
+ WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
WKPageSetStatusTextCallback setStatusText;
WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
@@ -503,7 +502,7 @@
void* shouldInterruptJavaScript_unavailable;
// Version 1.
- WKPageCreateNewPageCallback createNewPage;
+ WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
@@ -512,8 +511,29 @@
WKPageShowColorPickerCallback showColorPicker;
WKPageHideColorPickerCallback hideColorPicker;
WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
-} WKPageUIClient WK_C_DEPRECATED("Use an explicit versioned struct instead");
+ // Version 3.
+ WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
+
+ // Version 4.
+ WKPageDidBeginTrackingPotentialLongMousePressCallback didBeginTrackingPotentialLongMousePress;
+ WKPageDidRecognizeLongMousePressCallback didRecognizeLongMousePress;
+ WKPageDidCancelTrackingPotentialLongMousePressCallback didCancelTrackingPotentialLongMousePress;
+ WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
+
+ // Version 5.
+ WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
+ WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
+ WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
+ WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
+ WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
+ WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
+
+ // Version 6.
+ WKPageCreateNewPageCallback createNewPage;
+
+} WKPageUIClientV6;
+
#ifdef __cplusplus
}
#endif
Copied: branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKWindowFeaturesRef.cpp (from rev 194075, branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesInternal.h) (0 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKWindowFeaturesRef.cpp (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKWindowFeaturesRef.cpp 2015-12-15 00:35:22 UTC (rev 194076)
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WKWindowFeaturesRef.h"
+
+#include "APIWindowFeatures.h"
+#include "WKAPICast.h"
+
+WKTypeID WKWindowFeaturesGetTypeID()
+{
+ return WebKit::toAPI(API::WindowFeatures::APIType);
+}
Copied: branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKWindowFeaturesRef.h (from rev 194075, branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesInternal.h) (0 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKWindowFeaturesRef.h (rev 0)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKWindowFeaturesRef.h 2015-12-15 00:35:22 UTC (rev 194076)
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WKWindowFeaturesRef_h
+#define WKWindowFeaturesRef_h
+
+#include <WebKit/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT WKTypeID WKWindowFeaturesGetTypeID();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKWindowFeaturesRef_h
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeatures.mm (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeatures.mm 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeatures.mm 2015-12-15 00:35:22 UTC (rev 194076)
@@ -31,82 +31,74 @@
#import <WebCore/WindowFeatures.h>
#import <wtf/RetainPtr.h>
-@implementation WKWindowFeatures {
- RetainPtr<NSNumber> _menuBarVisibility;
- RetainPtr<NSNumber> _statusBarVisibility;
- RetainPtr<NSNumber> _toolbarsVisibility;
+@implementation WKWindowFeatures
- RetainPtr<NSNumber> _allowsResizing;
-
- RetainPtr<NSNumber> _x;
- RetainPtr<NSNumber> _y;
- RetainPtr<NSNumber> _width;
- RetainPtr<NSNumber> _height;
-}
-
-- (instancetype)_initWithWindowFeatures:(const WebCore::WindowFeatures&)windowFeatures
+- (void)dealloc
{
- if (!(self = [super init]))
- return nil;
+ _windowFeatures->API::WindowFeatures::~WindowFeatures();
- // FIXME: These should be set to nil if the features didn't exist in the string.
- _menuBarVisibility = @(windowFeatures.menuBarVisible);
- _statusBarVisibility = @(windowFeatures.statusBarVisible);
- _toolbarsVisibility = @(windowFeatures.toolBarVisible || windowFeatures.locationBarVisible);
- _allowsResizing = @(windowFeatures.resizable);
-
- if (windowFeatures.x)
- _x = @(*windowFeatures.x);
- if (windowFeatures.y)
- _y = @(*windowFeatures.y);
- if (windowFeatures.width)
- _width = @(*windowFeatures.width);
- if (windowFeatures.height)
- _height = @(*windowFeatures.height);
-
- return self;
+ [super dealloc];
}
- (NSNumber *)menuBarVisibility
{
- return _menuBarVisibility.get();
+ return @(_windowFeatures->windowFeatures().menuBarVisible);
}
- (NSNumber *)statusBarVisibility
{
- return _statusBarVisibility.get();
+ return @(_windowFeatures->windowFeatures().statusBarVisible);
}
- (NSNumber *)toolbarsVisibility
{
- return _toolbarsVisibility.get();
+ return @(_windowFeatures->windowFeatures().toolBarVisible);
}
- (NSNumber *)allowsResizing
{
- return _allowsResizing.get();
+ return @(_windowFeatures->windowFeatures().resizable);
}
- (NSNumber *)x
{
- return _x.get();
+ if (auto x = _windowFeatures->windowFeatures().x)
+ return @(*x);
+
+ return nil;
}
- (NSNumber *)y
{
- return _y.get();
+ if (auto y = _windowFeatures->windowFeatures().y)
+ return @(*y);
+
+ return nil;
}
- (NSNumber *)width
{
- return _width.get();
+ if (auto width = _windowFeatures->windowFeatures().width)
+ return @(*width);
+
+ return nil;
}
- (NSNumber *)height
{
- return _height.get();
+ if (auto height = _windowFeatures->windowFeatures().height)
+ return @(*height);
+
+ return nil;
}
+#pragma mark WKObject protocol implementation
+
+- (API::Object&)_apiObject
+{
+ return *_windowFeatures;
+}
+
@end
#endif
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesInternal.h (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesInternal.h 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesInternal.h 2015-12-15 00:35:22 UTC (rev 194076)
@@ -27,14 +27,23 @@
#if WK_API_ENABLED
-namespace WebCore {
-struct WindowFeatures;
-}
+#import "APIWindowFeatures.h"
+#import "WKObject.h"
-@interface WKWindowFeatures ()
+namespace WebKit {
-- (instancetype)_initWithWindowFeatures:(const WebCore::WindowFeatures&)windowFeatures;
+inline WKWindowFeatures *wrapper(API::WindowFeatures& windowFeatures)
+{
+ ASSERT([windowFeatures.wrapper() isKindOfClass:[WKWindowFeatures class]]);
+ return (WKWindowFeatures *)windowFeatures.wrapper();
+}
+
+}
+@interface WKWindowFeatures () <WKObject> {
+@package
+ API::ObjectStorage<API::WindowFeatures> _windowFeatures;
+}
@end
#endif
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm 2015-12-15 00:35:22 UTC (rev 194076)
@@ -114,10 +114,12 @@
auto sourceFrameInfo = API::FrameInfo::create(*initiatingFrame, securityOriginData.securityOrigin());
bool shouldOpenAppLinks = !protocolHostAndPortAreEqual(WebCore::URL(WebCore::ParsedURLString, initiatingFrame->url()), request.url());
- auto navigationAction = API::NavigationAction::create(navigationActionData, sourceFrameInfo.ptr(), nullptr, request, WebCore::URL(), shouldOpenAppLinks);
+ auto apiNavigationAction = API::NavigationAction::create(navigationActionData, sourceFrameInfo.ptr(), nullptr, request, WebCore::URL(), shouldOpenAppLinks);
- RetainPtr<WKWebView> webView = [delegate.get() webView:m_uiDelegate.m_webView createWebViewWithConfiguration:configuration.get() forNavigationAction:wrapper(navigationAction) windowFeatures:adoptNS([[WKWindowFeatures alloc] _initWithWindowFeatures:windowFeatures]).get()];
+ auto apiWindowFeatures = API::WindowFeatures::create(windowFeatures);
+ RetainPtr<WKWebView> webView = [delegate.get() webView:m_uiDelegate.m_webView createWebViewWithConfiguration:configuration.get() forNavigationAction:wrapper(apiNavigationAction) windowFeatures:wrapper(apiWindowFeatures)];
+
if (!webView)
return nullptr;
Modified: branches/safari-601-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (194075 => 194076)
--- branches/safari-601-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2015-12-15 00:35:16 UTC (rev 194075)
+++ branches/safari-601-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2015-12-15 00:35:22 UTC (rev 194076)
@@ -285,6 +285,8 @@
1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A64245C12DE29A100CAAE2C /* UpdateInfo.h */; };
1A64245F12DE29A100CAAE2C /* UpdateInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */; };
1A6509CE18B4146200614332 /* WKProcessPoolPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6509CD18B4146200614332 /* WKProcessPoolPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 1A6563E41B7A8C50009CF787 /* APIWindowFeatures.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6563E21B7A8C50009CF787 /* APIWindowFeatures.cpp */; };
+ 1A6563E51B7A8C50009CF787 /* APIWindowFeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6563E31B7A8C50009CF787 /* APIWindowFeatures.h */; };
1A66BF8F18A052ED002071B4 /* WKWebViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A66BF8E18A052ED002071B4 /* WKWebViewInternal.h */; };
1A6F9F9011E13EFC00DB1371 /* CommandLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6F9F8E11E13EFC00DB1371 /* CommandLine.h */; };
1A6F9FB711E1408500DB1371 /* CommandLinePOSIX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6F9FB611E1408500DB1371 /* CommandLinePOSIX.cpp */; };
@@ -300,6 +302,8 @@
1A7284481959F8040007BCE5 /* SessionStateConversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7284441959ED100007BCE5 /* SessionStateConversion.cpp */; };
1A7865B916CAC71500ACE83A /* PluginProcessConnectionManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7865B716CAC71500ACE83A /* PluginProcessConnectionManagerMessageReceiver.cpp */; };
1A7865BA16CAC71500ACE83A /* PluginProcessConnectionManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A7865B816CAC71500ACE83A /* PluginProcessConnectionManagerMessages.h */; };
+ 1A7C0DF61B7D1F1000A9B848 /* WKWindowFeaturesRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7C0DF41B7D1F1000A9B848 /* WKWindowFeaturesRef.cpp */; };
+ 1A7C0DF71B7D1F1000A9B848 /* WKWindowFeaturesRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A7C0DF51B7D1F1000A9B848 /* WKWindowFeaturesRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
1A7C6CDA1378950800B9C04D /* EnvironmentVariables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7C6CD81378950800B9C04D /* EnvironmentVariables.cpp */; };
1A7C6CDB1378950800B9C04D /* EnvironmentVariables.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A7C6CD91378950800B9C04D /* EnvironmentVariables.h */; };
1A7E377518E4A33A003D0FFF /* WKScriptMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A7E377418E4A33A003D0FFF /* WKScriptMessageHandler.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -2381,6 +2385,8 @@
1A64245C12DE29A100CAAE2C /* UpdateInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdateInfo.h; sourceTree = "<group>"; };
1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UpdateInfo.cpp; sourceTree = "<group>"; };
1A6509CD18B4146200614332 /* WKProcessPoolPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProcessPoolPrivate.h; sourceTree = "<group>"; };
+ 1A6563E21B7A8C50009CF787 /* APIWindowFeatures.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIWindowFeatures.cpp; sourceTree = "<group>"; };
+ 1A6563E31B7A8C50009CF787 /* APIWindowFeatures.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIWindowFeatures.h; sourceTree = "<group>"; };
1A66BF8E18A052ED002071B4 /* WKWebViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebViewInternal.h; sourceTree = "<group>"; };
1A6D141F1B0167D500785FF0 /* Info-OSX-10.9-10.10.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-OSX-10.9-10.10.plist"; sourceTree = "<group>"; };
1A6D14211B01681600785FF0 /* PluginService.32-64-10.9-10.10.Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "PluginService.32-64-10.9-10.10.Info.plist"; path = "PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist"; sourceTree = SOURCE_ROOT; };
@@ -2399,6 +2405,8 @@
1A7865B616CAC6FD00ACE83A /* PluginProcessConnectionManager.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = PluginProcessConnectionManager.messages.in; sourceTree = "<group>"; };
1A7865B716CAC71500ACE83A /* PluginProcessConnectionManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginProcessConnectionManagerMessageReceiver.cpp; sourceTree = "<group>"; };
1A7865B816CAC71500ACE83A /* PluginProcessConnectionManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginProcessConnectionManagerMessages.h; sourceTree = "<group>"; };
+ 1A7C0DF41B7D1F1000A9B848 /* WKWindowFeaturesRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKWindowFeaturesRef.cpp; sourceTree = "<group>"; };
+ 1A7C0DF51B7D1F1000A9B848 /* WKWindowFeaturesRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWindowFeaturesRef.h; sourceTree = "<group>"; };
1A7C6CD81378950800B9C04D /* EnvironmentVariables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EnvironmentVariables.cpp; sourceTree = "<group>"; };
1A7C6CD91378950800B9C04D /* EnvironmentVariables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnvironmentVariables.h; sourceTree = "<group>"; };
1A7DA54D1AFD8B380018239D /* Info-OSX-10.9-10.10.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-OSX-10.9-10.10.plist"; sourceTree = "<group>"; };
@@ -6248,6 +6256,8 @@
1A4832C61A9BC13C008B4DFE /* APIWebsiteDataRecord.h */,
1A3635A71A3144A300ED6197 /* APIWebsiteDataStore.cpp */,
1A3635A81A3144A300ED6197 /* APIWebsiteDataStore.h */,
+ 1A6563E21B7A8C50009CF787 /* APIWindowFeatures.cpp */,
+ 1A6563E31B7A8C50009CF787 /* APIWindowFeatures.h */,
);
path = API;
sourceTree = "<group>";
@@ -6381,6 +6391,8 @@
7C89D2A21A678875003A5FDE /* WKUserScriptRef.h */,
1A57109C1ABA0027002FABBE /* WKWebsiteDataStoreRef.cpp */,
1A57109D1ABA0027002FABBE /* WKWebsiteDataStoreRef.h */,
+ 1A7C0DF41B7D1F1000A9B848 /* WKWindowFeaturesRef.cpp */,
+ 1A7C0DF51B7D1F1000A9B848 /* WKWindowFeaturesRef.h */,
);
path = C;
sourceTree = "<group>";
@@ -8044,6 +8056,7 @@
1A4832D71A9CDF96008B4DFE /* WebsiteData.h in Headers */,
1A4832D11A9BDC2F008B4DFE /* WebsiteDataRecord.h in Headers */,
1A53C2AA1A325730004E8C70 /* WebsiteDataStore.h in Headers */,
+ 1A6563E51B7A8C50009CF787 /* APIWindowFeatures.h in Headers */,
836034A01ACB34D600626549 /* WebSQLiteDatabaseTracker.h in Headers */,
1A52C0F81A38CDC70016160A /* WebStorageNamespaceProvider.h in Headers */,
BCC5715B115ADAEF001CCAF9 /* WebSystemInterface.h in Headers */,
@@ -8169,6 +8182,7 @@
C54256B818BEC18C00DE4179 /* WKFormPopover.h in Headers */,
C54256BA18BEC18C00DE4179 /* WKFormSelectControl.h in Headers */,
BCE4695A1214EDF4000B98EB /* WKFormSubmissionListener.h in Headers */,
+ 1A7C0DF71B7D1F1000A9B848 /* WKWindowFeaturesRef.h in Headers */,
37DFA7001810BB92001F4A9F /* WKFoundation.h in Headers */,
BCD0139B110FA420003B8A67 /* WKFrame.h in Headers */,
1A4D664C18A3030E00D82E21 /* WKFrameInfo.h in Headers */,
@@ -9361,6 +9375,7 @@
7CEFA9621AC0999300B910FD /* APIUserContentExtensionStoreCocoa.mm in Sources */,
7C89D2A61A6789EA003A5FDE /* APIUserScript.cpp in Sources */,
C5E1AFEC16B21012006CC1F2 /* APIWebArchive.mm in Sources */,
+ 1A7C0DF61B7D1F1000A9B848 /* WKWindowFeaturesRef.cpp in Sources */,
C5E1AFEE16B21025006CC1F2 /* APIWebArchiveResource.mm in Sources */,
1A4832C71A9BC13C008B4DFE /* APIWebsiteDataRecord.cpp in Sources */,
1A3635A91A3144A300ED6197 /* APIWebsiteDataStore.cpp in Sources */,
@@ -10025,6 +10040,7 @@
37BF2F071947DEB400723C48 /* WKNSURLRequest.mm in Sources */,
BC407601124FF0270068F20A /* WKNumber.cpp in Sources */,
7CD5EBB81746A15B000C1C45 /* WKObjCTypeWrapperRef.mm in Sources */,
+ 1A6563E41B7A8C50009CF787 /* APIWindowFeatures.cpp in Sources */,
374436881820E7240049579F /* WKObject.mm in Sources */,
BC85806312B8505700EDEB2E /* WKOpenPanelParameters.cpp in Sources */,
BC85806212B8505700EDEB2E /* WKOpenPanelResultListener.cpp in Sources */,