Diff
Modified: trunk/Source/WebKit2/ChangeLog (166261 => 166262)
--- trunk/Source/WebKit2/ChangeLog 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/ChangeLog 2014-03-25 22:34:47 UTC (rev 166262)
@@ -1,3 +1,56 @@
+2014-03-25 Anders Carlsson <ander...@apple.com>
+
+ Add a WebFrame::fromCoreFrame static member function and use it where possible
+ https://bugs.webkit.org/show_bug.cgi?id=130744
+
+ Reviewed by Tim Horton.
+
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::documentFrame):
+ (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
+ (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+ * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
+ (WebKit::InjectedBundleDOMWindowExtension::frame):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::frame):
+ (WebKit::InjectedBundleHitTestResult::targetFrame):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::webPage):
+ (WebKit::PluginView::performFrameLoadURLRequest):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::focusedElementChanged):
+ (WebKit::WebChromeClient::focusedFrameChanged):
+ (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
+ (WebKit::WebChromeClient::runJavaScriptAlert):
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+ (WebKit::WebChromeClient::print):
+ (WebKit::WebChromeClient::exceededDatabaseQuota):
+ (WebKit::WebChromeClient::runOpenPanel):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::textFieldDidBeginEditing):
+ (WebKit::WebEditorClient::textFieldDidEndEditing):
+ (WebKit::WebEditorClient::textDidChangeInTextField):
+ (WebKit::WebEditorClient::textDidChangeInTextArea):
+ (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
+ (WebKit::WebEditorClient::textWillBeDeletedInTextField):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::fromCoreFrame):
+ (WebKit::WebFrame::contentsAsString):
+ (WebKit::WebFrame::parentFrame):
+ (WebKit::WebFrame::childFrames):
+ (WebKit::WebFrame::frameForContext):
+ (WebKit::WebFrame::webArchiveData):
+ * WebProcess/WebPage/WebFrame.h:
+
2014-03-25 Jeffrey Pfau <jp...@apple.com>
[WK2] Schemes registered as cache partitioned are not properly registered in new web processes
Modified: trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -61,8 +61,7 @@
Frame* frame = geolocation->frame();
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
ASSERT(webFrame);
SecurityOrigin* origin = frame->document()->securityOrigin();
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -226,40 +226,37 @@
PassRefPtr<WebFrame> InjectedBundleNodeHandle::documentFrame()
{
if (!m_node->isDocumentNode())
- return 0;
+ return nullptr;
Frame* frame = static_cast<Document*>(m_node.get())->frame();
if (!frame)
- return 0;
+ return nullptr;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ return WebFrame::fromCoreFrame(*frame);
}
PassRefPtr<WebFrame> InjectedBundleNodeHandle::htmlFrameElementContentFrame()
{
if (!m_node->hasTagName(frameTag))
- return 0;
+ return nullptr;
Frame* frame = static_cast<HTMLFrameElement*>(m_node.get())->contentFrame();
if (!frame)
- return 0;
+ return nullptr;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ return WebFrame::fromCoreFrame(*frame);
}
PassRefPtr<WebFrame> InjectedBundleNodeHandle::htmlIFrameElementContentFrame()
{
if (!m_node->hasTagName(iframeTag))
- return 0;
+ return nullptr;
Frame* frame = toHTMLIFrameElement(m_node.get())->contentFrame();
if (!frame)
- return 0;
+ return nullptr;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ return WebFrame::fromCoreFrame(*frame);
}
} // namespace WebKit
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -157,45 +157,33 @@
if (preference == "WebKitTabToLinksPreferenceKey") {
WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::tabsToLinksKey(), enabled);
- for (HashSet<Page*>::iterator i = pages.begin(); i != pages.end(); ++i) {
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient((*i)->mainFrame().loader().client());
- ASSERT(webFrameLoaderClient);
- webFrameLoaderClient->webFrame()->page()->setTabToLinksEnabled(enabled);
- }
+ for (auto* page : pages)
+ WebPage::fromCorePage(page)->setTabToLinksEnabled(enabled);
}
if (preference == "WebKit2AsynchronousPluginInitializationEnabled") {
WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledKey(), enabled);
- for (HashSet<Page*>::iterator i = pages.begin(); i != pages.end(); ++i) {
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient((*i)->mainFrame().loader().client());
- ASSERT(webFrameLoaderClient);
- webFrameLoaderClient->webFrame()->page()->setAsynchronousPluginInitializationEnabled(enabled);
- }
+ for (auto* page : pages)
+ WebPage::fromCorePage(page)->setAsynchronousPluginInitializationEnabled(enabled);
}
if (preference == "WebKit2AsynchronousPluginInitializationEnabledForAllPlugins") {
WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledForAllPluginsKey(), enabled);
- for (HashSet<Page*>::iterator i = pages.begin(); i != pages.end(); ++i) {
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient((*i)->mainFrame().loader().client());
- ASSERT(webFrameLoaderClient);
- webFrameLoaderClient->webFrame()->page()->setAsynchronousPluginInitializationEnabledForAllPlugins(enabled);
- }
+ for (auto* page : pages)
+ WebPage::fromCorePage(page)->setAsynchronousPluginInitializationEnabledForAllPlugins(enabled);
}
if (preference == "WebKit2ArtificialPluginInitializationDelayEnabled") {
WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::artificialPluginInitializationDelayEnabledKey(), enabled);
- for (HashSet<Page*>::iterator i = pages.begin(); i != pages.end(); ++i) {
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient((*i)->mainFrame().loader().client());
- ASSERT(webFrameLoaderClient);
- webFrameLoaderClient->webFrame()->page()->setArtificialPluginInitializationDelayEnabled(enabled);
- }
+ for (auto* page : pages)
+ WebPage::fromCorePage(page)->setArtificialPluginInitializationDelayEnabled(enabled);
}
#if ENABLE(IMAGE_CONTROLS)
if (preference == "WebKitImageControlsEnabled") {
WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::imageControlsEnabledKey(), enabled);
- for (HashSet<Page*>::iterator iter = pages.begin(); iter != pages.end(); ++iter)
- (*iter)->settings().setImageControlsEnabled(enabled);
+ for (auto* page : pages)
+ page->settings().setImageControlsEnabled(enabled);
return;
}
#endif
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -73,8 +73,10 @@
WebFrame* InjectedBundleDOMWindowExtension::frame() const
{
Frame* frame = m_coreExtension->frame();
- WebFrameLoaderClient* webFrameLoaderClient = frame ? toWebFrameLoaderClient(frame->loader().client()) : 0;
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ if (!frame)
+ return nullptr;
+
+ return WebFrame::fromCoreFrame(*frame);
}
InjectedBundleScriptWorld* InjectedBundleDOMWindowExtension::world() const
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -55,24 +55,22 @@
{
Node* node = m_hitTestResult.innerNonSharedNode();
if (!node)
- return 0;
+ return nullptr;
Frame* frame = node->document().frame();
if (!frame)
- return 0;
+ return nullptr;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ return WebFrame::fromCoreFrame(*frame);
}
WebFrame* InjectedBundleHitTestResult::targetFrame() const
{
Frame* frame = m_hitTestResult.targetFrame();
if (!frame)
- return 0;
+ return nullptr;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ return WebFrame::fromCoreFrame(*frame);
}
String InjectedBundleHitTestResult::absoluteImageURL() const
Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -263,11 +263,11 @@
Frame* frame = pluginElement->document().frame();
ASSERT(frame);
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebPage* webPage = webFrameLoaderClient ? webFrameLoaderClient->webFrame()->page() : 0;
- ASSERT(webPage);
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
+ if (!webFrame)
+ return nullptr;
- return webPage;
+ return webFrame->page();
}
PassRefPtr<PluginView> PluginView::create(PassRefPtr<HTMLPlugInElement> pluginElement, PassRefPtr<Plugin> plugin, const Plugin::Parameters& parameters)
@@ -1149,8 +1149,7 @@
// Now ask the frame to load the request.
targetFrame->loader().load(FrameLoadRequest(targetFrame, request->request()));
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(targetFrame->loader().client());
- WebFrame* targetWebFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ auto* targetWebFrame = WebFrame::fromCoreFrame(*targetFrame);
ASSERT(targetWebFrame);
if (WebFrame::LoadListener* loadListener = targetWebFrame->loadListener()) {
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -183,16 +183,14 @@
if (!inputElement->isText())
return;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(element->document().frame()->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
ASSERT(webFrame);
m_page->injectedBundleFormClient().didFocusTextField(m_page, inputElement, webFrame);
}
void WebChromeClient::focusedFrameChanged(Frame* frame)
{
- WebFrameLoaderClient* webFrameLoaderClient = frame ? toWebFrameLoaderClient(frame->loader().client()) : 0;
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = frame ? WebFrame::fromCoreFrame(*frame) : nullptr;
WebProcess::shared().parentProcessConnection()->send(Messages::WebPageProxy::FocusedFrameChanged(webFrame ? webFrame->frameID() : 0), m_page->pageID());
}
@@ -321,9 +319,7 @@
bool WebChromeClient::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
{
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
- ASSERT(webFrame);
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
bool shouldClose = false;
if (!WebProcess::shared().parentProcessConnection()->sendSync(Messages::WebPageProxy::RunBeforeUnloadConfirmPanel(message, webFrame->frameID()), Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::Reply(shouldClose), m_page->pageID()))
@@ -353,8 +349,7 @@
void WebChromeClient::runJavaScriptAlert(Frame* frame, const String& alertText)
{
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
ASSERT(webFrame);
// Notify the bundle client.
@@ -367,8 +362,7 @@
bool WebChromeClient::runJavaScriptConfirm(Frame* frame, const String& message)
{
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
ASSERT(webFrame);
// Notify the bundle client.
@@ -385,8 +379,7 @@
bool WebChromeClient::runJavaScriptPrompt(Frame* frame, const String& message, const String& defaultValue, String& result)
{
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
ASSERT(webFrame);
// Notify the bundle client.
@@ -597,8 +590,7 @@
void WebChromeClient::print(Frame* frame)
{
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
ASSERT(webFrame);
#if PLATFORM(GTK) && defined(HAVE_GTK_UNIX_PRINTING)
@@ -617,8 +609,7 @@
#if ENABLE(SQL_DATABASE)
void WebChromeClient::exceededDatabaseQuota(Frame* frame, const String& databaseName, DatabaseDetails details)
{
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
ASSERT(webFrame);
SecurityOrigin* origin = frame->document()->securityOrigin();
@@ -690,8 +681,7 @@
m_page->setActiveOpenPanelResultListener(WebOpenPanelResultListener::create(m_page, fileChooser.get()));
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
ASSERT(webFrame);
m_page->send(Messages::WebPageProxy::RunOpenPanel(webFrame->frameID(), fileChooser->settings()));
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -28,7 +28,7 @@
#include "EditorState.h"
#include "WebCoreArgumentCoders.h"
-#include "WebFrameLoaderClient.h"
+#include "WebFrame.h"
#include "WebPage.h"
#include "WebPageProxy.h"
#include "WebPageProxyMessages.h"
@@ -296,8 +296,7 @@
if (!isHTMLInputElement(element))
return;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(element->document().frame()->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
ASSERT(webFrame);
m_page->injectedBundleFormClient().textFieldDidBeginEditing(m_page, toHTMLInputElement(element), webFrame);
@@ -308,8 +307,7 @@
if (!isHTMLInputElement(element))
return;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(element->document().frame()->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
ASSERT(webFrame);
m_page->injectedBundleFormClient().textFieldDidEndEditing(m_page, toHTMLInputElement(element), webFrame);
@@ -323,8 +321,7 @@
if (!UserTypingGestureIndicator::processingUserTypingGesture() || UserTypingGestureIndicator::focusedElementAtGestureStart() != element)
return;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(element->document().frame()->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
ASSERT(webFrame);
m_page->injectedBundleFormClient().textDidChangeInTextField(m_page, toHTMLInputElement(element), webFrame);
@@ -335,8 +332,7 @@
if (!isHTMLTextAreaElement(element))
return;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(element->document().frame()->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
ASSERT(webFrame);
m_page->injectedBundleFormClient().textDidChangeInTextArea(m_page, toHTMLTextAreaElement(element), webFrame);
@@ -373,8 +369,7 @@
if (!getActionTypeForKeyEvent(event, actionType))
return false;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(element->document().frame()->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
ASSERT(webFrame);
return m_page->injectedBundleFormClient().shouldPerformActionInTextField(m_page, toHTMLInputElement(element), actionType, webFrame);
@@ -385,8 +380,7 @@
if (!isHTMLInputElement(element))
return;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(element->document().frame()->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
ASSERT(webFrame);
m_page->injectedBundleFormClient().shouldPerformActionInTextField(m_page, toHTMLInputElement(element), WKInputFieldActionTypeInsertDelete, webFrame);
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -728,10 +728,8 @@
break;
case NavigationTypeFormSubmitted:
case NavigationTypeFormResubmitted:
- if (formState) {
- if (WebFrameLoaderClient* originatingFrameLoaderClient = toWebFrameLoaderClient(formState->sourceDocument()->frame()->loader().client()))
- originatingFrame = originatingFrameLoaderClient->webFrame();
- }
+ if (formState)
+ originatingFrame = WebFrame::fromCoreFrame(*formState->sourceDocument()->frame());
break;
case NavigationTypeBackForward:
case NavigationTypeReload:
@@ -782,8 +780,7 @@
RefPtr<FormState> formState = prpFormState;
HTMLFormElement* form = formState->form();
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(formState->sourceDocument()->frame()->loader().client());
- WebFrame* sourceFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* sourceFrame = WebFrame::fromCoreFrame(*formState->sourceDocument()->frame());
ASSERT(sourceFrame);
webPage->injectedBundleFormClient().willSendSubmitEvent(webPage, form, m_frame, sourceFrame, formState->textFieldValues());
@@ -800,8 +797,7 @@
HTMLFormElement* form = formState->form();
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(formState->sourceDocument()->frame()->loader().client());
- WebFrame* sourceFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* sourceFrame = WebFrame::fromCoreFrame(*formState->sourceDocument()->frame());
ASSERT(sourceFrame);
const Vector<std::pair<String, String>>& values = formState->textFieldValues();
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp 2014-03-25 22:34:47 UTC (rev 166262)
@@ -178,6 +178,15 @@
return 0;
}
+WebFrame* WebFrame::fromCoreFrame(Frame& frame)
+{
+ auto* webFrameLoaderClient = toWebFrameLoaderClient(frame.loader().client());
+ if (!webFrameLoaderClient)
+ return nullptr;
+
+ return webFrameLoaderClient->webFrame();
+}
+
void WebFrame::invalidate()
{
WebProcess::shared().removeWebFrame(m_frameID);
@@ -306,8 +315,7 @@
if (!builder.isEmpty())
builder.append(' ');
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(child->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*child);
ASSERT(webFrame);
builder.append(webFrame->contentsAsString());
@@ -409,8 +417,7 @@
if (!m_coreFrame || !m_coreFrame->ownerElement())
return 0;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(m_coreFrame->ownerElement()->document().frame()->loader().client());
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ return WebFrame::fromCoreFrame(*m_coreFrame->ownerElement()->document().frame());
}
PassRefPtr<API::Array> WebFrame::childFrames()
@@ -426,8 +433,7 @@
vector.reserveInitialCapacity(size);
for (Frame* child = m_coreFrame->tree().firstChild(); child; child = child->tree().nextSibling()) {
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(child->loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(*child);
ASSERT(webFrame);
vector.uncheckedAppend(webFrame);
}
@@ -629,10 +635,8 @@
if (strcmp(globalObjectObj->classInfo()->className, "JSDOMWindowShell") != 0)
return 0;
- Frame* coreFrame = static_cast<JSDOMWindowShell*>(globalObjectObj)->window()->impl().frame();
-
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(coreFrame->loader().client());
- return webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ Frame* frame = static_cast<JSDOMWindowShell*>(globalObjectObj)->window()->impl().frame();
+ return WebFrame::fromCoreFrame(*frame);
}
JSValueRef WebFrame::jsWrapperForWorld(InjectedBundleNodeHandle* nodeHandle, InjectedBundleScriptWorld* world)
@@ -741,8 +745,7 @@
if (!callback)
return true;
- WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame.loader().client());
- WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
+ WebFrame* webFrame = WebFrame::fromCoreFrame(frame);
ASSERT(webFrame);
return callback(toAPI(this), toAPI(webFrame), context);
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.h (166261 => 166262)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.h 2014-03-25 22:26:34 UTC (rev 166261)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.h 2014-03-25 22:34:47 UTC (rev 166262)
@@ -68,6 +68,8 @@
void invalidate();
WebPage* page() const;
+
+ static WebFrame* fromCoreFrame(WebCore::Frame&);
WebCore::Frame* coreFrame() const { return m_coreFrame; }
uint64_t frameID() const { return m_frameID; }