Home | History | Annotate | Download | only in devtools
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/devtools/devtools_toggle_action.h"
      6 
      7 DevToolsToggleAction::RevealParams::RevealParams(const base::string16& url,
      8                                                  size_t line_number,
      9                                                  size_t column_number)
     10     : url(url), line_number(line_number), column_number(column_number) {
     11 }
     12 
     13 DevToolsToggleAction::RevealParams::~RevealParams() {
     14 }
     15 
     16 DevToolsToggleAction::DevToolsToggleAction(Type type) : type_(type) {
     17 }
     18 
     19 DevToolsToggleAction::DevToolsToggleAction(RevealParams* params)
     20     : type_(kReveal), params_(params) {
     21 }
     22 
     23 DevToolsToggleAction::DevToolsToggleAction(const DevToolsToggleAction& rhs)
     24     : type_(rhs.type_),
     25       params_(rhs.params_.get() ? new RevealParams(*rhs.params_) : NULL) {
     26 }
     27 
     28 void DevToolsToggleAction::operator=(const DevToolsToggleAction& rhs) {
     29   type_ = rhs.type_;
     30   if (rhs.params_.get())
     31     params_.reset(new RevealParams(*rhs.params_));
     32 }
     33 
     34 DevToolsToggleAction::~DevToolsToggleAction() {
     35 }
     36 
     37 // static
     38 DevToolsToggleAction DevToolsToggleAction::Show() {
     39   return DevToolsToggleAction(kShow);
     40 }
     41 
     42 // static
     43 DevToolsToggleAction DevToolsToggleAction::ShowConsole() {
     44   return DevToolsToggleAction(kShowConsole);
     45 }
     46 
     47 // static
     48 DevToolsToggleAction DevToolsToggleAction::Inspect() {
     49   return DevToolsToggleAction(kInspect);
     50 }
     51 
     52 // static
     53 DevToolsToggleAction DevToolsToggleAction::Toggle() {
     54   return DevToolsToggleAction(kToggle);
     55 }
     56 
     57 // static
     58 DevToolsToggleAction DevToolsToggleAction::Reveal(
     59     const base::string16& url,
     60     size_t line_number,
     61     size_t column_number) {
     62   return DevToolsToggleAction(
     63       new RevealParams(url, line_number, column_number));
     64 }
     65 
     66 // static
     67 DevToolsToggleAction DevToolsToggleAction::NoOp() {
     68   return DevToolsToggleAction(kNoOp);
     69 }
     70