| Index: remoting/host/it2me/it2me_confirmation_dialog_chromeos.cc
|
| diff --git a/remoting/host/it2me/it2me_confirmation_dialog_chromeos.cc b/remoting/host/it2me/it2me_confirmation_dialog_chromeos.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..603df550d16ff188a4eaa9ab02a0135012cbab5f
|
| --- /dev/null
|
| +++ b/remoting/host/it2me/it2me_confirmation_dialog_chromeos.cc
|
| @@ -0,0 +1,66 @@
|
| +// Copyright 2014 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 "base/bind.h"
|
| +#include "base/callback_helpers.h"
|
| +#include "base/location.h"
|
| +#include "base/memory/weak_ptr.h"
|
| +#include "base/single_thread_task_runner.h"
|
| +#include "base/thread_task_runner_handle.h"
|
| +#include "remoting/base/string_resources.h"
|
| +#include "remoting/host/chromeos/message_box.h"
|
| +#include "remoting/host/it2me/it2me_confirmation_dialog.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
| +
|
| +namespace remoting {
|
| +
|
| +class It2MeConfirmationDialogChromeOS : public It2MeConfirmationDialog {
|
| + public:
|
| + It2MeConfirmationDialogChromeOS();
|
| + ~It2MeConfirmationDialogChromeOS() override;
|
| +
|
| + // It2MeConfirmationDialog implementation.
|
| + void Show(const ResultCallback& callback) override;
|
| +
|
| + private:
|
| + // Handles result from |message_box_|.
|
| + void OnMessageBoxResult(MessageBox::Result result);
|
| +
|
| + scoped_ptr<MessageBox> message_box_;
|
| + ResultCallback callback_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(It2MeConfirmationDialogChromeOS);
|
| +};
|
| +
|
| +It2MeConfirmationDialogChromeOS::It2MeConfirmationDialogChromeOS() {}
|
| +
|
| +It2MeConfirmationDialogChromeOS::~It2MeConfirmationDialogChromeOS() {}
|
| +
|
| +void It2MeConfirmationDialogChromeOS::Show(const ResultCallback& callback) {
|
| + callback_ = callback;
|
| +
|
| + message_box_.reset(new MessageBox(
|
| + l10n_util::GetStringUTF16(IDS_MODE_IT2ME),
|
| + l10n_util::GetStringUTF16(IDS_SHARE_CONFIRM_DIALOG_MESSAGE),
|
| + l10n_util::GetStringUTF16(IDS_SHARE_CONFIRM_DIALOG_CONFIRM),
|
| + l10n_util::GetStringUTF16(IDS_SHARE_CONFIRM_DIALOG_DECLINE),
|
| + base::Bind(&It2MeConfirmationDialogChromeOS::OnMessageBoxResult,
|
| + base::Unretained(this))));
|
| +
|
| + message_box_->Show();
|
| +}
|
| +
|
| +void It2MeConfirmationDialogChromeOS::OnMessageBoxResult(
|
| + MessageBox::Result result) {
|
| + message_box_->Hide();
|
| + base::ResetAndReturn(&callback_).Run(result == MessageBox::OK ?
|
| + Result::OK : Result::CANCEL);
|
| +}
|
| +
|
| +scoped_ptr<It2MeConfirmationDialog> It2MeConfirmationDialogFactory::Create() {
|
| + return scoped_ptr<It2MeConfirmationDialog>(
|
| + new It2MeConfirmationDialogChromeOS());
|
| +}
|
| +
|
| +} // namespace remoting
|
|
|