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

Unified Diff: third_party/WebKit/Source/modules/notifications/Notification.cpp

Issue 1578263006: Add metrics for usage of permission features from iframes in blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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: third_party/WebKit/Source/modules/notifications/Notification.cpp
diff --git a/third_party/WebKit/Source/modules/notifications/Notification.cpp b/third_party/WebKit/Source/modules/notifications/Notification.cpp
index 00801a281c23bbe7999da1cdf14e399a025ebd59..2c6b8e41dea2ea8b2d4af9bb85a4d5b44e798119 100644
--- a/third_party/WebKit/Source/modules/notifications/Notification.cpp
+++ b/third_party/WebKit/Source/modules/notifications/Notification.cpp
@@ -84,11 +84,15 @@ Notification* Notification::create(ExecutionContext* context, const String& titl
}
String insecureOriginMessage;
- UseCounter::Feature feature = context->isSecureContext(insecureOriginMessage)
- ? UseCounter::NotificationSecureOrigin
- : UseCounter::NotificationInsecureOrigin;
-
- UseCounter::count(context, feature);
+ if (context->isSecureContext(insecureOriginMessage)) {
+ UseCounter::count(context, UseCounter::NotificationSecureOrigin);
+ if (context->isDocument())
+ UseCounter::countCrossOriginIframe(*toDocument(context), UseCounter::NotificationAPISecureOriginIframe);
+ } else {
+ UseCounter::count(context, UseCounter::NotificationInsecureOrigin);
+ if (context->isDocument())
+ UseCounter::countCrossOriginIframe(*toDocument(context), UseCounter::NotificationAPIInsecureOriginIframe);
+ }
WebNotificationData data = createWebNotificationData(context, title, options, exceptionState);
if (exceptionState.hadException())
@@ -320,6 +324,17 @@ WebNotificationPermission Notification::checkPermission(ExecutionContext* contex
ScriptPromise Notification::requestPermission(ScriptState* scriptState, NotificationPermissionCallback* deprecatedCallback)
{
ExecutionContext* context = scriptState->executionContext();
+
+ // Measure usage in cross-origin iframes.
mlamouri (slow - plz ping) 2016/01/19 17:54:48 Why do we need to know that? If we want to know us
raymes 2016/01/20 00:13:12 I tried to make what we're counting consistent acr
+ if (context->isDocument()) {
+ String insecureOriginMessage;
+ if (context->isSecureContext(insecureOriginMessage)) {
+ UseCounter::countCrossOriginIframe(*toDocument(context), UseCounter::NotificationAPISecureOriginIframe);
+ } else {
+ UseCounter::countCrossOriginIframe(*toDocument(context), UseCounter::NotificationAPIInsecureOriginIframe);
+ }
+ }
+
if (NotificationPermissionClient* permissionClient = NotificationPermissionClient::from(context))
return permissionClient->requestPermission(scriptState, deprecatedCallback);

Powered by Google App Engine
This is Rietveld 408576698