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 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 { | 304 { |
305 SecurityOrigin* origin = context->securityOrigin(); | 305 SecurityOrigin* origin = context->securityOrigin(); |
306 ASSERT(origin); | 306 ASSERT(origin); |
307 | 307 |
308 return notificationManager()->checkPermission(WebSecurityOrigin(origin)); | 308 return notificationManager()->checkPermission(WebSecurityOrigin(origin)); |
309 } | 309 } |
310 | 310 |
311 ScriptPromise Notification::requestPermission(ScriptState* scriptState, Notifica
tionPermissionCallback* deprecatedCallback) | 311 ScriptPromise Notification::requestPermission(ScriptState* scriptState, Notifica
tionPermissionCallback* deprecatedCallback) |
312 { | 312 { |
313 ExecutionContext* context = scriptState->executionContext(); | 313 ExecutionContext* context = scriptState->executionContext(); |
314 NotificationPermissionClient* permissionClient = NotificationPermissionClien
t::from(context); | 314 if (NotificationPermissionClient* permissionClient = NotificationPermissionC
lient::from(context)) |
315 if (!permissionClient) { | 315 return permissionClient->requestPermission(scriptState, deprecatedCallba
ck); |
316 // TODO(peter): Assert that this code-path will only be reached for Docu
ment environments when Blink | |
317 // supports [Exposed] annotations on class members in IDL definitions. S
ee https://crbug.com/442139. | |
318 return ScriptPromise::cast(scriptState, v8String(scriptState->isolate(),
permission(context))); | |
319 } | |
320 | 316 |
321 return permissionClient->requestPermission(scriptState, deprecatedCallback); | 317 // The context has been detached. Return a promise that will never settle. |
| 318 ASSERT(context->activeDOMObjectsAreStopped()); |
| 319 return ScriptPromise(); |
322 } | 320 } |
323 | 321 |
324 size_t Notification::maxActions() | 322 size_t Notification::maxActions() |
325 { | 323 { |
326 // Returns a fixed number for unit tests, which run without the availability
of the Platform object. | 324 // Returns a fixed number for unit tests, which run without the availability
of the Platform object. |
327 if (!notificationManager()) | 325 if (!notificationManager()) |
328 return 2; | 326 return 2; |
329 | 327 |
330 return notificationManager()->maxActions(); | 328 return notificationManager()->maxActions(); |
331 } | 329 } |
(...skipping 23 matching lines...) Expand all Loading... |
355 return m_state == NotificationStateShowing || m_asyncRunner.isActive(); | 353 return m_state == NotificationStateShowing || m_asyncRunner.isActive(); |
356 } | 354 } |
357 | 355 |
358 DEFINE_TRACE(Notification) | 356 DEFINE_TRACE(Notification) |
359 { | 357 { |
360 RefCountedGarbageCollectedEventTargetWithInlineData<Notification>::trace(vis
itor); | 358 RefCountedGarbageCollectedEventTargetWithInlineData<Notification>::trace(vis
itor); |
361 ActiveDOMObject::trace(visitor); | 359 ActiveDOMObject::trace(visitor); |
362 } | 360 } |
363 | 361 |
364 } // namespace blink | 362 } // namespace blink |
OLD | NEW |