blob: a7d23275138e69005f66d953fe5f70958f386d72 [file] [log] [blame]
// Copyright 2019 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 "components/send_tab_to_self/send_tab_to_self_infobar_delegate.h"
#include "base/memory/ptr_util.h"
#include "base/strings/utf_string_conversions.h"
#include "components/send_tab_to_self/send_tab_to_self_entry.h"
#include "content/public/browser/web_contents.h"
#include "url/gurl.h"
namespace send_tab_to_self {
// static
std::unique_ptr<SendTabToSelfInfoBarDelegate>
SendTabToSelfInfoBarDelegate::Create(content::WebContents* web_contents,
const SendTabToSelfEntry* entry) {
return base::WrapUnique(
new SendTabToSelfInfoBarDelegate(web_contents, entry));
}
SendTabToSelfInfoBarDelegate::~SendTabToSelfInfoBarDelegate() {}
base::string16 SendTabToSelfInfoBarDelegate::GetInfobarMessage() const {
// TODO(crbug.com/944602): Define real string.
NOTIMPLEMENTED();
return base::UTF8ToUTF16("Open");
}
void SendTabToSelfInfoBarDelegate::OpenTab() {
content::OpenURLParams open_url_params(
entry_->GetURL(), content::Referrer(),
WindowOpenDisposition::NEW_FOREGROUND_TAB,
ui::PageTransition::PAGE_TRANSITION_LINK,
false /* is_renderer_initiated */);
web_contents_->OpenURL(open_url_params);
// TODO(crbug.com/944602): Update the model to reflect that an infobar is
// shown.
}
void SendTabToSelfInfoBarDelegate::InfoBarDismissed() {
NOTIMPLEMENTED();
}
infobars::InfoBarDelegate::InfoBarIdentifier
SendTabToSelfInfoBarDelegate::GetIdentifier() const {
return SEND_TAB_TO_SELF_INFOBAR_DELEGATE;
}
SendTabToSelfInfoBarDelegate::SendTabToSelfInfoBarDelegate(
content::WebContents* web_contents,
const SendTabToSelfEntry* entry) {
web_contents_ = web_contents;
entry_ = entry;
}
} // namespace send_tab_to_self