InjectedBundlePageLoaderClient.cpp revision 2fc2651226baac27029e38c9d6ef883fa32084db
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 262fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#include "config.h" 2765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundlePageLoaderClient.h" 2865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundleScriptWorld.h" 3065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKAPICast.h" 3165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WKBundleAPICast.h" 3265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WebError.h" 3365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/text/WTFString.h> 3465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochusing namespace WebCore; 3665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace WebKit { 3865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 4065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 4165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didStartProvisionalLoadForFrame) 4265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 4365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 4565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didStartProvisionalLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 4665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 4765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 4865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 5065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 5165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didReceiveServerRedirectForProvisionalLoadForFrame) 5265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 5365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 5465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 5565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didReceiveServerRedirectForProvisionalLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 5665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 5765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 5865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 5965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame(WebPage* page, WebFrame* frame, const ResourceError& error, RefPtr<APIObject>& userData) 6065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 6165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFailProvisionalLoadWithErrorForFrame) 6265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 6365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 6465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 6565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFailProvisionalLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), &userDataToPass, m_client.clientInfo); 6665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 6765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 6865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 6965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didCommitLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 7065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 7165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didCommitLoadForFrame) 7265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 7365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 7465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 7565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didCommitLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 7665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 7765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 7865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 7965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 8065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 8165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFinishDocumentLoadForFrame) 8265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 8365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 8465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 8565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFinishDocumentLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 8665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 8765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 8865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 8965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFinishLoadForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 9065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 9165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFinishLoadForFrame) 9265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 9365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 9465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 9565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFinishLoadForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 9665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 9765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 9865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 9965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame(WebPage* page, WebFrame* frame, const ResourceError& error, RefPtr<APIObject>& userData) 10065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 10165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFailLoadWithErrorForFrame) 10265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 10365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 10465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 10565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFailLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), &userDataToPass, m_client.clientInfo); 10665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 10765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 10865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 10965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame(WebPage* page, WebFrame* frame, SameDocumentNavigationType type, RefPtr<APIObject>& userData) 11065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 11165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didSameDocumentNavigationForFrame) 11265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 11365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 11465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 11565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didSameDocumentNavigationForFrame(toAPI(page), toAPI(frame), toAPI(type), &userDataToPass, m_client.clientInfo); 11665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 11765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 11865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 11965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didReceiveTitleForFrame(WebPage* page, const String& title, WebFrame* frame, RefPtr<APIObject>& userData) 12065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 12165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didReceiveTitleForFrame) 12265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 12365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 12565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didReceiveTitleForFrame(toAPI(page), toAPI(title.impl()), toAPI(frame), &userDataToPass, m_client.clientInfo); 12665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 12765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 12865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFirstLayoutForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 13065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 13165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFirstLayoutForFrame) 13265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 13365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 13565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFirstLayoutForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 13665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 13765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 13865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 14065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 14165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didFirstVisuallyNonEmptyLayoutForFrame) 14265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 14365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 14565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didFirstVisuallyNonEmptyLayoutForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 14665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 14765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 14865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy(WebPage* page , WebFrame* frame, RefPtr<APIObject>& userData) 15065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 15165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didRemoveFrameFromHierarchy) 15265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 15365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 15565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didRemoveFrameFromHierarchy(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 15665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 15765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 15865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 16065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 16165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didDisplayInsecureContentForFrame) 16265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 16365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 16565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didDisplayInsecureContentForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 16665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 16765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 16865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didRunInsecureContentForFrame(WebPage* page, WebFrame* frame, RefPtr<APIObject>& userData) 17065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 17165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didRunInsecureContentForFrame) 17265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 17365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WKTypeRef userDataToPass = 0; 17565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didRunInsecureContentForFrame(toAPI(page), toAPI(frame), &userDataToPass, m_client.clientInfo); 17665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch userData = adoptRef(toImpl(userDataToPass)); 17765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 17865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didClearWindowObjectForFrame(WebPage* page, WebFrame* frame, DOMWrapperWorld* world) 18065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 18165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didClearWindowObjectForFrame) 18265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 18365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didClearWindowObjectForFrame(toAPI(page), toAPI(frame), toAPI(InjectedBundleScriptWorld::getOrCreate(world).get()), m_client.clientInfo); 18565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 18665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame(WebPage* page, WebFrame* frame) 18865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 18965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didCancelClientRedirectForFrame) 19065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 19165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 19265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didCancelClientRedirectForFrame(toAPI(page), toAPI(frame), m_client.clientInfo); 19365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 19465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 19565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame(WebPage* page, WebFrame* frame, const String& url, double delay, double date) 19665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 19765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.willPerformClientRedirectForFrame) 19865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 19965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.willPerformClientRedirectForFrame(toAPI(page), toAPI(frame), toURLRef(url.impl()), delay, date, m_client.clientInfo); 20165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 20265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochvoid InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame(WebPage* page, WebFrame* frame) 20465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch{ 20565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch if (!m_client.didHandleOnloadEventsForFrame) 20665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch return; 20765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch m_client.didHandleOnloadEventsForFrame(toAPI(page), toAPI(frame), m_client.clientInfo); 20965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 21065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 21165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} // namespace WebKit 212