WebKit Bugzilla
Attachment 356452 Details for
Bug 192349
: Device orientation may be wrong on page reload after crash
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192349-20181203202333.patch (text/plain), 4.31 KB, created by
youenn fablet
on 2018-12-03 20:23:34 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
youenn fablet
Created:
2018-12-03 20:23:34 PST
Size:
4.31 KB
patch
obsolete
>Subversion Revision: 238822 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index d71de4a28f679eae397646682031c1a994c7c564..f0223263ce8fcf9639425f1ebb66c2bb7ed09b77 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,24 @@ >+2018-12-03 Youenn Fablet <youenn@apple.com> >+ >+ Device orientation may be wrong on page reload after crash >+ https://bugs.webkit.org/show_bug.cgi?id=192349 >+ <rdar://problem/46359466> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ On page crash, the process is relaunched and the page is reloaded. >+ At that point, the orientation information of the page is not reset until the next device orientation change. >+ To fix that, add the device orientation to the page creation parameters so that we pass it everytime we create a page. >+ Covered by manual testing. >+ >+ * Shared/WebPageCreationParameters.cpp: >+ (WebKit::WebPageCreationParameters::encode const): >+ (WebKit::WebPageCreationParameters::decode): >+ * Shared/WebPageCreationParameters.h: >+ * UIProcess/WebPageProxy.cpp: >+ (WebKit::WebPageProxy::creationParameters): >+ * WebProcess/WebPage/WebPage.cpp: >+ > 2018-12-03 Zalan Bujtas <zalan@apple.com> > > [iOS] Unreviewed build fix. >diff --git a/Source/WebKit/Shared/WebPageCreationParameters.cpp b/Source/WebKit/Shared/WebPageCreationParameters.cpp >index 9419b4c1b43f7c254c105b5fb33c9d9ea129ff8d..3ea064ab0afc050084ad734632bdcaeccf9a9e19 100644 >--- a/Source/WebKit/Shared/WebPageCreationParameters.cpp >+++ b/Source/WebKit/Shared/WebPageCreationParameters.cpp >@@ -90,6 +90,7 @@ void WebPageCreationParameters::encode(IPC::Encoder& encoder) const > encoder << viewportConfigurationLayoutSizeScaleFactor; > encoder << viewportConfigurationViewSize; > encoder << maximumUnobscuredSize; >+ encoder << deviceOrientation; > #endif > #if PLATFORM(COCOA) > encoder << smartInsertDeleteEnabled; >@@ -257,6 +258,8 @@ std::optional<WebPageCreationParameters> WebPageCreationParameters::decode(IPC:: > return std::nullopt; > if (!decoder.decode(parameters.maximumUnobscuredSize)) > return std::nullopt; >+ if (!decoder.decode(parameters.deviceOrientation)) >+ return std::nullopt; > #endif > > #if PLATFORM(COCOA) >diff --git a/Source/WebKit/Shared/WebPageCreationParameters.h b/Source/WebKit/Shared/WebPageCreationParameters.h >index 93c8d0bbc2ac653cb29de8cef26fec1335cfb22f..4f71d4dbd2f2784af623037a99235904a099aa9a 100644 >--- a/Source/WebKit/Shared/WebPageCreationParameters.h >+++ b/Source/WebKit/Shared/WebPageCreationParameters.h >@@ -146,6 +146,7 @@ struct WebPageCreationParameters { > double viewportConfigurationLayoutSizeScaleFactor; > WebCore::FloatSize viewportConfigurationViewSize; > WebCore::FloatSize maximumUnobscuredSize; >+ int32_t deviceOrientation { 0 }; > #endif > #if PLATFORM(COCOA) > bool smartInsertDeleteEnabled; >diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp >index 78a33a8b699cda930141797ba2c15e4f531872d0..bf345d1551efb1ec5bfc5e66a2d935a1683593d6 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.cpp >+++ b/Source/WebKit/UIProcess/WebPageProxy.cpp >@@ -6522,6 +6522,7 @@ WebPageCreationParameters WebPageProxy::creationParameters() > parameters.viewportConfigurationViewLayoutSize = m_viewportConfigurationViewLayoutSize; > parameters.viewportConfigurationLayoutSizeScaleFactor = m_viewportConfigurationLayoutSizeScaleFactor; > parameters.maximumUnobscuredSize = m_maximumUnobscuredSize; >+ parameters.deviceOrientation = m_deviceOrientation; > #endif > > #if PLATFORM(MAC) >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >index 10968cdf79217322e31bf761c8c4e60abc4624ba..ac475152d74bea92cddeba43b82e3cd0ea6cf1f0 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >@@ -388,6 +388,7 @@ WebPage::WebPage(uint64_t pageID, WebPageCreationParameters&& parameters) > , m_screenSize(parameters.screenSize) > , m_availableScreenSize(parameters.availableScreenSize) > , m_overrideScreenSize(parameters.overrideScreenSize) >+ , m_deviceOrientation(parameters.deviceOrientation) > #endif > , m_layerVolatilityTimer(*this, &WebPage::layerVolatilityTimerFired) > , m_activityState(parameters.activityState)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192349
: 356452