Commit 20accbe4 authored by yurys@chromium.org's avatar yurys@chromium.org

Make tracing based Timeline stop after reloading inspected page

This change fixes the following problem:
1. Run browser with remote debugging enabled (--remote-debugging-port=9222)
2. Open remote debugging front-end in the same browser (localhost:9222)
3. Inspect that front-end using built-in DevTools.
4. Go to Timeline and press Ctrl+R

Result:
Timeline recording starts automatically and never stops after reload.

With this patch:
It will stop recoding after reload.

BUG=None

Review URL: https://codereview.chromium.org/409073003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284706 0039d316-1c4b-4281-b951-d872f2087c98
parent cb0c67a8
......@@ -48,7 +48,7 @@ void ReadFile(
DevToolsTracingHandler::DevToolsTracingHandler(
DevToolsTracingHandler::Target target)
: weak_factory_(this), target_(target) {
: weak_factory_(this), target_(target), is_recording_(false) {
RegisterCommandHandler(devtools::Tracing::start::kName,
base::Bind(&DevToolsTracingHandler::OnStart,
base::Unretained(this)));
......@@ -138,6 +138,7 @@ TracingController::Options DevToolsTracingHandler::TraceOptionsFromString(
scoped_refptr<DevToolsProtocol::Response>
DevToolsTracingHandler::OnStart(
scoped_refptr<DevToolsProtocol::Command> command) {
is_recording_ = true;
std::string categories;
base::DictionaryValue* params = command->params();
if (params)
......@@ -211,12 +212,14 @@ DevToolsTracingHandler::OnEnd(
void DevToolsTracingHandler::DisableRecording(
const TracingController::TracingFileResultCallback& callback) {
is_recording_ = false;
buffer_usage_poll_timer_.reset();
TracingController::GetInstance()->DisableRecording(base::FilePath(),
callback);
}
void DevToolsTracingHandler::OnClientDetached() {
if (is_recording_)
DisableRecording();
}
......
......@@ -55,6 +55,7 @@ class DevToolsTracingHandler : public DevToolsProtocol::Handler {
base::WeakPtrFactory<DevToolsTracingHandler> weak_factory_;
scoped_ptr<base::Timer> buffer_usage_poll_timer_;
Target target_;
bool is_recording_;
DISALLOW_COPY_AND_ASSIGN(DevToolsTracingHandler);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment