diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp')
-rw-r--r-- | Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp b/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp index acf48f0f7..022163d4b 100644 --- a/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp +++ b/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp @@ -11,10 +11,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -36,8 +36,8 @@ namespace WebCore { -WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications(WorkerGlobalScope* context) - : m_context(context) +WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications(WorkerGlobalScope& scope) + : m_context(&scope) { } @@ -50,25 +50,29 @@ const char* WorkerGlobalScopeNotifications::supplementName() return "WorkerGlobalScopeNotifications"; } -WorkerGlobalScopeNotifications* WorkerGlobalScopeNotifications::from(WorkerGlobalScope* context) +WorkerGlobalScopeNotifications* WorkerGlobalScopeNotifications::from(WorkerGlobalScope& scope) { - WorkerGlobalScopeNotifications* supplement = static_cast<WorkerGlobalScopeNotifications*>(Supplement<ScriptExecutionContext>::from(context, supplementName())); + WorkerGlobalScopeNotifications* supplement = static_cast<WorkerGlobalScopeNotifications*>(Supplement<WorkerGlobalScope>::from(&scope, supplementName())); if (!supplement) { - supplement = new WorkerGlobalScopeNotifications(context); - Supplement<ScriptExecutionContext>::provideTo(context, supplementName(), adoptPtr(supplement)); + auto newSupplement = std::make_unique<WorkerGlobalScopeNotifications>(scope); + supplement = newSupplement.get(); + provideTo(&scope, supplementName(), WTFMove(newSupplement)); } return supplement; } -NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications(WorkerGlobalScope* context) +NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications(WorkerGlobalScope& scope) { - return WorkerGlobalScopeNotifications::from(context)->webkitNotifications(); + return WorkerGlobalScopeNotifications::from(scope)->webkitNotifications(); } NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications() { + // FIXME: As of this writing, this always passes nullptr for the client. + // If it wasn't for that, the notification center create function could be taking a reference. + // How is it useful to create a notification center with no client? if (!m_notificationCenter) - m_notificationCenter = NotificationCenter::create(m_context, m_context->thread()->getNotificationClient()); + m_notificationCenter = NotificationCenter::create(*m_context, m_context->thread().getNotificationClient()); return m_notificationCenter.get(); } |