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