Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / devtools / devtools_toggle_action.h
blob1e110a34277a8b57f1c289fe17f9b4e39b6c2564
1 // Copyright (c) 2011 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.
5 #ifndef CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TOGGLE_ACTION_H_
6 #define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TOGGLE_ACTION_H_
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/string16.h"
12 struct DevToolsToggleAction {
13 public:
14 enum Type {
15 kShow,
16 kShowConsole,
17 kInspect,
18 kToggle,
19 kReveal,
20 kNoOp
23 struct RevealParams {
24 RevealParams(const base::string16& url,
25 size_t line_number,
26 size_t column_number);
27 ~RevealParams();
29 base::string16 url;
30 size_t line_number;
31 size_t column_number;
34 void operator=(const DevToolsToggleAction& rhs);
35 DevToolsToggleAction(const DevToolsToggleAction& rhs);
36 ~DevToolsToggleAction();
38 static DevToolsToggleAction Show();
39 static DevToolsToggleAction ShowConsole();
40 static DevToolsToggleAction Inspect();
41 static DevToolsToggleAction Toggle();
42 static DevToolsToggleAction Reveal(const base::string16& url,
43 size_t line_number,
44 size_t column_number);
45 static DevToolsToggleAction NoOp();
47 Type type() const { return type_; }
48 const RevealParams* params() const { return params_.get(); }
50 private:
51 explicit DevToolsToggleAction(Type type);
52 explicit DevToolsToggleAction(RevealParams* reveal_params);
54 // The type of action.
55 Type type_;
57 // Additional parameters for the Reveal action; NULL if of any other type.
58 scoped_ptr<RevealParams> params_;
61 #endif // CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TOGGLE_ACTION_H_