[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