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

Side by Side Diff: chrome/browser/ui/cocoa/browser_window_cocoa.mm

Issue 9215002: Fix window zoom in a sane way, remove nasty casts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: style Created 8 years, 11 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 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h" 5 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
11 #include "base/sys_string_conversions.h" 11 #include "base/sys_string_conversions.h"
12 #include "chrome/app/chrome_command_ids.h" 12 #include "chrome/app/chrome_command_ids.h"
13 #include "chrome/browser/bookmarks/bookmark_utils.h" 13 #include "chrome/browser/bookmarks/bookmark_utils.h"
14 #include "chrome/browser/download/download_shelf.h" 14 #include "chrome/browser/download/download_shelf.h"
15 #include "chrome/browser/prefs/pref_service.h" 15 #include "chrome/browser/prefs/pref_service.h"
16 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
17 #include "chrome/browser/tab_contents/tab_contents_view_mac.h"
18 #include "chrome/browser/ui/browser.h" 17 #include "chrome/browser/ui/browser.h"
19 #include "chrome/browser/ui/browser_list.h" 18 #include "chrome/browser/ui/browser_list.h"
20 #import "chrome/browser/ui/cocoa/browser/avatar_button_controller.h" 19 #import "chrome/browser/ui/cocoa/browser/avatar_button_controller.h"
21 #import "chrome/browser/ui/cocoa/browser/avatar_menu_bubble_controller.h" 20 #import "chrome/browser/ui/cocoa/browser/avatar_menu_bubble_controller.h"
22 #import "chrome/browser/ui/cocoa/browser/edit_search_engine_cocoa_controller.h" 21 #import "chrome/browser/ui/cocoa/browser/edit_search_engine_cocoa_controller.h"
23 #import "chrome/browser/ui/cocoa/browser_window_controller.h" 22 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
24 #import "chrome/browser/ui/cocoa/browser_window_utils.h" 23 #import "chrome/browser/ui/cocoa/browser_window_utils.h"
25 #import "chrome/browser/ui/cocoa/chrome_event_processing_window.h" 24 #import "chrome/browser/ui/cocoa/chrome_event_processing_window.h"
26 #import "chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.h" 25 #import "chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.h"
27 #import "chrome/browser/ui/cocoa/download/download_shelf_controller.h" 26 #import "chrome/browser/ui/cocoa/download/download_shelf_controller.h"
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 [controller_ destroyBrowser]; 596 [controller_ destroyBrowser];
598 597
599 // at this point the controller is dead (autoreleased), so 598 // at this point the controller is dead (autoreleased), so
600 // make sure we don't try to reference it any more. 599 // make sure we don't try to reference it any more.
601 } 600 }
602 601
603 NSWindow* BrowserWindowCocoa::window() const { 602 NSWindow* BrowserWindowCocoa::window() const {
604 return [controller_ window]; 603 return [controller_ window];
605 } 604 }
606 605
607 void BrowserWindowCocoa::UpdatePreferredSize(content::WebContents* web_contents,
608 const gfx::Size& pref_size) {
609 static_cast<TabContentsViewMac*>(web_contents->GetView())->
610 set_preferred_width(pref_size.width());
611 }
612
613 void BrowserWindowCocoa::ShowAvatarBubble(WebContents* web_contents, 606 void BrowserWindowCocoa::ShowAvatarBubble(WebContents* web_contents,
614 const gfx::Rect& rect) { 607 const gfx::Rect& rect) {
615 NSView* view = web_contents->GetNativeView(); 608 NSView* view = web_contents->GetNativeView();
616 NSRect bounds = [view bounds]; 609 NSRect bounds = [view bounds];
617 NSPoint point; 610 NSPoint point;
618 point.x = NSMinX(bounds) + rect.right(); 611 point.x = NSMinX(bounds) + rect.right();
619 // The view's origin is at the bottom but |rect|'s origin is at the top. 612 // The view's origin is at the bottom but |rect|'s origin is at the top.
620 point.y = NSMaxY(bounds) - rect.bottom(); 613 point.y = NSMaxY(bounds) - rect.bottom();
621 point = [view convertPoint:point toView:nil]; 614 point = [view convertPoint:point toView:nil];
622 point = [[view window] convertBaseToScreen:point]; 615 point = [[view window] convertBaseToScreen:point];
623 616
624 // |menu| will automatically release itself on close. 617 // |menu| will automatically release itself on close.
625 AvatarMenuBubbleController* menu = 618 AvatarMenuBubbleController* menu =
626 [[AvatarMenuBubbleController alloc] initWithBrowser:browser_ 619 [[AvatarMenuBubbleController alloc] initWithBrowser:browser_
627 anchoredAt:point]; 620 anchoredAt:point];
628 [[menu bubble] setAlignment:info_bubble::kAlignEdgeToAnchorEdge]; 621 [[menu bubble] setAlignment:info_bubble::kAlignEdgeToAnchorEdge];
629 [menu showWindow:nil]; 622 [menu showWindow:nil];
630 } 623 }
631 624
632 void BrowserWindowCocoa::ShowAvatarBubbleFromAvatarButton() { 625 void BrowserWindowCocoa::ShowAvatarBubbleFromAvatarButton() {
633 [[controller_ avatarButtonController] showAvatarBubble]; 626 [[controller_ avatarButtonController] showAvatarBubble];
634 } 627 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_cocoa.h ('k') | chrome/browser/ui/cocoa/browser_window_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698