| 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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 = chrome::FindTabbedBrowser(bridge_->GetProfile(), true); | 93 Browser* browser = chrome::FindTabbedBrowser(bridge_->GetProfile(), true); |
| 94 if (!browser) { | 94 if (!browser) { |
| 95 browser = new Browser(Browser::CreateParams( | 95 browser = new Browser(Browser::CreateParams(bridge_->GetProfile())); |
| 96 bridge_->GetProfile(), chrome::HOST_DESKTOP_TYPE_NATIVE)); | |
| 97 } | 96 } |
| 98 WindowOpenDisposition disposition = | 97 WindowOpenDisposition disposition = |
| 99 ui::WindowOpenDispositionFromNSEvent([NSApp currentEvent]); | 98 ui::WindowOpenDispositionFromNSEvent([NSApp currentEvent]); |
| 100 OpenURLParams params( | 99 OpenURLParams params( |
| 101 node->url(), Referrer(), disposition, | 100 node->url(), Referrer(), disposition, |
| 102 ui::PAGE_TRANSITION_AUTO_BOOKMARK, false); | 101 ui::PAGE_TRANSITION_AUTO_BOOKMARK, false); |
| 103 browser->OpenURL(params); | 102 browser->OpenURL(params); |
| 104 } | 103 } |
| 105 | 104 |
| 106 // Open sites under BookmarkNode with the specified disposition. | 105 // Open sites under BookmarkNode with the specified disposition. |
| 107 - (void)openAll:(NSInteger)tag | 106 - (void)openAll:(NSInteger)tag |
| 108 withDisposition:(WindowOpenDisposition)disposition { | 107 withDisposition:(WindowOpenDisposition)disposition { |
| 109 int identifier = tag; | 108 int identifier = tag; |
| 110 | 109 |
| 111 const BookmarkNode* node = [self nodeForIdentifier:identifier]; | 110 const BookmarkNode* node = [self nodeForIdentifier:identifier]; |
| 112 DCHECK(node); | 111 DCHECK(node); |
| 113 | 112 |
| 114 Browser* browser = chrome::FindTabbedBrowser(bridge_->GetProfile(), true); | 113 Browser* browser = chrome::FindTabbedBrowser(bridge_->GetProfile(), true); |
| 115 if (!browser) { | 114 if (!browser) { |
| 116 browser = new Browser(Browser::CreateParams( | 115 browser = new Browser(Browser::CreateParams(bridge_->GetProfile())); |
| 117 bridge_->GetProfile(), chrome::HOST_DESKTOP_TYPE_NATIVE)); | |
| 118 } | 116 } |
| 119 DCHECK(browser); | 117 DCHECK(browser); |
| 120 | 118 |
| 121 if (!node || !browser) | 119 if (!node || !browser) |
| 122 return; // shouldn't be reached | 120 return; // shouldn't be reached |
| 123 | 121 |
| 124 chrome::OpenAll(NULL, browser, node, disposition, browser->profile()); | 122 chrome::OpenAll(NULL, browser, node, disposition, browser->profile()); |
| 125 | 123 |
| 126 if (disposition == NEW_FOREGROUND_TAB) { | 124 if (disposition == NEW_FOREGROUND_TAB) { |
| 127 content::RecordAction(UserMetricsAction("OpenAllBookmarks")); | 125 content::RecordAction(UserMetricsAction("OpenAllBookmarks")); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 150 | 148 |
| 151 - (IBAction)openAllBookmarksNewWindow:(id)sender { | 149 - (IBAction)openAllBookmarksNewWindow:(id)sender { |
| 152 [self openAll:[sender tag] withDisposition:NEW_WINDOW]; | 150 [self openAll:[sender tag] withDisposition:NEW_WINDOW]; |
| 153 } | 151 } |
| 154 | 152 |
| 155 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender { | 153 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender { |
| 156 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD]; | 154 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD]; |
| 157 } | 155 } |
| 158 | 156 |
| 159 @end // BookmarkMenuCocoaController | 157 @end // BookmarkMenuCocoaController |
| OLD | NEW |