DescriptionFixes use after free during drag and drop.
Apparently under windows requesting focus can trigger capture lost,
which caused all sorts of problems with tab dragging. When you've
dragged enough to initiate a real tab drag we save focus. The code
never expected saving focus to trigger a capture lost (which stops tab
dragging), which triggered the crash. The fix is to make the code
allow for saving focus to delete the TabDragController.
I'm also converting from storing a raw View* for the previously focused view to a ViewStorage id. This way if the previously focused view is deleted no crashes.
I had to add a bit of infrastructure for the test.
BUG=275931
TEST=covered by test now.
R=ben@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=221456
Patch Set 1 #Patch Set 2 : Cleanup #Patch Set 3 : Remove unused variable #Patch Set 4 : Reupload #Patch Set 5 : Merge 2 trunk #Messages
Total messages: 10 (0 generated)
|