Closed
Bug 860493
(history-swipe)
Opened 12 years ago
Closed 7 years ago
Enable history swipe animations by default using arrow indicators
Categories
(Core :: Widget: Cocoa, defect, P1)
Tracking
()
VERIFIED
FIXED
mozilla62
| Tracking | Status | |
|---|---|---|
| firefox62 | --- | verified |
People
(Reporter: spohl, Assigned: spohl)
References
(Blocks 1 open bug, Regressed 1 open bug, )
Details
(Keywords: feature, Whiteboard: [tpi:+])
Attachments
(7 files, 20 obsolete files)
|
137.12 KB,
image/png
|
Details | |
|
264.92 KB,
image/png
|
Details | |
|
3.82 MB,
image/png
|
Details | |
|
1.80 KB,
patch
|
spohl
:
review+
|
Details | Diff | Splinter Review |
|
32.53 KB,
patch
|
Felipe
:
review+
|
Details | Diff | Splinter Review |
|
491 bytes,
image/svg+xml
|
spohl
:
review+
|
Details |
|
14.65 KB,
patch
|
spohl
:
review+
|
Details | Diff | Splinter Review |
+++ This bug was initially created as a clone of Bug #678392 +++
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3
Steps to reproduce:
By default, history swipe animations (bug 678392) are currently turned off. Enable them once bug 817700 is fixed.
Actual results:
No history swipe animations by default.
Expected results:
History swipe animations by default.
| Assignee | ||
Comment 1•12 years ago
|
||
Assignee: nobody → spohl.mozilla.bugs
Attachment #735992 -
Flags: review?(smichaud)
Comment 2•12 years ago
|
||
Comment on attachment 735992 [details] [diff] [review]
Patch
Fine with me, on the assumption you'll wait to land it until bug 817700 is fixed.
Attachment #735992 -
Flags: review?(smichaud) → review+
| Assignee | ||
Comment 3•12 years ago
|
||
Bug 817700 landed on mozilla-inbound, so requesting checkin for this patch.
Keywords: checkin-needed
| Assignee | ||
Updated•12 years ago
|
Keywords: checkin-needed
Comment 4•12 years ago
|
||
this would be a ff24 note if bug 817700 lands successfully there.
relnote-firefox:
--- → ?
Comment 5•12 years ago
|
||
(In reply to lsblakk@mozilla.com [:lsblakk] from comment #4)
> this would be a ff24 note if bug 817700 lands successfully there.
it's in our relnote db still, but pushed to ff99 until we have a release to attach to.
| Assignee | ||
Comment 6•12 years ago
|
||
| Assignee | ||
Comment 7•12 years ago
|
||
FYI: This feature, its impact on performance etc. has also been discussed in mozilla.dev.platform:
https://groups.google.com/forum/#!topic/mozilla.dev.platform/NOCX_tDfFCA
Comment 8•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
Comment 9•12 years ago
|
||
This caused some regressions in tpaint and in some pageloader tests (Tp5, SVG, SVG Opacity):
https://groups.google.com/d/topic/mozilla.dev.tree-management/4tZ0XGOXq2Y/discussion
https://groups.google.com/d/topic/mozilla.dev.tree-management/OmqHXxwUQs8/discussion
| Assignee | ||
Comment 10•12 years ago
|
||
mconley was kind enough to send me to this graph [1], which is illustrating the performance regressions mentioned in comment 9.
Benoit, I hear that you might be able to help me understand these regressions better. I believe some amount of regression is inevitable for this feature, but it would help if we had a better understanding of the numbers and whether we can tweak any of the code to reduce these regressions. Please let me know how I can help. I hear SPS profiles are handy sometimes. If you don't have time for this, would you be able to point me to someone else?
Also setting n-i for mconley to get more info on how to create comparison profiles.
[1] https://datazilla.mozilla.org/?start=1382259636&stop=1382547348&product=Firefox&repository=Mozilla-Inbound&os=mac&os_version=OS%20X%2010.8&test=tpaint&graph_search=6155ea7e8dea&project=talos
Flags: needinfo?(mconley)
Flags: needinfo?(bgirard)
Comment 11•12 years ago
|
||
On my retina powerbook, I'm not happy with the UX here. I get a blurry screenshot on back and forth, and then it takes about a second to get the actual page to show. It actually feels slow and lagging like this.
| Assignee | ||
Comment 12•12 years ago
|
||
(In reply to Axel Hecht [:Pike] from comment #11)
> On my retina powerbook, I'm not happy with the UX here. I get a blurry
> screenshot on back and forth,
See bug 780362. Note that not having a 'blurry' screenshot would basically quadruple the memory requirements to store the snapshots. This may be a tough sell.
> and then it takes about a second to get the
> actual page to show. It actually feels slow and lagging like this.
This may be worth a bug to track and investigate. Is this true for all websites, or specific ones? How does Safari compare?
Comment 13•12 years ago
|
||
(In reply to Stephen Pohl [:spohl] from comment #12)
> This may be worth a bug to track and investigate.
Bug 930768 was opened for this
Comment 14•12 years ago
|
||
(In reply to Stephen Pohl [:spohl] from comment #12)
> (In reply to Axel Hecht [:Pike] from comment #11)
> > On my retina powerbook, I'm not happy with the UX here. I get a blurry
> > screenshot on back and forth,
>
> See bug 780362. Note that not having a 'blurry' screenshot would basically
> quadruple the memory requirements to store the snapshots. This may be a
> tough sell.
The problem is that it's using the blurry shot even though there's no need. This is pretty disturbing when we used to have bfcache, and even more so when you hit the top and bottom overscroll a bit, at which point the page you're reading suddenly turns blurry for no apparent reason.
> > and then it takes about a second to get the
> > actual page to show. It actually feels slow and lagging like this.
>
> This may be worth a bug to track and investigate. Is this true for all
> websites, or specific ones? How does Safari compare?
This happens for all pages.
Keywords: feature
| Assignee | ||
Comment 15•12 years ago
|
||
Thanks, Axel and José. I'm going to suggest backing this out due to bug 930768. We really shouldn't refresh pages where we haven't previously.
| Assignee | ||
Comment 16•12 years ago
|
||
Backed out for causing bug 930768:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a25982be666c
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 17•12 years ago
|
||
Thanks. In particular given how close we are to merge day, I appreciate the back-out.
I'd suggest that we try to find an implementation of this that relies a lot less on captured images, and keeps the actual web page around in more scenarios.
Comment 18•12 years ago
|
||
(In reply to Stephen Pohl [:spohl] from comment #10)
> Also setting n-i for mconley to get more info on how to create comparison
> profiles.
>
Hey Stephen,
Comparison profiles were a key part of how we fixed the Australis tpaint regression. Basically, we push two patches to try - one in the "ideal" state (m-c), and one in the regressed state (your patch). The patches aren't empty though - they redirect try to run a special version of talos that dumps profiles after the talos run.
Once the try pushes have finished running the tpaint test a few times, we have some scripts that can extract the profiles from the talos logs. We can then create a comparison profile with both profiles to see what is uniquely expensive in the "regressing" patch.
I'll push the patches to try to create the initial comparison profile for you to work off of. It's been a while since I've done one of these for ts_paint / tpaint, so it might take a few tries. I'll let you know when it's done. After that, I'll show you how you can create follow-up comparison profiles as you progress.
Flags: needinfo?(mconley)
It would be great to have some telemetry on the speed of capture.
Flags: needinfo?(spohl.mozilla.bugs)
Attachment #823927 -
Flags: review?(spohl.mozilla.bugs)
| Assignee | ||
Comment 21•12 years ago
|
||
Comment on attachment 823927 [details] [diff] [review]
Telemetry
Review of attachment 823927 [details] [diff] [review]:
-----------------------------------------------------------------
Thank you! Looks good to me!
::: browser/base/content/browser-gestureSupport.js
@@ +946,1 @@
> "canvas");
nit: fix indent
@@ +950,5 @@
> + let ctx = canvas.getContext("2d");
> + let zoom = browser.markupDocumentViewer.fullZoom;
> + ctx.scale(zoom, zoom);
> + ctx.drawWindow(browser.contentWindow, 0, 0, r.width, r.height, "white",
> + ctx.DRAWWINDOW_DO_NOT_FLUSH | ctx.DRAWWINDOW_DRAW_VIEW |
nit: ctx.DRAWWINDOW_DO_NOT_FLUSH should be aligned with browser.contentWindow
Attachment #823927 -
Flags: review?(spohl.mozilla.bugs) → review+
| Assignee | ||
Comment 22•12 years ago
|
||
Fixed indent and updated to apply over the patch in bug 867629, which will land on inbound shortly. Carrying over r+.
Attachment #823927 -
Attachment is obsolete: true
Attachment #825434 -
Flags: review+
Flags: needinfo?(spohl.mozilla.bugs)
| Assignee | ||
Updated•12 years ago
|
Attachment #825434 -
Attachment description: bug860493-telemetry → Telemetry
Comment 23•12 years ago
|
||
history swipe animations are still turned off by default in aurora, so leaving it out for release notes on Fx27
| Assignee | ||
Comment 24•12 years ago
|
||
Since merge day has passed and we're at the beginning of a new cycle I'm considering turning this back on in the next day or so (with added telemetry). We'll continue working through the performance regressions. Please let me know if I shouldn't do that.
(In reply to Axel Hecht [:Pike] [pto: November 4] from comment #17)
> I'd suggest that we try to find an implementation of this that relies a lot
> less on captured images, and keeps the actual web page around in more
> scenarios.
Thanks! Is this to resolve the performance regressions? In terms of memory usage, or responsiveness? I'm definitely open to new and better suggestions, but I think we'd need to understand in what way this would improve performance. FYI: Markus just filed bug 933389, which should make the animations less janky.
| Assignee | ||
Comment 25•12 years ago
|
||
Updated patch to ensure that this remains turned off in release channel until we're sure it should be turned on. Nightly and aurora will allow us to gather feedback and bugs. Asking for another quick review just to be safe.
Attachment #735992 -
Attachment is obsolete: true
Attachment #826798 -
Flags: review?(smichaud)
Comment 26•12 years ago
|
||
Comment on attachment 826798 [details] [diff] [review]
Patch
Sounds like a good idea to me.
Attachment #826798 -
Flags: review?(smichaud) → review+
| Assignee | ||
Comment 27•12 years ago
|
||
Comment 28•12 years ago
|
||
| Assignee | ||
Comment 29•12 years ago
|
||
Comment on attachment 825434 [details] [diff] [review]
Telemetry
This doesn't seem to compile (see comment 28). Yoric, do you know what's going on here?
Attachment #825434 -
Flags: review+ → review-
| Assignee | ||
Updated•12 years ago
|
Flags: needinfo?(dteller)
Comment 30•12 years ago
|
||
Oops. If I remember right, if you want to use the #ifdef [NAME] or #ifndef [NAME] syntax in a JavaScript file, you have to explicitly allow it (in some other special file). Let me see if I can find that file.
(I hadn't noticed that you were trying to use this syntax in a JavaScript file.)
| Assignee | ||
Comment 31•12 years ago
|
||
(In reply to Steven Michaud from comment #30)
> Oops. If I remember right, if you want to use the #ifdef [NAME] or #ifndef
> [NAME] syntax in a JavaScript file, you have to explicitly allow it (in some
> other special file). Let me see if I can find that file.
>
> (I hadn't noticed that you were trying to use this syntax in a JavaScript
> file.)
It's the telemetry patch that caused the bustage, not the patch to enable the feature. The firefox.js file already uses this same #define in other scenarios.
| Assignee | ||
Comment 32•12 years ago
|
||
Landed without telemetry patch for now:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2ea21428f70c
Whiteboard: [leave open]
Comment 33•12 years ago
|
||
(In reply to Stephen Pohl [:spohl] from comment #10)
> mconley was kind enough to send me to this graph [1], which is illustrating
> the performance regressions mentioned in comment 9.
>
> Benoit, I hear that you might be able to help me understand these
> regressions better. I believe some amount of regression is inevitable for
> this feature, but it would help if we had a better understanding of the
> numbers and whether we can tweak any of the code to reduce these
> regressions. Please let me know how I can help. I hear SPS profiles are
> handy sometimes. If you don't have time for this, would you be able to point
> me to someone else?
>
> Also setting n-i for mconley to get more info on how to create comparison
> profiles.
>
> [1]
> https://datazilla.mozilla.org/
> ?start=1382259636&stop=1382547348&product=Firefox&repository=Mozilla-
> Inbound&os=mac&os_version=OS%20X%2010.
> 8&test=tpaint&graph_search=6155ea7e8dea&project=talos
Follow the instructions on this page:
https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler
for OSX now that is has OMTC by default you want to select Multi-thread and enter the thread name: 'GeckoMain,Compositor' and this will additional show the frame times.
Flags: needinfo?(bgirard)
Comment 34•12 years ago
|
||
(Following up comment #30)
You're right, Stephen, that this has nothing to do with the build failures (which as you say were due to the Telemetry patch). But I wanted to follow up on this and find out if my (rather dim) memory is accurate and still true.
It is :-)
For every js/xul file in which you want to use the #ifdef/#indef/#defined syntax, there needs to be a '*' on the left of its entry in its jar.mn file. For example:
https://hg.mozilla.org/mozilla-central/annotate/fadc8a168bbc/browser/base/jar.mn#l111
| Assignee | ||
Comment 35•12 years ago
|
||
(In reply to Steven Michaud from comment #34)
> For every js/xul file in which you want to use the #ifdef/#indef/#defined
> syntax, there needs to be a '*' on the left of its entry in its jar.mn file.
> For example:
Oh, I see. I can't find firefox.js in a jar.mn file though, even though the file uses these #defines throughout...
Comment 36•12 years ago
|
||
Yeah, firefox.js is already being pre-processed - as you mentioned, there are ifdef's all over the place already.
The compile failures you were experiencing in comment 28 have everything to do with the Telemetry probes, and nothing to do with the firefox.js prefs file.
Comment 37•12 years ago
|
||
> I can't find firefox.js in a jar.mn file though
Now that you say this, I can't either. But I suspect that this is because it (and possibly also a small number of other js/xul files) are special-cased to always allow the #ifdef/#ifndef/#defined syntax.
The special-casing (or at least some of it) may take place here (in the [Default Preferences] section of the package-manifest.in file:
https://hg.mozilla.org/mozilla-central/annotate/fadc8a168bbc/browser/installer/package-manifest.in#l604
Comment 38•12 years ago
|
||
We've had multiple methods available to preprocess files (including js files) for ages and as noted by mconley firefox.js is preprocessed. In the case of firefox.js I am fairly certain it is handled by the following
http://mxr.mozilla.org/mozilla-central/source/browser/app/Makefile.in#11
http://mxr.mozilla.org/mozilla-central/source/js/src/config/rules.mk#1168
The PP_TARGETS handles preprocessing (PP stands for preprocessing)
Comment 39•12 years ago
|
||
Stephen:
I've successfully created a comparison profile between m-c with history swipe disabled, and m-c with history swipe disabled for the tpaint test.
All samples within this profile are extracted between measurement markers set with tpaint starts recording time, and when it stops - so these are the most relevant samples, with all of the noise stripped out. It doesn't get more distilled than this.
Here's the profile:
http://tests.themasta.com/cleopatra/?report=1d69898529b24d6c31b9bc4ae8756cc33e94c3b2
How to read this profile:
We sample at a rate of 1 sample per millisecond for both profiles, and then weight the samples from the "before" (m-c with no history swipe) with -1. We then toss the samples from the "after" profile (m-c with history swipe) on top.
The result - in the left-most column of each row in the call tree, you see how many milliseconds something takes *more* in the after profile than in the before.
So what you're looking for is stuff in here with high numbers in the left-most column.
When you select a row, the list on the right lists the most expensive functions in that rows children, in order of most expensive (and therefore most interesting) to least.
For you, something called "_ZL19PtrToNodeMatchEntryP12PLDHashTablePK15PLDHashEntryHdrPKv" is costing more in after than before. That looks like a hashtable lookup.
Looking up the callstack, that looks like its a function called by the garbage collector...so I think you may have triggered a GC during the tpaint, and that's contributing to the regression.
You can also filter by name, and only show Javascript calls. I've done that, and HSA__assignSnapshotToCurrentBrowser() in browser.js is costing a lot in "after" - maybe you can find a way of deferring that until after the first paint.
Anyhow, that's a glance. Ping me in IRC tomorrow if you want more help piecing stuff out of this profile.
Oops, forgot a blocker: bug 860493.
Flags: needinfo?(dteller)
I meant bug 932281.
Comment 43•12 years ago
|
||
FWIW, I disabled it in my local profile again, it's still not really an option on a retina display.
Depends on: 935258
Updated•12 years ago
|
QA Contact: jbecerra
| Assignee | ||
Comment 44•12 years ago
|
||
With bug 932281 landed we should be ready to land the telemetry patch. I'll set the telemetry patch back to r+ and land it once the try run comes back green:
https://tbpl.mozilla.org/?tree=Try&rev=8fb49ffdea69
Comment 45•11 years ago
|
||
I noticed this had relanded for Nightly (comment 40) thanks to the reappearance of the blurry-page problem (comment 11 and following) as soon as I hit the top/bottom overscroll, let alone any history-swipe.
Personally, I think the UX on Retina screens is sufficiently disturbing that we should not consider shipping this in its current form; we really need to come up with a solution that avoids the use of low-res screenshots before letting this feature go to release channels.
| Assignee | ||
Comment 46•11 years ago
|
||
Hmm, based on the number of complaints about the low-res screenshots we might want to land bug 836430 and simply consider this part of the feature. We can keep trying to improve performance and memory consumption as a whole, but hi-res screenshots on retina would simply be a necessary part of the feature.
Comment 47•11 years ago
|
||
I wholeheartedly support this idea.
Comment 48•11 years ago
|
||
I've noticed another problem with navigation. Navigating back (via swipe) to an entry that was added to history via pushState results in a blank page or incorrect screenshot. Also it doesn't seem to always trigger page load so I have a picture on my screen but it's not a real page.
How reproduce:
Go to GitHub. Open any repository and navigate through directory structure of the repository. Try going back and forth through history a few times via swipes.
Nighly 28.0a1 (2013-11-06)
| Assignee | ||
Comment 49•11 years ago
|
||
(In reply to Cheba from comment #48)
> I've noticed another problem with navigation. Navigating back (via swipe) to
> an entry that was added to history via pushState results in a blank page or
> incorrect screenshot.
See bug 881964.
| Assignee | ||
Comment 50•11 years ago
|
||
browser-chrome tests were orange in the previous try run. Fixed this by changing TelemetryStopwatch.stop calls to TelemetryStopwatch.finish. I've also moved the declaration of |canvas| out of the first telemetry try block because it would otherwise be undefined in the second try block.
This is now green on try [1]. Sending to Felipe for a final review.
[1] https://tbpl.mozilla.org/?tree=Try&rev=d1c9e1ef286c
Attachment #825434 -
Attachment is obsolete: true
Attachment #829284 -
Flags: review?(felipc)
Updated•11 years ago
|
Attachment #829284 -
Flags: review?(felipc) → review+
| Assignee | ||
Comment 51•11 years ago
|
||
Telemetry patch landed on inbound:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a8e832099d04
Leaving [leave open] on white board since this feature remains turned off on the release channel.
The telemetry numbers are a bit worrying:
http://telemetry.mozilla.org/#path=nightly/28/FX_GESTURE_TAKE_SNAPSHOT_OF_PAGE
It's 15ms+ (~1 frame) for 50% of samples and it's 56ms+ for 5%. As a reminder, 50ms between two frames is the generally admitted threshold at which people realize that something is janky.
| Assignee | ||
Comment 54•11 years ago
|
||
I'm hopeful that bug 933389 will improve these numbers. David, could you give us a target number that we should aim for?
Depends on: 933389
Flags: needinfo?(dteller)
Redirecting towards vladan.
Flags: needinfo?(dteller) → needinfo?(vdjeric)
Comment 56•11 years ago
|
||
(In reply to Stephen Pohl [:spohl] from comment #54)
> I'm hopeful that bug 933389 will improve these numbers. David, could you
> give us a target number that we should aim for?
I'm replying here instead of David..
In a perfect world, we'd maintain smooth 60fps animations in Firefox on 3-year old Macbooks during snapshotting. But that's probably unrealistic, and we'll need to get a feeling for what looks acceptable, and what kinds of code changes are possible before quantifying goals. I'm waiting for the patch in bug 933389 to be in a testable shape first before doing some experiments myself.
Btw, if I'm understanding correctly, the "pagehide" event will cause us to take a snapshot of the current page + install the snapshot + compress the snapshot all within one JS event? So if we make some hand-wavy assumptions about the 3 FX_GESTURE_* histograms, that would suggest that snapshotting is currently creating a jank of at least 90ms for the slowest 5% of computers, and at least 24ms for the slowest 50% of computers.
Flags: needinfo?(vdjeric)
| Assignee | ||
Updated•11 years ago
|
| Assignee | ||
Updated•11 years ago
|
Comment 58•11 years ago
|
||
Do we have a good pathway to getting to Safari level performance with our current implementation? It seems to me like we need to rethink the way this should be implemented (I believe Jeff is going to file a bug with the details.)
Until that happens, I think we should turn this off for Nightly and Aurora as we're not really getting much benefit out of testing this.
Updated•11 years ago
|
Target Milestone: mozilla27 → ---
Comment 59•11 years ago
|
||
nominate for relnote-firefox when this has at least landed on trunk so we can have it in our sights for a particular release's notes.
relnote-firefox:
? → ---
| Assignee | ||
Comment 60•11 years ago
|
||
Turned off for now by backing out the "Patch" patch. There was no need to back out the telemetry patch:
https://hg.mozilla.org/integration/mozilla-inbound/rev/070043d0e2e1
| Assignee | ||
Comment 61•11 years ago
|
||
(In reply to :Ehsan Akhgari (needinfo? me!) from comment #58)
> Do we have a good pathway to getting to Safari level performance with our
> current implementation?
Bug 933389 has the potential to reduce jank to an insignificant amount.
Comment 62•11 years ago
|
||
(In reply to Stephen Pohl [:spohl] from comment #60)
> Turned off for now by backing out the "Patch" patch. There was no need to
> back out the telemetry patch:
> https://hg.mozilla.org/integration/mozilla-inbound/rev/070043d0e2e1
Merged to m-c.
https://hg.mozilla.org/mozilla-central/rev/070043d0e2e1
Comment 63•11 years ago
|
||
Is the work on this feature still going on in other bugs?
Flags: needinfo?(spohl.mozilla.bugs)
| Assignee | ||
Comment 64•11 years ago
|
||
The list of dependent bugs gives an idea of what still needs to be done, but I think the main bug that needs fixing is bug 933389. Once that bug is fixed, we should reevaluate the performance of the feature and see if it's sufficient to enable the feature by default. Most recently, I've been sidetracked by bug 1046306 and dependent bugs, but I'm hoping to come back to this eventually.
Flags: needinfo?(spohl.mozilla.bugs)
| Assignee | ||
Comment 65•10 years ago
|
||
Briefly spoke with mstange at the work week and he brought up the point that apzc will likely require a different implementation for history swipe animations. I'm unassigning myself from this bug until we have a clearer picture of what needs to be done.
Assignee: spohl.mozilla.bugs → nobody
Comment 66•10 years ago
|
||
Oh man! It would be great if we could come up with a unified gesture for history-swipe on OS X and edge-gesture app swiping on B2G. The way the edge gestures are done in B2G is giving me fits.
It is my understanding that the B2G swiping is currently being redesigned to match the OS X behavior.
Shouldn't we also wait for bug 744100/https://wiki.mozilla.org/User:Roc/ScreenCaptureAPI ?
Comment 69•10 years ago
|
||
I have a proof of concept for APZ-based swiping in bug 1016035.
I'd like to swipe the whole browser element; we'll need the screen capture API (or make do with drawWindow) for the previous / next page snapshots though.
Comment 70•9 years ago
|
||
Is this something the gfx team will eventually tackle?
Flags: needinfo?(bugmail.mozilla)
Updated•9 years ago
|
Whiteboard: [leave open] → [leave open] tpi:?
Comment 71•9 years ago
|
||
It's been on my list of things to tackle "next" for about a year now...
Comment 72•9 years ago
|
||
I guess that means "yes, eventually" :)
Flags: needinfo?(bugmail.mozilla)
Summary: [10.7] Enable history swipe animations by default → Enable history swipe animations by default
Updated•9 years ago
|
Priority: -- → P1
Whiteboard: [leave open] tpi:? → [leave open] tpi:+
Updated•9 years ago
|
Alias: history-swipe
Updated•9 years ago
|
Priority: P1 → P2
Comment 73•9 years ago
|
||
I gather this animation is not enabled due to performance and memory constraints involved in keeping snapshots of all the webpages in the browsing history. However, in the mean time, the history swipe gesture can be confusing as there is no feedback at all. Are there any plans to implement some other kind of feedback as an intermediate step?
In Chrome, there is a little tab, with an arrow on it, that slides in from the side of the window (see http://www.addictivetips.com/mac-os/disable-two-finger-horizontal-swipe-gesture-for-chrome-or-any-os-x-app/). Previous versions displayed a small rectangular overlay that slid across the screen as the gesture was performed (seen in https://www.youtube.com/watch?v=EuvVC6FS9II). Both of these animations give the user important feedback that something is happening, offering an opportunity to cancel. These animations also have little overhead -- I have implemented a similar effect in my Scrolling Gestures extension, which I wrote to implement a similar gesture on non-macOS systems.
It seems like there should be some form of feedback, even if it can't be quite as glossy as Safari for the time being. I expect the lack of feedback leads to many accidental activations, which can be especially confusing for new Mac users.
Comment 74•8 years ago
|
||
History swipe animations don't even work anymore for me - don't know if this is somehow reported or tracked.
Comment 75•8 years ago
|
||
What is the preference?
If it is `apz.overscroll.enabled`, it is buggy for overscroll bouncing:
Rather than translating the page further then coming back, the edge sticks at the window's edge and the page is stretched. Also, it doesn't bounce back automatically. It stays stretched until the page is scrolled back manually.
http://i.imgur.com/1G8bO9t.png
I didn't try history swipes because I don't know exactly what it is...
Comment 76•8 years ago
|
||
(In reply to Stefan Plewako [:stef] from comment #74)
> History swipe animations don't even work anymore for me - don't know if this
> is somehow reported or tracked.
Yes, this bug (which is still open) tracks enabling them.
Comment 77•8 years ago
|
||
(In reply to Pierre-Yves Gérardy from comment #75)
> What is the preference?
What is the preference for what?
> If it is `apz.overscroll.enabled`, it is buggy for overscroll bouncing:
'apz.overscroll.enabled' is not (currently) a supported pref. It was used for the overscroll effect in Firefox OS, and it will eventually be used for an overscroll effect on macOS (tracked by bug 1124108), but it's not currently supported on any platform.
Comment 78•8 years ago
|
||
Thanks for the details, Botond :-)
Updated•8 years ago
|
Comment 79•8 years ago
|
||
The lack of some kind of history swipe animation in Firefox for OS X is really annoying coming from Chrome or Safari. Hopefully this can be accomplished at some point as it really drags down the user experience on a Mac. It's impossible to tell if the gesture wasn't recognized or if the previous page in history is just taking a while to load.
Comment 81•7 years ago
|
||
(In reply to eqtrian+bugzilla from comment #79)
> The lack of some kind of history swipe animation in Firefox for OS X is
> really annoying coming from Chrome or Safari.
Agreed, this functionality is very badly needed.
May I suggest we implement the simpler approach found in Chrome and Chromium for now, in order to finally provide this functionality? The more complicated Safari approach could always be added at some point in the future.
| Assignee | ||
Comment 82•7 years ago
|
||
(In reply to Thomas from comment #81)
> May I suggest we implement the simpler approach found in Chrome and Chromium
> for now, in order to finally provide this functionality? The more
> complicated Safari approach could always be added at some point in the
> future.
This is the current plan.
| Assignee | ||
Comment 83•7 years ago
|
||
Comment 84•7 years ago
|
||
Nice!
IMHO
- the semicircle & arrow could be larger (like Chrome)
- the arrow font should match the Quantum style forward/back arrows in the toolbar.
| Assignee | ||
Comment 85•7 years ago
|
||
| Assignee | ||
Comment 86•7 years ago
|
||
| Assignee | ||
Comment 87•7 years ago
|
||
(In reply to Mark from comment #84)
> Nice!
>
> IMHO
> - the semicircle & arrow could be larger (like Chrome)
> - the arrow font should match the Quantum style forward/back arrows in the
> toolbar.
Thanks for the feedback. You will be happy to hear that the arrows are just placeholders that I whipped up in 2 minutes to test this approach. :-) I'll be requesting proper UX feedback and graphics as soon as try is green.
| Assignee | ||
Comment 88•7 years ago
|
||
Assignee: nobody → spohl.mozilla.bugs
Attachment #826798 -
Attachment is obsolete: true
Attachment #829284 -
Attachment is obsolete: true
Status: REOPENED → ASSIGNED
| Assignee | ||
Comment 89•7 years ago
|
||
| Assignee | ||
Comment 90•7 years ago
|
||
| Assignee | ||
Comment 91•7 years ago
|
||
| Assignee | ||
Comment 92•7 years ago
|
||
The tl;dr of the planned changes here is that we want to provide some kind of visual indicators when a user performs a history swipe to avoid accidental history navigation. The ultimate goal is to mimic the sliding pages from Safari. In the meantime, the idea is to display arrows that become more and more opaque as the user swipes. An arrow should be fully opaque if the swipe would result in a history navigation.
Bram, would you be able to review this approach from a UX perspective and provide the graphics for these arrows? The attached screenshots show the placeholder arrows in action until we have final UI. Arrows are white on top of grey semicircle, with a transparent background (bugzilla makes the background appear white). Thank you!
Flags: needinfo?(bram)
| Assignee | ||
Updated•7 years ago
|
Summary: Enable history swipe animations by default → Enable history swipe animations by default using arrow indicators
| Assignee | ||
Comment 93•7 years ago
|
||
| Assignee | ||
Comment 94•7 years ago
|
||
This patch trims a lot of code related to snapshots and replaces it with arrow indicators. It didn't seem to make sense to keep this code around because we were facing a number of performance issues and the code wasn't compatible with the new arrow indicators. Also, we will want to explore mechanisms to take snapshots without the use of drawWindow, so we would be rewriting a lot of this code anyway.
Once this lands I will go through the list of dependent bugs and prune them of bugs that are no longer applicable due to the removal of snapshots.
There was also the suggestion to keep these arrow indicators behind a pref to allow users to turn them off (not yet implemented in this patch). I'm wondering if it would make sense to disable history swipes entirely with this pref, rather than just the arrow indicators since the problem of accidental history navigation would still exist. Thoughts?
Attachment #8973911 -
Flags: review?(mstange)
Attachment #8973911 -
Flags: review?(felipc)
| Assignee | ||
Comment 95•7 years ago
|
||
Attachment #8973911 -
Attachment is obsolete: true
Attachment #8973911 -
Flags: review?(mstange)
Attachment #8973911 -
Flags: review?(felipc)
Attachment #8973912 -
Flags: review?(mstange)
Attachment #8973912 -
Flags: review?(felipc)
| Assignee | ||
Comment 96•7 years ago
|
||
Comment 97•7 years ago
|
||
(In reply to Stephen A Pohl [:spohl] from comment #92)
> The tl;dr of the planned changes here is that we want to provide some kind
> of visual indicators when a user performs a history swipe to avoid
> accidental history navigation. The ultimate goal is to mimic the sliding
> pages from Safari.
This is a great idea!
> In the meantime, the idea is to display arrows that
> become more and more opaque as the user swipes. An arrow should be fully
> opaque if the swipe would result in a history navigation.
This is also a workable solution. The challenge, I think, will be in making the transparent → opaque transition fades as smoothly as you swipe your trackpad.
Will we be able to test this feature in a Nightly build soon?
> Bram, would you be able to review this approach from a UX perspective and
> provide the graphics for these arrows?
We’ve got a back-arrow and forward-arrow icons ready to use for just this purpose:
https://design.firefox.com/icons/viewer/#back
https://design.firefox.com/icons/viewer/#forward
What about background colour? If we want a dark grey, then grey-60 or grey-70 is a good choice.
Flags: needinfo?(bram)
Comment 98•7 years ago
|
||
Comment 99•7 years ago
|
||
Amy Lee had done some work on our dark theme, so I’m paging her for additional review. She’d be able to advise on whether the visual design choice made on comment 97 & comment 98 is the right one.
Flags: needinfo?(amlee)
Comment 100•7 years ago
|
||
Left arrow with grey-60 background.
Attachment #8973888 -
Attachment is obsolete: true
Comment 101•7 years ago
|
||
Right arrow with grey-60 background.
Attachment #8973889 -
Attachment is obsolete: true
| Assignee | ||
Comment 102•7 years ago
|
||
Comment 103•7 years ago
|
||
(In reply to Bram Pitoyo [:bram] from comment #99)
> Amy Lee had done some work on our dark theme, so I’m paging her for
> additional review. She’d be able to advise on whether the visual design
> choice made on comment 97 & comment 98 is the right one.
Can you provide me a video of how this works (specifically changing from semi transparent to opaque)? Also will these buttons change based on the browser theme? (i.e Default, Dark, Light theme)
My recommendation:
Background: Grey 70
Arrow: Grey 10 80% Opacity
Hover State Background Overlay - Grey 10, 10% Opacity
Pressed State Background Overlay - Grey 10, 20% Opacity
Flags: needinfo?(amlee)
| Assignee | ||
Comment 104•7 years ago
|
||
Updated with new arrows.
Attachment #8973912 -
Attachment is obsolete: true
Attachment #8973912 -
Flags: review?(mstange)
Attachment #8973912 -
Flags: review?(felipc)
Attachment #8974736 -
Flags: review?(mstange)
Attachment #8974736 -
Flags: review?(felipc)
| Assignee | ||
Comment 105•7 years ago
|
||
(In reply to Bram Pitoyo [:bram] from comment #97)
> (In reply to Stephen A Pohl [:spohl] from comment #92)
> > In the meantime, the idea is to display arrows that
> > become more and more opaque as the user swipes. An arrow should be fully
> > opaque if the swipe would result in a history navigation.
>
> This is also a workable solution. The challenge, I think, will be in making
> the transparent → opaque transition fades as smoothly as you swipe your
> trackpad.
>
> Will we be able to test this feature in a Nightly build soon?
I just built the current patch (with the new arrows) on try. If you'd like, you could take the build for a spin:
https://queue.taskcluster.net/v1/task/auMDFKvEQ8KlItgLvYMoXw/runs/0/artifacts/public/build/target.dmg
(In reply to Amy Lee [:amylee] UX from comment #103)
> (In reply to Bram Pitoyo [:bram] from comment #99)
> > Amy Lee had done some work on our dark theme, so I’m paging her for
> > additional review. She’d be able to advise on whether the visual design
> > choice made on comment 97 & comment 98 is the right one.
>
> Can you provide me a video of how this works (specifically changing from
> semi transparent to opaque)?
Do you have a Mac? If so, you could take the build mentioned above for a spin. It might be easiest to get a feel for the feature by trying it yourself (a video wouldn't show how much the fingers swipe across the trackpad).
> Also will these buttons change based on the
> browser theme? (i.e Default, Dark, Light theme)
This wasn't intended. If we decide to do this, I would suggest that we do this in a followup to provide some kind of indicators in the meantime.
> My recommendation:
>
> Background: Grey 70
> Arrow: Grey 10 80% Opacity
>
> Hover State Background Overlay - Grey 10, 10% Opacity
> Pressed State Background Overlay - Grey 10, 20% Opacity
Just to be clear: These aren't buttons. These are just indicators that become more and more opaque as the user swipes across the trackpad (or magic mouse). They are fully opaque when a swipe would result in a history navigation.
Flags: needinfo?(bram)
Flags: needinfo?(amlee)
Comment 106•7 years ago
|
||
Hey there! This looks nice! I haven't fully reviewed it yet, but here are a couple of comments by looking on the patch and testing the try build:
- The main thing that stands out to me is that there's a significant delay from the moment that I release my fingers (touchup) to when the navigation occurs, and that was not the case without this patch.
Just by looking at the code I couldn't tell where this was coming from, but I imagine it's waiting to decide if a swipe is still going on or not.
- It looks like that this code wouldn't need anymore to keep any track of history or do the navigation by itself. Why not make it just about displaying the arrows, and let the previous code handle the actual navigation through browser.gesture.swipe.left etc?
If I understand it correctly, the code is still doing navigation by itself by calling navigateToHistoryIndex(). It looks like a lot more code could be deleted and simplified.
- We're avoiding including new .png files, and are favoring every image to be defined as SVG. So before this lands we should make the arrows to be SVG files (and perhaps it can be only one file, but rotated?)
Comment 107•7 years ago
|
||
Comment on attachment 8974736 [details] [diff] [review]
Patch
(removing review request to await for the answers on the previous comment)
Attachment #8974736 -
Flags: review?(felipc)
Comment 108•7 years ago
|
||
(In reply to Stephen A Pohl [:spohl] from comment #105)
> (In reply to Bram Pitoyo [:bram] from comment #97)
> > (In reply to Stephen A Pohl [:spohl] from comment #92)
> > > In the meantime, the idea is to display arrows that
> > > become more and more opaque as the user swipes. An arrow should be fully
> > > opaque if the swipe would result in a history navigation.
> >
> > This is also a workable solution. The challenge, I think, will be in making
> > the transparent → opaque transition fades as smoothly as you swipe your
> > trackpad.
> >
> > Will we be able to test this feature in a Nightly build soon?
>
> I just built the current patch (with the new arrows) on try. If you'd like,
> you could take the build for a spin:
>
> https://queue.taskcluster.net/v1/task/auMDFKvEQ8KlItgLvYMoXw/runs/0/
> artifacts/public/build/target.dmg
>
>
> (In reply to Amy Lee [:amylee] UX from comment #103)
> > (In reply to Bram Pitoyo [:bram] from comment #99)
> > > Amy Lee had done some work on our dark theme, so I’m paging her for
> > > additional review. She’d be able to advise on whether the visual design
> > > choice made on comment 97 & comment 98 is the right one.
> >
> > Can you provide me a video of how this works (specifically changing from
> > semi transparent to opaque)?
>
> Do you have a Mac? If so, you could take the build mentioned above for a
> spin. It might be easiest to get a feel for the feature by trying it
> yourself (a video wouldn't show how much the fingers swipe across the
> trackpad).
>
> > Also will these buttons change based on the
> > browser theme? (i.e Default, Dark, Light theme)
>
> This wasn't intended. If we decide to do this, I would suggest that we do
> this in a followup to provide some kind of indicators in the meantime.
>
> > My recommendation:
> >
> > Background: Grey 70
> > Arrow: Grey 10 80% Opacity
> >
> > Hover State Background Overlay - Grey 10, 10% Opacity
> > Pressed State Background Overlay - Grey 10, 20% Opacity
>
> Just to be clear: These aren't buttons. These are just indicators that
> become more and more opaque as the user swipes across the trackpad (or magic
> mouse). They are fully opaque when a swipe would result in a history
> navigation.
My Feedback:
- Can there be a soft fade-out when the arrows disappear? Right now it looks a bit abrupt.
- Can you check to see if the arrows are horizontally centered to the half circle background? It looks a bit off.
Thanks
Flags: needinfo?(amlee)
Comment 109•7 years ago
|
||
Thanks for your feedback, Stephen.
I agree with Felipe’s comment about the delay. This feature should move inline with how far you’ve swiped, and respond as soon as you perform the swipe.
Felipe also wrote:
> - We're avoiding including new .png files, and are favoring every image to
> be defined as SVG. So before this lands we should make the arrows to be SVG
> files (and perhaps it can be only one file, but rotated?)
I agree. The arrows used for these indicators were the same as our toolbar Back and Forward button.
Can we use the same asset, in the value that Amy had recommended?
> Background: Grey 70
> Arrow: Grey 10 80% Opacity
> - Can there be a soft fade-out when the arrows disappear? Right now it looks
> a bit abrupt.
Having this fade-out would be good, as well.
If possible, the fade-out effect and duration should mirror the one found when our hamburger menu appear and disappear.
Otherwise, I recommend having the effect as recommended by our design system:
> duration: between 150ms–250ms (let’s try 200ms)
> transition timing function: cubic-bezier(.07,.95,0,1)
As noted here: https://design.firefox.com/photon/motion/duration-and-easing.html
Demo: https://design.firefox.com/photon/motion/duration-and-easing.html
This demo should have the arrow horizontally centered to the background, as well.
Flags: needinfo?(bram)
Comment 110•7 years ago
|
||
Comment on attachment 8974611 [details]
left-arrow@2x.png
No longer required because we’re changing to SVG assets.
Attachment #8974611 -
Attachment is obsolete: true
Updated•7 years ago
|
Attachment #8974612 -
Attachment is obsolete: true
Updated•7 years ago
|
| Assignee | ||
Comment 111•7 years ago
|
||
| Assignee | ||
Comment 112•7 years ago
|
||
(In reply to :Felipe Gomes (needinfo me!) from comment #106)
> Hey there! This looks nice! I haven't fully reviewed it yet, but here are a
> couple of comments by looking on the patch and testing the try build:
>
> - The main thing that stands out to me is that there's a significant delay
> from the moment that I release my fingers (touchup) to when the navigation
> occurs, and that was not the case without this patch.
Fixed.
> Just by looking at the code I couldn't tell where this was coming from, but
> I imagine it's waiting to decide if a swipe is still going on or not.
>
> - It looks like that this code wouldn't need anymore to keep any track of
> history or do the navigation by itself. Why not make it just about
> displaying the arrows, and let the previous code handle the actual
> navigation through browser.gesture.swipe.left etc?
This was for fast swiping using snapshots, i.e. when we didn't want to remove the snapshots and instead swipe the next page snapshot on top of the previous snapshot. We don't need this with arrow indicators and I've removed it.
> If I understand it correctly, the code is still doing navigation by itself
> by calling navigateToHistoryIndex(). It looks like a lot more code could be
> deleted and simplified.
This was for fast swiping as well. I've removed this.
> - We're avoiding including new .png files, and are favoring every image to
> be defined as SVG. So before this lands we should make the arrows to be SVG
> files (and perhaps it can be only one file, but rotated?)
Switched to SVG and rotate transform. Could you review if this is the proper path for this resource? Or is there a better place?
Attachment #8974736 -
Attachment is obsolete: true
Attachment #8974736 -
Flags: review?(mstange)
Attachment #8975400 -
Flags: review?(felipc)
| Assignee | ||
Comment 113•7 years ago
|
||
(In reply to Bram Pitoyo [:bram] from comment #109)
>
> > - Can there be a soft fade-out when the arrows disappear? Right now it looks
> > a bit abrupt.
>
> Having this fade-out would be good, as well.
>
> If possible, the fade-out effect and duration should mirror the one found
> when our hamburger menu appear and disappear.
I have added this fade-out as well.
| Assignee | ||
Comment 114•7 years ago
|
||
One thing that I've noticed in my local builds (and waiting to confirm with the try build in comment 111) is that when content is loading behind the arrow indicators, the arrow indicators flicker when they change opaqueness. It would be great if there was a way to avoid this.
Comment 115•7 years ago
|
||
(In reply to Stephen A Pohl [:spohl] from comment #112)
> > - The main thing that stands out to me is that there's a significant delay
> > from the moment that I release my fingers (touchup) to when the navigation
> > occurs, and that was not the case without this patch.
>
> Fixed.
Great! Can you provide a new try build for us to test?
I haven't fully gone through the patch yet, but it's a nice clean-up. With this big clean-up, I think it's much easier to add a new pref that controls whether these arrows are shown (while still not having to disable the gestures). So might be worth doing it.
(In reply to Stephen A Pohl [:spohl] from comment #114)
> One thing that I've noticed in my local builds (and waiting to confirm with
> the try build in comment 111) is that when content is loading behind the
> arrow indicators, the arrow indicators flicker when they change opaqueness.
> It would be great if there was a way to avoid this.
Weird.. Do you think this is a graphics bug?
| Assignee | ||
Comment 116•7 years ago
|
||
(In reply to :Felipe Gomes (needinfo me!) from comment #115)
> (In reply to Stephen A Pohl [:spohl] from comment #112)
> > > - The main thing that stands out to me is that there's a significant delay
> > > from the moment that I release my fingers (touchup) to when the navigation
> > > occurs, and that was not the case without this patch.
> >
> > Fixed.
>
> Great! Can you provide a new try build for us to test?
The try run is in comment 111. The direct link to the build is:
https://queue.taskcluster.net/v1/task/E_e-D819QSWgkCl5O0EKGA/runs/0/artifacts/public/build/target.dmg
However, there are a lot of try failures. Investigating.
Flags: needinfo?(felipc)
Comment 117•7 years ago
|
||
The Try in comment 116 seems to have broken two finger scrolling on my Mac (can't drag two fingers up or down trackpad to scroll the page). The two finger swipe left & right works a treat though :)
Comment 118•7 years ago
|
||
Yeah, the delay is gone from this build, but it looks like the boxes are covering the entire content area, because I don't see the mouse pointer changing to the hand when I hover over links, for example.
They should probably be invisible (display:none or visibility:collapse) until they are being used, and even then, have pointer-events: none in them so that they are transparent for the mouse hit testing
Flags: needinfo?(felipc)
| Assignee | ||
Comment 119•7 years ago
|
||
Hi Bram, I put the arrow from your codepen example into an SVG. Would you mind taking a look and making sure that this is what we want to display? We rotate this arrow 180deg for the right arrow. Thank you!
Attachment #8975717 -
Flags: review?(bram)
| Assignee | ||
Comment 120•7 years ago
|
||
| Assignee | ||
Comment 121•7 years ago
|
||
(In reply to Mark from comment #117)
> The Try in comment 116 seems to have broken two finger scrolling on my Mac
> (can't drag two fingers up or down trackpad to scroll the page). The two
> finger swipe left & right works a treat though :)
Thanks for reporting! This should be fixed in the try build in comment 120.
(In reply to :Felipe Gomes (needinfo me!) from comment #118)
> Yeah, the delay is gone from this build, but it looks like the boxes are
> covering the entire content area, because I don't see the mouse pointer
> changing to the hand when I hover over links, for example.
This should be fixed in this patch.
> They should probably be invisible (display:none or visibility:collapse)
> until they are being used, and even then, have pointer-events: none in them
> so that they are transparent for the mouse hit testing
Done.
(In reply to :Felipe Gomes (needinfo me!) from comment #115)
> (In reply to Stephen A Pohl [:spohl] from comment #112)
> I haven't fully gone through the patch yet, but it's a nice clean-up. With
> this big clean-up, I think it's much easier to add a new pref that controls
> whether these arrows are shown (while still not having to disable the
> gestures). So might be worth doing it.
I'll go ahead and do this in a separate patch.
> (In reply to Stephen A Pohl [:spohl] from comment #114)
> > One thing that I've noticed in my local builds (and waiting to confirm with
> > the try build in comment 111) is that when content is loading behind the
> > arrow indicators, the arrow indicators flicker when they change opaqueness.
> > It would be great if there was a way to avoid this.
>
> Weird.. Do you think this is a graphics bug?
I've been able to fix this by improving the way I set the fade out transition. I have not observed any flickering anymore. Should be able to confirm with the try build in comment 120 once it completes.
Attachment #8975400 -
Attachment is obsolete: true
Attachment #8975400 -
Flags: review?(felipc)
Attachment #8975719 -
Flags: review?(felipc)
Comment 122•7 years ago
|
||
Comment on attachment 8975717 [details]
Left arrow (SVG)
Looks good to me.
Attachment #8975717 -
Flags: review?(bram) → review+
| Assignee | ||
Comment 123•7 years ago
|
||
New try build with the latest patch:
https://queue.taskcluster.net/v1/task/ZyhbtprvQjG4q4AALCWJQg/runs/0/artifacts/public/build/target.dmg
| Assignee | ||
Comment 124•7 years ago
|
||
This adds a missing semicolon discovered by ES lint.
Attachment #8975719 -
Attachment is obsolete: true
Attachment #8975719 -
Flags: review?(felipc)
Attachment #8976007 -
Flags: review?(felipc)
| Assignee | ||
Comment 125•7 years ago
|
||
This patch removes the old snapshots pref and will start reading browser.history_swipe_animation.disable to check if history swipe animations were disabled. I purposely did not make the pref show by default in about:config as to not clutter it.
Attachment #8976009 -
Flags: review?(felipc)
| Assignee | ||
Comment 126•7 years ago
|
||
This removes tests related to the snapshots swipe animations and adds a minimal test for the new swipe arrows.
Attachment #8976010 -
Flags: review?(felipc)
| Assignee | ||
Comment 127•7 years ago
|
||
The try run in comment 120 is showing a test failure in browser_panelUINotifications_fullscreen_noAutoHideToolbar.js that I'm investigating.
Comment 128•7 years ago
|
||
Comment on attachment 8976007 [details] [diff] [review]
Patch
Review of attachment 8976007 [details] [diff] [review]:
-----------------------------------------------------------------
Hi there! One final thing.. and sorry for not noticing this before.
I imagine that the changes in browser.xul were because now the arrows don't need to be added per-browser, but rather only once.. right?
Even then, I'd prefer if we didn't change the structure in browser.xul, and just re-use the existing stack like the previous code did. I find that the XUL structure is usually sensitive to changes (perf and other regressions), and it's not always possible to easily find all the code related to it (e.g. there might be CSS selectors that don't mention some elements directly but might be affected by a structure change).
I already look at everything else and it looks good otherwise!
Attachment #8976007 -
Flags: review?(felipc) → feedback+
Comment 129•7 years ago
|
||
Comment on attachment 8976009 [details] [diff] [review]
Add pref to disable history swipe animations
Review of attachment 8976009 [details] [diff] [review]:
-----------------------------------------------------------------
I'd be ok with adding this in firefox.js for discoverability
Attachment #8976009 -
Flags: review?(felipc) → review+
Updated•7 years ago
|
Attachment #8976010 -
Flags: review?(felipc) → review+
| Assignee | ||
Comment 130•7 years ago
|
||
(In reply to :Felipe Gomes (needinfo me!) from comment #129)
> Comment on attachment 8976009 [details] [diff] [review]
> Add pref to disable history swipe animations
>
> Review of attachment 8976009 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> I'd be ok with adding this in firefox.js for discoverability
Added to firefox.js. Carrying over r+.
Attachment #8976009 -
Attachment is obsolete: true
Attachment #8976320 -
Flags: review+
| Assignee | ||
Comment 131•7 years ago
|
||
(In reply to :Felipe Gomes (needinfo me!) from comment #128)
> Comment on attachment 8976007 [details] [diff] [review]
> Patch
>
> Review of attachment 8976007 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Hi there! One final thing.. and sorry for not noticing this before.
>
> I imagine that the changes in browser.xul were because now the arrows don't
> need to be added per-browser, but rather only once.. right?
>
> Even then, I'd prefer if we didn't change the structure in browser.xul, and
> just re-use the existing stack like the previous code did. I find that the
> XUL structure is usually sensitive to changes (perf and other regressions),
> and it's not always possible to easily find all the code related to it (e.g.
> there might be CSS selectors that don't mention some elements directly but
> might be affected by a structure change).
Thanks for your reviews! As discussed via IRC, this change appeared to be necessary to allow for the fade-out of the arrows when the swipe completed. However, the most recent changes to the way we initiate the fade-out no longer requires this. Reverting browser.xul to its original form also appears to fix the test failure mentioned in comment 127. I'm going to send all patches to try shortly to confirm.
Attachment #8976007 -
Attachment is obsolete: true
Attachment #8976321 -
Flags: review?(felipc)
| Assignee | ||
Comment 132•7 years ago
|
||
| Assignee | ||
Comment 133•7 years ago
|
||
Just noticed a 1px error in the included SVG. Fixed in this patch.
Attachment #8976321 -
Attachment is obsolete: true
Attachment #8976321 -
Flags: review?(felipc)
Attachment #8976329 -
Flags: review?(felipc)
| Assignee | ||
Comment 134•7 years ago
|
||
Fixed SVG. Carrying over r+.
Attachment #8975717 -
Attachment is obsolete: true
Attachment #8976331 -
Flags: review+
| Assignee | ||
Comment 135•7 years ago
|
||
Forgot to `hg add` the new browser.ini file for the new test, which leads to build failures. Carrying over r+. New try run coming up.
Attachment #8976010 -
Attachment is obsolete: true
Attachment #8976335 -
Flags: review+
| Assignee | ||
Comment 136•7 years ago
|
||
Updated•7 years ago
|
Attachment #8976329 -
Flags: review?(felipc) → review+
| Assignee | ||
Comment 137•7 years ago
|
||
Added .eslintrc.js file to fix ESLint errors on try. Carrying over r+.
Attachment #8976335 -
Attachment is obsolete: true
Attachment #8976347 -
Flags: review+
| Assignee | ||
Comment 138•7 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/5a43d47a768cbfc844eb9fb20c51bff9f840c69c
Bug 860493: Add arrow indicators for history swipes on macOS. r=felipe,bram
https://hg.mozilla.org/integration/mozilla-inbound/rev/59cc6b99727e58e3b214266c45089d945999c285
Bug 860493: Add pref to disable history swipe animations. r=felipe
https://hg.mozilla.org/integration/mozilla-inbound/rev/c95d5c9994e8f625a9c03ee7aea9dade1ea1c42f
Bug 860493: Add test for history swipe arrows. r=felipe
| Assignee | ||
Updated•7 years ago
|
Whiteboard: [leave open] tpi:+ → [tpi:+]
| Assignee | ||
Updated•7 years ago
|
Priority: P2 → P1
Comment 139•7 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/5a43d47a768c
https://hg.mozilla.org/mozilla-central/rev/59cc6b99727e
https://hg.mozilla.org/mozilla-central/rev/c95d5c9994e8
Status: ASSIGNED → RESOLVED
Closed: 12 years ago → 7 years ago
status-firefox62:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Updated•7 years ago
|
QA Contact: jbecerra
Updated•7 years ago
|
Flags: qe-verify+
Comment 140•7 years ago
|
||
I managed to verify the issue on Firefox 62.0b11, under macOS 10.13.3. The animations are correctly displayed.
I only noticed that if the touch-pad is releases before the animation is entirely displayed and perform the gestures in order to go to previous/next page right away, the animation is not displayed, but the page is changed.
Note that if you wait 1 or 2 seconds before trying to change the page, the animation is displayed.
Stephen, can you please tell me if this is expected?
Flags: needinfo?(spohl.mozilla.bugs)
| Assignee | ||
Comment 141•7 years ago
|
||
(In reply to Mihai Boldan, QA [:mboldan] from comment #140)
> I managed to verify the issue on Firefox 62.0b11, under macOS 10.13.3. The
> animations are correctly displayed.
> I only noticed that if the touch-pad is releases before the animation is
> entirely displayed and perform the gestures in order to go to previous/next
> page right away, the animation is not displayed, but the page is changed.
> Note that if you wait 1 or 2 seconds before trying to change the page, the
> animation is displayed.
> Stephen, can you please tell me if this is expected?
Yes, this is bug 1463235. Thanks for verifying!
Flags: needinfo?(spohl.mozilla.bugs)
Comment 142•7 years ago
|
||
Great! Thanks for the reply! Since there is another bug logged for the issue described in comment 140, I'm marking this issue Verified Fixed.
You need to log in
before you can comment on or make changes to this bug.
Description
•