Title: [136231] trunk
- Revision
- 136231
- Author
- [email protected]
- Date
- 2012-11-30 05:56:54 -0800 (Fri, 30 Nov 2012)
Log Message
[WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
https://bugs.webkit.org/show_bug.cgi?id=103428
Patch by Mikhail Pozdnyakov <[email protected]> on 2012-11-30
Reviewed by Kenneth Rohde Christiansen.
Source/WebKit2:
Set now appropriate fixed visible content rect before layout when viewport
attributes change.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
LayoutTests:
Unskipped corresponding test cases for EFL WK2.
* platform/efl-wk2/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (136230 => 136231)
--- trunk/LayoutTests/ChangeLog 2012-11-30 13:44:58 UTC (rev 136230)
+++ trunk/LayoutTests/ChangeLog 2012-11-30 13:56:54 UTC (rev 136231)
@@ -1,3 +1,14 @@
+2012-11-30 Mikhail Pozdnyakov <[email protected]>
+
+ [WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
+ https://bugs.webkit.org/show_bug.cgi?id=103428
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Unskipped corresponding test cases for EFL WK2.
+
+ * platform/efl-wk2/TestExpectations:
+
2012-11-30 Sudarsana Nagineni <[email protected]>
[EFL] Gardening after r136031 and r136142
Modified: trunk/LayoutTests/platform/efl-wk2/TestExpectations (136230 => 136231)
--- trunk/LayoutTests/platform/efl-wk2/TestExpectations 2012-11-30 13:44:58 UTC (rev 136230)
+++ trunk/LayoutTests/platform/efl-wk2/TestExpectations 2012-11-30 13:56:54 UTC (rev 136231)
@@ -269,10 +269,6 @@
# Page client doesn't react to orientation changes from CSS Viewport rules.
webkit.org/b/103130 css3/device-adapt/opera/orientation-001.xhtml [ Failure ]
-# Issue with viewport width and relative units.
-webkit.org/b/102922 css3/device-adapt/opera/constrain-006.xhtml [ Failure ]
-webkit.org/b/102922 css3/device-adapt/opera/constrain-007.xhtml [ Failure ]
-
# Text input controller needs selectedRange implementation
webkit.org/b/99438 editing/selection/mixed-editability-10.html [ Failure ]
Modified: trunk/Source/WebKit2/ChangeLog (136230 => 136231)
--- trunk/Source/WebKit2/ChangeLog 2012-11-30 13:44:58 UTC (rev 136230)
+++ trunk/Source/WebKit2/ChangeLog 2012-11-30 13:56:54 UTC (rev 136231)
@@ -1,3 +1,19 @@
+2012-11-30 Mikhail Pozdnyakov <[email protected]>
+
+ [WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
+ https://bugs.webkit.org/show_bug.cgi?id=103428
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Set now appropriate fixed visible content rect before layout when viewport
+ attributes change.
+
+ * UIProcess/PageViewportController.cpp:
+ (WebKit::PageViewportController::syncVisibleContents):
+ (WebKit::PageViewportController::didChangeViewportAttributes):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::sendViewportAttributesChanged):
+
2012-11-30 Sudarsana Nagineni <[email protected]>
[EFL] Gardening after r136031 and r136142
Modified: trunk/Source/WebKit2/UIProcess/PageViewportController.cpp (136230 => 136231)
--- trunk/Source/WebKit2/UIProcess/PageViewportController.cpp 2012-11-30 13:44:58 UTC (rev 136230)
+++ trunk/Source/WebKit2/UIProcess/PageViewportController.cpp 2012-11-30 13:56:54 UTC (rev 136231)
@@ -209,7 +209,7 @@
void PageViewportController::syncVisibleContents(const FloatPoint& trajectoryVector)
{
- DrawingAreaProxy* const drawingArea = m_webPageProxy->drawingArea();
+ DrawingAreaProxy* drawingArea = m_webPageProxy->drawingArea();
if (!drawingArea || m_viewportSize.isEmpty() || m_contentsSize.isEmpty())
return;
@@ -234,8 +234,6 @@
if (updateMinimumScaleToFit(true))
m_client->didChangeViewportAttributes();
-
- syncVisibleContents();
}
WebCore::FloatSize PageViewportController::viewportSizeInContentsCoordinates() const
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (136230 => 136231)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-11-30 13:44:58 UTC (rev 136230)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-11-30 13:56:54 UTC (rev 136231)
@@ -1027,8 +1027,21 @@
ViewportAttributes attr = computeViewportAttributes(m_page->viewportArguments(), minimumLayoutFallbackWidth, deviceWidth, deviceHeight, m_page->deviceScaleFactor(), m_viewportSize);
attr.initialScale = m_page->viewportArguments().zoom; // Resets auto (-1) if no value was set by user.
+ // Keep the current position, update size only.
+ // For the new loads position is already reset to (0,0).
+ FrameView* view = m_page->mainFrame()->view();
+ IntPoint contentFixedOrigin = view->fixedVisibleContentRect().location();
+
+ // Put the width and height to the viewport width and height. In css units however.
+ // FIXME: This should be in scaled units but this currently affects viewport attributes calculation.
+ IntSize contentFixedSize = m_viewportSize;
+ contentFixedSize.scale(1 / m_page->deviceScaleFactor());
+
+ setFixedVisibleContentRect(IntRect(contentFixedOrigin, contentFixedSize));
+
// This also takes care of the relayout.
- setFixedLayoutSize(IntSize(static_cast<int>(attr.layoutSize.width()), static_cast<int>(attr.layoutSize.height())));
+ setFixedLayoutSize(roundedIntSize(attr.layoutSize));
+
send(Messages::WebPageProxy::DidChangeViewportProperties(attr));
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes