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

Side by Side Diff: chrome/browser/push_messaging/push_messaging_notification_manager.cc

Issue 1841653003: Drop |languages| from {Format,Elide}Url* and IDNToUnicode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix typo in elide_url.cc Created 4 years, 8 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 2015 The Chromium Authors. All rights reserved. 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 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/push_messaging/push_messaging_notification_manager.h" 5 #include "chrome/browser/push_messaging/push_messaging_notification_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <bitset> 9 #include <bitset>
10 10
11 #include "base/metrics/histogram_macros.h" 11 #include "base/metrics/histogram_macros.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "chrome/browser/browser_process.h" 13 #include "chrome/browser/browser_process.h"
14 #include "chrome/browser/notifications/platform_notification_service_impl.h" 14 #include "chrome/browser/notifications/platform_notification_service_impl.h"
15 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/push_messaging/push_messaging_constants.h" 16 #include "chrome/browser/push_messaging/push_messaging_constants.h"
17 #include "chrome/common/features.h" 17 #include "chrome/common/features.h"
18 #include "chrome/common/pref_names.h"
19 #include "chrome/grit/generated_resources.h" 18 #include "chrome/grit/generated_resources.h"
20 #include "components/prefs/pref_service.h"
21 #include "components/rappor/rappor_utils.h" 19 #include "components/rappor/rappor_utils.h"
22 #include "components/url_formatter/elide_url.h" 20 #include "components/url_formatter/elide_url.h"
23 #include "content/public/browser/browser_context.h" 21 #include "content/public/browser/browser_context.h"
24 #include "content/public/browser/browser_thread.h" 22 #include "content/public/browser/browser_thread.h"
25 #include "content/public/browser/platform_notification_context.h" 23 #include "content/public/browser/platform_notification_context.h"
26 #include "content/public/browser/push_messaging_service.h" 24 #include "content/public/browser/push_messaging_service.h"
27 #include "content/public/browser/render_frame_host.h" 25 #include "content/public/browser/render_frame_host.h"
28 #include "content/public/browser/storage_partition.h" 26 #include "content/public/browser/storage_partition.h"
29 #include "content/public/browser/web_contents.h" 27 #include "content/public/browser/web_contents.h"
30 #include "content/public/common/notification_resources.h" 28 #include "content/public/common/notification_resources.h"
(...skipping 27 matching lines...) Expand all
58 content::PUSH_USER_VISIBLE_STATUS_LAST + 1); 56 content::PUSH_USER_VISIBLE_STATUS_LAST + 1);
59 } 57 }
60 58
61 content::StoragePartition* GetStoragePartition(Profile* profile, 59 content::StoragePartition* GetStoragePartition(Profile* profile,
62 const GURL& origin) { 60 const GURL& origin) {
63 return content::BrowserContext::GetStoragePartitionForSite(profile, origin); 61 return content::BrowserContext::GetStoragePartitionForSite(profile, origin);
64 } 62 }
65 63
66 NotificationDatabaseData CreateDatabaseData( 64 NotificationDatabaseData CreateDatabaseData(
67 const GURL& origin, 65 const GURL& origin,
68 int64_t service_worker_registration_id, 66 int64_t service_worker_registration_id) {
69 const std::string& languages) {
70 PlatformNotificationData notification_data; 67 PlatformNotificationData notification_data;
71 notification_data.title = 68 notification_data.title =
72 url_formatter::FormatUrlForSecurityDisplayOmitScheme(origin, languages); 69 url_formatter::FormatUrlForSecurityDisplayOmitScheme(origin);
73 notification_data.direction = 70 notification_data.direction =
74 PlatformNotificationData::DIRECTION_LEFT_TO_RIGHT; 71 PlatformNotificationData::DIRECTION_LEFT_TO_RIGHT;
75 notification_data.body = 72 notification_data.body =
76 l10n_util::GetStringUTF16(IDS_PUSH_MESSAGING_GENERIC_NOTIFICATION_BODY); 73 l10n_util::GetStringUTF16(IDS_PUSH_MESSAGING_GENERIC_NOTIFICATION_BODY);
77 notification_data.tag = kPushMessagingForcedNotificationTag; 74 notification_data.tag = kPushMessagingForcedNotificationTag;
78 notification_data.icon = GURL(); 75 notification_data.icon = GURL();
79 notification_data.silent = true; 76 notification_data.silent = true;
80 77
81 NotificationDatabaseData database_data; 78 NotificationDatabaseData database_data;
82 database_data.origin = origin; 79 database_data.origin = origin;
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 } 289 }
293 RecordUserVisibleStatus( 290 RecordUserVisibleStatus(
294 content::PUSH_USER_VISIBLE_STATUS_REQUIRED_BUT_NOT_SHOWN_GRACE_EXCEEDED); 291 content::PUSH_USER_VISIBLE_STATUS_REQUIRED_BUT_NOT_SHOWN_GRACE_EXCEEDED);
295 rappor::SampleDomainAndRegistryFromGURL( 292 rappor::SampleDomainAndRegistryFromGURL(
296 g_browser_process->rappor_service(), 293 g_browser_process->rappor_service(),
297 "PushMessaging.GenericNotificationShown.Origin", origin); 294 "PushMessaging.GenericNotificationShown.Origin", origin);
298 295
299 // The site failed to show a notification when one was needed, and they have 296 // The site failed to show a notification when one was needed, and they have
300 // already failed once in the previous 10 push messages, so we will show a 297 // already failed once in the previous 10 push messages, so we will show a
301 // generic notification. See https://crbug.com/437277. 298 // generic notification. See https://crbug.com/437277.
302 NotificationDatabaseData database_data = CreateDatabaseData( 299 NotificationDatabaseData database_data =
303 origin, service_worker_registration_id, 300 CreateDatabaseData(origin, service_worker_registration_id);
304 profile_->GetPrefs()->GetString(prefs::kAcceptLanguages));
305 scoped_refptr<PlatformNotificationContext> notification_context = 301 scoped_refptr<PlatformNotificationContext> notification_context =
306 GetStoragePartition(profile_, origin)->GetPlatformNotificationContext(); 302 GetStoragePartition(profile_, origin)->GetPlatformNotificationContext();
307 BrowserThread::PostTask( 303 BrowserThread::PostTask(
308 BrowserThread::IO, FROM_HERE, 304 BrowserThread::IO, FROM_HERE,
309 base::Bind(&PlatformNotificationContext::WriteNotificationData, 305 base::Bind(&PlatformNotificationContext::WriteNotificationData,
310 notification_context, origin, database_data, 306 notification_context, origin, database_data,
311 base::Bind(&PushMessagingNotificationManager:: 307 base::Bind(&PushMessagingNotificationManager::
312 DidWriteNotificationDataIOProxy, 308 DidWriteNotificationDataIOProxy,
313 weak_factory_.GetWeakPtr(), origin, 309 weak_factory_.GetWeakPtr(), origin,
314 database_data.notification_data, 310 database_data.notification_data,
(...skipping 28 matching lines...) Expand all
343 message_handled_closure.Run(); 339 message_handled_closure.Run();
344 return; 340 return;
345 } 341 }
346 342
347 PlatformNotificationServiceImpl::GetInstance()->DisplayPersistentNotification( 343 PlatformNotificationServiceImpl::GetInstance()->DisplayPersistentNotification(
348 profile_, persistent_notification_id, origin, notification_data, 344 profile_, persistent_notification_id, origin, notification_data,
349 NotificationResources()); 345 NotificationResources());
350 346
351 message_handled_closure.Run(); 347 message_handled_closure.Run();
352 } 348 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698