And instead use ViewObserver, which is more reliable.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa commit 4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa Author: Scott Violet <sky@chromium.org> Date: Thu Jun 01 15:07:28 2017 views: Removes ViewStorage usage from FocusManager And instead uses ViewTracker BUG= 727934 TEST=covered by tests Change-Id: Ib9a1f6c894d91053526c85d81ee3a2be849ff955 Reviewed-on: https://chromium-review.googlesource.com/520266 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: Michael Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#476293} [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/chrome/browser/browser_process_impl.cc [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/chrome/browser/ui/views/dropdown_bar_host.cc [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/chrome/browser/ui/views/find_bar_host.cc [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/chrome/browser/ui/views/toolbar/toolbar_view.cc [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/BUILD.gn [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/accessibility/native_view_accessibility_win.cc [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/focus/focus_manager.cc [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/focus/focus_manager.h [add] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/view_tracker.cc [add] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/view_tracker.h [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/widget/root_view.cc [modify] https://crrev.com/4aba27cc3025b6a9e1f25d24d1f1950eed5c44aa/ui/views/window/dialog_client_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44b004ca4a75dfdca74aa2605f4ef027f1434299 commit 44b004ca4a75dfdca74aa2605f4ef027f1434299 Author: Scott Violet <sky@chromium.org> Date: Mon Jun 05 16:46:08 2017 views: convert ViewStorage to ViewTracker BrowserView didn't need it at all. BUG= 727934 TEST=covered by tests R=msw@chromium.org Change-Id: Ia5d3a44a0d0e9f6ea7d152a0c42cabd253636712 Reviewed-on: https://chromium-review.googlesource.com/522243 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: Michael Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#476999} [modify] https://crrev.com/44b004ca4a75dfdca74aa2605f4ef027f1434299/chrome/browser/ui/views/frame/browser_view.cc [modify] https://crrev.com/44b004ca4a75dfdca74aa2605f4ef027f1434299/chrome/browser/ui/views/frame/browser_view.h [modify] https://crrev.com/44b004ca4a75dfdca74aa2605f4ef027f1434299/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc [modify] https://crrev.com/44b004ca4a75dfdca74aa2605f4ef027f1434299/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.h [modify] https://crrev.com/44b004ca4a75dfdca74aa2605f4ef027f1434299/ui/views/view_tracker.cc [modify] https://crrev.com/44b004ca4a75dfdca74aa2605f4ef027f1434299/ui/views/view_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/445803df423a6d3aa10024ff89ce33e52817c547 commit 445803df423a6d3aa10024ff89ce33e52817c547 Author: Scott Violet <sky@chromium.org> Date: Mon Jun 05 18:27:40 2017 views: simplify ViewTracker You were right! All consumers only want a single View, so simplify ViewTracker to only handle a single view. BUG= 727934 TEST=covered by tests R=msw@chromium.org Change-Id: I9c504e616bec9f42f5de4b1b9c6e20c970e95002 Reviewed-on: https://chromium-review.googlesource.com/522388 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: Michael Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#477036} [modify] https://crrev.com/445803df423a6d3aa10024ff89ce33e52817c547/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc [modify] https://crrev.com/445803df423a6d3aa10024ff89ce33e52817c547/ui/views/focus/focus_manager.cc [modify] https://crrev.com/445803df423a6d3aa10024ff89ce33e52817c547/ui/views/view_tracker.cc [modify] https://crrev.com/445803df423a6d3aa10024ff89ce33e52817c547/ui/views/view_tracker.h [modify] https://crrev.com/445803df423a6d3aa10024ff89ce33e52817c547/ui/views/window/dialog_client_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/40c3d19c6990288bb88f28086e088306feae4766 commit 40c3d19c6990288bb88f28086e088306feae4766 Author: Scott Violet <sky@chromium.org> Date: Tue Jun 06 17:40:14 2017 views: remove ViewStorage And replace remaining use with ViewTracker. BUG= 727934 TEST=covered by tests R=msw@chromium.org Change-Id: If172c0cb27eb85490e2ffc0b6925852df4f9969c Reviewed-on: https://chromium-review.googlesource.com/525052 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: Michael Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#477330} [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/chrome/browser/ui/views/tabs/tab_drag_controller.cc [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/chrome/browser/ui/views/tabs/tab_drag_controller.h [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/BUILD.gn [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/accessible_pane_view.cc [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/accessible_pane_view.h [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/bubble/bubble_dialog_delegate.cc [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/bubble/bubble_dialog_delegate.h [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/controls/menu/menu_controller.cc [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/controls/menu/menu_controller.h [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/focus/external_focus_tracker.cc [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/focus/external_focus_tracker.h [delete] https://crrev.com/6343a446839e50636e78352df4627c61edbfe4f8/ui/views/focus/view_storage.cc [delete] https://crrev.com/6343a446839e50636e78352df4627c61edbfe4f8/ui/views/focus/view_storage.h [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/view.cc [add] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/view_tracker_unittest.cc [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/view_unittest.cc [modify] https://crrev.com/40c3d19c6990288bb88f28086e088306feae4766/ui/views/widget/widget.cc
Comment 1 by bugdroid1@chromium.org
, Jun 1 2017