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

Unified Diff: extensions/browser/guest_view/extensions_guest_view_manager_delegate.cc

Issue 1272373003: Add extension event histogram values for messaging, webRequest, and webview. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: extensions/browser/guest_view/extensions_guest_view_manager_delegate.cc
diff --git a/extensions/browser/guest_view/extensions_guest_view_manager_delegate.cc b/extensions/browser/guest_view/extensions_guest_view_manager_delegate.cc
index 854c6b289f657e328b059976af604503b4ed156a..2255c967b28d23e2a09d3a1e6b51a8d8c8e949f7 100644
--- a/extensions/browser/guest_view/extensions_guest_view_manager_delegate.cc
+++ b/extensions/browser/guest_view/extensions_guest_view_manager_delegate.cc
@@ -6,12 +6,14 @@
#include "components/guest_view/browser/guest_view_base.h"
#include "components/guest_view/browser/guest_view_manager.h"
+#include "components/guest_view/common/guest_view_constants.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/render_process_host.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/guest_view/app_view/app_view_guest.h"
#include "extensions/browser/guest_view/extension_options/extension_options_guest.h"
#include "extensions/browser/guest_view/extension_view/extension_view_guest.h"
+#include "extensions/browser/guest_view/guest_view_events.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
#include "extensions/browser/guest_view/surface_worker/surface_worker_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
@@ -43,14 +45,20 @@ void ExtensionsGuestViewManagerDelegate::DispatchEvent(
scoped_ptr<base::ListValue> event_args(new base::ListValue());
event_args->Append(args.release());
- EventRouter::DispatchEvent(
- guest->owner_web_contents(),
- guest->browser_context(),
- guest->owner_host(),
- event_name,
- event_args.Pass(),
- EventRouter::USER_GESTURE_UNKNOWN,
- info);
+ // GetEventHistogramValue maps guest view event names to their histogram
+ // value. It needs to be like this because the guest view component doesn't
+ // know about extensions, so GuestViewEvent can't have an
+ // extensions::events::HistogramValue as an argument.
+ events::HistogramValue histogram_value =
+ guest_view_events::GetEventHistogramValue(event_name);
+ DCHECK_NE(events::UNKNOWN, histogram_value) << "Event " << event_name
+ << " must have a histogram value";
+
+ content::WebContents* owner = guest->owner_web_contents();
+ EventRouter::DispatchEventToSender(
+ owner, guest->browser_context(), owner->GetLastCommittedURL(),
+ guest->owner_host(), histogram_value, event_name, event_args.Pass(),
+ EventRouter::USER_GESTURE_UNKNOWN, info);
}
bool ExtensionsGuestViewManagerDelegate::IsGuestAvailableToContext(

Powered by Google App Engine
This is Rietveld 408576698