Issue metadata
Sign in to add a comment
|
Web contents are not hooked up to the desktop tree in single process mash |
||||||||||||||||||||||||||
Issue description
- run chrome --enable-features=SingleProcessMash
- run ChromeVox
- print ChromeVox's view of the desktop tree by doing
chrome.automation.getDesktop((d) => console.log(d.toString())
result:
The entire ash tree is printed (including launcher, shelf) and the ChromeVox Panel (which points to a child tree)
However, no WebView exists in this tree. WebView (in classic) is the node which holds the child tree id of the root web area.
"tree id=0
node id=18 role=desktop state={"horizontal":true} parentID=null childIds=[39,19]
node id=39 role=window state={} parentID=18 childIds=[38] name=Display--2094967296
node id=38 role=window state={} parentID=39 childIds=[40,41,42,43,37,44,45]
node id=40 role=window state={} parentID=38 childIds=[46]
node id=46 role=window state={} parentID=40 childIds=[47]
node id=47 role=window state={} parentID=46 childIds=[48]
node id=48 role=window state={} parentID=47 childIds=[49]
node id=49 role=unknown state={} parentID=48 childIds=[50]
node id=50 role=unknown state={} parentID=49 childIds=[]
node id=41 role=window state={} parentID=38 childIds=[51,52,53,54,55,56,57,58]
node id=51 role=window state={} parentID=41 childIds=[]
node id=52 role=window state={"invisible":true} parentID=41 childIds=[]
node id=53 role=window state={} parentID=41 childIds=[59,60]
node id=59 role=window state={} parentID=53 childIds=[140,61,62] name=Chromium - New Tab
node id=140 role=window state={"invisible":true} parentID=59 childIds=[65] name=New Tab
node id=65 role=window state={"invisible":true} parentID=140 childIds=[] name=New Tab
node id=61 role=window state={} parentID=59 childIds=[142]
node id=142 role=window state={} parentID=61 childIds=[141]
node id=141 role=window state={} parentID=142 childIds=[138] name=New Tab
node id=138 role=window state={} parentID=141 childIds=[] name=New Tab
node id=62 role=window state={} parentID=59 childIds=[66] name=Chromium - New Tab
node id=66 role=window state={} parentID=62 childIds=[67] name=Chromium - New Tab
node id=67 role=client state={} parentID=66 childIds=[68,69]
node id=68 role=client state={} parentID=67 childIds=[]
node id=69 role=client state={} parentID=67 childIds=[70]
node id=70 role=unknown state={"focused":true} parentID=69 childIds=[]
node id=60 role=window state={} parentID=53 childIds=[71]
node id=71 role=window state={} parentID=60 childIds=[]
node id=54 role=window state={} parentID=41 childIds=[]
node id=55 role=window state={} parentID=41 childIds=[]
node id=56 role=window state={} parentID=41 childIds=[72]
node id=72 role=window state={} parentID=56 childIds=[]
node id=57 role=window state={} parentID=41 childIds=[]
node id=58 role=window state={} parentID=41 childIds=[]
node id=42 role=window state={} parentID=38 childIds=[]
node id=43 role=window state={} parentID=38 childIds=[73,74,75]
node id=73 role=window state={} parentID=43 childIds=[]
node id=74 role=window state={} parentID=43 childIds=[]
node id=75 role=window state={} parentID=43 childIds=[]
node id=37 role=window state={} parentID=38 childIds=[76,36,77,78,79,80,81,82,83,84]
node id=76 role=window state={} parentID=37 childIds=[85]
node id=85 role=window state={} parentID=76 childIds=[31]
node id=31 role=window state={} parentID=85 childIds=[86]
node id=86 role=window state={} parentID=31 childIds=[87]
node id=87 role=pane state={} parentID=86 childIds=[32]
node id=32 role=toolbar state={} parentID=87 childIds=[88,89,90,91] name=Shelf
node id=88 role=unknown state={} parentID=32 childIds=[]
node id=89 role=button state={} parentID=32 childIds=[] name=Back
node id=90 role=button state={"focusable":true} parentID=32 childIds=[] name=Launcher
node id=91 role=button state={"focusable":true} parentID=32 childIds=[92,93] name=Chromium
node id=92 role=unknown state={} parentID=91 childIds=[]
node id=93 role=image state={} parentID=91 childIds=[]
node id=36 role=window state={} parentID=37 childIds=[35,94]
node id=35 role=window state={} parentID=36 childIds=[20]
node id=20 role=window state={} parentID=35 childIds=[21]
node id=21 role=window state={} parentID=20 childIds=[22]
node id=22 role=pane state={} parentID=21 childIds=[23,95]
node id=23 role=button state={"focusable":true} parentID=22 childIds=[24] name=Status tray, time 9:19 AM, Battery is 50% full.
node id=24 role=unknown state={} parentID=23 childIds=[25,27,29,30]
node id=25 role=unknown state={} parentID=24 childIds=[26]
node id=26 role=staticText state={} parentID=25 childIds=[] name=Using US keyboard
node id=27 role=unknown state={} parentID=24 childIds=[34]
node id=34 role=image state={} parentID=27 childIds=[] name=1 notification
node id=29 role=button state={} parentID=24 childIds=[97] name=Battery is 50% full. Time left until battery is empty, 5 hours
node id=97 role=image state={} parentID=29 childIds=[] name=Battery is 50% full. Time left until battery is empty, 5 hours
node id=30 role=unknown state={} parentID=24 childIds=[3]
node id=3 role=time state={} parentID=30 childIds=[4] name=9:20 AM, Friday, November 30, 2018
node id=4 role=staticText state={} parentID=3 childIds=[] name=9:20
node id=95 role=unknown state={} parentID=22 childIds=[98] name=SPM
node id=98 role=unknown state={} parentID=95 childIds=[2]
node id=2 role=button state={} parentID=98 childIds=[99,100,101] name=SPM
node id=99 role=image state={"offscreen":true} parentID=2 childIds=[]
node id=100 role=staticText state={} parentID=2 childIds=[] name=SPM
node id=101 role=unknown state={} parentID=2 childIds=[]
node id=94 role=window state={} parentID=36 childIds=[102]
node id=102 role=window state={} parentID=94 childIds=[103]
node id=103 role=window state={} parentID=102 childIds=[104]
node id=104 role=alertDialog state={} parentID=103 childIds=[105] name=Braille and ChromeVox are enabled
Press Ctrl + Alt + Z to disable spoken feedback.
node id=105 role=button state={"focusable":true} parentID=104 childIds=[106,107,108] name=Braille and ChromeVox are enabled
Press Ctrl + Alt + Z to disable spoken feedback.
node id=106 role=unknown state={} parentID=105 childIds=[]
node id=107 role=button state={"expanded":true,"focusable":true} parentID=105 childIds=[109,110,111] name=Chromium OS
node id=109 role=unknown state={} parentID=107 childIds=[112,113,114,115]
node id=112 role=image state={} parentID=109 childIds=[]
node id=113 role=staticText state={} parentID=109 childIds=[] name=Chromium OS
node id=114 role=staticText state={} parentID=109 childIds=[] name= •
node id=115 role=staticText state={} parentID=109 childIds=[] name=now
node id=110 role=unknown state={} parentID=107 childIds=[]
node id=111 role=unknown state={} parentID=107 childIds=[116]
node id=116 role=button state={"focusable":true} parentID=111 childIds=[] name=Notification close
node id=108 role=unknown state={} parentID=105 childIds=[117]
node id=117 role=unknown state={} parentID=108 childIds=[118,119]
node id=118 role=staticText state={} parentID=117 childIds=[] name=Braille and ChromeVox are enabled
node id=119 role=staticText state={} parentID=117 childIds=[] name=Press Ctrl + Alt + Z to disable spoken feedback.
node id=77 role=window state={} parentID=37 childIds=[]
node id=78 role=window state={} parentID=37 childIds=[]
node id=79 role=window state={} parentID=37 childIds=[120]
node id=120 role=window state={} parentID=79 childIds=[121]
node id=121 role=window state={} parentID=120 childIds=[122]
node id=122 role=window state={} parentID=121 childIds=[123]
node id=123 role=window state={} parentID=122 childIds=[124] name=ChromeVox Panel
node id=124 role=window state={} parentID=123 childIds=[1] childTreeID=7 name=ChromeVox Panel
tree id=7
node id=1 role=rootWebArea state={"focusable":true,"focused":true} parentID=124 childIds=[7,9] name=ChromeVox Panel
node id=7 role=genericContainer state={} parentID=1 childIds=[37,39,41]
node id=37 role=button state={"default":true,"focusable":true} parentID=7 childIds=[] name=ChromeVox Menus
node id=39 role=genericContainer state={} parentID=7 childIds=[51]
node id=51 role=genericContainer state={} parentID=39 childIds=[81]
node id=81 role=genericContainer state={} parentID=51 childIds=[]
node id=41 role=genericContainer state={} parentID=7 childIds=[87,93]
node id=87 role=button state={"default":true,"focusable":true} parentID=41 childIds=[] name=ChromeVox Options
node id=93 role=button state={"default":true,"focusable":true} parentID=41 childIds=[] name=Disable ChromeVox
node id=9 role=genericContainer state={} parentID=1 childIds=[96]
node id=96 role=menuBar state={"horizontal":true,"offscreen":true} parentID=9 childIds=[]
node id=80 role=window state={} parentID=37 childIds=[125]
node id=125 role=window state={} parentID=80 childIds=[]
node id=81 role=window state={} parentID=37 childIds=[]
node id=82 role=window state={} parentID=37 childIds=[]
node id=83 role=window state={} parentID=37 childIds=[]
node id=84 role=window state={} parentID=37 childIds=[]
node id=44 role=window state={} parentID=38 childIds=[]
node id=45 role=window state={} parentID=38 childIds=[]
node id=19 role=window state={"invisible":true,"offscreen":true} parentID=18 childIds=[]
"
,
Dec 1
,
Dec 1
,
Dec 3
That's correct; two browser windows were open. As you can see though, the entire ash tree (including launcher and status tray) are also included in the same tree. This indicates that we need AXTreeSourceAura to continue being able to walk windows, widgets, and views. The ChromeVox Panel (which is exposed as a child web contents), is also included correctly.
,
Dec 3
,
Dec 3
I don't understand why that implies we need one tree source that does windows, widgets, and views. Could there be one AXTreeSource for ash could that would just walk down until it encounters a widget, then something else that would serialize the widgets and views inside each browser window as a child tree?
,
Dec 13
This will get fixed by my SingleProcessMash "fence hopper" CL. |
|||||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||||
Comment 1 by jamescook@chromium.org
, Dec 1