#include "chrome/browser/devtools/devtools_remote_server_infobar_delegate.h"
#include <memory>
#include <string>
#include <utility>
#include "base/callback_list.h"
#include "base/functional/callback.h"
#include "base/memory/ptr_util.h"
#include "base/no_destructor.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "chrome/browser/devtools/global_confirm_info_bar.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_navigator_params.h"
#include "chrome/grit/generated_resources.h"
#include "components/infobars/core/confirm_infobar_delegate.h"
#include "components/infobars/core/infobar_delegate.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/text_constants.h"
#include "ui/strings/grit/ui_strings.h"
DevToolsRemoteServerInfobarDelegate::DevToolsRemoteServerInfobarDelegate(
Browser* browser)
: browser_(browser) {}
DevToolsRemoteServerInfobarDelegate::~DevToolsRemoteServerInfobarDelegate() =
default;
infobars::InfoBarDelegate::InfoBarIdentifier
DevToolsRemoteServerInfobarDelegate::GetIdentifier() const {
return DEV_TOOLS_REMOTE_DEBUGGING_INFOBAR_DELEGATE;
}
bool DevToolsRemoteServerInfobarDelegate::ShouldExpire(
const NavigationDetails& details) const {
return false;
}
std::u16string DevToolsRemoteServerInfobarDelegate::GetMessageText() const {
return l10n_util::GetStringUTF16(IDS_CONTROLLED_BY_AUTOMATION);
}
int DevToolsRemoteServerInfobarDelegate::GetButtons() const {
return BUTTON_OK;
}
std::u16string DevToolsRemoteServerInfobarDelegate::GetButtonLabel(
InfoBarButton button) const {
return l10n_util::GetStringUTF16(
IDS_DEV_TOOLS_CONNECTION_DIALOG_DISABLE_TEXT);
}
bool DevToolsRemoteServerInfobarDelegate::Accept() {
CHECK(browser_);
GURL internal_url("chrome://inspect#remote-debugging");
NavigateParams params(browser_, internal_url, ui::PAGE_TRANSITION_LINK);
params.disposition = WindowOpenDisposition::NEW_FOREGROUND_TAB;
Navigate(¶ms);
return ConfirmInfoBarDelegate::Accept();
}