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

Side by Side Diff: third_party/WebKit/Source/modules/notifications/Notification.cpp

Issue 2392543004: Reflow comments in the Push and Notification modules. (Closed)
Patch Set: Reflow comments in the Push and Notification modules. Created 4 years, 2 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 WebNotificationManager* notificationManager() { 61 WebNotificationManager* notificationManager() {
62 return Platform::current()->notificationManager(); 62 return Platform::current()->notificationManager();
63 } 63 }
64 64
65 } // namespace 65 } // namespace
66 66
67 Notification* Notification::create(ExecutionContext* context, 67 Notification* Notification::create(ExecutionContext* context,
68 const String& title, 68 const String& title,
69 const NotificationOptions& options, 69 const NotificationOptions& options,
70 ExceptionState& exceptionState) { 70 ExceptionState& exceptionState) {
71 // The Web Notification constructor may be disabled through a runtime feature. The 71 // The Notification constructor may be disabled through a runtime feature when
72 // behavior of the constructor is changing, but not completely agreed upon yet . 72 // the platform does not support non-persistent notifications.
73 if (!RuntimeEnabledFeatures::notificationConstructorEnabled()) { 73 if (!RuntimeEnabledFeatures::notificationConstructorEnabled()) {
74 exceptionState.throwTypeError( 74 exceptionState.throwTypeError(
75 "Illegal constructor. Use ServiceWorkerRegistration.showNotification() " 75 "Illegal constructor. Use ServiceWorkerRegistration.showNotification() "
76 "instead."); 76 "instead.");
77 return nullptr; 77 return nullptr;
78 } 78 }
79 79
80 // The Web Notification constructor may not be used in Service Worker contexts . 80 // The Notification constructor may not be used in Service Worker contexts.
81 if (context->isServiceWorkerGlobalScope()) { 81 if (context->isServiceWorkerGlobalScope()) {
82 exceptionState.throwTypeError("Illegal constructor."); 82 exceptionState.throwTypeError("Illegal constructor.");
83 return nullptr; 83 return nullptr;
84 } 84 }
85 85
86 if (!options.actions().isEmpty()) { 86 if (!options.actions().isEmpty()) {
87 exceptionState.throwTypeError( 87 exceptionState.throwTypeError(
88 "Actions are only supported for persistent notifications shown using " 88 "Actions are only supported for persistent notifications shown using "
89 "ServiceWorkerRegistration.showNotification()."); 89 "ServiceWorkerRegistration.showNotification().");
90 return nullptr; 90 return nullptr;
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture); 211 UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture);
212 ScopedWindowFocusAllowedIndicator windowFocusAllowed(getExecutionContext()); 212 ScopedWindowFocusAllowedIndicator windowFocusAllowed(getExecutionContext());
213 dispatchEvent(Event::create(EventTypeNames::click)); 213 dispatchEvent(Event::create(EventTypeNames::click));
214 } 214 }
215 215
216 void Notification::dispatchErrorEvent() { 216 void Notification::dispatchErrorEvent() {
217 dispatchEvent(Event::create(EventTypeNames::error)); 217 dispatchEvent(Event::create(EventTypeNames::error));
218 } 218 }
219 219
220 void Notification::dispatchCloseEvent() { 220 void Notification::dispatchCloseEvent() {
221 // The notification will be showing when the user initiated the close, or it w ill be 221 // The notification should be Showing if the user initiated the close, or it
222 // closing if the developer initiated the close. 222 // should be Closing if the developer initiated the close.
223 if (m_state != State::Showing && m_state != State::Closing) 223 if (m_state != State::Showing && m_state != State::Closing)
224 return; 224 return;
225 225
226 m_state = State::Closed; 226 m_state = State::Closed;
227 dispatchEvent(Event::create(EventTypeNames::close)); 227 dispatchEvent(Event::create(EventTypeNames::close));
228 } 228 }
229 229
230 String Notification::title() const { 230 String Notification::title() const {
231 return m_data.title; 231 return m_data.title;
232 } 232 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 break; 318 break;
319 default: 319 default:
320 NOTREACHED() << "Unknown action type: " << m_data.actions[i].type; 320 NOTREACHED() << "Unknown action type: " << m_data.actions[i].type;
321 } 321 }
322 322
323 action.setAction(m_data.actions[i].action); 323 action.setAction(m_data.actions[i].action);
324 action.setTitle(m_data.actions[i].title); 324 action.setTitle(m_data.actions[i].title);
325 action.setIcon(m_data.actions[i].icon.string()); 325 action.setIcon(m_data.actions[i].icon.string());
326 action.setPlaceholder(m_data.actions[i].placeholder); 326 action.setPlaceholder(m_data.actions[i].placeholder);
327 327
328 // Not just the sequence of actions itself, but also the actions contained w ithin the 328 // Both the Action dictionaries themselves and the sequence they'll be
329 // sequence should be frozen per the Web Notification specification. 329 // returned in are expected to the frozen. This cannot be done with WebIDL.
330 actions[i] = 330 actions[i] =
331 freezeV8Object(toV8(action, scriptState), scriptState->isolate()); 331 freezeV8Object(toV8(action, scriptState), scriptState->isolate());
332 } 332 }
333 333
334 return actions; 334 return actions;
335 } 335 }
336 336
337 String Notification::permissionString( 337 String Notification::permissionString(
338 mojom::blink::PermissionStatus permission) { 338 mojom::blink::PermissionStatus permission) {
339 switch (permission) { 339 switch (permission) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 } 396 }
397 397
398 DEFINE_TRACE(Notification) { 398 DEFINE_TRACE(Notification) {
399 visitor->trace(m_prepareShowMethodRunner); 399 visitor->trace(m_prepareShowMethodRunner);
400 visitor->trace(m_loader); 400 visitor->trace(m_loader);
401 EventTargetWithInlineData::trace(visitor); 401 EventTargetWithInlineData::trace(visitor);
402 ActiveDOMObject::trace(visitor); 402 ActiveDOMObject::trace(visitor);
403 } 403 }
404 404
405 } // namespace blink 405 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698