Bug 112889

Summary: [BlackBerry] Main frame fixed divs not positioned correctly
Product: WebKit Reporter: Arvid Nilsson <anilsson>
Component: WebKit BlackBerryAssignee: Arvid Nilsson <anilsson>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, anilsson, cgarcia, cmarcelo, jamesr, luiz, tonikitoo, webkit.review.bot, xan.lopez
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch none

Description Arvid Nilsson 2013-03-21 02:16:43 PDT
This is a regression from bug #112806. Now main frame fixed handling is entering the iframe code path =/

PR 283363
Comment 1 Arvid Nilsson 2013-03-21 02:24:51 PDT
The problem is that GraphicsLayer::isContainerForFixedPositionLayers() gets set to true for the main frame too, which I didn't anticipate. That makes sense though.
Comment 2 Arvid Nilsson 2013-03-21 02:33:14 PDT
I think the best fix is done in ScrollingCoordinatorBlackBerry.cpp which is not upstream yet, so closing this as invalid.
Comment 3 Arvid Nilsson 2013-03-25 21:34:12 PDT
What do you know, the ScrollingCoordinator was upstreamed the other day!
Comment 4 Arvid Nilsson 2013-03-25 22:00:50 PDT
Created attachment 195000 [details]
Patch
Comment 5 Arvid Nilsson 2013-03-25 22:05:16 PDT
Created attachment 195001 [details]
Patch
Comment 6 Carlos Garcia Campos 2013-03-26 00:55:39 PDT
Comment on attachment 195001 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=195001&action=review

> Source/WebCore/page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:39
> +static GraphicsLayer* scrollLayerForFrame(Frame* frame)

This function is already implemented in the parent class and it's protected, so you can use it here instead of duplicating the code.

> Source/WebCore/page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:63
> +    if (scrollLayerForFrame(m_page->mainFrame()) == layer)

The class in ScrollingCoordinator is scrollLayerForFrameView, so you would need to pass m_page->mainFrame()->view() instead.
Comment 7 Build Bot 2013-03-26 01:37:08 PDT
Comment on attachment 195001 [details]
Patch

Attachment 195001 [details] did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/17306331
Comment 8 Arvid Nilsson 2013-03-26 07:21:50 PDT
Created attachment 195082 [details]
Patch
Comment 9 Arvid Nilsson 2013-03-26 07:54:22 PDT
Comment on attachment 195082 [details]
Patch

Thanks cgarcia!
Comment 10 WebKit Review Bot 2013-03-26 08:23:46 PDT
Comment on attachment 195082 [details]
Patch

Clearing flags on attachment: 195082

Committed r146885: <http://trac.webkit.org/changeset/146885>
Comment 11 WebKit Review Bot 2013-03-26 08:23:51 PDT
All reviewed patches have been landed.  Closing bug.