|
|
Chromium Code Reviews
Descriptionmus: Fix a teardown crash.
FrameGenerator installs itself as an observer to a number of windows.
When a window is destroyed, it removes itself from the observer list.
However, if the FrameGenerator is destroyed before the windows (which
is the case during teardown), then FrameGenerator does not remove
itself from the set of observers for the windows. To fix this, change
FrameGenerator to use the ServerWindowTracker to track the windows,
so that it is correctly removed from the observer list during tear
down.
BUG=658753
Committed: https://crrev.com/5c957cc407f5599935fdb3a2de0c5a80415e9557
Cr-Commit-Position: refs/heads/master@{#428082}
Patch Set 1 #Patch Set 2 : . #
Total comments: 2
Patch Set 3 : . #Patch Set 4 : . #Messages
Total messages: 27 (18 generated)
The CQ bit was checked by sadrul@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by sadrul@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
I looked into adding a test, but the window/surface management in FrameGenerator is going away in a few weeks, and we do not have mechanisms for submitting dummy compositor-frames in tests. So no tests for now.
sadrul@google.com changed reviewers: + sky@chromium.org
+sky@
LGTM https://codereview.chromium.org/2451863003/diff/20001/services/ui/ws/frame_ge... File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2451863003/diff/20001/services/ui/ws/frame_ge... services/ui/ws/frame_generator.cc:302: ServerWindowTracker::OnWindowDestroying(window); Seems weird to call OnWindowDestroying (which is really an implementation detail). Can you call Remove() here?
The CQ bit was checked by sadrul@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
https://codereview.chromium.org/2451863003/diff/20001/services/ui/ws/frame_ge... File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2451863003/diff/20001/services/ui/ws/frame_ge... services/ui/ws/frame_generator.cc:302: ServerWindowTracker::OnWindowDestroying(window); On 2016/10/26 17:48:41, sky wrote: > Seems weird to call OnWindowDestroying (which is really an implementation > detail). Can you call Remove() here? Done.
The CQ bit was checked by sadrul@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from sky@chromium.org Link to the patchset: https://codereview.chromium.org/2451863003/#ps60001 (title: ".")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by sadrul@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
Description was changed from ========== mus: Fix a teardown crash. FrameGenerator installs itself as an observer to a number of windows. When a window is destroyed, it removes itself from the observer list. However, if the FrameGenerator is destroyed before the windows (which is the case during teardown), then FrameGenerator does not remove itself from the set of observers for the windows. To fix this, change FrameGenerator to use the ServerWindowTracker to track the windows, so that it is correctly removed from the observer list during tear down. BUG=658753 ========== to ========== mus: Fix a teardown crash. FrameGenerator installs itself as an observer to a number of windows. When a window is destroyed, it removes itself from the observer list. However, if the FrameGenerator is destroyed before the windows (which is the case during teardown), then FrameGenerator does not remove itself from the set of observers for the windows. To fix this, change FrameGenerator to use the ServerWindowTracker to track the windows, so that it is correctly removed from the observer list during tear down. BUG=658753 Committed: https://crrev.com/5c957cc407f5599935fdb3a2de0c5a80415e9557 Cr-Commit-Position: refs/heads/master@{#428082} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/5c957cc407f5599935fdb3a2de0c5a80415e9557 Cr-Commit-Position: refs/heads/master@{#428082} |
