Closed Bug 1035880 Opened 10 years ago Closed 4 years ago

Subdocument scroller should use native JSON handling

Categories

(Firefox for Android Graveyard :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: wesj, Unassigned)

Details

Attachments

(1 file)

The subdocument scrolling code is very performance sensitive, and should be updated to use the new Native JSON code. In fact, basically everything in the gfx/ package should be using it.
Attached patch PatchSplinter Review
I doubt this will be a huge win (although we do read a boolean on every Gesture:ScrollAck, which fires on every scroll event. This should get us a little time back there...
Attachment #8452376 - Flags: review?(nchen)
Comment on attachment 8452376 [details] [diff] [review] Patch Review of attachment 8452376 [details] [diff] [review]: ----------------------------------------------------------------- Works for me with the following fixes. Thanks! ::: mobile/android/base/gfx/JavaPanZoomController.java @@ +237,1 @@ > try { We should get rid of the try block. I think it's there to catch JSONException. For all other exceptions, we should let them crash for now and properly handle/fix them later. ::: mobile/android/base/gfx/SubdocumentScrollHelper.java @@ +114,5 @@ > > // GeckoEventListener implementation > > @Override > + public void handleMessage(final String event, final NativeJSObject message, EventCallback callback) { You won't be able to use |message| on the UI thread in the Runnable (it'll throw because the JS object is not valid on the UI thread). You can either get a Bundle using message.toBundle(), or preferably just call message.getBoolean("scrolled") outside of the Runnable. @@ +119,5 @@ > // This comes in on the Gecko thread; hand off the handling to the UI thread. > mUiHandler.post(new Runnable() { > @Override > public void run() { > try { We should get rid of this try block too.
Attachment #8452376 - Flags: review?(nchen) → review+
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: