Commit 81aafc73 authored by Nico Weber's avatar Nico Weber Committed by Commit Bot

mac: Remove unused TabModalConfirmDialogMac.

Bug: 832676
Change-Id: I38359d01373d4bd237c6a0f7fe5ffc051a3318c5
Reviewed-on: https://chromium-review.googlesource.com/1240164Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593543}
parent bb591d1f
......@@ -264,8 +264,6 @@ jumbo_split_static_library("ui") {
"cocoa/tab_contents/overlayable_contents_controller.mm",
"cocoa/tab_contents/tab_contents_controller.h",
"cocoa/tab_contents/tab_contents_controller.mm",
"cocoa/tab_modal_confirm_dialog_mac.h",
"cocoa/tab_modal_confirm_dialog_mac.mm",
"cocoa/tabbed_browser_window.h",
"cocoa/tabbed_browser_window.mm",
"cocoa/tabs/alert_indicator_button_cocoa.h",
......
// Copyright (c) 2011 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.
#ifndef CHROME_BROWSER_UI_COCOA_TAB_MODAL_CONFIRM_DIALOG_MAC_H_
#define CHROME_BROWSER_UI_COCOA_TAB_MODAL_CONFIRM_DIALOG_MAC_H_
#import <Cocoa/Cocoa.h>
#include <memory>
#import "base/mac/scoped_nsobject.h"
#include "base/macros.h"
#include "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h"
#include "chrome/browser/ui/tab_modal_confirm_dialog.h"
@class ConstrainedWindowAlert;
namespace content {
class WebContents;
}
class TabModalConfirmDialogDelegate;
@class TabModalConfirmDialogMacBridge;
// Displays a tab-modal dialog, i.e. a dialog that will block the current page
// but still allow the user to switch to a different page.
// To display the dialog, allocate this object on the heap. It will open the
// dialog from its constructor and then delete itself when the user dismisses
// the dialog.
class TabModalConfirmDialogMac : public TabModalConfirmDialog,
public ConstrainedWindowMacDelegate {
public:
TabModalConfirmDialogMac(TabModalConfirmDialogDelegate* delegate,
content::WebContents* web_contents);
private:
~TabModalConfirmDialogMac() override;
// TabModalConfirmDialog:
void AcceptTabModalDialog() override;
void CancelTabModalDialog() override;
// TabModalConfirmDialogCloseDelegate:
void CloseDialog() override;
// ConstrainedWindowMacDelegate:
void OnConstrainedWindowClosed(ConstrainedWindowMac* window) override;
bool closing_;
std::unique_ptr<ConstrainedWindowMac> window_;
std::unique_ptr<TabModalConfirmDialogDelegate> delegate_;
base::scoped_nsobject<ConstrainedWindowAlert> alert_;
base::scoped_nsobject<TabModalConfirmDialogMacBridge> bridge_;
DISALLOW_COPY_AND_ASSIGN(TabModalConfirmDialogMac);
};
#endif // CHROME_BROWSER_UI_COCOA_TAB_MODAL_CONFIRM_DIALOG_MAC_H_
// 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/cocoa/tab_modal_confirm_dialog_mac.h"
#include <utility>
#include "base/mac/scoped_nsobject.h"
#include "chrome/browser/ui/browser_dialogs.h"
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_alert.h"
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sheet.h"
#import "chrome/browser/ui/cocoa/key_equivalent_constants.h"
#include "chrome/browser/ui/tab_modal_confirm_dialog_delegate.h"
#include "chrome/common/chrome_switches.h"
#include "ui/base/cocoa/cocoa_base_utils.h"
#include "ui/base/l10n/l10n_util_mac.h"
#include "ui/base/ui_features.h"
#include "ui/gfx/image/image.h"
// static
TabModalConfirmDialog* TabModalConfirmDialog::CreateCocoa(
TabModalConfirmDialogDelegate* delegate,
content::WebContents* web_contents) {
// Deletes itself when closed.
return new TabModalConfirmDialogMac(delegate, web_contents);
}
#if !BUILDFLAG(MAC_VIEWS_BROWSER)
TabModalConfirmDialog* TabModalConfirmDialog::Create(
TabModalConfirmDialogDelegate* delegate,
content::WebContents* web_contents) {
return CreateCocoa(delegate, web_contents);
}
#endif
@interface TabModalConfirmDialogMacBridge : NSObject {
TabModalConfirmDialogDelegate* delegate_; // weak
}
@end
@implementation TabModalConfirmDialogMacBridge
- (id)initWithDelegate:(TabModalConfirmDialogDelegate*)delegate {
if ((self = [super init])) {
delegate_ = delegate;
DCHECK(delegate_);
}
return self;
}
- (void)onAcceptButton:(id)sender {
delegate_->Accept();
}
- (void)onCancelButton:(id)sender {
delegate_->Cancel();
}
- (void)onCloseButton:(id)sender {
delegate_->Close();
}
- (void)onLinkClicked:(id)sender {
WindowOpenDisposition disposition =
ui::WindowOpenDispositionFromNSEvent([NSApp currentEvent]);
delegate_->LinkClicked(disposition);
}
@end
TabModalConfirmDialogMac::TabModalConfirmDialogMac(
TabModalConfirmDialogDelegate* delegate,
content::WebContents* web_contents)
: closing_(false),
delegate_(delegate) {
bridge_.reset([[TabModalConfirmDialogMacBridge alloc]
initWithDelegate:delegate]);
alert_.reset([[ConstrainedWindowAlert alloc] init]);
[alert_ setMessageText:
l10n_util::FixUpWindowsStyleLabel(delegate->GetTitle())];
[alert_ setLinkText:l10n_util::FixUpWindowsStyleLabel(
delegate->GetLinkText())
target:bridge_
action:@selector(onLinkClicked:)];
[alert_ setInformativeText:
l10n_util::FixUpWindowsStyleLabel(delegate->GetDialogMessage())];
[alert_ addButtonWithTitle:
l10n_util::FixUpWindowsStyleLabel(delegate->GetAcceptButtonTitle())
keyEquivalent:kKeyEquivalentReturn
target:bridge_
action:@selector(onAcceptButton:)];
[alert_ addButtonWithTitle:
l10n_util::FixUpWindowsStyleLabel(delegate->GetCancelButtonTitle())
keyEquivalent:kKeyEquivalentEscape
target:bridge_
action:@selector(onCancelButton:)];
[[alert_ closeButton] setTarget:bridge_];
[[alert_ closeButton] setAction:@selector(onCloseButton:)];
[alert_ layout];
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc]
initWithCustomWindow:[alert_ window]]);
window_ = CreateAndShowWebModalDialogMac(this, web_contents, sheet);
delegate_->set_close_delegate(this);
}
TabModalConfirmDialogMac::~TabModalConfirmDialogMac() {
}
void TabModalConfirmDialogMac::AcceptTabModalDialog() {
delegate_->Accept();
}
void TabModalConfirmDialogMac::CancelTabModalDialog() {
delegate_->Cancel();
}
void TabModalConfirmDialogMac::CloseDialog() {
if (!closing_) {
closing_ = true;
window_->CloseWebContentsModalDialog();
}
}
void TabModalConfirmDialogMac::OnConstrainedWindowClosed(
ConstrainedWindowMac* window) {
// If this method should mistakenly be called during Delegate::Close(),
// prevent a double-delete by moving delegate_ to a stack variable.
if (!delegate_)
return;
std::unique_ptr<TabModalConfirmDialogDelegate> delegate(std::move(delegate_));
// Provide a disposition in case the dialog was closed without accepting or
// cancelling.
delegate->Close();
delete this;
}
......@@ -19,14 +19,6 @@ class TabModalConfirmDialog : public TabModalConfirmDialogCloseDelegate {
// the dialog.
static TabModalConfirmDialog* Create(TabModalConfirmDialogDelegate* delegate,
content::WebContents* web_contents);
#if defined(OS_MACOSX)
// Temporary shim for Polychrome. See bottom of first comment in
// https://crbug.com/80495 for details.
static TabModalConfirmDialog* CreateCocoa(
TabModalConfirmDialogDelegate* delegate,
content::WebContents* web_contents);
#endif
// Accepts the dialog.
virtual void AcceptTabModalDialog() = 0;
......
......@@ -10,7 +10,6 @@
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views_mode_controller.h"
#include "chrome/common/chrome_switches.h"
#include "components/constrained_window/constrained_window_views.h"
#include "content/public/browser/web_contents.h"
......@@ -23,11 +22,6 @@
TabModalConfirmDialog* TabModalConfirmDialog::Create(
TabModalConfirmDialogDelegate* delegate,
content::WebContents* web_contents) {
#if defined(OS_MACOSX)
if (views_mode_controller::IsViewsBrowserCocoa())
return CreateCocoa(delegate, web_contents);
#endif
return new TabModalConfirmDialogViews(delegate, web_contents);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment