Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: chrome/browser/extensions/api/tabs/tabs_event_router.cc

Issue 1201063002: Set up the infrastructure for Extension event metrics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebaaaaase Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/extensions/api/tabs/tabs_event_router.h" 5 #include "chrome/browser/extensions/api/tabs/tabs_event_router.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/extensions/api/tabs/tabs_constants.h" 10 #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 event_args->Append(tab_value); 194 event_args->Append(tab_value);
195 tab_value->SetBoolean(tabs_constants::kSelectedKey, active); 195 tab_value->SetBoolean(tabs_constants::kSelectedKey, active);
196 return true; 196 return true;
197 } 197 }
198 198
199 void TabsEventRouter::TabCreatedAt(WebContents* contents, 199 void TabsEventRouter::TabCreatedAt(WebContents* contents,
200 int index, 200 int index,
201 bool active) { 201 bool active) {
202 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext()); 202 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
203 scoped_ptr<base::ListValue> args(new base::ListValue); 203 scoped_ptr<base::ListValue> args(new base::ListValue);
204 scoped_ptr<Event> event(new Event(tabs::OnCreated::kEventName, args.Pass())); 204 scoped_ptr<Event> event(
205 new Event(events::UNKNOWN, tabs::OnCreated::kEventName, args.Pass()));
205 event->restrict_to_browser_context = profile; 206 event->restrict_to_browser_context = profile;
206 event->user_gesture = EventRouter::USER_GESTURE_NOT_ENABLED; 207 event->user_gesture = EventRouter::USER_GESTURE_NOT_ENABLED;
207 event->will_dispatch_callback = 208 event->will_dispatch_callback =
208 base::Bind(&WillDispatchTabCreatedEvent, contents, active); 209 base::Bind(&WillDispatchTabCreatedEvent, contents, active);
209 EventRouter::Get(profile)->BroadcastEvent(event.Pass()); 210 EventRouter::Get(profile)->BroadcastEvent(event.Pass());
210 211
211 RegisterForTabNotifications(contents); 212 RegisterForTabNotifications(contents);
212 } 213 }
213 214
214 void TabsEventRouter::TabInsertedAt(WebContents* contents, 215 void TabsEventRouter::TabInsertedAt(WebContents* contents,
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 424
424 void TabsEventRouter::DispatchEvent( 425 void TabsEventRouter::DispatchEvent(
425 Profile* profile, 426 Profile* profile,
426 const std::string& event_name, 427 const std::string& event_name,
427 scoped_ptr<base::ListValue> args, 428 scoped_ptr<base::ListValue> args,
428 EventRouter::UserGestureState user_gesture) { 429 EventRouter::UserGestureState user_gesture) {
429 EventRouter* event_router = EventRouter::Get(profile); 430 EventRouter* event_router = EventRouter::Get(profile);
430 if (!profile_->IsSameProfile(profile) || !event_router) 431 if (!profile_->IsSameProfile(profile) || !event_router)
431 return; 432 return;
432 433
433 scoped_ptr<Event> event(new Event(event_name, args.Pass())); 434 scoped_ptr<Event> event(new Event(events::UNKNOWN, event_name, args.Pass()));
434 event->restrict_to_browser_context = profile; 435 event->restrict_to_browser_context = profile;
435 event->user_gesture = user_gesture; 436 event->user_gesture = user_gesture;
436 event_router->BroadcastEvent(event.Pass()); 437 event_router->BroadcastEvent(event.Pass());
437 } 438 }
438 439
439 void TabsEventRouter::DispatchSimpleBrowserEvent( 440 void TabsEventRouter::DispatchSimpleBrowserEvent(
440 Profile* profile, const int window_id, const std::string& event_name) { 441 Profile* profile, const int window_id, const std::string& event_name) {
441 if (!profile_->IsSameProfile(profile)) 442 if (!profile_->IsSameProfile(profile))
442 return; 443 return;
443 444
(...skipping 20 matching lines...) Expand all
464 args_base->AppendInteger(ExtensionTabUtil::GetTabId(contents)); 465 args_base->AppendInteger(ExtensionTabUtil::GetTabId(contents));
465 466
466 // Second arg: An object containing the changes to the tab state. Filled in 467 // Second arg: An object containing the changes to the tab state. Filled in
467 // by WillDispatchTabUpdatedEvent as a copy of changed_properties, if the 468 // by WillDispatchTabUpdatedEvent as a copy of changed_properties, if the
468 // extension has the tabs permission. 469 // extension has the tabs permission.
469 470
470 // Third arg: An object containing the state of the tab. Filled in by 471 // Third arg: An object containing the state of the tab. Filled in by
471 // WillDispatchTabUpdatedEvent. 472 // WillDispatchTabUpdatedEvent.
472 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext()); 473 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
473 474
474 scoped_ptr<Event> event( 475 scoped_ptr<Event> event(new Event(
475 new Event(tabs::OnUpdated::kEventName, args_base.Pass())); 476 events::UNKNOWN, tabs::OnUpdated::kEventName, args_base.Pass()));
476 event->restrict_to_browser_context = profile; 477 event->restrict_to_browser_context = profile;
477 event->user_gesture = EventRouter::USER_GESTURE_NOT_ENABLED; 478 event->user_gesture = EventRouter::USER_GESTURE_NOT_ENABLED;
478 event->will_dispatch_callback = 479 event->will_dispatch_callback =
479 base::Bind(&WillDispatchTabUpdatedEvent, 480 base::Bind(&WillDispatchTabUpdatedEvent,
480 contents, 481 contents,
481 changed_properties.get()); 482 changed_properties.get());
482 EventRouter::Get(profile)->BroadcastEvent(event.Pass()); 483 EventRouter::Get(profile)->BroadcastEvent(event.Pass());
483 } 484 }
484 485
485 TabsEventRouter::TabEntry* TabsEventRouter::GetTabEntry(WebContents* contents) { 486 TabsEventRouter::TabEntry* TabsEventRouter::GetTabEntry(WebContents* contents) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 void TabsEventRouter::OnFaviconUpdated(favicon::FaviconDriver* favicon_driver, 591 void TabsEventRouter::OnFaviconUpdated(favicon::FaviconDriver* favicon_driver,
591 bool icon_url_changed) { 592 bool icon_url_changed) {
592 if (icon_url_changed) { 593 if (icon_url_changed) {
593 favicon::ContentFaviconDriver* content_favicon_driver = 594 favicon::ContentFaviconDriver* content_favicon_driver =
594 static_cast<favicon::ContentFaviconDriver*>(favicon_driver); 595 static_cast<favicon::ContentFaviconDriver*>(favicon_driver);
595 FaviconUrlUpdated(content_favicon_driver->web_contents()); 596 FaviconUrlUpdated(content_favicon_driver->web_contents());
596 } 597 }
597 } 598 }
598 599
599 } // namespace extensions 600 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698