Closed
Bug 1049109
Opened 11 years ago
Closed 11 years ago
Warning about handing off overscroll across a layer tree boundary is firing
Categories
(Core :: Panning and Zooming, defect)
Tracking
()
RESOLVED
FIXED
mozilla34
People
(Reporter: botond, Assigned: botond)
References
Details
Attachments
(1 file)
|
7.20 KB,
patch
|
kats
:
review+
|
Details | Diff | Splinter Review |
In bug 1031067, we added a warning when scroll is handed off across a layer tree boundary [1], saying that we may need to revise our approach to that bug.
With the rocketbar now in place, that warning is firing, which makes sense since we hand off scroll between the scrollgrabbing div in the parent process and the browser iframe in the child process. Accordingly, we need to revise our approach for bug 1031067.
A possible approach is to replace the calls to ClearOverscroll() at [2] with something like ClearOverscrollForHandoffChain().
[1] http://mxr.mozilla.org/mozilla-central/source/gfx/layers/apz/src/APZCTreeManager.cpp?rev=cf0c9fbd6cb2#850
[2] http://mxr.mozilla.org/mozilla-central/source/gfx/layers/apz/src/AsyncPanZoomController.cpp?rev=217c103a4b75#1325
| Assignee | ||
Comment 1•11 years ago
|
||
This patch adds OverscrollHandoffChain::ClearOverscroll() which clears overscroll along the entire chain, and replaces the call to APZC::ClearOverscroll() in OnScaleEnd() with OverscrollHandoffChain::ClearOverscroll().
Assignee: nobody → botond
Attachment #8476883 -
Flags: review?(bugmail.mozilla)
Comment 2•11 years ago
|
||
Comment on attachment 8476883 [details] [diff] [review]
bug1049109.patch
Review of attachment 8476883 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/apz/src/OverscrollHandoffChain.h
@@ +105,5 @@
> bool CanBePanned(const AsyncPanZoomController* aApzc) const;
> private:
> std::vector<nsRefPtr<AsyncPanZoomController>> mChain;
> +
> + typedef void (AsyncPanZoomController::*APZCMethod)();
Does this generate a compile-time error if the arg to ForEachApzc is not in AsyncPanZoomController? That's amazing! Little dark corners of C++...
Attachment #8476883 -
Flags: review?(bugmail.mozilla) → review+
| Assignee | ||
Comment 3•11 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2)
> ::: gfx/layers/apz/src/OverscrollHandoffChain.h
> @@ +105,5 @@
> > bool CanBePanned(const AsyncPanZoomController* aApzc) const;
> > private:
> > std::vector<nsRefPtr<AsyncPanZoomController>> mChain;
> > +
> > + typedef void (AsyncPanZoomController::*APZCMethod)();
>
> Does this generate a compile-time error if the arg to ForEachApzc is not in
> AsyncPanZoomController? That's amazing! Little dark corners of C++...
It does indeed. (What kind of compiler would let you call a function that's not a method of AsyncPanZoomController, on an AsyncPanZoomController instance!? :))
| Assignee | ||
Comment 4•11 years ago
|
||
| landing | ||
Comment 5•11 years ago
|
||
| backout | ||
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/a808b7283dbc for gtest failures:
https://tbpl.mozilla.org/php/getParsedLog.php?id=46505096&tree=Mozilla-Inbound
Flags: needinfo?(botond)
| Assignee | ||
Comment 6•11 years ago
|
||
(In reply to Wes Kocher (:KWierso) from comment #5)
> Backed out in
> https://hg.mozilla.org/integration/mozilla-inbound/rev/a808b7283dbc for
> gtest failures:
> https://tbpl.mozilla.org/php/getParsedLog.php?id=46505096&tree=Mozilla-
> Inbound
Sorry! I should have run gtests locally before pushing. (Bug 932562 would help a lot in this regard.)
Flags: needinfo?(botond)
| Assignee | ||
Comment 7•11 years ago
|
||
| landing | ||
Fixed tests and relanded:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1f7068f94021
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in
before you can comment on or make changes to this bug.
Description
•