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

Side by Side Diff: chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm

Issue 2309563002: Check if BubbleReference weak pointer is valid before using it in the chooser (Closed)
Patch Set: ran "git cl upload" twice, same as the previous patch. Created 4 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
« no previous file with comments | « no previous file | chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #import "chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.h" 5 #import "chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <cmath> 10 #include <cmath>
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 NSRect frameA = [viewA frame]; 259 NSRect frameA = [viewA frame];
260 NSRect frameB = [viewB frame]; 260 NSRect frameB = [viewB frame];
261 frameA.origin.y = 261 frameA.origin.y =
262 NSMinY(frameB) + std::floor((NSHeight(frameB) - NSHeight(frameA)) / 2); 262 NSMinY(frameB) + std::floor((NSHeight(frameB) - NSHeight(frameA)) / 2);
263 [viewA setFrameOrigin:frameA.origin]; 263 [viewA setFrameOrigin:frameA.origin];
264 } 264 }
265 265
266 - (void)onConnect:(id)sender { 266 - (void)onConnect:(id)sender {
267 buttonPressed_ = true; 267 buttonPressed_ = true;
268 [chooserContentView_ accept]; 268 [chooserContentView_ accept];
269 self.bubbleReference->CloseBubble(BUBBLE_CLOSE_ACCEPTED); 269 if (self.bubbleReference)
270 self.bubbleReference->CloseBubble(BUBBLE_CLOSE_ACCEPTED);
270 [self close]; 271 [self close];
271 } 272 }
272 273
273 - (void)onCancel:(id)sender { 274 - (void)onCancel:(id)sender {
274 buttonPressed_ = true; 275 buttonPressed_ = true;
275 [chooserContentView_ cancel]; 276 [chooserContentView_ cancel];
276 self.bubbleReference->CloseBubble(BUBBLE_CLOSE_CANCELED); 277 if (self.bubbleReference)
278 self.bubbleReference->CloseBubble(BUBBLE_CLOSE_CANCELED);
277 [self close]; 279 [self close];
278 } 280 }
279 281
280 @end 282 @end
281 283
282 ChooserBubbleUiCocoa::ChooserBubbleUiCocoa( 284 ChooserBubbleUiCocoa::ChooserBubbleUiCocoa(
283 Browser* browser, 285 Browser* browser,
284 std::unique_ptr<ChooserController> chooser_controller) 286 std::unique_ptr<ChooserController> chooser_controller)
285 : browser_(browser), 287 : browser_(browser),
286 chooser_bubble_ui_controller_(nil) { 288 chooser_bubble_ui_controller_(nil) {
(...skipping 26 matching lines...) Expand all
313 } 315 }
314 316
315 void ChooserBubbleUiCocoa::UpdateAnchorPosition() { 317 void ChooserBubbleUiCocoa::UpdateAnchorPosition() {
316 if (chooser_bubble_ui_controller_) 318 if (chooser_bubble_ui_controller_)
317 [chooser_bubble_ui_controller_ updateAnchorPosition]; 319 [chooser_bubble_ui_controller_ updateAnchorPosition];
318 } 320 }
319 321
320 void ChooserBubbleUiCocoa::OnBubbleClosing() { 322 void ChooserBubbleUiCocoa::OnBubbleClosing() {
321 chooser_bubble_ui_controller_ = nil; 323 chooser_bubble_ui_controller_ = nil;
322 } 324 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698