OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * Copyright (C) 2009, 2011, 2012 Apple Inc. All rights reserved. | 3 * Copyright (C) 2009, 2011, 2012 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 18 matching lines...) Expand all Loading... |
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
30 */ | 30 */ |
31 | 31 |
32 #include "config.h" | 32 #include "config.h" |
33 | 33 |
34 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) | 34 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) |
35 | 35 |
36 #include "modules/notifications/Notification.h" | 36 #include "modules/notifications/Notification.h" |
37 | 37 |
38 #include "bindings/v8/Dictionary.h" | 38 #include "bindings/v8/Dictionary.h" |
| 39 #include "bindings/v8/ExceptionMessages.h" |
39 #include "bindings/v8/ExceptionState.h" | 40 #include "bindings/v8/ExceptionState.h" |
40 #include "core/dom/Document.h" | 41 #include "core/dom/Document.h" |
41 #include "core/dom/ErrorEvent.h" | 42 #include "core/dom/ErrorEvent.h" |
42 #include "core/dom/EventNames.h" | 43 #include "core/dom/EventNames.h" |
43 #include "core/loader/ThreadableLoader.h" | 44 #include "core/loader/ThreadableLoader.h" |
44 #include "core/page/DOMWindow.h" | 45 #include "core/page/DOMWindow.h" |
45 #include "core/page/WindowFocusAllowedIndicator.h" | 46 #include "core/page/WindowFocusAllowedIndicator.h" |
46 #include "core/platform/network/ResourceRequest.h" | 47 #include "core/platform/network/ResourceRequest.h" |
47 #include "core/platform/network/ResourceResponse.h" | 48 #include "core/platform/network/ResourceResponse.h" |
48 #include "core/workers/WorkerGlobalScope.h" | 49 #include "core/workers/WorkerGlobalScope.h" |
(...skipping 14 matching lines...) Expand all Loading... |
63 #if ENABLE(LEGACY_NOTIFICATIONS) | 64 #if ENABLE(LEGACY_NOTIFICATIONS) |
64 Notification::Notification(const String& title, const String& body, const String
& iconURI, ScriptExecutionContext* context, ExceptionState& es, PassRefPtr<Notif
icationCenter> provider) | 65 Notification::Notification(const String& title, const String& body, const String
& iconURI, ScriptExecutionContext* context, ExceptionState& es, PassRefPtr<Notif
icationCenter> provider) |
65 : ActiveDOMObject(context) | 66 : ActiveDOMObject(context) |
66 , m_title(title) | 67 , m_title(title) |
67 , m_body(body) | 68 , m_body(body) |
68 , m_state(Idle) | 69 , m_state(Idle) |
69 , m_notificationCenter(provider) | 70 , m_notificationCenter(provider) |
70 { | 71 { |
71 ScriptWrappable::init(this); | 72 ScriptWrappable::init(this); |
72 if (m_notificationCenter->checkPermission() != NotificationClient::Permissio
nAllowed) { | 73 if (m_notificationCenter->checkPermission() != NotificationClient::Permissio
nAllowed) { |
73 es.throwDOMException(SecurityError); | 74 es.throwSecurityError("Failed to create Notification: permission denied.
"); |
74 return; | 75 return; |
75 } | 76 } |
76 | 77 |
77 m_icon = iconURI.isEmpty() ? KURL() : scriptExecutionContext()->completeURL(
iconURI); | 78 m_icon = iconURI.isEmpty() ? KURL() : scriptExecutionContext()->completeURL(
iconURI); |
78 if (!m_icon.isEmpty() && !m_icon.isValid()) { | 79 if (!m_icon.isEmpty() && !m_icon.isValid()) { |
79 es.throwDOMException(SyntaxError); | 80 es.throwDOMException(SyntaxError); |
80 return; | 81 return; |
81 } | 82 } |
82 } | 83 } |
83 #endif | 84 #endif |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 void Notification::requestPermission(ScriptExecutionContext* context, PassRefPtr
<NotificationPermissionCallback> callback) | 259 void Notification::requestPermission(ScriptExecutionContext* context, PassRefPtr
<NotificationPermissionCallback> callback) |
259 { | 260 { |
260 ASSERT(toDocument(context)->page()); | 261 ASSERT(toDocument(context)->page()); |
261 NotificationController::from(toDocument(context)->page())->client()->request
Permission(context, callback); | 262 NotificationController::from(toDocument(context)->page())->client()->request
Permission(context, callback); |
262 } | 263 } |
263 #endif | 264 #endif |
264 | 265 |
265 } // namespace WebCore | 266 } // namespace WebCore |
266 | 267 |
267 #endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) | 268 #endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) |
OLD | NEW |