[Webkit-unassigned] [Bug 23556] Right-to-left pages should be scrollable to reveal left overflow

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Nov 17 07:36:44 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=23556





--- Comment #57 from Jeremy Moskovich <playmobil at google.com>  2010-11-17 07:36:43 PST ---
The reason that save/restore of the scrollbar position isn't working appears to be that the call to [documentView scrollPoint:] which I added in [WebDynamicScrollBarsView refreshInitialScrollbarPosition] is firing off a notification which runs through the same code path as if the user had moved the scrollbar.

This has 2 undesirable effects:
* Looks like this may dispatch a JS scroll event.
* FrameView::setWasScrolledByUser() is called.

The call to FrameView::setWasScrolledByUser() causes the code in HistoryController::restoreScrollPositionAndViewState() to think that the user has moved the scrollbar manually (view->wasScrolledByUser() returns true) and so doesn't override it with the saved position.

Relevant part of stack trace:
#0    0x101881f0c in WebCore::FrameView::setWasScrolledByUser at FrameView.cpp:2054
#1    0x1018039b5 in WebCore::EventHandler::setFrameWasScrolledByUser at EventHandler.cpp:2767
#2    0x101803a8c in WebCore::EventHandler::sendScrollEvent at EventHandler.cpp:2758
#3    0x101884f39 in WebCore::FrameView::scrollPositionChanged at FrameView.cpp:1262
#4    0x10188503f in WebCore::FrameView::scrollPositionChangedViaPlatformWidget at FrameView.cpp:1257
#5    0x100f7c516 in -[WebHTMLView(WebPrivate) _frameOrBoundsChanged] at WebHTMLView.mm:1208
#6    0x7fff8706f84e in _nsnote_callback
#7    0x7fff832d2a90 in __CFXNotificationPost
#8    0x7fff832bf008 in _CFXNotificationPostNotification
#9    0x7fff870667b8 in -[NSNotificationCenter postNotificationName:object:userInfo:]
#10    0x7fff862e3479 in -[NSView _postBoundsChangeNotification]
#11    0x7fff863f8073 in -[NSView translateOriginToPoint:]
#12    0x7fff863bb07a in -[NSClipView _immediateScrollToPoint:]
#13    0x100f1e9f7 in -[WebClipView _immediateScrollToPoint:] at WebClipView.mm:99
#14    0x7fff863bac05 in -[NSClipView scrollToPoint:]
#15    0x7fff863f7bc6 in -[NSScrollView scrollClipView:toPoint:]
#16    0x7fff86335bbc in -[NSClipView _scrollTo:animate:]
#17    0x7fff863b2af9 in -[NSClipView _scrollPoint:fromView:]
#18    0x7fff863b2a7a in -[NSView scrollPoint:]
#19    0x100f329f6 in -[WebDynamicScrollBarsView refreshInitialScrollbarPosition] at WebDynamicScrollBarsView.mm:171

Does anyone have any suggestions on the proper way to set the initial scrollbar position?  If not, I'll try to add state to FrameView to identify this situation.

-- 
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