Closed Bug 1516413 Opened 6 years ago Closed 5 years ago

RDM mousewheel zooming does not update zoom UI

Categories

(DevTools :: Responsive Design Mode, defect, P1)

66 Branch
defect

Tracking

(firefox-esr68 wontfix, firefox68 wontfix, firefox69 wontfix, firefox71 wontfix, firefox72 wontfix, firefox73 wontfix, firefox74 fixed)

RESOLVED FIXED
Firefox 74
Tracking Status
firefox-esr68 --- wontfix
firefox68 --- wontfix
firefox69 --- wontfix
firefox71 --- wontfix
firefox72 --- wontfix
firefox73 --- wontfix
firefox74 --- fixed

People

(Reporter: mozilla-crowdicity.wadmol, Assigned: bradwerth)

References

(Blocks 2 open bugs, Regressed 1 open bug)

Details

(Keywords: regression, Whiteboard: fission-rdm-mvp [dt-q])

Attachments

(4 files, 5 obsolete files)

Attached video Screencast_12-26-2018_03:41:47 PM.mp4 (obsolete) —
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0 Steps to reproduce: - Open any website - Switch to responsive design mode - Zoom in using CTRL + Mouse wheel - Reset zoom level using CTRL + 0 Actual results: The area inside viewport doesn't reset to original zoom level. Please see the attached screencast Expected results: Viewport zoom level should reset as well
Component: Untriaged → Responsive Design Mode
Product: Firefox → DevTools
Attached video mouse-zoom.mp4
I can confirm the issue. When zooming with a middle mouse wheel while hovering the page, both the page and the RDM UI zoom. However, when pressing ctrl/cmd+0 only the RDM UI resets. The browser treats the page as if it was at 100%, which means that even after closing RDM cmd+0 won't reset the zoom. The uploaded video says the file is corrupt, so I added a new screencast.
Attachment #9033320 - Attachment is obsolete: true
Whiteboard: [dt-q]

This also happens with cmd+scroll on trackpad on mac to zoom.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P2
Blocks: rdm-zoom
See Also: → 1529166

[Tracking Requested - why for this release]:

I have tested it on FF68 (latest nightly), this bug doesn't reproduce in it.

Flags: needinfo?(ashu)

(In reply to amithm7 from comment #4)

I have tested it on FF68 (latest nightly), this bug doesn't reproduce in it.

Please see this and this

Flags: needinfo?(ashu)

(In reply to Ashutosh Sharma from comment #5)

Please see this and this

For FF68, in this video @0:15 it does reset to default zoom scale. Which was what this bug described:

The area inside viewport doesn't reset to original zoom level.

At-least on first zoom-reset, reset is correctly mapped to the webpage; from this i do realize, this bug presents itself after resetting once, then zooming again and trying to reset.

But this issue is present in FF67, even on first zoom-reset.

This is likely fixed in Nightly by the landing of Bug 1541175. Would you please re-test in Nightly and see if the issue is still occurring for you?

Flags: needinfo?(ashu)

(In reply to Brad Werth [:bradwerth] from comment #7)

This is likely fixed in Nightly by the landing of Bug 1541175. Would you please re-test in Nightly and see if the issue is still occurring for you?

I am still getting same thing as shown in this screencast.

Other information you might find useful:

  • Using CTRL + +: Zoom-in the viewport area and not the entire UI
  • Using View > Zoom > Zoom In: Same as CTRL + +
  • Using Mousewheel: Zoom viewport area as well as RDM UI

SRT:

  • Open any website and switch to RDM
  • Use mousewheel to zoom-in or zoom-out
  • Reset zoom using menu or keyboard shortcut
  • Use mouseweheel to reset what you did earlier on
  • Exit RDM (optional)

Zoom reset option doesn't work after that, tried both, menu option and keyboard shortcut.

Flags: needinfo?(ashu)

I can reproduce. The issue is that our platform code in EventStateManager::DoScrollZoom does not use the same pathways as our JavaScript methods for affecting zoom. There is no tunneling of messages -- the code is operating directly on the UI window nsPresContext.

Potential solutions I see:

  1. Annotate the RDM UI document/docshell in some way to indicate that it shouldn't be affected by DoScrollZoom.
  2. Make the zoom setting code in nsDocumentViewer::SetFullZoom somehow use the same pathways as JS.

And of course there may be other solutions.

Whiteboard: [dt-q] → [dt-q][rdm-mvp]
Assignee: nobody → bwerth
Status: NEW → ASSIGNED
Priority: P2 → P1
Whiteboard: [dt-q][rdm-mvp] → [rdm-reserve] [dt-q]
Summary: Issue with zooming and reset webpage when used in responsive design mode → Issue with mousewheel zooming and reset webpage when used in responsive design mode
Whiteboard: [rdm-reserve] [dt-q] → [rdm-mvp] [dt-q]

(In reply to Brad Werth [:bradwerth] from comment #9)

Potential solutions I see:

  1. Annotate the RDM UI document/docshell in some way to indicate that it shouldn't be affected by DoScrollZoom.

The patches starting with attachment 9072041 [details] attempt this approach. They work. The problem is that the zoom UI is not updated correctly, which will require some changes to the events passed from platform to the front-end. I'm struggling with implementing those changes. While working on this, I realized that trying to fix those issues are leading to a solution which looks a lot like...

  1. Make the zoom setting code in nsDocumentViewer::SetFullZoom somehow use the same pathways as JS.

If we have to talk to the front end anyway, just to get the zoom UI updated, we might as well send events that trigger the zoom changes from the front end. I'm trying this approach now, which if successful will lead to an alternate set of patches.

See Also: → 1563441
Summary: Issue with mousewheel zooming and reset webpage when used in responsive design mode → RDM mousewheel zooming does not update zoom UI
Whiteboard: [rdm-mvp] [dt-q] → [rdm-reserve] [dt-q]

I'm moving this up to fission-rdm-mvp because we're getting a lot of sightings. I just closed a duplicate. Time to get this one fixed.

Whiteboard: [rdm-reserve] [dt-q] → [fission-rdm-mvp] [dt-q]
Whiteboard: [fission-rdm-mvp] [dt-q] → fission-rdm-mvp [dt-q]
Attachment #9072041 - Attachment is obsolete: true
Attachment #9072060 - Attachment is obsolete: true
Attachment #9072061 - Attachment is obsolete: true
Attachment #9072062 - Attachment is obsolete: true

This patch changes the zoom behavior to always be routed through the
frontend actors. In the existing code, the ZoomChangeUsingMouseWheel
event is sent as an after-the-fact notification of the zoom being
modified directly. This part of the patch supplements the existing
event with 4 other events that trigger the frontend to do the
+/- 10% math that was removed from ChangeFullZoom and ChangeTextZoom.
The next part of the patch supplies that logic in the frontend actor.

This replaces the handling of the ZoomChangeUsingMouseWheel event with
4 new zoom events that trigger the actual zoom changes. As a side effect,
this allows the mousewheel and zoom in/out key events to have an effect
on Reader and PDFJS views as well.

Depends on D59259

Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/333368f257b3 Part 1: Make EventStateManager zoom delta functions send chrome events instead of acting directly. r=mstange https://hg.mozilla.org/integration/autoland/rev/8eb500f31661 Part 2: Make browser FullZoom act on the new zoom change events. r=mstange

Backed out 2 changesets (Bug 1516413) for valgrind failure

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=linux%2Cx64%2Copt%2Cvalgrind-linux64-valgrind%2Fopt%2C%28v%29&fromchange=5dc4311cac53e7d652bce0447105ff5ecdfec9ef&tochange=72a5b58921c2ca6f017dc0203d228677243430a0&selectedJob=286035241

Backout link: https://hg.mozilla.org/integration/autoland/rev/72a5b58921c2ca6f017dc0203d228677243430a0

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=286035241&repo=autoland&lineNumber=56750

[task 2020-01-22T22:12:21.053Z] 22:12:21 INFO - 1:40.41 --6798-- Reading syms from /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
[task 2020-01-22T22:12:21.053Z] 22:12:21 INFO - 1:40.41 --6798-- Considering /usr/lib/debug/.build-id/a3/dffe16226cd9227df3f0fec258f3e24e8eea22.debug ..
[task 2020-01-22T22:12:21.053Z] 22:12:21 INFO - 1:40.41 --6798-- .. build-id is valid
[task 2020-01-22T22:12:21.831Z] 22:12:21 INFO - 1:41.19
[task 2020-01-22T22:12:21.831Z] 22:12:21 INFO - 1:41.19 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:12:21.831Z] 22:12:21 INFO - 1:41.19
[task 2020-01-22T22:12:21.831Z] 22:12:21 INFO - 1:41.19 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:12:21.927Z] 22:12:21 INFO - 1:41.28
[task 2020-01-22T22:12:21.927Z] 22:12:21 INFO - 1:41.28 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:12:21.927Z] 22:12:21 INFO - 1:41.28
[task 2020-01-22T22:12:21.927Z] 22:12:21 INFO - 1:41.28 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:12:22.256Z] 22:12:22 INFO - 1:41.61 --6798-- Reading syms from /usr/lib/x86_64-linux-gnu/pango/1.8.0/modules/pango-basic-fc.so
[task 2020-01-22T22:12:22.256Z] 22:12:22 INFO - 1:41.61 --6798-- Considering /usr/lib/x86_64-linux-gnu/pango/1.8.0/modules/pango-basic-fc.so ..
[task 2020-01-22T22:12:22.256Z] 22:12:22 INFO - 1:41.61 --6798-- .. CRC mismatch (computed f0fd497a wanted a27a958b)
[task 2020-01-22T22:12:22.256Z] 22:12:22 INFO - 1:41.61 --6798-- Considering /usr/lib/debug/usr/lib/x86_64-linux-gnu/pango/1.8.0/modules/pango-basic-fc.so ..
[task 2020-01-22T22:12:22.256Z] 22:12:22 INFO - 1:41.61 --6798-- .. CRC is valid
[task 2020-01-22T22:12:22.986Z] 22:12:22 INFO - 1:42.34
[task 2020-01-22T22:12:22.986Z] 22:12:22 INFO - 1:42.34 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:12:22.986Z] 22:12:22 INFO - 1:42.34
[task 2020-01-22T22:12:22.986Z] 22:12:22 INFO - 1:42.34 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:12:23.483Z] 22:12:23 INFO - 1:42.84
[task 2020-01-22T22:12:23.483Z] 22:12:23 INFO - 1:42.84 (firefox:6798): GLib-GObject-WARNING **: g_object_get_valist: object class 'GtkSettings' has no property named 'gtk-decoration-layout'
[task 2020-01-22T22:12:24.884Z] 22:12:24 INFO - 1:44.23 ==6798== Warning: set address range perms: large range [0x59e93000, 0x459e93000) (noaccess)
[task 2020-01-22T22:13:24.997Z] 22:13:24 INFO - 2:44.35 ==6798== Warning: set address range perms: large range [0x59e93000, 0x459e93000) (noaccess)
[task 2020-01-22T22:14:27.729Z] 22:14:27 INFO - 3:47.09 --6798-- memcheck GC: 47270 nodes, 7607 survivors (16.1%)
[task 2020-01-22T22:14:27.729Z] 22:14:27 INFO - 3:47.09 --6798-- memcheck GC: 47979 new table size (driftup)
[task 2020-01-22T22:14:33.596Z] 22:14:33 INFO - 3:52.95 --6798-- memcheck GC: 47979 nodes, 10897 survivors (22.7%)
[task 2020-01-22T22:14:33.596Z] 22:14:33 INFO - 3:52.95 --6798-- memcheck GC: 48698 new table size (driftup)
[task 2020-01-22T22:14:34.795Z] 22:14:34 INFO - 3:54.15 --6798-- memcheck GC: 48698 nodes, 36901 survivors (75.8%)
[task 2020-01-22T22:14:34.795Z] 22:14:34 INFO - 3:54.15 --6798-- memcheck GC: 68869 new table size (stepup)
[task 2020-01-22T22:14:37.250Z] 22:14:37 INFO - 3:56.61 --6798-- memcheck GC: 68869 nodes, 25456 survivors (37.0%)
[task 2020-01-22T22:14:37.251Z] 22:14:37 INFO - 3:56.61 --6798-- memcheck GC: 69902 new table size (driftup)
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.314Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.315Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.315Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.315Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.315Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:50.315Z] 22:14:50 INFO - 4:09.67
[task 2020-01-22T22:14:50.315Z] 22:14:50 INFO - 4:09.67 (firefox:6798): GLib-GObject-CRITICAL **: g_object_unref: assertion 'object->ref_count > 0' failed
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 TEST-UNEXPECTED-FAIL | valgrind-test | Conditional jump or move depends on uninitialised value(s) at mozilla::ScrollFrameHelper::ReflowFinished / mozilla::PresShell::HandlePostedReflowCallbacks / mozilla::PresShell::DidDoReflow / mozilla::PresShell::ProcessReflowCommands
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 ==6798== Conditional jump or move depends on uninitialised value(s)
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 ==6798== at 0x1244FF29: mozilla::ScrollFrameHelper::ReflowFinished()+73 (layout/generic/nsGfxScrollFrame.cpp:5860)
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 ==6798== by 0x1233D3E1: mozilla::PresShell::HandlePostedReflowCallbacks(bool)+177 (layout/base/PresShell.cpp:3852)
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 ==6798== by 0x12337975: mozilla::PresShell::DidDoReflow(bool)+21 (layout/base/PresShell.cpp:9036)
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 ==6798== by 0x1233EC29: mozilla::PresShell::ProcessReflowCommands(bool)+761 (layout/base/PresShell.cpp:9428)
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 ==6798== by 0x1233E21E: mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush)+3230 (layout/base/PresShell.cpp:4115)
[task 2020-01-22T22:14:51.486Z] 22:14:51 INFO - 4:10.84 ==6798== by 0x12380F7B: FlushPendingNotifications (dist/include/mozilla/PresShell.h:1443)
...
[task 2020-01-22T22:36:58.669Z] 22:36:58 INFO - 26:18.03 --6798-- Archiving syms at 0x25084000-0x250870b8 in /lib/x86_64-linux-gnu/libnss_dns-2.13.so (have_dinfo 1)
[task 2020-01-22T22:36:58.669Z] 22:36:58 INFO - 26:18.03 --6798-- Scanning and archiving ExeContexts ...
[task 2020-01-22T22:36:59.487Z] 22:36:59 INFO - 26:18.85 --6798-- Scanned 5,200,180 ExeContexts, archived 68 ExeContexts
[task 2020-01-22T22:36:59.490Z] 22:36:59 INFO - 26:18.85 ==6798==
[task 2020-01-22T22:36:59.490Z] 22:36:59 INFO - 26:18.85 ==6798== HEAP SUMMARY:
[task 2020-01-22T22:36:59.490Z] 22:36:59 INFO - 26:18.85 ==6798== in use at exit: 1,833,347 bytes in 13,876 blocks
[task 2020-01-22T22:36:59.490Z] 22:36:59 INFO - 26:18.85 ==6798== total heap usage: 3,967,223 allocs, 3,953,347 frees, 2,704,907,242 bytes allocated
[task 2020-01-22T22:36:59.490Z] 22:36:59 INFO - 26:18.85 ==6798==
[task 2020-01-22T22:36:59.497Z] 22:36:59 INFO - 26:18.86 ==6798== Searching for pointers to 13,163 not-freed blocks
[task 2020-01-22T22:36:59.533Z] 22:36:59 INFO - 26:18.89 ==6798== Checked 15,067,424 bytes
[task 2020-01-22T22:36:59.533Z] 22:36:59 INFO - 26:18.89 ==6798==
[task 2020-01-22T22:37:00.222Z] 22:37:00 INFO - 26:19.58 ==6798== LEAK SUMMARY:
[task 2020-01-22T22:37:00.222Z] 22:37:00 INFO - 26:19.58 ==6798== definitely lost: 0 bytes in 0 blocks
[task 2020-01-22T22:37:00.222Z] 22:37:00 INFO - 26:19.58 ==6798== indirectly lost: 11,392 bytes in 354 blocks
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== possibly lost: 41,474 bytes in 337 blocks
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== still reachable: 1,596,138 bytes in 12,401 blocks
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== of which reachable via heuristic:
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== length64 : 7,080 bytes in 108 blocks
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== newarray : 2,128 bytes in 53 blocks
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== multipleinheritance: 7,840 bytes in 1 blocks
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== suppressed: 79,791 bytes in 71 blocks
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== Reachable blocks (those to which a pointer was found) are not shown.
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== To see them, rerun with: --leak-check=full --show-leak-kinds=all
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798==
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== ERROR SUMMARY: 587 errors from 330 contexts (suppressed: 63 from 39)
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798==
[task 2020-01-22T22:37:00.224Z] 22:37:00 INFO - 26:19.58 ==6798== 258 errors in context 1 of 330:
[task 2020-01-22T22:37:00.231Z] 22:37:00 INFO - 26:19.59 TEST-UNEXPECTED-FAIL | valgrind-test | Conditional jump or move depends on uninitialised value(s) at mozilla::ScrollFrameHelper::ReflowFinished / mozilla::PresShell::HandlePostedReflowCallbacks / mozilla::PresShell::DidDoReflow / mozilla::PresShell::ProcessReflowCommands
[task 2020-01-22T22:37:00.231Z] 22:37:00 INFO - 26:19.59 ==6798== Conditional jump or move depends on uninitialised value(s)
[task 2020-01-22T22:37:00.232Z] 22:37:00 INFO - 26:19.59 ==6798== at 0x1244FF29: mozilla::ScrollFrameHelper::ReflowFinished()+73 (layout/generic/nsGfxScrollFrame.cpp:5860)
[task 2020-01-22T22:37:00.232Z] 22:37:00 INFO - 26:19.59 ==6798== by 0x1233D3E1: mozilla::PresShell::HandlePostedReflowCallbacks(bool)+177 (layout/base/PresShell.cpp:3852)
[task 2020-01-22T22:37:00.232Z] 22:37:00 INFO - 26:19.59 ==6798== by 0x12337975: mozilla::PresShell::DidDoReflow(bool)+21 (layout/base/PresShell.cpp:9036)
....

