|
|
Chromium Code Reviews|
Created:
4 years, 8 months ago by lanwei Modified:
4 years, 7 months ago CC:
chromium-reviews, dtapuska+blinkwatch_chromium.org, sof, eae+blinkwatch, blink-reviews-dom_chromium.org, dglazkov+blink, asvitkine+watch_chromium.org, blink-reviews, rwlbuis Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionAdd UMA metric for tracking listeners for blocking touch before page finished loading
In the touch scrolling intervention proposal, rbyers@ proposed that we could treat
all touch event listeners as passive until the load event fires. We are adding metrics
that record when touchstart or first touchmove events are successfully preventDefaulted()
before the load event to measure breakage of event handlers.
BUG=601179
Committed: https://crrev.com/0e80d7ffdef2a817d66be17a0e9fe68029f6d8d7
Cr-Commit-Position: refs/heads/master@{#390257}
Patch Set 1 : Based on Dave's change. #Patch Set 2 : Rebase #
Total comments: 6
Patch Set 3 : #Patch Set 4 : Add one more metric for after page load #
Total comments: 5
Patch Set 5 : Change cancelled to canceled #
Total comments: 6
Patch Set 6 : Reword description #Patch Set 7 : Change the histogram name and discription #
Messages
Total messages: 40 (14 generated)
Description was changed from ========== pageload mpageload BUG=601179 ========== to ========== Add UMA metric for tracking listeners for blocking touch before page finished loading In the touch scrolling intervention proposal, rbyers@ proposed that we could treat all touch event listeners as passive until the load event fires. We are adding metrics that record when touchstart or first touchmove events are successfully preventDefaulted() before the load event to measure breakage of event handlers. BUG=601179 ==========
lanwei@chromium.org changed reviewers: + dtapuska@chromium.org, tdresser@chromium.org
Patchset #1 (id:1) has been deleted
Patchset #1 (id:20001) has been deleted
Patchset #1 (id:40001) has been deleted
Patchset #1 (id:60001) has been deleted
Patchset #1 (id:80001) has been deleted
Patchset #2 (id:120001) has been deleted
https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3901: DEFINE_STATIC_LOCAL(EnumerationHistogram, pageloadListenerHistogram, ("Event.Touch.TouchBlockingOnPageload", 2)); I'd prefer if these were called out as enums; as opposed to a magical 0, 1, boolean.
In histograms.xml, Touchs -> Touches. https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3901: DEFINE_STATIC_LOCAL(EnumerationHistogram, pageloadListenerHistogram, ("Event.Touch.TouchBlockingOnPageload", 2)); Let's have two histograms, once for before pageload, and once for after pageload. Event.Touch.TouchesCancelledBeforePageLoad Event.Touch.TouchesCancelledAfterPageLoad or something like that? We should probably only be looking at cancelable touch events, right? Or we should break the histogram up into more buckets, similar to what Dave has done.
https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3901: DEFINE_STATIC_LOCAL(EnumerationHistogram, pageloadListenerHistogram, ("Event.Touch.TouchBlockingOnPageload", 2)); On 2016/04/22 17:34:52, tdresser wrote: > Let's have two histograms, once for before pageload, and once for after > pageload. > > Event.Touch.TouchesCancelledBeforePageLoad > Event.Touch.TouchesCancelledAfterPageLoad > > or something like that? > > We should probably only be looking at cancelable touch events, right? Or we > should break the histogram up into more buckets, similar to what Dave has done. Sorry, missed the condition above that checked that we're only looking at cancelable events.
https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3901: DEFINE_STATIC_LOCAL(EnumerationHistogram, pageloadListenerHistogram, ("Event.Touch.TouchBlockingOnPageload", 2)); On 2016/04/22 17:37:06, tdresser wrote: > On 2016/04/22 17:34:52, tdresser wrote: > > Let's have two histograms, once for before pageload, and once for after > > pageload. > > > > Event.Touch.TouchesCancelledBeforePageLoad > > Event.Touch.TouchesCancelledAfterPageLoad > > > > or something like that? > > > > We should probably only be looking at cancelable touch events, right? Or we > > should break the histogram up into more buckets, similar to what Dave has > done. > > Sorry, missed the condition above that checked that we're only looking at > cancelable events. How do we want to report this for iframes?
https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3901: DEFINE_STATIC_LOCAL(EnumerationHistogram, pageloadListenerHistogram, ("Event.Touch.TouchBlockingOnPageload", 2)); On 2016/04/22 17:39:10, dtapuska wrote: > On 2016/04/22 17:37:06, tdresser wrote: > > On 2016/04/22 17:34:52, tdresser wrote: > > > Let's have two histograms, once for before pageload, and once for after > > > pageload. > > > > > > Event.Touch.TouchesCancelledBeforePageLoad > > > Event.Touch.TouchesCancelledAfterPageLoad > > > > > > or something like that? > > > > > > We should probably only be looking at cancelable touch events, right? Or we > > > should break the histogram up into more buckets, similar to what Dave has > > done. > > > > Sorry, missed the condition above that checked that we're only looking at > > cancelable events. > > How do we want to report this for iframes? I think we should only care about the top frame's document. It won't be considered loaded until all subframes are loaded.
https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/130004/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3901: DEFINE_STATIC_LOCAL(EnumerationHistogram, pageloadListenerHistogram, ("Event.Touch.TouchBlockingOnPageload", 2)); On 2016/04/22 17:51:13, tdresser wrote: > On 2016/04/22 17:39:10, dtapuska wrote: > > On 2016/04/22 17:37:06, tdresser wrote: > > > On 2016/04/22 17:34:52, tdresser wrote: > > > > Let's have two histograms, once for before pageload, and once for after > > > > pageload. > > > > > > > > Event.Touch.TouchesCancelledBeforePageLoad > > > > Event.Touch.TouchesCancelledAfterPageLoad > > > > > > > > or something like that? > > > > > > > > We should probably only be looking at cancelable touch events, right? Or > we > > > > should break the histogram up into more buckets, similar to what Dave has > > > done. > > > > > > Sorry, missed the condition above that checked that we're only looking at > > > cancelable events. > > > > How do we want to report this for iframes? > > I think we should only care about the top frame's document. It won't be > considered loaded until all subframes are loaded. Right so the !m_frame->document()->ownerElement() should move back up to the top if conditional.
https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3904: if (m_frame->document()->isLoadCompleted()) { Why can't this be a single histogram? Also canceled I believe is the preferred US spelling; but best to do a grep to confirm.
https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3904: if (m_frame->document()->isLoadCompleted()) { On 2016/04/22 22:48:12, dtapuska wrote: > Why can't this be a single histogram? Also canceled I believe is the preferred > US spelling; but best to do a grep to confirm. I did a search of 'canceled' and 'cancelled', they occur 1,639 and 1,663 time in the code respectively. You are right, in American English, it is one 'l'. We can use one histogram, and have four different buckets. I do not know which way is better. Tim, what do you think?
https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3904: if (m_frame->document()->isLoadCompleted()) { On 2016/04/22 23:55:23, lanwei wrote: > On 2016/04/22 22:48:12, dtapuska wrote: > > Why can't this be a single histogram? Also canceled I believe is the preferred > > US spelling; but best to do a grep to confirm. > > I did a search of 'canceled' and 'cancelled', they occur 1,639 and 1,663 time in > the code respectively. You are right, in American English, it is one 'l'. > > We can use one histogram, and have four different buckets. I do not know which > way is better. Tim, what do you think? It's somewhat easier to view a graph of the proportion that are cancelled before/after pageload if we use two separate histograms. The tools will now let us do this either way, but the tools will be simpler to use if we split it up.
https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3904: if (m_frame->document()->isLoadCompleted()) { On 2016/04/25 15:45:19, tdresser wrote: > On 2016/04/22 23:55:23, lanwei wrote: > > On 2016/04/22 22:48:12, dtapuska wrote: > > > Why can't this be a single histogram? Also canceled I believe is the > preferred > > > US spelling; but best to do a grep to confirm. > > > > I did a search of 'canceled' and 'cancelled', they occur 1,639 and 1,663 time > in > > the code respectively. You are right, in American English, it is one 'l'. > > > > We can use one histogram, and have four different buckets. I do not know which > > way is better. Tim, what do you think? > > It's somewhat easier to view a graph of the proportion that are cancelled > before/after pageload if we use two separate histograms. > > The tools will now let us do this either way, but the tools will be simpler to > use if we split it up. Two buckets seems fine to me. Inside blink source Canceled is used 240 times vs Cancelled which is 107. Being that the 4 lines you add here it appears 2 different ways I'd prefer consistent and uses the US spelling.
https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/170001/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:3904: if (m_frame->document()->isLoadCompleted()) { On 2016/04/25 19:49:09, dtapuska wrote: > On 2016/04/25 15:45:19, tdresser wrote: > > On 2016/04/22 23:55:23, lanwei wrote: > > > On 2016/04/22 22:48:12, dtapuska wrote: > > > > Why can't this be a single histogram? Also canceled I believe is the > > preferred > > > > US spelling; but best to do a grep to confirm. > > > > > > I did a search of 'canceled' and 'cancelled', they occur 1,639 and 1,663 > time > > in > > > the code respectively. You are right, in American English, it is one 'l'. > > > > > > We can use one histogram, and have four different buckets. I do not know > which > > > way is better. Tim, what do you think? > > > > It's somewhat easier to view a graph of the proportion that are cancelled > > before/after pageload if we use two separate histograms. > > > > The tools will now let us do this either way, but the tools will be simpler to > > use if we split it up. > > Two buckets seems fine to me. Inside blink source Canceled is used 240 times vs > Cancelled which is 107. Being that the 4 lines you add here it appears 2 > different ways I'd prefer consistent and uses the US spelling. Done.
This LGTM, assuming you've done thorough local testing.
On 2016/04/26 15:54:58, tdresser wrote: > This LGTM, assuming you've done thorough local testing. Yes, I did local testing on chrome://histograms/, thanks!
On 2016/04/26 19:59:47, lanwei wrote: > On 2016/04/26 15:54:58, tdresser wrote: > > This LGTM, assuming you've done thorough local testing. > > Yes, I did local testing on chrome://histograms/, thanks! lgtm
lanwei@chromium.org changed reviewers: + bokan@chromium.org, isherman@chromium.org
lgtm
https://codereview.chromium.org/1879233005/diff/190001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/190001/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:260: NotHandledTouches, // Not handled touch events. "Not handled events" -- does that mean "Unhandled events"? Or "no (zero) handled events"? I'm finding this phrasing somewhat confusing. https://codereview.chromium.org/1879233005/diff/190001/tools/metrics/histogra... File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1879233005/diff/190001/tools/metrics/histogra... tools/metrics/histograms/histograms.xml:12144: + finishes loading. Hmm... when after the page finishes loading? https://codereview.chromium.org/1879233005/diff/190001/tools/metrics/histogra... tools/metrics/histograms/histograms.xml:12153: + finishes loading. Hmm, I'm having a really hard time making sense of these descriptions. Could you please try to clarify them, perhaps writing a few sentences rather than just one?
Patchset #6 (id:210001) has been deleted
https://codereview.chromium.org/1879233005/diff/190001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1879233005/diff/190001/third_party/WebKit/Sou... third_party/WebKit/Source/core/input/EventHandler.cpp:260: NotHandledTouches, // Not handled touch events. On 2016/04/26 20:27:11, Ilya Sherman wrote: > "Not handled events" -- does that mean "Unhandled events"? Or "no (zero) > handled events"? I'm finding this phrasing somewhat confusing. Done. https://codereview.chromium.org/1879233005/diff/190001/tools/metrics/histogra... File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1879233005/diff/190001/tools/metrics/histogra... tools/metrics/histograms/histograms.xml:12144: + finishes loading. On 2016/04/26 20:27:11, Ilya Sherman wrote: > Hmm... when after the page finishes loading? Done. https://codereview.chromium.org/1879233005/diff/190001/tools/metrics/histogra... tools/metrics/histograms/histograms.xml:12153: + finishes loading. On 2016/04/26 20:27:11, Ilya Sherman wrote: > Hmm, I'm having a really hard time making sense of these descriptions. Could > you please try to clarify them, perhaps writing a few sentences rather than just > one? Done.
In terms of metric naming and descriptions, how about something like: Event.Touch.TouchDispositionsBeforePageLoad Records the disposition (handled or not handled) of touch start events and the first touchmove event per scroll. Only recorded before the page is fully loaded. Event.Touch.TouchDispositionsAfterPageLoad Records the disposition (handled or not handled) of touch start events and the first touchmove event per scroll. Only recorded after the page is fully loaded.
On 2016/04/27 18:31:43, tdresser wrote: > In terms of metric naming and descriptions, how about something like: > > Event.Touch.TouchDispositionsBeforePageLoad > > Records the disposition (handled or not handled) of touch start events and the > first touchmove event per scroll. Only recorded before the page is fully loaded. > > Event.Touch.TouchDispositionsAfterPageLoad > > Records the disposition (handled or not handled) of touch start events and the > first touchmove event per scroll. Only recorded after the page is fully loaded. Thanks, Tim :) LGTM with these names and descriptions in place.
The CQ bit was checked by lanwei@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from bokan@chromium.org, tdresser@chromium.org, dtapuska@chromium.org, isherman@chromium.org Link to the patchset: https://codereview.chromium.org/1879233005/#ps250001 (title: "Change the histogram name and discription")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1879233005/250001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1879233005/250001
Message was sent while issue was closed.
Description was changed from ========== Add UMA metric for tracking listeners for blocking touch before page finished loading In the touch scrolling intervention proposal, rbyers@ proposed that we could treat all touch event listeners as passive until the load event fires. We are adding metrics that record when touchstart or first touchmove events are successfully preventDefaulted() before the load event to measure breakage of event handlers. BUG=601179 ========== to ========== Add UMA metric for tracking listeners for blocking touch before page finished loading In the touch scrolling intervention proposal, rbyers@ proposed that we could treat all touch event listeners as passive until the load event fires. We are adding metrics that record when touchstart or first touchmove events are successfully preventDefaulted() before the load event to measure breakage of event handlers. BUG=601179 ==========
Message was sent while issue was closed.
Committed patchset #7 (id:250001)
Message was sent while issue was closed.
Patchset 7 (id:??) landed as https://crrev.com/0e80d7ffdef2a817d66be17a0e9fe68029f6d8d7 Cr-Commit-Position: refs/heads/master@{#390257}
Message was sent while issue was closed.
Description was changed from ========== Add UMA metric for tracking listeners for blocking touch before page finished loading In the touch scrolling intervention proposal, rbyers@ proposed that we could treat all touch event listeners as passive until the load event fires. We are adding metrics that record when touchstart or first touchmove events are successfully preventDefaulted() before the load event to measure breakage of event handlers. BUG=601179 ========== to ========== Add UMA metric for tracking listeners for blocking touch before page finished loading In the touch scrolling intervention proposal, rbyers@ proposed that we could treat all touch event listeners as passive until the load event fires. We are adding metrics that record when touchstart or first touchmove events are successfully preventDefaulted() before the load event to measure breakage of event handlers. BUG=601179 Committed: https://crrev.com/0e80d7ffdef2a817d66be17a0e9fe68029f6d8d7 Cr-Commit-Position: refs/heads/master@{#390257} ========== |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
