OLD | NEW |
---|---|
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 17 matching lines...) Expand all Loading... | |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "modules/notifications/Notification.h" | 31 #include "modules/notifications/Notification.h" |
32 | 32 |
33 #include "bindings/core/v8/ExceptionState.h" | 33 #include "bindings/core/v8/ExceptionState.h" |
34 #include "bindings/core/v8/ScriptState.h" | 34 #include "bindings/core/v8/ScriptState.h" |
35 #include "bindings/core/v8/SerializedScriptValueFactory.h" | 35 #include "bindings/core/v8/SerializedScriptValueFactory.h" |
36 #include "bindings/modules/v8/V8NotificationAction.h" | 36 #include "bindings/modules/v8/V8NotificationAction.h" |
37 #include "core/dom/Document.h" | 37 #include "core/dom/Document.h" |
38 #include "core/dom/DocumentUserGestureToken.h" | |
38 #include "core/dom/ExecutionContext.h" | 39 #include "core/dom/ExecutionContext.h" |
39 #include "core/dom/ExecutionContextTask.h" | 40 #include "core/dom/ExecutionContextTask.h" |
40 #include "core/dom/ScopedWindowFocusAllowedIndicator.h" | 41 #include "core/dom/ScopedWindowFocusAllowedIndicator.h" |
41 #include "core/events/Event.h" | 42 #include "core/events/Event.h" |
42 #include "core/frame/UseCounter.h" | 43 #include "core/frame/UseCounter.h" |
43 #include "modules/notifications/NotificationAction.h" | 44 #include "modules/notifications/NotificationAction.h" |
44 #include "modules/notifications/NotificationData.h" | 45 #include "modules/notifications/NotificationData.h" |
45 #include "modules/notifications/NotificationManager.h" | 46 #include "modules/notifications/NotificationManager.h" |
46 #include "modules/notifications/NotificationOptions.h" | 47 #include "modules/notifications/NotificationOptions.h" |
47 #include "modules/notifications/NotificationResourcesLoader.h" | 48 #include "modules/notifications/NotificationResourcesLoader.h" |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
212 DCHECK(m_notificationId.isEmpty()); | 213 DCHECK(m_notificationId.isEmpty()); |
213 m_notificationId = notificationId; | 214 m_notificationId = notificationId; |
214 | 215 |
215 dispatchEvent(Event::create(EventTypeNames::show)); | 216 dispatchEvent(Event::create(EventTypeNames::show)); |
216 | 217 |
217 if (m_requestedClose) | 218 if (m_requestedClose) |
218 close(); | 219 close(); |
219 } | 220 } |
220 | 221 |
221 void Notification::didClickNotification() { | 222 void Notification::didClickNotification() { |
222 UserGestureIndicator gestureIndicator( | 223 ExecutionContext* context = getExecutionContext(); |
223 UserGestureToken::create(UserGestureToken::NewGesture)); | 224 UserGestureIndicator gestureIndicator(DocumentUserGestureToken::create( |
224 | 225 context->isDocument() ? toDocument(context) : nullptr, |
Peter Beverloo
2016/10/19 16:36:48
Prefer DCHECK(context->isDocument()) for this code
Nate Chapin
2016/10/21 18:11:04
Done.
Nate Chapin
2016/10/21 20:43:28
...actually, the layout tests disagree. Switched b
| |
226 UserGestureToken::NewGesture)); | |
225 ScopedWindowFocusAllowedIndicator windowFocusAllowed(getExecutionContext()); | 227 ScopedWindowFocusAllowedIndicator windowFocusAllowed(getExecutionContext()); |
226 dispatchEvent(Event::create(EventTypeNames::click)); | 228 dispatchEvent(Event::create(EventTypeNames::click)); |
227 } | 229 } |
228 | 230 |
229 void Notification::didCloseNotification() { | 231 void Notification::didCloseNotification() { |
230 // The notification will be showing when the user initiated the close, or it | 232 // The notification will be showing when the user initiated the close, or it |
231 // will be closing if the developer initiated the close. | 233 // will be closing if the developer initiated the close. |
232 if (m_state != State::Showing && m_state != State::Closing) | 234 if (m_state != State::Showing && m_state != State::Closing) |
233 return; | 235 return; |
234 | 236 |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
405 } | 407 } |
406 | 408 |
407 DEFINE_TRACE(Notification) { | 409 DEFINE_TRACE(Notification) { |
408 visitor->trace(m_prepareShowMethodRunner); | 410 visitor->trace(m_prepareShowMethodRunner); |
409 visitor->trace(m_loader); | 411 visitor->trace(m_loader); |
410 EventTargetWithInlineData::trace(visitor); | 412 EventTargetWithInlineData::trace(visitor); |
411 ActiveDOMObject::trace(visitor); | 413 ActiveDOMObject::trace(visitor); |
412 } | 414 } |
413 | 415 |
414 } // namespace blink | 416 } // namespace blink |
OLD | NEW |