New issue
Advanced search Search tips

Issue 787834 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 801578
issue 805486



Sign in to add a comment

Break browser_backend.Start into reusable pieces

Project Member Reported by perezju@chromium.org, Nov 22 2017

Issue description

We want to be able to, separately:

- Setup browser flags and profile
- Actually start the browser
- Attach a python browser object to an existing devtools client
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/0bb3c037e45b56f163b2afe1aa3bd1c3e4b542f4

commit 0bb3c037e45b56f163b2afe1aa3bd1c3e4b542f4
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Thu Nov 23 08:10:56 2017

[Telemetry] Cleanup Setup/Collect of browser profile

For both android/desktop browsers factor out code and make their
behaviour uniform by providing:
- _SetupProfile (called on Start)
- _CollectProfile (called on Close)

Bug:  chromium:787834 
Change-Id: I86b8a88e076d0f919881c94de1606aac1ed8c868
Reviewed-on: https://chromium-review.googlesource.com/785850
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/0bb3c037e45b56f163b2afe1aa3bd1c3e4b542f4/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py
[modify] https://crrev.com/0bb3c037e45b56f163b2afe1aa3bd1c3e4b542f4/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/6abc09e80f31d1761009c10abcc3e21198cfa669

commit 6abc09e80f31d1761009c10abcc3e21198cfa669
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Tue Dec 19 13:09:49 2017

[Telemetry] Refactor devtools_client_backend creation

We refactor the creation into two steps as follows:

- DevToolsClientConfig: holds all necessary details to check if
  an agent is available, before actually connecting to it.
- DevToolsClientBackend: allows access to the DevTools agent
  after the connection has been established.

This is a pre-requiste for CL:
https://chromium-review.googlesource.com/c/catapult/+/829513

Bug:  chromium:787834 
Change-Id: I66b090572163312e45f6ded5a5823f10f7d4bd08
Reviewed-on: https://chromium-review.googlesource.com/832866
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>

[modify] https://crrev.com/6abc09e80f31d1761009c10abcc3e21198cfa669/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[modify] https://crrev.com/6abc09e80f31d1761009c10abcc3e21198cfa669/telemetry/telemetry/internal/app/android_process.py
[modify] https://crrev.com/6abc09e80f31d1761009c10abcc3e21198cfa669/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py

Cc: achuith@chromium.org
+achuith FYI for cros changes

To provide some more context, I have a string of CLs ready to review.

- Provide new browser_backend.BindDevToolsClient API
  https://chromium-review.googlesource.com/c/catapult/+/833925

  Introduces a new API common to all browser backends, but essentially no implementation changes.

After landing that, then for each of backend implementations the following may be independently landed (and reverted, but hopefully not!) as needed:

- cros:    https://chromium-review.googlesource.com/c/catapult/+/834129
- desktop: https://chromium-review.googlesource.com/c/catapult/+/836590
- android: https://chromium-review.googlesource.com/c/catapult/+/836594

All backends will end up with essentially the same implementation for _GetDevToolsClientConfig; with differences between backend implementations abstracted away in _FindDevToolsPortAndTarget (returning just remote_port and browser_target). Works even for desktop where a DoNothingForwarder could turn that "remote" into a (same) local port.

After all previous CLs land, we could then move the code of all those _GetDevToolsClientConfig's up to the base class.
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/436908b7d264b36cf00478756f59f109e93e31a5

commit 436908b7d264b36cf00478756f59f109e93e31a5
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Thu Dec 21 09:44:53 2017

[Telemetry] Fix cros_browser_backend

The HasBrowserFinishedLaunching method was removed at:
https://chromium-review.googlesource.com/c/catapult/+/833925

But a reference to it remained in the cros_browser_backend;
replacing that with the new HasDevToolsConnection instead.

TBR=nednguyen@google.com,achuith@chromium.org
Bug:  chromium:787834 
Change-Id: I4b21427bd8bbb08f4e6d96ce05060b163961a77d
Reviewed-on: https://chromium-review.googlesource.com/839140
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/436908b7d264b36cf00478756f59f109e93e31a5/telemetry/telemetry/internal/backends/chrome/cros_browser_backend.py

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/efc4a08476292e474385a77e7a5d7c3c8e101a30

commit efc4a08476292e474385a77e7a5d7c3c8e101a30
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Fri Dec 22 10:30:05 2017

[Telemetry] Cleanup desktop_browser_backend._GetDevToolsClientConfig

Factor out the code to read and parse the DevToolsActivePort into
a private _FindDevToolsPortAndTarget; this allows to simplify and
provide a pretty generic implementation of _GetDevToolsClientConfig.

This CL mirrors the work done for the cros backend at:
https://chromium-review.googlesource.com/c/catapult/+/834129/

Bug:  chromium:787834 
Change-Id: I3520c068be2c9f2cf79f0454b298fec3631d3056
Reviewed-on: https://chromium-review.googlesource.com/836590
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>

[modify] https://crrev.com/efc4a08476292e474385a77e7a5d7c3c8e101a30/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/5626f3590eea9631f90a98549c73334577994819

commit 5626f3590eea9631f90a98549c73334577994819
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Fri Dec 22 12:43:55 2017

[Telemetry] Cleanup android_browser_backend._GetDevToolsClientConfig

Factor out the code to read and parse the DevToolsActivePort into
a private _FindDevToolsPortAndTarget; this allows to simplify and
provide a pretty generic implementation of _GetDevToolsClientConfig.

Bug:  chromium:787834 
Change-Id: Icf2e0428630ba74edac63c41f0cf60462a943678
Reviewed-on: https://chromium-review.googlesource.com/836594
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>

[modify] https://crrev.com/5626f3590eea9631f90a98549c73334577994819/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py

Recap and status update, we wanted to be able to separately:

1. Setup browser flags and profile
2. Actually start the browser
3. Attach a python browser object to an existing devtools client

Number 3 is now possible thanks to browser_backend.BindDevToolsAgent().

I thought number 1 was going to be easy, but now I realize it involves moving GetBrowserStartupArgs [1] out of the browser_backends and into the possible_browsers. Which will be ... interesting.

Working to figure out that part now.

[1]: https://cs.chromium.org/chromium/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py?rcl=aadff7def3d1d71cdd77b1346edde6ac4aee90d4&l=66
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/ae0dfe75fc7c91366149a2cc6fd9f1de39268445

commit ae0dfe75fc7c91366149a2cc6fd9f1de39268445
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Fri Jan 05 17:02:59 2018

[Telemetry] Take GetBrowserStartupArgs out of browser_backend.Start

This is a first step towards moving the computation of startup_args out
of the browser-backends and into the possible-browsers.

Similarly, we add some temporary GetBrowserStartupUrl to move the logic
for figuring out that url outside of the browser backend.

Bug:  chromium:787834 
Change-Id: I4b46266f61878760edaceba75752256345305127
Reviewed-on: https://chromium-review.googlesource.com/852298
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/ae0dfe75fc7c91366149a2cc6fd9f1de39268445/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[modify] https://crrev.com/ae0dfe75fc7c91366149a2cc6fd9f1de39268445/telemetry/telemetry/internal/backends/chrome/cros_browser_backend.py
[modify] https://crrev.com/ae0dfe75fc7c91366149a2cc6fd9f1de39268445/telemetry/telemetry/internal/backends/browser_backend.py
[modify] https://crrev.com/ae0dfe75fc7c91366149a2cc6fd9f1de39268445/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py
[modify] https://crrev.com/ae0dfe75fc7c91366149a2cc6fd9f1de39268445/telemetry/telemetry/internal/browser/browser.py
[modify] https://crrev.com/ae0dfe75fc7c91366149a2cc6fd9f1de39268445/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
[modify] https://crrev.com/ae0dfe75fc7c91366149a2cc6fd9f1de39268445/telemetry/telemetry/internal/backends/app_backend.py

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/c88db750479a747611ac76120405b52106274bcb

commit c88db750479a747611ac76120405b52106274bcb
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Tue Jan 09 11:24:53 2018

[Telemetry] Move computation of chrome_startup_flags to own module

For now the new module computes the list of startup args that depend
solely on the browser_options object, and which can be computed
without reference to anything else.

The computation of startup args is now started by possible-browsers,
*before* the brower backend actually exits. This is needed on Android
to decouple setting the chrome command line from starting the browser.

Follow up CLs will migrate the rest of args, still computed on
browser-backends, to be computed on the possible-browsers instead.

Bug:  chromium:787834 
Change-Id: I856c9bc56c7cc3447eb9f04e6582278c9dfc06dc
Reviewed-on: https://chromium-review.googlesource.com/854054
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>

[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[add] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/chrome_startup_args_unittest.py
[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/cros_browser_with_oobe.py
[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/android_browser_finder.py
[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/browser/browser.py
[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend_unittest.py
[add] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py
[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/backends/chrome/desktop_browser_finder.py
[modify] https://crrev.com/c88db750479a747611ac76120405b52106274bcb/telemetry/telemetry/internal/browser/browser_unittest.py

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/fef1e79fe037bbe15630b692832efa7ea0ab4ade

commit fef1e79fe037bbe15630b692832efa7ea0ab4ade
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Wed Jan 10 09:53:05 2018

[Telemetry] Move GetReplayArgs to chrome_startup_args module

Factor out GetReplayArgs from chrome_browser_backend into the new
chrome_startup_args module. Also move their corresponding tests.

This allows to simplify further more the computation of startup
args as we decouple them from the existence of the browser_backend.

Bug:  chromium:787834 
Bug:  chromium:753948 
Change-Id: I16fd0ed996d9fed67e67575d427bd407a98be968
Reviewed-on: https://chromium-review.googlesource.com/857461
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/fef1e79fe037bbe15630b692832efa7ea0ab4ade/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[modify] https://crrev.com/fef1e79fe037bbe15630b692832efa7ea0ab4ade/telemetry/telemetry/internal/backends/chrome/chrome_startup_args_unittest.py
[modify] https://crrev.com/fef1e79fe037bbe15630b692832efa7ea0ab4ade/telemetry/telemetry/internal/backends/chrome/android_browser_finder.py
[modify] https://crrev.com/fef1e79fe037bbe15630b692832efa7ea0ab4ade/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
[delete] https://crrev.com/d4706cb285d8caaa8e7c0334e0528efe7b9a26ff/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend_unittest.py
[modify] https://crrev.com/fef1e79fe037bbe15630b692832efa7ea0ab4ade/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py
[modify] https://crrev.com/fef1e79fe037bbe15630b692832efa7ea0ab4ade/telemetry/telemetry/internal/backends/chrome/desktop_browser_finder.py
[modify] https://crrev.com/fef1e79fe037bbe15630b692832efa7ea0ab4ade/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/4e95faaa533b077604929c36bb6c77015c3c5c4d

commit 4e95faaa533b077604929c36bb6c77015c3c5c4d
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Wed Jan 10 10:57:05 2018

[Telemetry] Move --load-extension to chrome_startup_args module

Move the last bit of startup args computation out of
chrome_browser_backend and into chrome_startup_args.

Follow up CLs will migrate the corresponding methods for each of
android, desktop and cros browser-backends.

Bug:  chromium:787834 
Change-Id: Ib8bd7c9463075a5459fc83b14113491d970ddb9f
Reviewed-on: https://chromium-review.googlesource.com/857462
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>

[modify] https://crrev.com/4e95faaa533b077604929c36bb6c77015c3c5c4d/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[modify] https://crrev.com/4e95faaa533b077604929c36bb6c77015c3c5c4d/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/4ebc285771702760a8813e9fbc3660ec48855c6e

commit 4ebc285771702760a8813e9fbc3660ec48855c6e
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Wed Jan 10 12:19:06 2018

[Telemetry] Move android startup args to its possible-browser

Move the android-specific startup args computation out of the
browser-backend and into the possible-browser.

For this we make the profile_directory property accessible
from both the backend and the possible-browser.

Also do not cache the _profile_directory in the backend, there is no
real need since it's not an expensive operation, and this helps reduce
the amount of state stored on the backend.

Bug:  chromium:787834 
Change-Id: Iaaee5e915e201b894cc7b89402d1c576c38b408f
Reviewed-on: https://chromium-review.googlesource.com/859498
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/4ebc285771702760a8813e9fbc3660ec48855c6e/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
[modify] https://crrev.com/4ebc285771702760a8813e9fbc3660ec48855c6e/telemetry/telemetry/internal/backends/chrome/android_browser_finder.py

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/2c400a6bb32dff0ef61f3345d041ff5266bb3a1c

commit 2c400a6bb32dff0ef61f3345d041ff5266bb3a1c
Author: Juan Antonio Navarro Pérez <perezju@chromium.org>
Date: Thu Jan 11 10:12:33 2018

Revert "[Telemetry] Move --load-extension to chrome_startup_args module"

This reverts commit 4e95faaa533b077604929c36bb6c77015c3c5c4d.

Reason for revert: broke cros backend

Original change's description:
> [Telemetry] Move --load-extension to chrome_startup_args module
> 
> Move the last bit of startup args computation out of
> chrome_browser_backend and into chrome_startup_args.
> 
> Follow up CLs will migrate the corresponding methods for each of
> android, desktop and cros browser-backends.
> 
> Bug:  chromium:787834 
> Change-Id: Ib8bd7c9463075a5459fc83b14113491d970ddb9f
> Reviewed-on: https://chromium-review.googlesource.com/857462
> Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
> Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
> Reviewed-by: Ned Nguyen <nednguyen@google.com>

TBR=achuith@chromium.org,perezju@chromium.org,nednguyen@google.com

Change-Id: I9f58250920e164ba850fc5068d2f638612c0f7ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:787834 
Bug:  chromium:800962 
Reviewed-on: https://chromium-review.googlesource.com/860107
Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/2c400a6bb32dff0ef61f3345d041ff5266bb3a1c/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[modify] https://crrev.com/2c400a6bb32dff0ef61f3345d041ff5266bb3a1c/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py

Blockedon: 801578
Project Member

Comment 15 by bugdroid1@chromium.org, Jan 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/b18b707d580df9bf230e18cf94413eb4f549ad9c

commit b18b707d580df9bf230e18cf94413eb4f549ad9c
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Wed Jan 24 16:43:38 2018

[Telemetry] Move desktop startup args to its possible-browser

Moves all startup args except those that depend on profile_directory.
Those will be moved later after also moving the ownership of the profile
directory to the possible_browser.

Bug:  chromium:787834 
Change-Id: Ib0ae19db7d8c999c2de96b75351a0dee06cb7d7f
Reviewed-on: https://chromium-review.googlesource.com/883523
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/b18b707d580df9bf230e18cf94413eb4f549ad9c/telemetry/telemetry/internal/backends/chrome/desktop_browser_finder.py
[modify] https://crrev.com/b18b707d580df9bf230e18cf94413eb4f549ad9c/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py

Blockedon: 805486
Project Member

Comment 17 by bugdroid1@chromium.org, Jan 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/0e7663c0ec66d763f4e64321f95fa564e1aad3e5

commit 0e7663c0ec66d763f4e64321f95fa564e1aad3e5
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Wed Jan 24 18:40:56 2018

[Telemetry] Move cros startup args to its possible-browser

Note: Althogh, after this change, the cros_browser_backend no longer
has a GetBrowserStartupArgs, the startup args for extensions to load
are still computed by the backend in the base chrome_browser_backend
class. A follow up CL will migrate those too.

Bug:  chromium:787834 
Change-Id: I75bbda2c219346a33665066349bcb1d281b1ea68
Reviewed-on: https://chromium-review.googlesource.com/883465
Commit-Queue: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>

[modify] https://crrev.com/0e7663c0ec66d763f4e64321f95fa564e1aad3e5/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
[modify] https://crrev.com/0e7663c0ec66d763f4e64321f95fa564e1aad3e5/telemetry/telemetry/internal/backends/chrome/cros_browser_backend.py

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/f384e378fd537075dd9bbd70096bfdefc94e0216

commit f384e378fd537075dd9bbd70096bfdefc94e0216
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Wed Jan 31 15:05:56 2018

[Telemetry] Move last bit of desktop startup args to possible browser

Now that the profile directory is owned by the possible browser we can
move there too, for the desktop case, the last few bits of startup args
computation.

Bug:  chromium:805486 
Bug:  chromium:787834 
Change-Id: I75203e9dc3a4a1b4a517697306ff2561b0297f04
Reviewed-on: https://chromium-review.googlesource.com/894326
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/f384e378fd537075dd9bbd70096bfdefc94e0216/telemetry/telemetry/internal/backends/chrome/desktop_browser_finder.py
[modify] https://crrev.com/f384e378fd537075dd9bbd70096bfdefc94e0216/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py

Blockedon: 807645
Project Member

Comment 20 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/d7e6289f3f760be5b1b63683079da095eed9e7db

commit d7e6289f3f760be5b1b63683079da095eed9e7db
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Fri Feb 02 17:34:03 2018

[Telemetry] Install CrOS browser extensions during environment set up

Copying the extensions to local paths on the device (and clearing them
up when finishing) will now be managed by the possible browser
environment set up (and tear down).

This allows to finalize the computation of startup args for chrome,
which can now be computed entirely by the possible browsers.

Bug:  chromium:787834 
Change-Id: I4f518b41c361f2a75d56b8462078afeee5f57087
Reviewed-on: https://chromium-review.googlesource.com/895684
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>

[modify] https://crrev.com/d7e6289f3f760be5b1b63683079da095eed9e7db/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[modify] https://crrev.com/d7e6289f3f760be5b1b63683079da095eed9e7db/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py
[modify] https://crrev.com/d7e6289f3f760be5b1b63683079da095eed9e7db/telemetry/telemetry/internal/browser/browser.py
[modify] https://crrev.com/d7e6289f3f760be5b1b63683079da095eed9e7db/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
[modify] https://crrev.com/d7e6289f3f760be5b1b63683079da095eed9e7db/telemetry/telemetry/internal/backends/chrome/cros_browser_backend.py

Project Member

Comment 21 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/7dbdb8036e3187c23077bc101273658f7dc114f9

commit 7dbdb8036e3187c23077bc101273658f7dc114f9
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Thu Feb 08 10:00:44 2018

[Devil] Manage SELinux policy within FlagChanger object

This used to be handled by the CustomCommandLineFlags context
manager wrapper. However, some clients would like to use the FlagChanger
directly, while not worrying about having to manually set/reset the
policy as needed.

With this change calls to any of the flag "setting" methods (Replace-,
Add-, RemoveFlags) will also SetPermissive; while the last call to
Restore (when clearing the stack and returning to the original flags
on the device) will also ResetEnforce.

TBR=jbudorick@chromium.org
Bug:  chromium:787834 
Change-Id: I64345c6d16adae80e075d9fd69005aa26082ad19
Reviewed-on: https://chromium-review.googlesource.com/902044
Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/7dbdb8036e3187c23077bc101273658f7dc114f9/devil/devil/android/flag_changer.py

Project Member

Comment 22 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/f758cb7098d9f37c9213e1fbb19e165f4c7082c4

commit f758cb7098d9f37c9213e1fbb19e165f4c7082c4
Author: Juan Antonio Navarro Perez <perezju@google.com>
Date: Thu Feb 08 12:19:44 2018

[Telemetry] Set up Android environment in possible browser

After all the other recent hard work on this area we're finally able
to separate on Android:

- setting up browser profile and flags at
  possible_browser.SetUpEnvironment

- just launching the browser at browser_backend.Start

Bug:  chromium:787834 
Change-Id: I001dfbb5bb3e408c3dc7b65ee1f455902e055b02
Reviewed-on: https://chromium-review.googlesource.com/901608
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/f758cb7098d9f37c9213e1fbb19e165f4c7082c4/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
[modify] https://crrev.com/f758cb7098d9f37c9213e1fbb19e165f4c7082c4/telemetry/telemetry/internal/backends/chrome/android_browser_finder.py

Project Member

Comment 23 by bugdroid1@chromium.org, Feb 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/e7298f36f7912f2caa122086cfbe71734d04b73f

commit e7298f36f7912f2caa122086cfbe71734d04b73f
Author: Juan Antonio Navarro Perez <perezju@chromium.org>
Date: Mon Feb 12 17:38:41 2018

[Telemetry] Shared state for Android Go stories

Bug:  chromium:787834 
Bug:  chromium:784319 
Change-Id: I5fc2b452774d3dbf94f20e06ce53828b53520d6b
Reviewed-on: https://chromium-review.googlesource.com/908457
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>

[modify] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/telemetry/core/platform.py
[add] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/examples/benchmarks/android_go_benchmark.py
[modify] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/telemetry/internal/backends/chrome/android_browser_finder.py
[add] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/examples/.gitignore
[modify] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py
[modify] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/telemetry/internal/platform/platform_backend.py
[modify] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/telemetry/internal/platform/android_platform_backend.py
[modify] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/telemetry/internal/browser/browser.py
[modify] https://crrev.com/e7298f36f7912f2caa122086cfbe71734d04b73f/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py

Blocking: -784319
There is a bit of cleanup work left to do, but this no longer blocks the shared state for new Android Go stories.
Labels: -Pri-1 Pri-2
Labels: -Pri-2 Pri-3
Status: Assigned (was: Started)
Project Member

Comment 29 by bugdroid1@chromium.org, Dec 18

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451

commit 6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451
Author: Juan Antonio Navarro Perez <perezju@chromium.org>
Date: Tue Dec 18 12:17:33 2018

[Telemetry] Move startup_url computation to possible browsers

This should not be an implementation detail of the browser backends.

Bug:  chromium:787834 
Change-Id: I54e4b3a92ee67ccec20d4dc6114bc1a6225252ca
Reviewed-on: https://chromium-review.googlesource.com/c/1380131
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Auto-Submit: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>

[modify] https://crrev.com/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py
[modify] https://crrev.com/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451/telemetry/telemetry/internal/backends/chrome/android_browser_finder.py
[modify] https://crrev.com/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
[modify] https://crrev.com/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py
[modify] https://crrev.com/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451/telemetry/telemetry/internal/browser/browser.py
[modify] https://crrev.com/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451/telemetry/telemetry/internal/backends/chrome/desktop_browser_finder.py
[modify] https://crrev.com/6bd7a3c6d7ab1da47d9ae537f2e5dcc1f1f81451/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py

Project Member

Comment 30 by bugdroid1@chromium.org, Dec 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ed94e5db0563ee9167e9183b9f5f3bec1b9d6e76

commit ed94e5db0563ee9167e9183b9f5f3bec1b9d6e76
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Tue Dec 18 13:17:45 2018

Roll src/third_party/catapult 3da6ffba8423..6bd7a3c6d7ab (1 commits)

https://chromium.googlesource.com/catapult.git/+log/3da6ffba8423..6bd7a3c6d7ab


git log 3da6ffba8423..6bd7a3c6d7ab --date=short --no-merges --format='%ad %ae %s'
2018-12-18 perezju@chromium.org [Telemetry] Move startup_url computation to possible browsers


Created with:
  gclient setdep -r src/third_party/catapult@6bd7a3c6d7ab

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:787834 
TBR=sullivan@chromium.org

Change-Id: I9bc9a64acc470d2a04c7985b4316080d90a6087b
Reviewed-on: https://chromium-review.googlesource.com/c/1382334
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#617465}
[modify] https://crrev.com/ed94e5db0563ee9167e9183b9f5f3bec1b9d6e76/DEPS

Project Member

Comment 31 by bugdroid1@chromium.org, Dec 20

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/3a190c23ddf1f45cdfa478864bc7078a3c6b2238

commit 3a190c23ddf1f45cdfa478864bc7078a3c6b2238
Author: Juan Antonio Navarro Perez <perezju@chromium.org>
Date: Thu Dec 20 17:30:56 2018

[Telemetry] Remove dead code

ChromeBrowserBackend.ClearCaches() got replaced by
PossibleBrowser._ClearCachesOnStart().

This is now dead code, no longer called from anywhere.

Bug:  chromium:787834 
Change-Id: If7402ae158135f064334c212552e953c921dfbd1
Reviewed-on: https://chromium-review.googlesource.com/c/1386904
Auto-Submit: Juan Antonio Navarro Pérez <perezju@chromium.org>
Commit-Queue: Caleb Rouleau <crouleau@chromium.org>
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>

[modify] https://crrev.com/3a190c23ddf1f45cdfa478864bc7078a3c6b2238/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py

Project Member

Comment 32 by bugdroid1@chromium.org, Dec 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/799528f0217788e85be49014e24be07446f2dfa5

commit 799528f0217788e85be49014e24be07446f2dfa5
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Thu Dec 20 19:28:11 2018

Roll src/third_party/catapult 53c753ed351e..3a190c23ddf1 (1 commits)

https://chromium.googlesource.com/catapult.git/+log/53c753ed351e..3a190c23ddf1


git log 53c753ed351e..3a190c23ddf1 --date=short --no-merges --format='%ad %ae %s'
2018-12-20 perezju@chromium.org [Telemetry] Remove dead code


Created with:
  gclient setdep -r src/third_party/catapult@3a190c23ddf1

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:787834 
TBR=sullivan@chromium.org

Change-Id: Ib87f2d7d860dac70c586ae3d83179c7429ed0a62
Reviewed-on: https://chromium-review.googlesource.com/c/1387285
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#618287}
[modify] https://crrev.com/799528f0217788e85be49014e24be07446f2dfa5/DEPS

Blockedon: -807645
Status: Fixed (was: Assigned)
All done now!

Not really blocked on issue 807645.

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

Components: Test>Telemetry

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

Components: -Speed>Telemetry

Sign in to add a comment