InjectedBundlePageLoaderClient.cpp revision 65f03d4f644ce73618e5f4f50dd694b26f55ae12
165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch/* 265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * Copyright (C) 2010 Apple Inc. All rights reserved. 365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * Redistribution and use in source and binary forms, with or without 565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * modification, are permitted provided that the following conditions 665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * are met: 765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 1. Redistributions of source code must retain the above copyright 865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer. 965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright 1065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer in the 1165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * documentation and/or other materials provided with the distribution. 1265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 1365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 1465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 1565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 1765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 1865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 1965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 2365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE POSSIBILITY OF SUCH DAMAGE. 2465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch */ 2565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundlePageLoaderClient.h" 2765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundleScriptWorld.h" 2965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKAPICast.h" 3065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKBundleAPICast.h" 3165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WebError.h" 3265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/text/WTFString.h> 3365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochusing namespace WebCore; 3565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace WebKit { 3765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 3965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 4065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didStartProvisionalLoadForFrame) 4165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 4265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 4465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didStartProvisionalLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 4565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 4665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 4765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 4965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 5065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didReceiveServerRedirectForProvisionalLoadForFrame) 5165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 5265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 5365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 5465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didReceiveServerRedirectForProvisionalLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 5565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 5665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 5765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 5865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame(WebPage* page, WebFrame* frame, const ResourceError& error, RefPtr<APIObject>& userData) 5965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 6065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFailProvisionalLoadWithErrorForFrame) 6165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 6265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 6365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 6465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFailProvisionalLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), &userDataToPass, m_client.clientInfo); 6565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 6665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 6765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 6865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didCommitLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 6965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 7065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didCommitLoadForFrame) 7165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 7265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 7365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 7465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didCommitLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 7565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 7665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 7765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 7865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 7965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 8065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFinishDocumentLoadForFrame) 8165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 8265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 8365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 8465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFinishDocumentLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 8565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 8665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 8765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 8865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFinishLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 8965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 9065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFinishLoadForFrame) 9165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 9265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 9365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 9465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFinishLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 9565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 9665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 9765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 9865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame(WebPage* page, WebFrame* frame, const ResourceError& error, RefPtr<APIObject>& userData) 9965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 10065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFailLoadWithErrorForFrame) 10165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 10265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 10365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 10465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFailLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), &userDataToPass, m_client.clientInfo); 10565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 10665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 10765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 10865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame(WebPage* page, WebFrame* frame, SameDocumentNavigationType type, RefPtr<APIObject>& userData) 10965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 11065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didSameDocumentNavigationForFrame) 11165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 11265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 11365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 11465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didSameDocumentNavigationForFrame(toAPI(page), toAPI(frame), toAPI(type), &userDataToPass, m_client.clientInfo); 11565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 11665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 11765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 11865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didReceiveTitleForFrame(WebPage* page, const String& title, WebFrame* frame, RefPtr<APIObject>& userData) 11965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 12065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didReceiveTitleForFrame) 12165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 12265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 12465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didReceiveTitleForFrame(toAPI(page), toAPI(title.impl()), toAPI(frame), &userDataToPass, m_client.clientInfo); 12565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 12665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 12765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFirstLayoutForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 12965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 13065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFirstLayoutForFrame) 13165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 13265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 13465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFirstLayoutForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 13565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 13665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 13765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 13965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 14065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFirstVisuallyNonEmptyLayoutForFrame) 14165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 14265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 14465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFirstVisuallyNonEmptyLayoutForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 14565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 14665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 14765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy(WebPage* page , WebFrame* frame, RefPtr<APIObject>& userData) 14965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 15065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didRemoveFrameFromHierarchy) 15165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 15265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 15465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didRemoveFrameFromHierarchy(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 15565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 15665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 15765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 15965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 16065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didDisplayInsecureContentForFrame) 16165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 16265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 16465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didDisplayInsecureContentForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 16565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 16665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 16765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didRunInsecureContentForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 16965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 17065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didRunInsecureContentForFrame) 17165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 17265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 17465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didRunInsecureContentForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 17565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 17665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 17765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochbool InjectedBundlePageLoaderClient::shouldLoadResourceForFrame(WebPage* page, WebFrame* frame, const String& resourceURL) 17965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 18065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.shouldLoadResourceForFrame) 18165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return true; 18265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return m_client.shouldLoadResourceForFrame(toAPI(page), toAPI(frame), toAPI(resourceURL.impl()), m_client.clientInfo); 18465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 18565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didClearWindowObjectForFrame(WebPage* page, WebFrame* frame, DOMWrapperWorld* world) 18765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 18865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didClearWindowObjectForFrame) 18965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 19065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 19165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didClearWindowObjectForFrame(toAPI(page), toAPI(frame), toAPI(InjectedBundleScriptWorld::getOrCreate(world).get()), m_client.clientInfo); 19265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 19365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 19465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame(WebPage* page, WebFrame* frame) 19565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 19665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didCancelClientRedirectForFrame) 19765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 19865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 19965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didCancelClientRedirectForFrame(toAPI(page), toAPI(frame), m_client.clientInfo); 20065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 20165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame(WebPage* page, WebFrame* frame, const String& url, double delay, double date) 20365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 20465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.willPerformClientRedirectForFrame) 20565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 20665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.willPerformClientRedirectForFrame(toAPI(page), toAPI(frame), toURLRef(url.impl()), delay, date, m_client.clientInfo); 20865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 20965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 21065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame(WebPage* page, WebFrame* frame) 21165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 21265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didHandleOnloadEventsForFrame) 21365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 21465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 21565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didHandleOnloadEventsForFrame(toAPI(page), toAPI(frame), m_client.clientInfo); 21665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 21765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 21865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} // namespace WebKit 219