Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
WKFrameInfo should have an accessor for the Frame's current security …
…origin.

https://bugs.webkit.org/show_bug.cgi?id=146162

Reviewed by Dan Bernstein.

Source/WebKit2:

This patch:
- Promotes _WKSecurityOrigin to API.
- Makes the WKSecurityOrigin Cocoa API object work with API::SecurityOrigin.
- Adds a WKSecurityOrigin accessor to WKFrameInfo.
- Changes IPC messaging so every handler that calls out with a WKFrameInfo object
  gets a relevant SecurityOrigin to wrap.

* Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::create):
(API::SecurityOrigin::SecurityOrigin):

* Shared/API/Cocoa/WebKit.h:

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedAPI):

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):

* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::fromFrame):
* Shared/SecurityOriginData.h:

* UIProcess/API/APIFrameInfo.cpp:
(API::FrameInfo::FrameInfo):
* UIProcess/API/APIFrameInfo.h:

* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didFailProvisionalLoadInSubframeWithError):

* UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPage):
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):

* UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerGetApplicationCacheOrigins):

* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetKeyValueStorageOrigins):

* UIProcess/API/C/WKOriginDataManager.cpp:
(WKOriginDataManagerGetOrigins):

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
(WKPageSetPageNavigationClient):

* UIProcess/API/C/WKResourceCacheManager.cpp:
(WKResourceCacheManagerGetCacheOrigins):

* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo securityOrigin]):

* UIProcess/API/Cocoa/WKSecurityOrigin.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.h.
* UIProcess/API/Cocoa/WKSecurityOrigin.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.mm.
(-[WKSecurityOrigin dealloc]):
(-[WKSecurityOrigin description]):
(-[WKSecurityOrigin protocol]):
(-[WKSecurityOrigin host]):
(-[WKSecurityOrigin port]):
(-[WKSecurityOrigin _apiObject]):
* UIProcess/API/Cocoa/WKSecurityOriginInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOriginInternal.h.
(API::wrapper):

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

* UIProcess/API/Cocoa/WKUserContentController.mm:

* UIProcess/API/Cocoa/_WKSecurityOrigin.h:
* UIProcess/API/Cocoa/_WKSecurityOrigin.mm:
(-[_WKSecurityOrigin _initWithSecurityOrigin:]): Deleted.
(-[_WKSecurityOrigin protocol]): Deleted.
(-[_WKSecurityOrigin host]): Deleted.
(-[_WKSecurityOrigin port]): Deleted.

* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError):

* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):

* UIProcess/UserContent/WebScriptMessageHandler.h:

* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::didPostMessage):
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/UserContent/WebUserContentControllerProxy.messages.in:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

* WebKit2.xcodeproj/project.pbxproj:

* WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm: Added.
(sawDialog):
(-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(TEST):


Canonical link: https://commits.webkit.org/164316@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
beidson committed Jun 23, 2015
1 parent 99fd010 commit 6f61400
Show file tree
Hide file tree
Showing 44 changed files with 623 additions and 149 deletions.
135 changes: 135 additions & 0 deletions Source/WebKit2/ChangeLog
@@ -1,3 +1,138 @@
2015-06-23 Brady Eidson <beidson@apple.com>

WKFrameInfo should have an accessor for the Frame's current security origin.
https://bugs.webkit.org/show_bug.cgi?id=146162

Reviewed by Dan Bernstein.

This patch:
- Promotes _WKSecurityOrigin to API.
- Makes the WKSecurityOrigin Cocoa API object work with API::SecurityOrigin.
- Adds a WKSecurityOrigin accessor to WKFrameInfo.
- Changes IPC messaging so every handler that calls out with a WKFrameInfo object
gets a relevant SecurityOrigin to wrap.

* Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::create):
(API::SecurityOrigin::SecurityOrigin):

* Shared/API/Cocoa/WebKit.h:

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedAPI):

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):

* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::fromFrame):
* Shared/SecurityOriginData.h:

* UIProcess/API/APIFrameInfo.cpp:
(API::FrameInfo::FrameInfo):
* UIProcess/API/APIFrameInfo.h:

* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didFailProvisionalLoadInSubframeWithError):

* UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPage):
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):

* UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerGetApplicationCacheOrigins):

* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetKeyValueStorageOrigins):

* UIProcess/API/C/WKOriginDataManager.cpp:
(WKOriginDataManagerGetOrigins):

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
(WKPageSetPageNavigationClient):

* UIProcess/API/C/WKResourceCacheManager.cpp:
(WKResourceCacheManagerGetCacheOrigins):

* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo securityOrigin]):

* UIProcess/API/Cocoa/WKSecurityOrigin.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.h.
* UIProcess/API/Cocoa/WKSecurityOrigin.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.mm.
(-[WKSecurityOrigin dealloc]):
(-[WKSecurityOrigin description]):
(-[WKSecurityOrigin protocol]):
(-[WKSecurityOrigin host]):
(-[WKSecurityOrigin port]):
(-[WKSecurityOrigin _apiObject]):
* UIProcess/API/Cocoa/WKSecurityOriginInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOriginInternal.h.
(API::wrapper):

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

* UIProcess/API/Cocoa/WKUserContentController.mm:

* UIProcess/API/Cocoa/_WKSecurityOrigin.h:
* UIProcess/API/Cocoa/_WKSecurityOrigin.mm:
(-[_WKSecurityOrigin _initWithSecurityOrigin:]): Deleted.
(-[_WKSecurityOrigin protocol]): Deleted.
(-[_WKSecurityOrigin host]): Deleted.
(-[_WKSecurityOrigin port]): Deleted.

* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError):

* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):

* UIProcess/UserContent/WebScriptMessageHandler.h:

* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::didPostMessage):
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/UserContent/WebUserContentControllerProxy.messages.in:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

* WebKit2.xcodeproj/project.pbxproj:

* WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2015-06-23 Dan Bernstein <mitz@apple.com>

<rdar://problem/21342465> Make -[WKWebView _certificateChain] public.
Expand Down
9 changes: 6 additions & 3 deletions Source/WebKit2/Shared/API/APISecurityOrigin.h
Expand Up @@ -44,10 +44,8 @@ class SecurityOrigin : public API::ObjectImpl<API::Object::Type::SecurityOrigin>
return create(WebCore::SecurityOrigin::create(protocol, host, port));
}

static RefPtr<SecurityOrigin> create(PassRefPtr<WebCore::SecurityOrigin> securityOrigin)
static RefPtr<SecurityOrigin> create(const WebCore::SecurityOrigin& securityOrigin)
{
if (!securityOrigin)
return nullptr;
return adoptRef(new SecurityOrigin(securityOrigin));
}

Expand All @@ -59,6 +57,11 @@ class SecurityOrigin : public API::ObjectImpl<API::Object::Type::SecurityOrigin>
{
}

SecurityOrigin(const WebCore::SecurityOrigin& securityOrigin)
: m_securityOrigin(securityOrigin.isolatedCopy())
{
}

RefPtr<WebCore::SecurityOrigin> m_securityOrigin;
};

Expand Down
1 change: 1 addition & 0 deletions Source/WebKit2/Shared/API/Cocoa/WebKit.h
Expand Up @@ -36,6 +36,7 @@
#import <WebKit/WKProcessPool.h>
#import <WebKit/WKScriptMessage.h>
#import <WebKit/WKScriptMessageHandler.h>
#import <WebKit/WKSecurityOrigin.h>
#import <WebKit/WKUIDelegate.h>
#import <WebKit/WKUserContentController.h>
#import <WebKit/WKUserScript.h>
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/Shared/API/c/WKSharedAPICast.h
Expand Up @@ -215,7 +215,7 @@ inline WKSecurityOriginRef toCopiedAPI(WebCore::SecurityOrigin* origin)
{
if (!origin)
return 0;
return toAPI(API::SecurityOrigin::create(origin).leakRef());
return toAPI(API::SecurityOrigin::create(*origin).leakRef());
}

/* Geometry conversions */
Expand Down
5 changes: 5 additions & 0 deletions Source/WebKit2/Shared/Cocoa/APIObject.mm
Expand Up @@ -48,6 +48,7 @@
#import "WKNavigationResponseInternal.h"
#import "WKPreferencesInternal.h"
#import "WKProcessPoolInternal.h"
#import "WKSecurityOriginInternal.h"
#import "WKUserContentControllerInternal.h"
#import "WKUserScriptInternal.h"
#import "WKWebProcessPlugInBrowserContextControllerInternal.h"
Expand Down Expand Up @@ -172,6 +173,10 @@
wrapper = [WKBrowsingContextGroup alloc];
break;

case Type::SecurityOrigin:
wrapper = [WKSecurityOrigin alloc];
break;

case Type::String:
wrapper = NSAllocateObject([WKNSString class], size, nullptr);
break;
Expand Down
29 changes: 28 additions & 1 deletion Source/WebKit2/Shared/SecurityOriginData.cpp
Expand Up @@ -27,8 +27,11 @@
#include "SecurityOriginData.h"

#include "APIArray.h"
#include "WebCoreArgumentCoders.h"
#include "APISecurityOrigin.h"
#include "WebCoreArgumentCoders.h"
#include "WebFrame.h"
#include <WebCore/Document.h>
#include <WebCore/Frame.h>
#include <wtf/text/CString.h>

using namespace WebCore;
Expand All @@ -46,6 +49,30 @@ SecurityOriginData SecurityOriginData::fromSecurityOrigin(const SecurityOrigin&
return securityOriginData;
}

SecurityOriginData SecurityOriginData::fromFrame(WebFrame* frame)
{
if (!frame)
return SecurityOriginData();

return SecurityOriginData::fromFrame(frame->coreFrame());
}

SecurityOriginData SecurityOriginData::fromFrame(Frame* frame)
{
if (!frame)
return SecurityOriginData();

Document* document = frame->document();
if (!document)
return SecurityOriginData();

SecurityOrigin* origin = document->securityOrigin();
if (!origin)
return SecurityOriginData();

return SecurityOriginData::fromSecurityOrigin(*origin);
}

Ref<SecurityOrigin> SecurityOriginData::securityOrigin() const
{
return SecurityOrigin::create(protocol.isolatedCopy(), host.isolatedCopy(), port);
Expand Down
6 changes: 6 additions & 0 deletions Source/WebKit2/Shared/SecurityOriginData.h
Expand Up @@ -35,13 +35,19 @@ class ArgumentEncoder;
}

namespace WebCore {
class Frame;
class SecurityOrigin;
}

namespace WebKit {

class WebFrame;

struct SecurityOriginData {
static SecurityOriginData fromSecurityOrigin(const WebCore::SecurityOrigin&);
static SecurityOriginData fromFrame(WebFrame*);
static SecurityOriginData fromFrame(WebCore::Frame*);

Ref<WebCore::SecurityOrigin> securityOrigin() const;

void encode(IPC::ArgumentEncoder&) const;
Expand Down
3 changes: 2 additions & 1 deletion Source/WebKit2/UIProcess/API/APIFrameInfo.cpp
Expand Up @@ -31,9 +31,10 @@
namespace API {

// FIXME: This should use the full request of the frame, not just the URL.
FrameInfo::FrameInfo(const WebKit::WebFrameProxy& frame)
FrameInfo::FrameInfo(const WebKit::WebFrameProxy& frame, const WebCore::SecurityOrigin& securityOrigin)
: m_isMainFrame(frame.isMainFrame())
, m_request(WebCore::ResourceRequest(frame.url()))
, m_securityOrigin(adoptRef(*SecurityOrigin::create(securityOrigin).leakRef()))
{
}

Expand Down
10 changes: 7 additions & 3 deletions Source/WebKit2/UIProcess/API/APIFrameInfo.h
Expand Up @@ -27,7 +27,9 @@
#define APIFrameInfo_h

#include "APIObject.h"
#include "APISecurityOrigin.h"
#include <WebCore/ResourceRequest.h>
#include <WebCore/SecurityOrigin.h>

namespace WebKit {
class WebFrameProxy;
Expand All @@ -37,19 +39,21 @@ namespace API {

class FrameInfo final : public ObjectImpl<Object::Type::FrameInfo> {
public:
static Ref<FrameInfo> create(const WebKit::WebFrameProxy& frame)
static Ref<FrameInfo> create(const WebKit::WebFrameProxy& frame, const WebCore::SecurityOrigin& securityOrigin)
{
return adoptRef(*new FrameInfo(frame));
return adoptRef(*new FrameInfo(frame, securityOrigin));
}

explicit FrameInfo(const WebKit::WebFrameProxy&);
FrameInfo(const WebKit::WebFrameProxy&, const WebCore::SecurityOrigin&);

bool isMainFrame() const { return m_isMainFrame; }
const WebCore::ResourceRequest& request() const { return m_request; }
SecurityOrigin& securityOrigin() { return m_securityOrigin.get(); }

private:
bool m_isMainFrame;
WebCore::ResourceRequest m_request;
Ref<SecurityOrigin> m_securityOrigin;
};

} // namespace API
Expand Down
3 changes: 2 additions & 1 deletion Source/WebKit2/UIProcess/API/APINavigationClient.h
Expand Up @@ -50,6 +50,7 @@ class WebFrameProxy;
class WebPageProxy;
class WebProtectionSpace;
struct NavigationActionData;
struct SecurityOriginData;
struct WebNavigationDataStore;
}

Expand All @@ -68,7 +69,7 @@ class NavigationClient {
virtual void didStartProvisionalNavigation(WebKit::WebPageProxy&, API::Navigation*, API::Object*) { }
virtual void didReceiveServerRedirectForProvisionalNavigation(WebKit::WebPageProxy&, API::Navigation*, API::Object*) { }
virtual void didFailProvisionalNavigationWithError(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, API::Navigation*, const WebCore::ResourceError&, API::Object*) { }
virtual void didFailProvisionalLoadInSubframeWithError(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, API::Navigation*, const WebCore::ResourceError&, API::Object*) { }
virtual void didFailProvisionalLoadInSubframeWithError(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, const WebKit::SecurityOriginData&, API::Navigation*, const WebCore::ResourceError&, API::Object*) { }
virtual void didCommitNavigation(WebKit::WebPageProxy&, API::Navigation*, API::Object*) { }
virtual void didFinishDocumentLoad(WebKit::WebPageProxy&, API::Navigation*, API::Object*) { }
virtual void didFinishNavigation(WebKit::WebPageProxy&, API::Navigation*, API::Object*) { }
Expand Down
9 changes: 5 additions & 4 deletions Source/WebKit2/UIProcess/API/APIUIClient.h
Expand Up @@ -56,6 +56,7 @@ class WebOpenPanelParameters;
class WebOpenPanelResultListenerProxy;
class WebPageProxy;
struct NavigationActionData;
struct SecurityOriginData;
}

namespace API {
Expand All @@ -69,7 +70,7 @@ class UIClient {
public:
virtual ~UIClient() { }

virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, const WebKit::NavigationActionData&) { return nullptr; }
virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebKit::SecurityOriginData&, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, const WebKit::NavigationActionData&) { return nullptr; }
virtual void showPage(WebKit::WebPageProxy*) { }
virtual void fullscreenMayReturnToInline(WebKit::WebPageProxy*) { }
virtual void didEnterFullscreen(WebKit::WebPageProxy*) { }
Expand All @@ -80,9 +81,9 @@ class UIClient {
virtual void focus(WebKit::WebPageProxy*) { }
virtual void unfocus(WebKit::WebPageProxy*) { }

virtual void runJavaScriptAlert(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, std::function<void ()> completionHandler) { completionHandler(); }
virtual void runJavaScriptConfirm(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, std::function<void (bool)> completionHandler) { completionHandler(false); }
virtual void runJavaScriptPrompt(WebKit::WebPageProxy*, const WTF::String&, const WTF::String&, WebKit::WebFrameProxy*, std::function<void (const WTF::String&)> completionHandler) { completionHandler(WTF::String()); }
virtual void runJavaScriptAlert(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, const WebKit::SecurityOriginData&, std::function<void ()> completionHandler) { completionHandler(); }
virtual void runJavaScriptConfirm(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, const WebKit::SecurityOriginData&, std::function<void (bool)> completionHandler) { completionHandler(false); }
virtual void runJavaScriptPrompt(WebKit::WebPageProxy*, const WTF::String&, const WTF::String&, WebKit::WebFrameProxy*, const WebKit::SecurityOriginData&, std::function<void (const WTF::String&)> completionHandler) { completionHandler(WTF::String()); }

virtual void setStatusText(WebKit::WebPageProxy*, const WTF::String&) { }
virtual void mouseDidMoveOverElement(WebKit::WebPageProxy*, const WebKit::WebHitTestResult::Data&, WebKit::WebEvent::Modifiers, API::Object*) { }
Expand Down
Expand Up @@ -44,7 +44,7 @@ void WKApplicationCacheManagerGetApplicationCacheOrigins(WKApplicationCacheManag
Vector<RefPtr<API::Object>> securityOrigins;
for (const auto& dataRecord : dataRecords) {
for (const auto& origin : dataRecord.origins)
securityOrigins.append(API::SecurityOrigin::create(origin));
securityOrigins.append(API::SecurityOrigin::create(*origin));
}

callback(toAPI(API::Array::create(WTF::move(securityOrigins)).ptr()), nullptr, context);
Expand Down
Expand Up @@ -73,7 +73,7 @@ void WKKeyValueStorageManagerGetKeyValueStorageOrigins(WKKeyValueStorageManagerR
Vector<RefPtr<API::Object>> webSecurityOrigins;
webSecurityOrigins.reserveInitialCapacity(securityOrigins.size());
for (auto& origin : securityOrigins)
webSecurityOrigins.uncheckedAppend(API::SecurityOrigin::create(origin));
webSecurityOrigins.uncheckedAppend(API::SecurityOrigin::create(*origin));

callback(toAPI(API::Array::create(WTF::move(webSecurityOrigins)).ptr()), nullptr, context);
});
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp
Expand Up @@ -47,7 +47,7 @@ void WKOriginDataManagerGetOrigins(WKOriginDataManagerRef originDataManager, WKO
Vector<RefPtr<API::Object>> securityOrigins;
for (const auto& dataRecord : dataRecords) {
for (const auto& origin : dataRecord.origins)
securityOrigins.append(API::SecurityOrigin::create(origin));
securityOrigins.append(API::SecurityOrigin::create(*origin));
}

callback(toAPI(API::Array::create(WTF::move(securityOrigins)).ptr()), nullptr, context);
Expand Down

0 comments on commit 6f61400

Please sign in to comment.