[Webkit-unassigned] [Bug 42754] New: When tiled backing store is used wrong innerWidth(Height) reported by JavaScript
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jul 21 07:32:08 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=42754
Summary: When tiled backing store is used wrong
innerWidth(Height) reported by JavaScript
Product: WebKit
Version: 528+ (Nightly build)
Platform: PC
OS/Version: Mac OS X 10.5
Status: NEW
Severity: Normal
Priority: P2
Component: New Bugs
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: Michael.Tyutyunik at nokia.com
CC: kenneth at webkit.org
In order to benefit from tiled backing store resizeToContents property is set to true (http://codeposts.blogspot.com/2010/06/qtwebkit-goes-mobile.html). This will make page viewport size (WebCore::FrameView::frameRect() ) the same as contents size.
When JavaScript calls document.window.innerWidth(Height) Webkit returns size of WebCore::FrameView::frameRect() and as result wrong size is returned. Besides that page elements which sizes set relative to viewport (window) size are getting scaled (usually stretched out).
Should we store __actual__ viewport size and when resizeToContents property is set return this size to JS rather than WebCore::FrameView::frameRect()?
I also noticed that in ChromeClientQt::invalidateContentsAndWindow() we are trying to find intersection between updated tiles area and viewport. Updated tiles are passed to the function as windowRect parameter and this rectangle is in document coordinates. Then we have the following line:
rect = rect.intersected(QRect(QPoint(0, 0), m_webPage->viewportSize()));
Here rectangle that we are passing to intersected() is NOT in document coordinates which looks wrong to me. If viewport is not set to content size it may cause page will not be updated properly.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list