blob: 46f0e293cf0d9be1b64d058885213988aaa54df7 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/devtools/devtools_toggle_action.h"
#include <memory>
DevToolsToggleAction::RevealParams::RevealParams(const std::u16string& url,
size_t line_number,
size_t column_number)
: url(url), line_number(line_number), column_number(column_number) {}
DevToolsToggleAction::RevealParams::~RevealParams() {
}
DevToolsToggleAction::DevToolsToggleAction(Type type) : type_(type) {
}
DevToolsToggleAction::DevToolsToggleAction(RevealParams* params)
: type_(kReveal), params_(params) {
}
DevToolsToggleAction::DevToolsToggleAction(const DevToolsToggleAction& rhs)
: type_(rhs.type_),
params_(rhs.params_.get() ? new RevealParams(*rhs.params_) : nullptr) {}
void DevToolsToggleAction::operator=(const DevToolsToggleAction& rhs) {
type_ = rhs.type_;
if (rhs.params_.get())
params_ = std::make_unique<RevealParams>(*rhs.params_);
}
DevToolsToggleAction::~DevToolsToggleAction() {
}
// static
DevToolsToggleAction DevToolsToggleAction::Show() {
return DevToolsToggleAction(kShow);
}
// static
DevToolsToggleAction DevToolsToggleAction::ShowConsolePanel() {
return DevToolsToggleAction(kShowConsolePanel);
}
// static
DevToolsToggleAction DevToolsToggleAction::ShowElementsPanel() {
return DevToolsToggleAction(kShowElementsPanel);
}
// static
DevToolsToggleAction DevToolsToggleAction::PauseInDebugger() {
return DevToolsToggleAction(kPauseInDebugger);
}
// static
DevToolsToggleAction DevToolsToggleAction::Inspect() {
return DevToolsToggleAction(kInspect);
}
// static
DevToolsToggleAction DevToolsToggleAction::Toggle() {
return DevToolsToggleAction(kToggle);
}
// static
DevToolsToggleAction DevToolsToggleAction::Reveal(const std::u16string& url,
size_t line_number,
size_t column_number) {
return DevToolsToggleAction(
new RevealParams(url, line_number, column_number));
}
// static
DevToolsToggleAction DevToolsToggleAction::NoOp() {
return DevToolsToggleAction(kNoOp);
}