Index: chrome/browser/ui/webui/profiler_ui.cc |
diff --git a/chrome/browser/ui/webui/profiler_ui.cc b/chrome/browser/ui/webui/profiler_ui.cc |
index 218cea89d6c85697c433cee6621db35a60458d9d..5954c42c2ae7942e6d5efbcff10b8e474effd7d2 100644 |
--- a/chrome/browser/ui/webui/profiler_ui.cc |
+++ b/chrome/browser/ui/webui/profiler_ui.cc |
@@ -14,7 +14,9 @@ |
//#define USE_SOURCE_FILES_DIRECTLY |
#include "base/bind.h" |
+#include "base/memory/scoped_ptr.h" |
#include "base/tracked_objects.h" |
+#include "base/values.h" |
#include "chrome/browser/metrics/tracking_synchronizer.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/webui/chrome_web_ui_data_source.h" |
@@ -128,7 +130,7 @@ void ProfilerMessageHandler::RegisterMessages() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
web_ui()->RegisterMessageCallback("getData", |
- base::Bind(&ProfilerMessageHandler::OnGetData,base::Unretained(this))); |
+ base::Bind(&ProfilerMessageHandler::OnGetData, base::Unretained(this))); |
web_ui()->RegisterMessageCallback("resetData", |
base::Bind(&ProfilerMessageHandler::OnResetData, |
base::Unretained(this))); |
@@ -145,10 +147,9 @@ void ProfilerMessageHandler::OnResetData(const ListValue* list) { |
} // namespace |
-ProfilerUI::ProfilerUI(content::WebUI* web_ui) : WebUIController(web_ui) { |
- ui_weak_ptr_factory_.reset(new base::WeakPtrFactory<ProfilerUI>(this)); |
- ui_weak_ptr_ = ui_weak_ptr_factory_->GetWeakPtr(); |
- |
+ProfilerUI::ProfilerUI(content::WebUI* web_ui) |
+ : WebUIController(web_ui), |
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { |
web_ui->AddMessageHandler(new ProfilerMessageHandler()); |
// Set up the chrome://profiler/ source. |
@@ -160,13 +161,14 @@ ProfilerUI::~ProfilerUI() { |
} |
void ProfilerUI::GetData() { |
- TrackingSynchronizer::FetchProfilerDataAsynchronously(ui_weak_ptr_); |
+ TrackingSynchronizer::FetchProfilerDataAsynchronously( |
+ weak_ptr_factory_.GetWeakPtr()); |
} |
-void ProfilerUI::ReceivedData(base::Value* value) { |
+void ProfilerUI::ReceivedProfilerData( |
+ const content::SerializedProfilerData& data) { |
// Send the data to the renderer. |
- scoped_ptr<Value> data_values(value); |
- web_ui()->CallJavascriptFunction( |
- "g_browserBridge.receivedData", *data_values.get()); |
+ DictionaryValue data_values; |
+ data.ToValue(&data_values); |
+ web_ui()->CallJavascriptFunction("g_browserBridge.receivedData", data_values); |
} |
- |