| Index: content/browser/devtools/devtools_power_handler.cc
|
| diff --git a/content/browser/devtools/devtools_power_handler.cc b/content/browser/devtools/devtools_power_handler.cc
|
| index 4a72296967cb320ab190d713569d225d6ac418f6..339ead93fcb10d53b27f5b540659a88af9c0f1d8 100644
|
| --- a/content/browser/devtools/devtools_power_handler.cc
|
| +++ b/content/browser/devtools/devtools_power_handler.cc
|
| @@ -11,7 +11,8 @@
|
|
|
| namespace content {
|
|
|
| -DevToolsPowerHandler::DevToolsPowerHandler() {
|
| +DevToolsPowerHandler::DevToolsPowerHandler()
|
| + : is_profiling_(false) {
|
| RegisterCommandHandler(devtools::Power::start::kName,
|
| base::Bind(&DevToolsPowerHandler::OnStart,
|
| base::Unretained(this)));
|
| @@ -27,7 +28,8 @@ DevToolsPowerHandler::DevToolsPowerHandler() {
|
| }
|
|
|
| DevToolsPowerHandler::~DevToolsPowerHandler() {
|
| - PowerProfilerService::GetInstance()->RemoveObserver(this);
|
| + if (is_profiling_)
|
| + PowerProfilerService::GetInstance()->RemoveObserver(this);
|
| }
|
|
|
| void DevToolsPowerHandler::OnPowerEvent(const PowerEventVector& events) {
|
| @@ -57,6 +59,7 @@ DevToolsPowerHandler::OnStart(
|
| scoped_refptr<DevToolsProtocol::Command> command) {
|
| if (PowerProfilerService::GetInstance()->IsAvailable()) {
|
| PowerProfilerService::GetInstance()->AddObserver(this);
|
| + is_profiling_ = true;
|
| return command->SuccessResponse(NULL);
|
| }
|
|
|
| @@ -67,6 +70,7 @@ scoped_refptr<DevToolsProtocol::Response>
|
| DevToolsPowerHandler::OnEnd(scoped_refptr<DevToolsProtocol::Command> command) {
|
| if (PowerProfilerService::GetInstance()->IsAvailable()) {
|
| PowerProfilerService::GetInstance()->RemoveObserver(this);
|
| + is_profiling_ = false;
|
| return command->SuccessResponse(NULL);
|
| }
|
|
|
| @@ -97,7 +101,8 @@ DevToolsPowerHandler::OnGetAccuracyLevel(
|
| }
|
|
|
| void DevToolsPowerHandler::OnClientDetached() {
|
| - PowerProfilerService::GetInstance()->RemoveObserver(this);
|
| + if (is_profiling_)
|
| + PowerProfilerService::GetInstance()->RemoveObserver(this);
|
| }
|
|
|
| } // namespace content
|
|
|