New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 870232 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug


Participants' hotlists:
Hotlist-1


Sign in to add a comment

chrome.gpuBenchmarking.pageScaleFactor is not a function

Project Member Reported by wangge@google.com, Aug 2

Issue description

Steps to reproduce the problem:
1. Run Telemetry Benchmark that involves scrolling, dragging, gesture and swiping.
2. The benchmark will report an error ofchrome.gpuBenchmarking.pageScaleFactor is not a function

This is due to the fact that `pageScaleFactor` is not defined before milestone 50.

What is the expected behavior?

What went wrong?
We could do either:
1. add back the `getPageScaleFactor` function which checks whether `pageScaleFactor` is a function, if it is call it, if not, return 1
2. do not run the benchmark that involves scrolling, dragging, gesture and swiping, e.g. memory.top_10_mobile

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 48.0.2564.116  Channel: stable
OS Version: 
Flash Version:
 
Cc: wangge@google.com nednguyen@chromium.org
Owner: perezju@chromium.org
Status: Assigned (was: Unconfirmed)
Ned, what do you think? Would it be OK to patch the pageScaleFactor on Telemetry js scripts with a fallback to "degrade gracefully" when the function does not exist?

Or maybe some other alternative?
Patching it is OK to me, but you may want to have a more systematic look at what other methods are not available in chrome.gpuBenchmarking.* that are required for action_runner implementation.

I suggest running all the unittests in src/third_party/catapult/telemetry/telemetry/internal/actions/* for Chrome 40s & see which one fails
pageScaleFactor is now fixed by:
https://chromium-review.googlesource.com/c/catapult/+/1161930

Still to confirm whether all other telemetry.internal.actions.* tests pass on older Chrome versions.
After running all the tests in telemetry.internal.actions.*, here is the
tests that didn't passed:

-
`telemetry.internal.actions.pinch_unittest.PinchActionTest.testPinchAnchor`
and some other tests that needs to use the `Window.visualViewport`, however
this API is introduced after M60,  see:
https://developer.mozilla.org/en-US/docs/Web/API/Window/visualViewport, and
it is only used in unittest, so I think we don't need to take any action
for that.

-
`telemetry.internal.actions.scroll_unittest.ScrollActionTest.testBoundingClientRect'
failed
because `EvaluateException: Uncaught TypeError:
chrome.gpuBenchmarking.visualViewportX is not a function`
This is address in the CL:
https://chromium-review.googlesource.com/c/catapult/+/1167296

-
`telemetry.internal.actions.play_unittest.PlayActionTest.testPlayWithAllSelector`,
and the failing reason is that 'TimeoutException: Timed out while waiting
5s for lambda: self.HasEventCompletedOrError(tab, selector, event_name)',
the same failing reasons also occur in some other test cases which I didn't
list here.

-
`telemetry.internal.actions.action_runner_unittest.ActionRunnerMeasureMemoryTest.testDeterministicMode`
failed, says that 'list indices need to be integer instead of string'
Components: Speed>Telemetry
Labels: -Pri-2 Pri-3

Comment 7 by benhenry@google.com, Jan 16 (6 days ago)

Components: Test>Telemetry

Comment 8 by benhenry@google.com, Jan 16 (6 days ago)

Components: -Speed>Telemetry

Sign in to add a comment