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

Side by Side Diff: chrome/browser/ui/views/exclusive_access_bubble_views.h

Issue 2850403002: Fix crash under ExclusiveAccessBubbleViews::AnimationProgressed(). (Closed)
Patch Set: respond to comments Created 3 years, 7 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
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_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_H_
6 #define CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_H_ 6 #define CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 void UpdateMouseWatcher(); 54 void UpdateMouseWatcher();
55 55
56 // Updates |popup|'s bounds given |animation_| and |animated_attribute_|. 56 // Updates |popup|'s bounds given |animation_| and |animated_attribute_|.
57 void UpdateBounds(); 57 void UpdateBounds();
58 58
59 void UpdateViewContent(ExclusiveAccessBubbleType bubble_type); 59 void UpdateViewContent(ExclusiveAccessBubbleType bubble_type);
60 60
61 // Returns the root view containing |browser_view_|. 61 // Returns the root view containing |browser_view_|.
62 views::View* GetBrowserRootView() const; 62 views::View* GetBrowserRootView() const;
63 63
64 // ExclusiveAccessBubble overrides: 64 // ExclusiveAccessBubble:
65 void AnimationProgressed(const gfx::Animation* animation) override; 65 void AnimationProgressed(const gfx::Animation* animation) override;
66 void AnimationEnded(const gfx::Animation* animation) override; 66 void AnimationEnded(const gfx::Animation* animation) override;
67 gfx::Rect GetPopupRect(bool ignore_animation_state) const override; 67 gfx::Rect GetPopupRect(bool ignore_animation_state) const override;
68 gfx::Point GetCursorScreenPoint() override; 68 gfx::Point GetCursorScreenPoint() override;
69 bool WindowContainsPoint(gfx::Point pos) override; 69 bool WindowContainsPoint(gfx::Point pos) override;
70 bool IsWindowActive() override; 70 bool IsWindowActive() override;
71 void Hide() override; 71 void Hide() override;
72 void Show() override; 72 void Show() override;
73 bool IsAnimating() override; 73 bool IsAnimating() override;
74 bool CanMouseTriggerSlideIn() const override; 74 bool CanMouseTriggerSlideIn() const override;
75 75
76 // content::NotificationObserver override: 76 // content::NotificationObserver:
77 void Observe(int type, 77 void Observe(int type,
78 const content::NotificationSource& source, 78 const content::NotificationSource& source,
79 const content::NotificationDetails& details) override; 79 const content::NotificationDetails& details) override;
80 80
81 // views::WidgetObserver override: 81 // views::WidgetObserver:
82 void OnWidgetDestroyed(views::Widget* widget) override;
82 void OnWidgetVisibilityChanged(views::Widget* widget, bool visible) override; 83 void OnWidgetVisibilityChanged(views::Widget* widget, bool visible) override;
83 84
84 // views::LinkListener override: 85 // views::LinkListener override:
85 void LinkClicked(views::Link* source, int event_flags) override; 86 void LinkClicked(views::Link* source, int event_flags) override;
86 87
87 ExclusiveAccessBubbleViewsContext* const bubble_view_context_; 88 ExclusiveAccessBubbleViewsContext* const bubble_view_context_;
88 89
89 views::Widget* popup_; 90 views::Widget* popup_;
90 91
91 // Animation controlling showing/hiding of the exit bubble. 92 // Animation controlling showing/hiding of the exit bubble.
92 std::unique_ptr<gfx::SlideAnimation> animation_; 93 std::unique_ptr<gfx::SlideAnimation> animation_;
93 94
94 // The contents of the popup. 95 // The contents of the popup.
95 SubtleNotificationView* view_; 96 SubtleNotificationView* view_;
96 base::string16 browser_fullscreen_exit_accelerator_; 97 base::string16 browser_fullscreen_exit_accelerator_;
97 98
98 content::NotificationRegistrar registrar_; 99 content::NotificationRegistrar registrar_;
99 100
100 DISALLOW_COPY_AND_ASSIGN(ExclusiveAccessBubbleViews); 101 DISALLOW_COPY_AND_ASSIGN(ExclusiveAccessBubbleViews);
101 }; 102 };
102 103
103 #endif // CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_H_ 104 #endif // CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698