| Index: chrome/browser/ui/webui/tracking_ui.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/tracking_ui.cc (revision 108557)
|
| +++ chrome/browser/ui/webui/tracking_ui.cc (working copy)
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/tracked_objects.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"
|
| #include "chrome/common/url_constants.h"
|
| @@ -17,6 +18,7 @@
|
| #include "grit/generated_resources.h"
|
|
|
| using content::BrowserThread;
|
| +using chrome_browser_metrics::TrackingSynchronizer;
|
|
|
| namespace {
|
|
|
| @@ -68,10 +70,8 @@
|
| }
|
|
|
| void TrackingMessageHandler::OnGetData(const ListValue* list) {
|
| - // Send the data to the renderer.
|
| - scoped_ptr<Value> data_values(tracked_objects::ThreadData::ToValue());
|
| - web_ui_->CallJavascriptFunction("g_browserBridge.receivedData",
|
| - *data_values.get());
|
| + TrackingUI* tracking_ui = reinterpret_cast<TrackingUI*>(web_ui_);
|
| + tracking_ui->GetData();
|
| }
|
|
|
| void TrackingMessageHandler::OnResetData(const ListValue* list) {
|
| @@ -81,9 +81,26 @@
|
| } // namespace
|
|
|
| TrackingUI::TrackingUI(TabContents* contents) : ChromeWebUI(contents) {
|
| + ui_weak_ptr_factory_.reset(new base::WeakPtrFactory<TrackingUI>(this));
|
| + ui_weak_ptr_ = ui_weak_ptr_factory_->GetWeakPtr();
|
| +
|
| AddMessageHandler((new TrackingMessageHandler())->Attach(this));
|
|
|
| // Set up the chrome://tracking2/ source.
|
| Profile::FromBrowserContext(contents->browser_context())->
|
| GetChromeURLDataManager()->AddDataSource(CreateTrackingHTMLSource());
|
| }
|
| +
|
| +TrackingUI::~TrackingUI() {
|
| +}
|
| +
|
| +void TrackingUI::GetData() {
|
| + TrackingSynchronizer::FetchTrackingDataAsynchronously(ui_weak_ptr_);
|
| +}
|
| +
|
| +void TrackingUI::ReceivedData(base::Value* value) {
|
| + // Send the data to the renderer.
|
| + scoped_ptr<Value> data_values(value);
|
| + CallJavascriptFunction("g_browserBridge.receivedData", *data_values.get());
|
| +}
|
| +
|
|
|