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