Flags: needinfo?(bwerth)

Whoops, botched my merge and I combined another change with this one. I'll fix and attempt a re-land.

Flags: needinfo?(bwerth)
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a8d9460cdbd6 Part 1: Make EventStateManager zoom delta functions send chrome events instead of acting directly. r=mstange https://hg.mozilla.org/integration/autoland/rev/0647ffc0cc6f Part 2: Make browser FullZoom act on the new zoom change events. r=mstange
Backout by aciure@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5b13c8484c81 Backed out 2 changesets for causing browser_viewport_zoom_resolution_invariant.js to perma fail CLOSED TREE

While addressing the failure of test_wheel_zoom_on_form_controls.html, I found that file:// URLs are now not able to mousewheel-zoom when first loaded. This is a regression. I'm going to find the regression and determine if it should be fixed as part of this bug, or become a new bug that blocks this bug.

Ugh, mozregression can't bisect this very far. Something in this pushlog is the source of the regression: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f870bccd07eeedcde5f5e0ee290d6b2158934105&tochange=8e1b11b00157269f1f781753efc241e005efeaf1

(In reply to Brad Werth [:bradwerth] from comment #28)

While addressing the failure of test_wheel_zoom_on_form_controls.html, I found that file:// URLs are now not able to mousewheel-zoom when first loaded. This is a regression. I'm going to find the regression and determine if it should be fixed as part of this bug, or become a new bug that blocks this bug.

Manual bisection is pointing to Bug 1596317 as being the source of this regression. I'll open a new bug and make it blocker.

Flags: needinfo?(bwerth)
Depends on: 1611561

(In reply to Brad Werth [:bradwerth] from comment #30)

(In reply to Brad Werth [:bradwerth] from comment #28)

While addressing the failure of test_wheel_zoom_on_form_controls.html, I found that file:// URLs are now not able to mousewheel-zoom when first loaded. This is a regression. I'm going to find the regression and determine if it should be fixed as part of this bug, or become a new bug that blocks this bug.

Manual bisection is pointing to Bug 1596317 as being the source of this regression. I'll open a new bug and make it blocker.

Which changeset was the culprit?

(In reply to Hiroyuki Ikezoe (:hiro) from comment #31)

Which changeset was the culprit?

I'll continue with the manual bisection and see if I can isolate it further, and post it in the blocker bug. I wasn't sure that each changeset was independently compilable.

Update: https://hg.mozilla.org/mozilla-central/rev/0703637be2acb26954dab524c5b957e4b5189b50 is the changeset that causes the regression.

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression

Now that the zoom behavior involves more event round-trips, this test should
wait on the outcome of the input, instead of on the triggering event itself.
The way that SimpleTest.promiseWaitForCondition works, if the condition is
not reached quickly, instead of timing out, the test continues and the
following isnot check will fail.

Depends on D59260

Did you check if other browsers have asynchronous default handling for the ctrl+wheel?

(In reply to Olli Pettay [:smaug] from comment #35)

Did you check if other browsers have asynchronous default handling for the ctrl+wheel?

No, I haven't, and I'm not certain how to test for that. Can you suggest a method?

Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f43efc0c67bd Part 1: Make EventStateManager zoom delta functions send chrome events instead of acting directly. r=mstange https://hg.mozilla.org/integration/autoland/rev/41e64804283a Part 2: Make browser FullZoom act on the new zoom change events. r=mstange https://hg.mozilla.org/integration/autoland/rev/0a997b81370d Part 3: Update a zoom test to wait on the outcome, not the trigger. r=smaug
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 74
Regressions: 1523853
Regressions: 1612604
Regressions: 1634556
No longer regressions: 1634556
Regressions: 1634556
Regressions: 1655244
Regressions: 1880137
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: