New issue
Advanced search Search tips

Issue 896977 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 896947



Sign in to add a comment

mash: Support ui_devtools::OverlayAgentAura

Project Member Reported by msw@chromium.org, Oct 19

Issue description

mash: Support ui_devtools::OverlayAgentAura 

This class observes system-wide events *and marks them as handled* from Chrome using an Env pre-target handler.
That's not supported in SingleProcessMash, we can temporarily use the Shell's Env, but that won't work for multi-process Mash.
This class also currently uses system priority to prepend the pre-target handler, which also isn't currently supported.

This is a ui_devtools development feature for inspecting native views ui, I haven't been able to get it working locally...
https://cs.chromium.org/chromium/src/components/ui_devtools/views/overlay_agent_aura.cc?rcl=57d7dded44f76ed86c845232d22b678fdb441e46&l=390
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 30

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

commit b46c291f96457b74a093bde4e409840fca9559cc
Author: Mike Wasserman <msw@chromium.org>
Date: Tue Oct 30 01:02:27 2018

mash: Add a ui_devtools warning and TODO for local aura::Env usage.

Work will be needed to make ui_devtools work in multi-process Mash.
(otherwise it will only handle events sent to Chrome-owned windows)

Bug: 896977
Change-Id: Ie2487aed095ee9f62e2e9c85e56bc056b789e0ed
Reviewed-on: https://chromium-review.googlesource.com/c/1300056
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603711}
[modify] https://crrev.com/b46c291f96457b74a093bde4e409840fca9559cc/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc

Labels: -Proj-Mash-SingleProcess
Work will be needed to make ui_devtools work in multi-process Mash.
(otherwise it will only handle events sent to Chrome-owned windows)
I have a CL out for review to actually support the single-process Mash case:
  https://chromium-review.googlesource.com/c/chromium/src/+/1324373
Labels: Proj-Mash-SingleProcess
Labels: -Pri-3 Pri-2
Owner: msw@chromium.org
Status: Started (was: Available)
Assigning to myself for my wip single-process workaround.
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 13

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

commit 605cb27893cfb5205670f546ae24b9dc94bb7c29
Author: Mike Wasserman <msw@chromium.org>
Date: Tue Nov 13 01:30:30 2018

ui_devtools: Encapsulate views server init; use Shell Env for Chrome OS.

Use the ash::Shell aura::Env in single-process mash ui_devtools.
Keep a TODO for initializing ui_devtools in Ash for multi-process Mash.
Encapsulate server init, and the switch and port definitions.

Bug: 896977
Test: ui_devtools works well on Chrome OS single-process Mash.
Change-Id: I3cc285d5f8ee465d45795a3521e7e4eafa354414
Reviewed-on: https://chromium-review.googlesource.com/c/1324373
Commit-Queue: Michael Wasserman <msw@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607408}
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/browser/BUILD.gn
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/browser/about_flags.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.h
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/common/chrome_switches.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/chrome/common/chrome_switches.h
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/BUILD.gn
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/devtools_server.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/devtools_server.h
[add] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/switches.cc
[add] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/switches.h
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/BUILD.gn
[add] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/devtools_server_util.cc
[add] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/devtools_server_util.h
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/dom_agent_aura.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/dom_agent_aura.h
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/overlay_agent_aura.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/overlay_agent_aura.h
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/overlay_agent_unittest.cc
[modify] https://crrev.com/605cb27893cfb5205670f546ae24b9dc94bb7c29/components/ui_devtools/views/ui_devtools_unittest.cc

Labels: -Proj-Mash-SingleProcess
This is not only an issue for multi-process Mash
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 13

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

commit f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b
Author: Ahmed Fakhry <afakhry@chromium.org>
Date: Tue Nov 13 19:08:25 2018

Revert "ui_devtools: Encapsulate views server init; use Shell Env for Chrome OS."

This reverts commit 605cb27893cfb5205670f546ae24b9dc94bb7c29.

Reason for revert: causes a crash immediately on initialization on ChromeOS Linux build:

[85464:85464:1113/105356.761188:FATAL:shell.cc(281)] Check failed: instance_. 
#0 0x7f6445c3668f base::debug::StackTrace::StackTrace()
#1 0x7f6445b6624b logging::LogMessage::~LogMessage()
#2 0x7f643f32b5c2 ash::Shell::Get()
#3 0x561d123191ba ChromeBrowserMainExtraPartsAsh::PreProfileInit()
#4 0x561d10f06f2a ChromeBrowserMainParts::PreProfileInit()
#5 0x561d10f07c8e ChromeBrowserMainPartsLinux::PreProfileInit()
#6 0x561d1089bc26 chromeos::ChromeBrowserMainPartsChromeos::PreProfileInit()
#7 0x561d10f05fee ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#8 0x561d10f05925 ChromeBrowserMainParts::PreMainMessageLoopRun()
#9 0x561d1089b755 chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#10 0x7f64434b766a content::BrowserMainLoop::PreMainMessageLoopRun()
#11 0x7f64439b1055 content::StartupTaskRunner::RunAllTasksNow()
#12 0x7f64434b6191 content::BrowserMainLoop::CreateStartupTasks()
#13 0x7f64434b9d30 content::BrowserMainRunnerImpl::Initialize()
#14 0x7f64434b3d62 content::BrowserMain()
#15 0x7f6443fed756 content::ContentMainRunnerImpl::Run()
#16 0x7f6434c3ff46 service_manager::Main()
#17 0x7f6443feba44 content::ContentMain()
#18 0x561d10094e63 ChromeMain
#19 0x7f64352042b1 __libc_start_main
#20 0x561d10094cda _start

Original change's description:
> ui_devtools: Encapsulate views server init; use Shell Env for Chrome OS.
> 
> Use the ash::Shell aura::Env in single-process mash ui_devtools.
> Keep a TODO for initializing ui_devtools in Ash for multi-process Mash.
> Encapsulate server init, and the switch and port definitions.
> 
> Bug: 896977
> Test: ui_devtools works well on Chrome OS single-process Mash.
> Change-Id: I3cc285d5f8ee465d45795a3521e7e4eafa354414
> Reviewed-on: https://chromium-review.googlesource.com/c/1324373
> Commit-Queue: Michael Wasserman <msw@chromium.org>
> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#607408}

TBR=sadrul@chromium.org,msw@chromium.org

Change-Id: Iae50c4a7d67de9602596b0522da3fec0f472e092
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 896977
Reviewed-on: https://chromium-review.googlesource.com/c/1334001
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607689}
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/BUILD.gn
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/about_flags.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/common/chrome_switches.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/common/chrome_switches.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/BUILD.gn
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/devtools_server.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/devtools_server.h
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/switches.cc
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/switches.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/BUILD.gn
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/views/devtools_server_util.cc
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/views/devtools_server_util.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/dom_agent_aura.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/dom_agent_aura.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/overlay_agent_aura.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/overlay_agent_aura.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/overlay_agent_unittest.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/ui_devtools_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 13

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

commit f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b
Author: Ahmed Fakhry <afakhry@chromium.org>
Date: Tue Nov 13 19:08:25 2018

Revert "ui_devtools: Encapsulate views server init; use Shell Env for Chrome OS."

This reverts commit 605cb27893cfb5205670f546ae24b9dc94bb7c29.

Reason for revert: causes a crash immediately on initialization on ChromeOS Linux build:

[85464:85464:1113/105356.761188:FATAL:shell.cc(281)] Check failed: instance_. 
#0 0x7f6445c3668f base::debug::StackTrace::StackTrace()
#1 0x7f6445b6624b logging::LogMessage::~LogMessage()
#2 0x7f643f32b5c2 ash::Shell::Get()
#3 0x561d123191ba ChromeBrowserMainExtraPartsAsh::PreProfileInit()
#4 0x561d10f06f2a ChromeBrowserMainParts::PreProfileInit()
#5 0x561d10f07c8e ChromeBrowserMainPartsLinux::PreProfileInit()
#6 0x561d1089bc26 chromeos::ChromeBrowserMainPartsChromeos::PreProfileInit()
#7 0x561d10f05fee ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#8 0x561d10f05925 ChromeBrowserMainParts::PreMainMessageLoopRun()
#9 0x561d1089b755 chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#10 0x7f64434b766a content::BrowserMainLoop::PreMainMessageLoopRun()
#11 0x7f64439b1055 content::StartupTaskRunner::RunAllTasksNow()
#12 0x7f64434b6191 content::BrowserMainLoop::CreateStartupTasks()
#13 0x7f64434b9d30 content::BrowserMainRunnerImpl::Initialize()
#14 0x7f64434b3d62 content::BrowserMain()
#15 0x7f6443fed756 content::ContentMainRunnerImpl::Run()
#16 0x7f6434c3ff46 service_manager::Main()
#17 0x7f6443feba44 content::ContentMain()
#18 0x561d10094e63 ChromeMain
#19 0x7f64352042b1 __libc_start_main
#20 0x561d10094cda _start

Original change's description:
> ui_devtools: Encapsulate views server init; use Shell Env for Chrome OS.
> 
> Use the ash::Shell aura::Env in single-process mash ui_devtools.
> Keep a TODO for initializing ui_devtools in Ash for multi-process Mash.
> Encapsulate server init, and the switch and port definitions.
> 
> Bug: 896977
> Test: ui_devtools works well on Chrome OS single-process Mash.
> Change-Id: I3cc285d5f8ee465d45795a3521e7e4eafa354414
> Reviewed-on: https://chromium-review.googlesource.com/c/1324373
> Commit-Queue: Michael Wasserman <msw@chromium.org>
> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#607408}

TBR=sadrul@chromium.org,msw@chromium.org

Change-Id: Iae50c4a7d67de9602596b0522da3fec0f472e092
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 896977
Reviewed-on: https://chromium-review.googlesource.com/c/1334001
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607689}
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/BUILD.gn
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/about_flags.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/common/chrome_switches.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/chrome/common/chrome_switches.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/BUILD.gn
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/devtools_server.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/devtools_server.h
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/switches.cc
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/switches.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/BUILD.gn
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/views/devtools_server_util.cc
[delete] https://crrev.com/c86c56362f4ac4c331f174c4646bee366e46f5cc/components/ui_devtools/views/devtools_server_util.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/dom_agent_aura.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/dom_agent_aura.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/overlay_agent_aura.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/overlay_agent_aura.h
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/overlay_agent_unittest.cc
[modify] https://crrev.com/f6c1bcdfb273f5b8bc0e0975f96bf6720991c95b/components/ui_devtools/views/ui_devtools_unittest.cc

I drafted a doc with some more information about this issue:
  https://docs.google.com/document/d/1_Uz_7i3GFqmjtzB8BHbZYoKpOnh6_6awwUx_ZVq3L6Q/edit#heading=h.htgshyt0uctd
I have a WIP CL to add some basic single-process mash support for now:
  https://chromium-review.googlesource.com/c/chromium/src/+/1334006
Project Member

Comment 12 by bugdroid1@chromium.org, Dec 3

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

commit 8f8b08599655744be9d8743bbada0d9b992f0cc1
Author: Mike Wasserman <msw@chromium.org>
Date: Mon Dec 03 22:08:10 2018

ui_devtools: Wire up Shell Env for single-process mash on Chrome OS

Register Ash's root windows and aura::Env in single-process mash.
Keep a warning & TODOs for multi-process Mash ui_devtools support.
Encapsulate server init and the switch and port definitions.

An earlier CL was incorrect and caused a crash (uploaded here as PS1):
  https://chromium-review.googlesource.com/c/chromium/src/+/1324373

Bug: 896977
Test: ui_devtools works well on Chrome OS single-process Mash.
Change-Id: Ie962343b1e121529933b5118791b767e80507684
Reviewed-on: https://chromium-review.googlesource.com/c/1334006
Commit-Queue: Michael Wasserman <msw@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613278}
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/chrome/browser/BUILD.gn
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/chrome/browser/about_flags.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/chrome/common/chrome_switches.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/chrome/common/chrome_switches.h
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/BUILD.gn
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/devtools_server.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/devtools_server.h
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/devtools_server_unittest.cc
[add] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/switches.cc
[add] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/switches.h
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/BUILD.gn
[add] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/devtools_server_util.cc
[add] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/devtools_server_util.h
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/dom_agent_aura.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/dom_agent_aura.h
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/overlay_agent_aura.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/overlay_agent_aura.h
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/overlay_agent_unittest.cc
[modify] https://crrev.com/8f8b08599655744be9d8743bbada0d9b992f0cc1/components/ui_devtools/views/ui_devtools_unittest.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 7

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

commit 91bef92b47d6c20e5c0a9b8b1af49755d9a2f8d9
Author: Mike Wasserman <msw@chromium.org>
Date: Fri Dec 07 22:20:31 2018

mash: Fix ui_devtools overlay layer and element coordinates

Use display root windows (not client roots) for highlighting on Chrome OS.
Store the screen offset for the layer used for highlighting.
Store the pinned and hovered item bounds in screen coordinates.
Convert the screen space rects to layer space when painting.

These changes fix ui_devtools highlights for SingleProcessMash.
They also add partial support for highlighting between roots/displays.
(we still only paint to one layer, but should paint to all root/display layers)

Bug: 896977
Test: ui_devtools highlights work better on SingleProcessMash and desktop.
Change-Id: Ib7cefcad5bd890ac81628c5fd717f7fb42da3f4c
Reviewed-on: https://chromium-review.googlesource.com/c/1366787
Commit-Queue: Michael Wasserman <msw@chromium.org>
Reviewed-by: Leonard Grey <lgrey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614844}
[modify] https://crrev.com/91bef92b47d6c20e5c0a9b8b1af49755d9a2f8d9/components/ui_devtools/views/overlay_agent_aura.cc
[modify] https://crrev.com/91bef92b47d6c20e5c0a9b8b1af49755d9a2f8d9/components/ui_devtools/views/overlay_agent_aura.h

Project Member

Comment 14 by bugdroid1@chromium.org, Dec 11

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

commit 75f86906ffc92d57bbdcc86eed6d6b7cbd9d0884
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Tue Dec 11 15:39:31 2018

mash: Fix ui_devtools shutdown UAF

ash::Shell owned by ChromeBrowserMainExtraPartsAsh is released
before UiDevToolsServer owned by ChromeBrowserMainExtraPartsViews.
This causes a use-after-free in DOMAgentAura dtor when it tries to
RemoveObserver from the already released Env of ash::Shell.

Fix the issue by explicitly releasing |devtools_server_| in
ChromeBrowserMainExtraPartsViews::PostMainMessageLoopRun.

Bug: 896977
Change-Id: I07172d8014dc17c1a91a11e220579a13ad0524b0
Reviewed-on: https://chromium-review.googlesource.com/c/1370832
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615533}
[modify] https://crrev.com/75f86906ffc92d57bbdcc86eed6d6b7cbd9d0884/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc

Status: Assigned (was: Started)

Sign in to add a comment