Bug 112889 - [BlackBerry] Main frame fixed divs not positioned correctly
Summary: [BlackBerry] Main frame fixed divs not positioned correctly
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit BlackBerry (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Arvid Nilsson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-21 02:16 PDT by Arvid Nilsson
Modified: 2013-03-26 08:23 PDT (History)
9 users (show)

See Also:


Attachments
Patch (3.76 KB, patch)
2013-03-25 22:00 PDT, Arvid Nilsson
no flags Details | Formatted Diff | Diff
Patch (3.59 KB, patch)
2013-03-25 22:05 PDT, Arvid Nilsson
no flags Details | Formatted Diff | Diff
Patch (3.27 KB, patch)
2013-03-26 07:21 PDT, Arvid Nilsson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.