Title: [159444] trunk/Source/WebKit2
Revision
159444
Author
[email protected]
Date
2013-11-18 12:00:11 -0800 (Mon, 18 Nov 2013)

Log Message

Add PageLoadState class
https://bugs.webkit.org/show_bug.cgi?id=124528

Reviewed by Dan Bernstein.

Trying to use the main frame load state as the page load state was a bad idea,
add a new PageLoadState and use it instead. Ultimately the long term plan is to
transition away from FrameLoadState entirely.

* UIProcess/PageLoadState.cpp: Added.
(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::~PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):
* UIProcess/PageLoadState.h: Added.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
* UIProcess/WebPageProxy.h:
* WebKit2.xcodeproj/project.pbxproj:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (159443 => 159444)


--- trunk/Source/WebKit2/ChangeLog	2013-11-18 19:59:42 UTC (rev 159443)
+++ trunk/Source/WebKit2/ChangeLog	2013-11-18 20:00:11 UTC (rev 159444)
@@ -1,3 +1,24 @@
+2013-11-18  Anders Carlsson  <[email protected]>
+
+        Add PageLoadState class
+        https://bugs.webkit.org/show_bug.cgi?id=124528
+
+        Reviewed by Dan Bernstein.
+
+        Trying to use the main frame load state as the page load state was a bad idea,
+        add a new PageLoadState and use it instead. Ultimately the long term plan is to
+        transition away from FrameLoadState entirely.
+
+        * UIProcess/PageLoadState.cpp: Added.
+        (WebKit::PageLoadState::PageLoadState):
+        (WebKit::PageLoadState::~PageLoadState):
+        (WebKit::PageLoadState::didStartProvisionalLoad):
+        * UIProcess/PageLoadState.h: Added.
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+        * UIProcess/WebPageProxy.h:
+        * WebKit2.xcodeproj/project.pbxproj:
+
 2013-11-14  David Farler  <[email protected]>
 
         [ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code

Added: trunk/Source/WebKit2/UIProcess/PageLoadState.cpp (0 => 159444)


--- trunk/Source/WebKit2/UIProcess/PageLoadState.cpp	                        (rev 0)
+++ trunk/Source/WebKit2/UIProcess/PageLoadState.cpp	2013-11-18 20:00:11 UTC (rev 159444)
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2013 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 "PageLoadState.h"
+
+namespace WebKit {
+
+PageLoadState::PageLoadState()
+{
+}
+
+PageLoadState::~PageLoadState()
+{
+}
+
+void PageLoadState::didStartProvisionalLoad(const String& url, const String& unreachableURL)
+{
+    // FIXME: Implement this.
+}
+
+} // namespace WebKit

Added: trunk/Source/WebKit2/UIProcess/PageLoadState.h (0 => 159444)


--- trunk/Source/WebKit2/UIProcess/PageLoadState.h	                        (rev 0)
+++ trunk/Source/WebKit2/UIProcess/PageLoadState.h	2013-11-18 20:00:11 UTC (rev 159444)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2013 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 PageLoadState_h
+#define PageLoadState_h
+
+#include <wtf/text/WTFString.h>
+
+namespace WebKit {
+
+class PageLoadState {
+public:
+    PageLoadState();
+    ~PageLoadState();
+
+    void didStartProvisionalLoad(const String& url, const String& unreachableURL);
+};
+
+} // namespace WebKit
+
+#endif // PageLoadState_h

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (159443 => 159444)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2013-11-18 19:59:42 UTC (rev 159443)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2013-11-18 20:00:11 UTC (rev 159444)
@@ -2145,9 +2145,12 @@
     MESSAGE_CHECK(frame);
     MESSAGE_CHECK_URL(url);
 
+    if (frame->isMainFrame())
+        m_pageLoadState.didStartProvisionalLoad(url, unreachableURL);
+
     frame->setUnreachableURL(unreachableURL);
+    frame->didStartProvisionalLoad(url);
 
-    frame->didStartProvisionalLoad(url);
     m_loaderClient.didStartProvisionalLoadForFrame(this, frame, userData.get());
 }
 

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (159443 => 159444)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2013-11-18 19:59:42 UTC (rev 159443)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2013-11-18 20:00:11 UTC (rev 159444)
@@ -34,6 +34,7 @@
 #include "GeolocationPermissionRequestManagerProxy.h"
 #include "LayerTreeContext.h"
 #include "NotificationPermissionRequestManagerProxy.h"
+#include "PageLoadState.h"
 #include "PlatformProcessIdentifier.h"
 #include "SandboxExtension.h"
 #include "ShareableBitmap.h"
@@ -1180,6 +1181,7 @@
     WebCore::DragSession m_currentDragSession;
 #endif
 
+    PageLoadState m_pageLoadState;
     String m_pendingAPIRequestURL;
 
     bool m_mainFrameHasHorizontalScrollbar;

Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (159443 => 159444)


--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2013-11-18 19:59:42 UTC (rev 159443)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2013-11-18 20:00:11 UTC (rev 159444)
@@ -247,6 +247,8 @@
 		1AC25FC212A48F6000BD2671 /* PluginProcessShim.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AC25F8A12A48E0300BD2671 /* PluginProcessShim.mm */; };
 		1AC4C82916B876A90069DCCD /* MessageFlags.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC4C82816B876A90069DCCD /* MessageFlags.h */; };
 		1AC5FFC2174BFD1B0001483D /* PluginProcessAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC5FFC1174BFD1B0001483D /* PluginProcessAttributes.h */; };
+		1AC7537B183A9FDB0072CB15 /* PageLoadState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC75379183A9FDA0072CB15 /* PageLoadState.cpp */; };
+		1AC7537C183A9FDB0072CB15 /* PageLoadState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC7537A183A9FDB0072CB15 /* PageLoadState.h */; };
 		1AC86FF3130B46D3002C1257 /* WKPluginSiteDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC86FF1130B46D3002C1257 /* WKPluginSiteDataManager.cpp */; };
 		1AC86FF4130B46D3002C1257 /* WKPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */; };
@@ -1729,6 +1731,8 @@
 		1AC25FB012A48EA700BD2671 /* PluginProcessShim.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = PluginProcessShim.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
 		1AC4C82816B876A90069DCCD /* MessageFlags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageFlags.h; sourceTree = "<group>"; };
 		1AC5FFC1174BFD1B0001483D /* PluginProcessAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginProcessAttributes.h; sourceTree = "<group>"; };
+		1AC75379183A9FDA0072CB15 /* PageLoadState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageLoadState.cpp; sourceTree = "<group>"; };
+		1AC7537A183A9FDB0072CB15 /* PageLoadState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageLoadState.h; sourceTree = "<group>"; };
 		1AC86FF1130B46D3002C1257 /* WKPluginSiteDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKPluginSiteDataManager.cpp; sourceTree = "<group>"; };
 		1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPluginSiteDataManager.h; sourceTree = "<group>"; };
 		1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginSiteDataManager.h; sourceTree = "<group>"; };
@@ -4302,6 +4306,8 @@
 				BC06F43912DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp */,
 				BC06F43812DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h */,
 				BC6EDAA5111271C600E7678B /* PageClient.h */,
+				1AC75379183A9FDA0072CB15 /* PageLoadState.cpp */,
+				1AC7537A183A9FDB0072CB15 /* PageLoadState.h */,
 				BC597074116591D000551FCA /* ProcessModel.h */,
 				BC111B08112F5E3C00337BAB /* ResponsivenessTimer.cpp */,
 				1A30066C1110F4F70031937C /* ResponsivenessTimer.h */,
@@ -5858,6 +5864,7 @@
 				BCC5715B115ADAEF001CCAF9 /* WebSystemInterface.h in Headers */,
 				1A594ABB112A1FB6009DE7C7 /* WebUIClient.h in Headers */,
 				BCA0EF7F12331E78007D3CFB /* WebUndoStep.h in Headers */,
+				1AC7537C183A9FDB0072CB15 /* PageLoadState.h in Headers */,
 				BCDB86C11200FB97007254BE /* WebURL.h in Headers */,
 				BCE2315D122C30CA00D5C35A /* WebURLRequest.h in Headers */,
 				BC90A1D2122DD55E00CC8C50 /* WebURLResponse.h in Headers */,
@@ -7305,6 +7312,7 @@
 				BC407605124FF0270068F20A /* WKString.cpp in Sources */,
 				BC407619124FF0370068F20A /* WKStringCF.mm in Sources */,
 				1A4A9AA912B7E796008FE984 /* WKTextInputWindowController.mm in Sources */,
+				1AC7537B183A9FDB0072CB15 /* PageLoadState.cpp in Sources */,
 				BC407607124FF0270068F20A /* WKType.cpp in Sources */,
 				7CD5EBBE1746B04C000C1C45 /* WKTypeRefWrapper.mm in Sources */,
 				BC407609124FF0270068F20A /* WKURL.cpp in Sources */,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to