| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/memory/weak_ptr.h" | 6 #include "base/memory/weak_ptr.h" |
| 7 #include "mojo/application/application_runner_chromium.h" | 7 #include "mojo/application/application_runner_chromium.h" |
| 8 #include "mojo/public/c/system/main.h" | 8 #include "mojo/public/c/system/main.h" |
| 9 #include "mojo/public/cpp/application/application_delegate.h" | 9 #include "mojo/public/cpp/application/application_delegate.h" |
| 10 #include "mojo/public/cpp/application/application_impl.h" | 10 #include "mojo/public/cpp/application/application_impl.h" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 return true; | 66 return true; |
| 67 } | 67 } |
| 68 if (command == "trace") { | 68 if (command == "trace") { |
| 69 ToggleTracing(); | 69 ToggleTracing(); |
| 70 return true; | 70 return true; |
| 71 } | 71 } |
| 72 if (command == "reload") { | 72 if (command == "reload") { |
| 73 Reload(); | 73 Reload(); |
| 74 return true; | 74 return true; |
| 75 } | 75 } |
| 76 if (command == "inspect") { |
| 77 Inspect(); |
| 78 return true; |
| 79 } |
| 76 if (command.size() == 1) { | 80 if (command.size() == 1) { |
| 77 char c = command[0]; | 81 char c = command[0]; |
| 78 if (c == 'h') | 82 if (c == 'h') |
| 79 PrintHelp(); | 83 PrintHelp(); |
| 80 else if (c == 'q') | 84 else if (c == 'q') |
| 81 Quit(); | 85 Quit(); |
| 82 else if (c == 'r') | 86 else if (c == 'r') |
| 83 Reload(); | 87 Reload(); |
| 84 else | 88 else |
| 85 std::cout << "Unknown command: " << c << std::endl; | 89 std::cout << "Unknown command: " << c << std::endl; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 104 void ScheduleWaitForInput() { | 108 void ScheduleWaitForInput() { |
| 105 base::MessageLoop::current()->PostTask(FROM_HERE, | 109 base::MessageLoop::current()->PostTask(FROM_HERE, |
| 106 base::Bind(&Prompt::WaitForInput, weak_ptr_factory_.GetWeakPtr())); | 110 base::Bind(&Prompt::WaitForInput, weak_ptr_factory_.GetWeakPtr())); |
| 107 } | 111 } |
| 108 | 112 |
| 109 void PrintHelp() { | 113 void PrintHelp() { |
| 110 std::cout | 114 std::cout |
| 111 << "Sky Debugger" << std::endl | 115 << "Sky Debugger" << std::endl |
| 112 << "============" << std::endl | 116 << "============" << std::endl |
| 113 << "Type a URL to load in the debugger, enter to reload." << std::endl | 117 << "Type a URL to load in the debugger, enter to reload." << std::endl |
| 114 << "Commands: help -- Help" << std::endl | 118 << "Commands: help -- Help" << std::endl |
| 115 << " trace -- Capture a trace" << std::endl | 119 << " trace -- Capture a trace" << std::endl |
| 116 << " reload -- Reload the current page" << std::endl | 120 << " reload -- Reload the current page" << std::endl |
| 117 << " q -- Quit" << std::endl; | 121 << " inspect -- Inspect the current page" << std::endl |
| 122 << " q -- Quit" << std::endl; |
| 118 } | 123 } |
| 119 | 124 |
| 120 void Reload() { | 125 void Reload() { |
| 121 debugger_->NavigateToURL(url_); | 126 debugger_->NavigateToURL(url_); |
| 122 } | 127 } |
| 123 | 128 |
| 129 void Inspect() { |
| 130 debugger_->InjectInspector(); |
| 131 std::cout |
| 132 << "Open the following URL in Chrome:" << std::endl |
| 133 << "chrome-devtools://devtools/bundled/devtools.html?ws=localhost:9898" |
| 134 << std::endl; |
| 135 } |
| 136 |
| 124 void Quit() { | 137 void Quit() { |
| 125 std::cout << "quitting" << std::endl; | 138 std::cout << "quitting" << std::endl; |
| 126 exit(0); | 139 exit(0); |
| 127 } | 140 } |
| 128 | 141 |
| 129 void ToggleTracing() { | 142 void ToggleTracing() { |
| 130 if (is_tracing_) { | 143 if (is_tracing_) { |
| 131 std::cout << "Stopping trace (writing to sky_viewer.trace)" << std::endl; | 144 std::cout << "Stopping trace (writing to sky_viewer.trace)" << std::endl; |
| 132 tracing_->Stop(); | 145 tracing_->Stop(); |
| 133 } else { | 146 } else { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 146 DISALLOW_COPY_AND_ASSIGN(Prompt); | 159 DISALLOW_COPY_AND_ASSIGN(Prompt); |
| 147 }; | 160 }; |
| 148 | 161 |
| 149 } // namespace debugger | 162 } // namespace debugger |
| 150 } // namespace sky | 163 } // namespace sky |
| 151 | 164 |
| 152 MojoResult MojoMain(MojoHandle shell_handle) { | 165 MojoResult MojoMain(MojoHandle shell_handle) { |
| 153 mojo::ApplicationRunnerChromium runner(new sky::debugger::Prompt); | 166 mojo::ApplicationRunnerChromium runner(new sky::debugger::Prompt); |
| 154 return runner.Run(shell_handle); | 167 return runner.Run(shell_handle); |
| 155 } | 168 } |
| OLD | NEW |