| OLD | NEW |
| 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 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h" | 5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h" |
| 6 | 6 |
| 7 #include "base/strings/sys_string_conversions.h" | 7 #include "base/strings/sys_string_conversions.h" |
| 8 #include "chrome/app/chrome_command_ids.h" // IDC_BOOKMARK_MENU | 8 #include "chrome/app/chrome_command_ids.h" // IDC_BOOKMARK_MENU |
| 9 #import "chrome/browser/app_controller_mac.h" | 9 #import "chrome/browser/app_controller_mac.h" |
| 10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 | 83 |
| 84 // Return the a BookmarkNode that has the given id (called | 84 // Return the a BookmarkNode that has the given id (called |
| 85 // "identifier" here to avoid conflict with objc's concept of "id"). | 85 // "identifier" here to avoid conflict with objc's concept of "id"). |
| 86 - (const BookmarkNode*)nodeForIdentifier:(int)identifier { | 86 - (const BookmarkNode*)nodeForIdentifier:(int)identifier { |
| 87 return bookmarks::GetBookmarkNodeByID(bridge_->GetBookmarkModel(), | 87 return bookmarks::GetBookmarkNodeByID(bridge_->GetBookmarkModel(), |
| 88 identifier); | 88 identifier); |
| 89 } | 89 } |
| 90 | 90 |
| 91 // Open the URL of the given BookmarkNode in the current tab. | 91 // Open the URL of the given BookmarkNode in the current tab. |
| 92 - (void)openURLForNode:(const BookmarkNode*)node { | 92 - (void)openURLForNode:(const BookmarkNode*)node { |
| 93 Browser* browser = | 93 Browser* browser = chrome::FindTabbedBrowser(bridge_->GetProfile(), true); |
| 94 chrome::FindTabbedBrowser(bridge_->GetProfile(), | |
| 95 true, | |
| 96 chrome::HOST_DESKTOP_TYPE_NATIVE); | |
| 97 if (!browser) { | 94 if (!browser) { |
| 98 browser = new Browser(Browser::CreateParams( | 95 browser = new Browser(Browser::CreateParams( |
| 99 bridge_->GetProfile(), chrome::HOST_DESKTOP_TYPE_NATIVE)); | 96 bridge_->GetProfile(), chrome::HOST_DESKTOP_TYPE_NATIVE)); |
| 100 } | 97 } |
| 101 WindowOpenDisposition disposition = | 98 WindowOpenDisposition disposition = |
| 102 ui::WindowOpenDispositionFromNSEvent([NSApp currentEvent]); | 99 ui::WindowOpenDispositionFromNSEvent([NSApp currentEvent]); |
| 103 OpenURLParams params( | 100 OpenURLParams params( |
| 104 node->url(), Referrer(), disposition, | 101 node->url(), Referrer(), disposition, |
| 105 ui::PAGE_TRANSITION_AUTO_BOOKMARK, false); | 102 ui::PAGE_TRANSITION_AUTO_BOOKMARK, false); |
| 106 browser->OpenURL(params); | 103 browser->OpenURL(params); |
| 107 } | 104 } |
| 108 | 105 |
| 109 // Open sites under BookmarkNode with the specified disposition. | 106 // Open sites under BookmarkNode with the specified disposition. |
| 110 - (void)openAll:(NSInteger)tag | 107 - (void)openAll:(NSInteger)tag |
| 111 withDisposition:(WindowOpenDisposition)disposition { | 108 withDisposition:(WindowOpenDisposition)disposition { |
| 112 int identifier = tag; | 109 int identifier = tag; |
| 113 | 110 |
| 114 const BookmarkNode* node = [self nodeForIdentifier:identifier]; | 111 const BookmarkNode* node = [self nodeForIdentifier:identifier]; |
| 115 DCHECK(node); | 112 DCHECK(node); |
| 116 | 113 |
| 117 Browser* browser = | 114 Browser* browser = chrome::FindTabbedBrowser(bridge_->GetProfile(), true); |
| 118 chrome::FindTabbedBrowser(bridge_->GetProfile(), | |
| 119 true, | |
| 120 chrome::HOST_DESKTOP_TYPE_NATIVE); | |
| 121 if (!browser) { | 115 if (!browser) { |
| 122 browser = new Browser(Browser::CreateParams( | 116 browser = new Browser(Browser::CreateParams( |
| 123 bridge_->GetProfile(), chrome::HOST_DESKTOP_TYPE_NATIVE)); | 117 bridge_->GetProfile(), chrome::HOST_DESKTOP_TYPE_NATIVE)); |
| 124 } | 118 } |
| 125 DCHECK(browser); | 119 DCHECK(browser); |
| 126 | 120 |
| 127 if (!node || !browser) | 121 if (!node || !browser) |
| 128 return; // shouldn't be reached | 122 return; // shouldn't be reached |
| 129 | 123 |
| 130 chrome::OpenAll(NULL, browser, node, disposition, browser->profile()); | 124 chrome::OpenAll(NULL, browser, node, disposition, browser->profile()); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 156 | 150 |
| 157 - (IBAction)openAllBookmarksNewWindow:(id)sender { | 151 - (IBAction)openAllBookmarksNewWindow:(id)sender { |
| 158 [self openAll:[sender tag] withDisposition:NEW_WINDOW]; | 152 [self openAll:[sender tag] withDisposition:NEW_WINDOW]; |
| 159 } | 153 } |
| 160 | 154 |
| 161 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender { | 155 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender { |
| 162 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD]; | 156 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD]; |
| 163 } | 157 } |
| 164 | 158 |
| 165 @end // BookmarkMenuCocoaController | 159 @end // BookmarkMenuCocoaController |
| OLD | NEW |