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

Side by Side Diff: extensions/browser/guest_view/guest_view_events.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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "extensions/browser/guest_view/guest_view_events.h"
6
7 #include <map>
8
9 #include "base/lazy_instance.h"
10 #include "components/guest_view/common/guest_view_constants.h"
11 #include "extensions/browser/guest_view/extension_options/extension_options_cons tants.h"
12 #include "extensions/browser/guest_view/extension_view/extension_view_constants. h"
13 #include "extensions/browser/guest_view/web_view/web_view_constants.h"
14 #include "extensions/common/api/extension_options_internal.h"
15
16 namespace extensions {
17 namespace guest_view_events {
18
19 namespace {
20
21 class EventMap {
22 public:
23 EventMap() {
24 struct ValueAndName {
25 events::HistogramValue value;
26 const char* name;
27 } values_and_names[] = {
28 {events::CHROME_WEB_VIEW_INTERNAL_ON_CONTEXT_MENU_SHOW,
29 webview::kEventContextMenuShow},
30 {events::EXTENSION_OPTIONS_INTERNAL_ON_CLOSE,
31 api::extension_options_internal::OnClose::kEventName},
32 {events::EXTENSION_OPTIONS_INTERNAL_ON_LOAD,
33 api::extension_options_internal::OnLoad::kEventName},
34 {events::EXTENSION_VIEW_INTERNAL_ON_LOAD_COMMIT,
35 extensionview::kEventLoadCommit},
36 {events::GUEST_VIEW_INTERNAL_ON_RESIZE, guest_view::kEventResize},
37 {events::WEB_VIEW_INTERNAL_ON_BEFORE_REQUEST,
38 webview::kEventBeforeRequest},
39 {events::WEB_VIEW_INTERNAL_ON_BEFORE_SEND_HEADERS,
40 webview::kEventBeforeSendHeaders},
41 {events::WEB_VIEW_INTERNAL_ON_CLOSE, webview::kEventClose},
42 {events::WEB_VIEW_INTERNAL_ON_COMPLETED, webview::kEventCompleted},
43 {events::WEB_VIEW_INTERNAL_ON_CONSOLE_MESSAGE,
44 webview::kEventConsoleMessage},
45 {events::WEB_VIEW_INTERNAL_ON_CONTENT_LOAD, webview::kEventContentLoad},
46 {events::WEB_VIEW_INTERNAL_ON_DIALOG, webview::kEventDialog},
47 {events::WEB_VIEW_INTERNAL_ON_DROP_LINK, webview::kEventDropLink},
48 {events::WEB_VIEW_INTERNAL_ON_EXIT, webview::kEventExit},
49 {events::WEB_VIEW_INTERNAL_ON_EXIT_FULLSCREEN,
50 webview::kEventExitFullscreen},
51 {events::WEB_VIEW_INTERNAL_ON_FIND_REPLY, webview::kEventFindReply},
52 {events::WEB_VIEW_INTERNAL_ON_HEADERS_RECEIVED,
53 webview::kEventHeadersReceived},
54 {events::WEB_VIEW_INTERNAL_ON_FRAME_NAME_CHANGED,
55 webview::kEventFrameNameChanged},
56 {events::WEB_VIEW_INTERNAL_ON_LOAD_ABORT, webview::kEventLoadAbort},
57 {events::WEB_VIEW_INTERNAL_ON_LOAD_COMMIT, webview::kEventLoadCommit},
58 {events::WEB_VIEW_INTERNAL_ON_LOAD_PROGRESS,
59 webview::kEventLoadProgress},
60 {events::WEB_VIEW_INTERNAL_ON_LOAD_REDIRECT,
61 webview::kEventLoadRedirect},
62 {events::WEB_VIEW_INTERNAL_ON_LOAD_START, webview::kEventLoadStart},
63 {events::WEB_VIEW_INTERNAL_ON_LOAD_STOP, webview::kEventLoadStop},
64 {events::WEB_VIEW_INTERNAL_ON_NEW_WINDOW, webview::kEventNewWindow},
65 {events::WEB_VIEW_INTERNAL_ON_PERMISSION_REQUEST,
66 webview::kEventPermissionRequest},
67 {events::WEB_VIEW_INTERNAL_ON_RESPONSE_STARTED,
68 webview::kEventResponseStarted},
69 {events::WEB_VIEW_INTERNAL_ON_RESPONSIVE, webview::kEventResponsive},
70 {events::WEB_VIEW_INTERNAL_ON_SIZE_CHANGED, webview::kEventSizeChanged},
71 {events::WEB_VIEW_INTERNAL_ON_UNRESPONSIVE,
72 webview::kEventUnresponsive},
73 {events::WEB_VIEW_INTERNAL_ON_ZOOM_CHANGE, webview::kEventZoomChange},
74 };
75 for (const ValueAndName& value_and_name : values_and_names) {
76 values_[value_and_name.name] = value_and_name.value;
77 }
78 }
79
80 events::HistogramValue Find(const std::string& event_name) {
81 auto value = values_.find(event_name);
82 return value != values_.end() ? value->second : events::UNKNOWN;
83 }
84
85 private:
86 std::map<std::string, events::HistogramValue> values_;
Devlin 2015/08/05 21:34:09 Do we not support map brace initialization? It's
not at google - send to devlin 2015/08/07 20:55:03 Neat! But sadly not allowed.
87 };
Devlin 2015/08/05 21:34:09 DISALLOW_COPY_AND_ASSIGN
not at google - send to devlin 2015/08/07 20:55:03 Done.
88
89 base::LazyInstance<EventMap> g_event_map = LAZY_INSTANCE_INITIALIZER;
90
91 } // namespace
92
93 events::HistogramValue GetEventHistogramValue(const std::string& event_name) {
94 return g_event_map.Get().Find(event_name);
95 }
96
97 } // namespace guest_view_events
98 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698