Commit 4b7c4d01 authored by Peter Beverloo's avatar Peter Beverloo Committed by Commit Bot

Prepare Notification Triggers for an Origin Trial

Bug: 891339
Change-Id: I5e144d89715e067469a01ae4b23a4ffb599ceab4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1784610Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Reviewed-by: default avatarSami Kyöstilä <skyostil@chromium.org>
Reviewed-by: default avatarRayan Kanso <rayankans@chromium.org>
Reviewed-by: default avatarJason Chase <chasej@chromium.org>
Commit-Queue: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#693732}
parent c15272d1
...@@ -311,7 +311,7 @@ const base::Feature kNotificationContentImage{"NotificationContentImage", ...@@ -311,7 +311,7 @@ const base::Feature kNotificationContentImage{"NotificationContentImage",
// Enables the notification trigger API. // Enables the notification trigger API.
const base::Feature kNotificationTriggers{"NotificationTriggers", const base::Feature kNotificationTriggers{"NotificationTriggers",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Origin Policy. See https://crbug.com/751996 // Origin Policy. See https://crbug.com/751996
const base::Feature kOriginPolicy{"OriginPolicy", const base::Feature kOriginPolicy{"OriginPolicy",
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
#include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_event_dispatcher.h" #include "content/public/browser/notification_event_dispatcher.h"
#include "content/public/browser/platform_notification_context.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/common/persistent_notification_status.h" #include "content/public/common/persistent_notification_status.h"
#include "third_party/blink/public/common/notifications/platform_notification_data.h" #include "third_party/blink/public/common/notifications/platform_notification_data.h"
...@@ -95,7 +97,15 @@ void MockPlatformNotificationService::GetDisplayedNotifications( ...@@ -95,7 +97,15 @@ void MockPlatformNotificationService::GetDisplayedNotifications(
true /* supports_synchronization */)); true /* supports_synchronization */));
} }
void MockPlatformNotificationService::ScheduleTrigger(base::Time timestamp) {} void MockPlatformNotificationService::ScheduleTrigger(base::Time timestamp) {
if (timestamp > base::Time::Now())
return;
BrowserContext::ForEachStoragePartition(
context_, base::BindRepeating([](content::StoragePartition* partition) {
partition->GetPlatformNotificationContext()->TriggerNotifications();
}));
}
base::Time MockPlatformNotificationService::ReadNextTriggerTimestamp() { base::Time MockPlatformNotificationService::ReadNextTriggerTimestamp() {
return base::Time::Max(); return base::Time::Max();
......
...@@ -1103,6 +1103,7 @@ ...@@ -1103,6 +1103,7 @@
}, },
{ {
name: "NotificationTriggers", name: "NotificationTriggers",
origin_trial_feature_name: "NotificationTriggers",
status: "experimental", status: "experimental",
}, },
{ {
......
<!DOCTYPE html>
<meta charset="utf-8">
<!-- Generate token with the command:
generate_token.py http://127.0.0.1:8000 NotificationTriggers --expire-timestamp=2000000000
-- -->
<meta http-equiv="origin-trial" content="Ar/KWF7nX8nSBH6dLt01Bjp+FAQ+k3iCerNiAxxA1X2PbkIFVEcfyfTK6ZWji1pnzA53qRRWFahwaS5ScBgYVwwAAABceyJvcmlnaW4iOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwgImZlYXR1cmUiOiAiTm90aWZpY2F0aW9uVHJpZ2dlcnMiLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=" />
<title>NotificationTriggers - interfaces exposed by origin trial</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../../resources/origin-trials-helper.js"></script>
<script>
test(t => {
OriginTrialsHelper.check_properties_exist(this,
{
'Notification': ['showTrigger'],
},
);
}, "NotificationTriggers interfaces in Origin-Trial enabled document.");
</script>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment