Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: chrome/browser/ui/views/tabs/tab_drag_controller.h

Issue 23523018: Fixes use after free during drag and drop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge 2 trunk Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_
6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ 6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 // This is used to calculate window_create_point_. 528 // This is used to calculate window_create_point_.
529 gfx::Point first_source_tab_point_; 529 gfx::Point first_source_tab_point_;
530 530
531 // The bounds of the browser window before the last Tab was detached. When 531 // The bounds of the browser window before the last Tab was detached. When
532 // the last Tab is detached, rather than destroying the frame (which would 532 // the last Tab is detached, rather than destroying the frame (which would
533 // abort the drag session), the frame is moved off-screen. If the drag is 533 // abort the drag session), the frame is moved off-screen. If the drag is
534 // aborted (e.g. by the user pressing Esc, or capture being lost), the Tab is 534 // aborted (e.g. by the user pressing Esc, or capture being lost), the Tab is
535 // attached to the hidden frame and the frame moved back to these bounds. 535 // attached to the hidden frame and the frame moved back to these bounds.
536 gfx::Rect restore_bounds_; 536 gfx::Rect restore_bounds_;
537 537
538 // The last view that had focus in the window containing |source_tab_|. This 538 // ID of the last view that had focus in the window containing
539 // is saved so that focus can be restored properly when a drag begins and 539 // |source_tab_|. This is saved so that focus can be restored properly when a
540 // ends within this same window. 540 // drag begins and ends within this same window.
541 views::View* old_focused_view_; 541 const int old_focused_view_id_;
542 542
543 // The position along the major axis of the mouse cursor in screen coordinates 543 // The position along the major axis of the mouse cursor in screen coordinates
544 // at the time of the last re-order event. 544 // at the time of the last re-order event.
545 int last_move_screen_loc_; 545 int last_move_screen_loc_;
546 546
547 DockInfo dock_info_; 547 DockInfo dock_info_;
548 548
549 DockWindows dock_windows_; 549 DockWindows dock_windows_;
550 550
551 std::vector<DockDisplayer*> dock_controllers_; 551 std::vector<DockDisplayer*> dock_controllers_;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 // If non-null set to true from destructor. 615 // If non-null set to true from destructor.
616 bool* destroyed_; 616 bool* destroyed_;
617 617
618 // See description above getter. 618 // See description above getter.
619 bool is_mutating_; 619 bool is_mutating_;
620 620
621 DISALLOW_COPY_AND_ASSIGN(TabDragController); 621 DISALLOW_COPY_AND_ASSIGN(TabDragController);
622 }; 622 };
623 623
624 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_ 624 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_DRAG_CONTROLLER_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/native_browser_frame_factory_win.cc ('k') | chrome/browser/ui/views/tabs/tab_drag_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698