| Index: chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_win.cc
|
| diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_win.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_win.cc
|
| deleted file mode 100644
|
| index 5c1f8f99ee5707c4178437988a7dd862cf2ddde2..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_win.cc
|
| +++ /dev/null
|
| @@ -1,140 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ui/bookmarks/bookmark_context_menu_controller.h"
|
| -
|
| -#include "chrome/app/chrome_command_ids.h"
|
| -#include "chrome/browser/bookmarks/bookmark_stats.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/ui/bookmarks/bookmark_utils.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/browser_finder.h"
|
| -#include "chrome/browser/ui/browser_window.h"
|
| -#include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| -#include "content/public/browser/page_navigator.h"
|
| -#include "content/public/browser/user_metrics.h"
|
| -#include "content/public/browser/web_contents.h"
|
| -#include "win8/util/win8_util.h"
|
| -
|
| -using base::UserMetricsAction;
|
| -using content::OpenURLParams;
|
| -using content::PageNavigator;
|
| -using content::WebContents;
|
| -
|
| -namespace {
|
| -
|
| -// A PageNavigator implementation that creates a new Browser. This is used when
|
| -// opening a url and there is no Browser open. The Browser is created the first
|
| -// time the PageNavigator method is invoked.
|
| -class NewBrowserPageNavigator : public PageNavigator {
|
| - public:
|
| - explicit NewBrowserPageNavigator(Profile* profile)
|
| - : profile_(profile),
|
| - browser_(NULL) {}
|
| -
|
| - virtual ~NewBrowserPageNavigator() {
|
| - if (browser_)
|
| - browser_->window()->Show();
|
| - }
|
| -
|
| - Browser* browser() const { return browser_; }
|
| -
|
| - virtual WebContents* OpenURL(const OpenURLParams& params) OVERRIDE {
|
| - if (!browser_) {
|
| - Profile* profile = (params.disposition == OFF_THE_RECORD) ?
|
| - profile_->GetOffTheRecordProfile() : profile_;
|
| - browser_ = new Browser(Browser::CreateParams(profile,
|
| - chrome::GetActiveDesktop()));
|
| - }
|
| -
|
| - OpenURLParams forward_params = params;
|
| - forward_params.disposition = NEW_FOREGROUND_TAB;
|
| - return browser_->OpenURL(forward_params);
|
| - }
|
| -
|
| - private:
|
| - Profile* profile_;
|
| - Browser* browser_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(NewBrowserPageNavigator);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -bool BookmarkContextMenuController::IsPlatformCommandIdEnabled(
|
| - int command_id,
|
| - bool* enabled) const {
|
| - // In Windows 8 metro mode no new window option on a regular chrome window
|
| - // and no new incognito window option on an incognito chrome window.
|
| - if (win8::IsSingleWindowMetroMode()) {
|
| - if (command_id == IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW &&
|
| - !profile_->IsOffTheRecord()) {
|
| - *enabled = false;
|
| - return true;
|
| - } else if (command_id == IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO &&
|
| - profile_->IsOffTheRecord()) {
|
| - *enabled = false;
|
| - return true;
|
| - }
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -bool BookmarkContextMenuController::ExecutePlatformCommand(int command_id,
|
| - int event_flags) {
|
| - if (win8::IsSingleWindowMetroMode()) {
|
| - switch (command_id) {
|
| - // We need to handle the open in new window and open in incognito window
|
| - // commands to ensure that they first look for an existing browser object
|
| - // to handle the request. If we find one then a new foreground tab is
|
| - // opened, else a new browser object is created.
|
| - case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW:
|
| - case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: {
|
| - Profile* profile_to_use = profile_;
|
| - if (command_id == IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW) {
|
| - if (profile_to_use->IsOffTheRecord())
|
| - profile_to_use = profile_to_use->GetOriginalProfile();
|
| -
|
| - content::RecordAction(
|
| - UserMetricsAction("BookmarkBar_ContextMenu_OpenAllInNewWindow"));
|
| - } else {
|
| - if (!profile_to_use->IsOffTheRecord())
|
| - profile_to_use = profile_to_use->GetOffTheRecordProfile();
|
| -
|
| - content::RecordAction(
|
| - UserMetricsAction("BookmarkBar_ContextMenu_OpenAllIncognito"));
|
| - }
|
| -
|
| - NewBrowserPageNavigator navigator_impl(profile_to_use);
|
| -
|
| - // TODO(robertshield): FTB - Switch this to HOST_DESKTOP_TYPE_ASH when
|
| - // we make that the default for metro.
|
| - Browser* browser =
|
| - chrome::FindTabbedBrowser(profile_to_use,
|
| - false,
|
| - chrome::HOST_DESKTOP_TYPE_NATIVE);
|
| - PageNavigator* navigator = NULL;
|
| - if (!browser || !browser->tab_strip_model()->GetActiveWebContents()) {
|
| - navigator = &navigator_impl;
|
| - } else {
|
| - browser->window()->Activate();
|
| - navigator = browser->tab_strip_model()->GetActiveWebContents();
|
| - }
|
| -
|
| - chrome::OpenAll(parent_window_, navigator, selection_,
|
| - NEW_FOREGROUND_TAB, profile_to_use);
|
| - for (size_t i = 0; i < selection_.size(); ++i) {
|
| - RecordBookmarkLaunch(selection_[i],
|
| - BOOKMARK_LAUNCH_LOCATION_CONTEXT_MENU);
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - default:
|
| - break;
|
| - }
|
| - }
|
| -
|
| - return false;
|
| -}
|
|
|