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

Side by Side Diff: chrome/browser/notifications/balloon_collection_impl.h

Issue 9621020: Fix 117074: Panels [WIN]: Crash data shows a stack trace consistently involving PanelManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch to land Created 8 years, 9 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
« no previous file with comments | « no previous file | chrome/browser/notifications/balloon_collection_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // Handles the visible notification (or balloons). 5 // Handles the visible notification (or balloons).
6 6
7 #ifndef CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_IMPL_H_ 7 #ifndef CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_IMPL_H_
8 #define CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_IMPL_H_ 8 #define CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_IMPL_H_
9 #pragma once 9 #pragma once
10 10
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 gfx::Point OffScreenLocation() const; 136 gfx::Point OffScreenLocation() const;
137 137
138 // Returns true if the layout requires offsetting for keeping the close 138 // Returns true if the layout requires offsetting for keeping the close
139 // buttons under the cursor during rapid-close interaction. 139 // buttons under the cursor during rapid-close interaction.
140 bool RequiresOffsets() const; 140 bool RequiresOffsets() const;
141 141
142 // Returns true if there is change to the offset that requires the balloons 142 // Returns true if there is change to the offset that requires the balloons
143 // to be repositioned. 143 // to be repositioned.
144 bool ComputeOffsetToMoveAbovePanels(const gfx::Rect& panel_bounds); 144 bool ComputeOffsetToMoveAbovePanels(const gfx::Rect& panel_bounds);
145 145
146 void enable_computing_panel_offset() {
147 need_to_compute_panel_offset_ = true;
148 }
149
146 private: 150 private:
147 // Layout parameters 151 // Layout parameters
148 int VerticalEdgeMargin() const; 152 int VerticalEdgeMargin() const;
149 int HorizontalEdgeMargin() const; 153 int HorizontalEdgeMargin() const;
150 int InterBalloonMargin() const; 154 int InterBalloonMargin() const;
151 155
152 bool NeedToMoveAboveLeftSidePanels() const; 156 bool NeedToMoveAboveLeftSidePanels() const;
153 bool NeedToMoveAboveRightSidePanels() const; 157 bool NeedToMoveAboveRightSidePanels() const;
154 158
155 // Minimum and maximum size of balloon content. 159 // Minimum and maximum size of balloon content.
156 static const int kBalloonMinWidth = 300; 160 static const int kBalloonMinWidth = 300;
157 static const int kBalloonMaxWidth = 300; 161 static const int kBalloonMaxWidth = 300;
158 static const int kBalloonMinHeight = 24; 162 static const int kBalloonMinHeight = 24;
159 static const int kBalloonMaxHeight = 160; 163 static const int kBalloonMaxHeight = 160;
160 164
161 Placement placement_; 165 Placement placement_;
162 gfx::Rect work_area_; 166 gfx::Rect work_area_;
163 167
168 // The flag that indicates that the panel offset computation should be
169 // performed.
170 bool need_to_compute_panel_offset_;
171
164 // The offset that guarantees that the notificaitions shown in the 172 // The offset that guarantees that the notificaitions shown in the
165 // lower-right or lower-left corner of the screen will go above currently 173 // lower-right or lower-left corner of the screen will go above currently
166 // shown panels and will not be obscured by them. 174 // shown panels and will not be obscured by them.
167 int offset_to_move_above_panels_; 175 int offset_to_move_above_panels_;
168 176
169 DISALLOW_COPY_AND_ASSIGN(Layout); 177 DISALLOW_COPY_AND_ASSIGN(Layout);
170 }; 178 };
171 179
172 // Creates a new balloon. Overridable by derived classes and unit tests. 180 // Creates a new balloon. Overridable by derived classes and unit tests.
173 // The caller is responsible for freeing the pointer returned. 181 // The caller is responsible for freeing the pointer returned.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 base::WeakPtrFactory<BalloonCollectionImpl> reposition_factory_; 233 base::WeakPtrFactory<BalloonCollectionImpl> reposition_factory_;
226 234
227 // Is the balloon collection currently listening for UI events? 235 // Is the balloon collection currently listening for UI events?
228 bool added_as_message_loop_observer_; 236 bool added_as_message_loop_observer_;
229 #endif 237 #endif
230 238
231 DISALLOW_COPY_AND_ASSIGN(BalloonCollectionImpl); 239 DISALLOW_COPY_AND_ASSIGN(BalloonCollectionImpl);
232 }; 240 };
233 241
234 #endif // CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_IMPL_H_ 242 #endif // CHROME_BROWSER_NOTIFICATIONS_BALLOON_COLLECTION_IMPL_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/notifications/balloon_collection_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698