Title: [110076] trunk/Source/WebKit/blackberry
- Revision
- 110076
- Author
- [email protected]
- Date
- 2012-03-07 11:23:44 -0800 (Wed, 07 Mar 2012)
Log Message
[BlackBerry] WebKit rendering problem when show/hide VKB
https://bugs.webkit.org/show_bug.cgi?id=80448
RIM PR: 141727
Patch by Jacky Jiang <[email protected]> on 2012-03-07
Reviewed by Antonio Gomes.
When setting viewport size, layout happens inside
WebPagePrivate::setDefaultLayoutSize(), in this way, the layout is
outside of the code path of "needsLayout" so that the contents are
not rendered into the backing store. This is a regression of r108718,
switch back to do the layout inside the public API
WebPage::setDefaultLayoutSize().
We haven't upstreamed the manual tests directory yet, therefore,
the new manual test case will be upstreamed later.
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
(BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
Modified Paths
Diff
Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (110075 => 110076)
--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp 2012-03-07 19:18:09 UTC (rev 110075)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp 2012-03-07 19:23:44 UTC (rev 110076)
@@ -3378,25 +3378,24 @@
void WebPagePrivate::setDefaultLayoutSize(const IntSize& size)
{
- if (size == m_defaultLayoutSize)
- return;
-
IntSize screenSize = Platform::Graphics::Screen::primaryScreen()->size();
ASSERT(size.width() <= screenSize.width() && size.height() <= screenSize.height());
m_defaultLayoutSize = size.expandedTo(minimumLayoutSize).shrunkTo(screenSize);
-
- bool needsLayout = setViewMode(viewMode());
- if (needsLayout) {
- setNeedsLayout();
- if (!isLoading())
- requestLayoutIfNeeded();
- }
}
void WebPage::setDefaultLayoutSize(int width, int height)
{
IntSize size(width, height);
+ if (size == d->m_defaultLayoutSize)
+ return;
+
d->setDefaultLayoutSize(size);
+ bool needsLayout = d->setViewMode(d->viewMode());
+ if (needsLayout) {
+ d->setNeedsLayout();
+ if (!d->isLoading())
+ d->requestLayoutIfNeeded();
+ }
}
bool WebPage::mouseEvent(const Platform::MouseEvent& mouseEvent, bool* wheelDeltaAccepted)
Modified: trunk/Source/WebKit/blackberry/ChangeLog (110075 => 110076)
--- trunk/Source/WebKit/blackberry/ChangeLog 2012-03-07 19:18:09 UTC (rev 110075)
+++ trunk/Source/WebKit/blackberry/ChangeLog 2012-03-07 19:23:44 UTC (rev 110076)
@@ -1,3 +1,25 @@
+2012-03-07 Jacky Jiang <[email protected]>
+
+ [BlackBerry] WebKit rendering problem when show/hide VKB
+ https://bugs.webkit.org/show_bug.cgi?id=80448
+ RIM PR: 141727
+
+ Reviewed by Antonio Gomes.
+
+ When setting viewport size, layout happens inside
+ WebPagePrivate::setDefaultLayoutSize(), in this way, the layout is
+ outside of the code path of "needsLayout" so that the contents are
+ not rendered into the backing store. This is a regression of r108718,
+ switch back to do the layout inside the public API
+ WebPage::setDefaultLayoutSize().
+
+ We haven't upstreamed the manual tests directory yet, therefore,
+ the new manual test case will be upstreamed later.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
+ (BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
+
2012-03-06 Lianghui Chen <[email protected]>
[BlackBerry] Set correct ResourceRequest target type.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes