Title: [133199] trunk/Source
- Revision
- 133199
- Author
- commit-qu...@webkit.org
- Date
- 2012-11-01 11:37:23 -0700 (Thu, 01 Nov 2012)
Log Message
[BlackBerry] Web page view state should be preserved for pages loaded from page cache
https://bugs.webkit.org/show_bug.cgi?id=100694
Internal PR: 220488
Internally reviewed by Lianghui Chen, Joe Mason
Patch by Michael Matovsky <mmatov...@rim.com> on 2012-11-01
Reviewed by Rob Buis.
The web page view specific metadata should be preserved for web pages loaded from page cache (by using back/forward).
This requires web page view state to be saved in and restored from the corresponding page cache history item.
Source/WebCore:
No new tests for platform specific internal change.
* history/blackberry/HistoryItemViewState.h:
(HistoryItemViewState):
Source/WebKit/blackberry:
* Api/WebPageClient.h:
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (133198 => 133199)
--- trunk/Source/WebCore/ChangeLog 2012-11-01 18:36:32 UTC (rev 133198)
+++ trunk/Source/WebCore/ChangeLog 2012-11-01 18:37:23 UTC (rev 133199)
@@ -1,3 +1,20 @@
+2012-11-01 Michael Matovsky <mmatov...@rim.com>
+
+ [BlackBerry] Web page view state should be preserved for pages loaded from page cache
+ https://bugs.webkit.org/show_bug.cgi?id=100694
+ Internal PR: 220488
+
+ Internally reviewed by Lianghui Chen, Joe Mason
+ Reviewed by Rob Buis.
+
+ The web page view specific metadata should be preserved for web pages loaded from page cache (by using back/forward).
+ This requires web page view state to be saved in and restored from the corresponding page cache history item.
+
+ No new tests for platform specific internal change.
+
+ * history/blackberry/HistoryItemViewState.h:
+ (HistoryItemViewState):
+
2012-11-01 Alec Flett <alecfl...@chromium.org>
IndexedDB: add methods to support id-based backend APIs
Modified: trunk/Source/WebCore/history/blackberry/HistoryItemViewState.h (133198 => 133199)
--- trunk/Source/WebCore/history/blackberry/HistoryItemViewState.h 2012-11-01 18:36:32 UTC (rev 133198)
+++ trunk/Source/WebCore/history/blackberry/HistoryItemViewState.h 2012-11-01 18:37:23 UTC (rev 133199)
@@ -19,6 +19,7 @@
#ifndef HistoryItemViewState_h
#define HistoryItemViewState_h
+#include <BlackBerryPlatformString.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -46,6 +47,7 @@
bool shouldReflowBlock;
bool shouldSaveViewState;
String networkToken;
+ BlackBerry::Platform::String webPageClientState;
};
} // namespace WebCore
Modified: trunk/Source/WebKit/blackberry/Api/WebPageClient.h (133198 => 133199)
--- trunk/Source/WebKit/blackberry/Api/WebPageClient.h 2012-11-01 18:36:32 UTC (rev 133198)
+++ trunk/Source/WebKit/blackberry/Api/WebPageClient.h 2012-11-01 18:37:23 UTC (rev 133199)
@@ -113,6 +113,9 @@
virtual void addMessageToConsole(const unsigned short* message, unsigned messageLength, const unsigned short* source, unsigned sourceLength, unsigned lineNumber) = 0;
virtual int showAlertDialog(AlertType) = 0;
+ virtual BlackBerry::Platform::String serializePageCacheState() const = 0;
+ virtual void deserializePageCacheState(const BlackBerry::Platform::String& state) = 0;
+
virtual void runJavaScriptAlert(const unsigned short* message, unsigned messageLength, const char* origin, unsigned originLength) = 0;
virtual bool runJavaScriptConfirm(const unsigned short* message, unsigned messageLength, const char* origin, unsigned originLength) = 0;
virtual bool runJavaScriptPrompt(const unsigned short* message, unsigned messageLength, const unsigned short* defaultValue, unsigned defaultValueLength, const char* origin, unsigned originLength, BlackBerry::Platform::String& result) = 0;
Modified: trunk/Source/WebKit/blackberry/ChangeLog (133198 => 133199)
--- trunk/Source/WebKit/blackberry/ChangeLog 2012-11-01 18:36:32 UTC (rev 133198)
+++ trunk/Source/WebKit/blackberry/ChangeLog 2012-11-01 18:37:23 UTC (rev 133199)
@@ -1,3 +1,20 @@
+2012-11-01 Michael Matovsky <mmatov...@rim.com>
+
+ [BlackBerry] Web page view state should be preserved for pages loaded from page cache
+ https://bugs.webkit.org/show_bug.cgi?id=100694
+ Internal PR: 220488
+
+ Internally reviewed by Lianghui Chen, Joe Mason
+ Reviewed by Rob Buis.
+
+ The web page view specific metadata should be preserved for web pages loaded from page cache (by using back/forward).
+ This requires web page view state to be saved in and restored from the corresponding page cache history item.
+
+ * Api/WebPageClient.h:
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
+ (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
+
2012-11-01 Leo Yang <leoy...@rim.com>
[BlackBerry] Use clipped background rect in backing store
Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp (133198 => 133199)
--- trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp 2012-11-01 18:36:32 UTC (rev 133198)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp 2012-11-01 18:37:23 UTC (rev 133199)
@@ -1043,6 +1043,7 @@
viewState.minimumScale = m_webPagePrivate->m_minimumScale;
viewState.maximumScale = m_webPagePrivate->m_maximumScale;
viewState.isUserScalable = m_webPagePrivate->m_userScalable;
+ viewState.webPageClientState = m_webPagePrivate->m_client->serializePageCacheState();
}
}
@@ -1060,6 +1061,9 @@
HistoryItemViewState& viewState = currentItem->viewState();
if (!viewState.shouldSaveViewState)
return;
+
+ m_webPagePrivate->m_client->deserializePageCacheState(viewState.webPageClientState);
+
// WebPagePrivate is messing up FrameView::wasScrolledByUser() by sending
// scroll events that look like they were user generated all the time.
//
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes