Changeset 62939 in webkit
- Timestamp:
- Jul 9, 2010 4:47:15 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r62937 r62939 1 2010-07-09 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Laszlo Gombos. 4 5 NotificationPresenter needs a cancelRequestPermission API 6 https://bugs.webkit.org/show_bug.cgi?id=41783 7 8 Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin. 9 Added new API NotificationPresenter::cancelRequestsForPermision 10 The new API will be implemented and a test will be added in a followup patch. 11 12 * notifications/Notification.cpp: 13 (WebCore::Notification::Notification): 14 * notifications/NotificationCenter.cpp: 15 (WebCore::NotificationCenter::checkPermission): 16 (WebCore::NotificationCenter::requestPermission): 17 (WebCore::NotificationCenter::disconnectFrame): 18 * notifications/NotificationCenter.h: 19 * notifications/NotificationPresenter.h: 20 1 21 2010-07-09 Andreas Wictor <andreas.wictor@xcerion.com> 2 22 -
trunk/WebCore/notifications/Notification.cpp
r61316 r62939 53 53 { 54 54 ASSERT(m_presenter); 55 if (m_presenter->checkPermission(context ->url()) != NotificationPresenter::PermissionAllowed) {55 if (m_presenter->checkPermission(context) != NotificationPresenter::PermissionAllowed) { 56 56 ec = SECURITY_ERR; 57 57 return; … … 74 74 { 75 75 ASSERT(m_presenter); 76 if (m_presenter->checkPermission(context ->url()) != NotificationPresenter::PermissionAllowed) {76 if (m_presenter->checkPermission(context) != NotificationPresenter::PermissionAllowed) { 77 77 ec = SECURITY_ERR; 78 78 return; -
trunk/WebCore/notifications/NotificationCenter.cpp
r56756 r62939 50 50 if (!presenter()) 51 51 return NotificationPresenter::PermissionDenied; 52 return m_notificationPresenter->checkPermission(m_scriptExecutionContext ->url());52 return m_notificationPresenter->checkPermission(m_scriptExecutionContext); 53 53 } 54 54 … … 57 57 if (!presenter()) 58 58 return; 59 m_notificationPresenter->requestPermission(m_scriptExecutionContext->securityOrigin(), callback); 59 m_notificationPresenter->requestPermission(m_scriptExecutionContext, callback); 60 } 61 62 void NotificationCenter::disconnectFrame() 63 { 64 m_notificationPresenter->cancelRequestsForPermission(m_scriptExecutionContext); 65 m_notificationPresenter = 0; 60 66 } 61 67 -
trunk/WebCore/notifications/NotificationCenter.h
r61521 r62939 78 78 void requestPermission(PassRefPtr<VoidCallback> callback); 79 79 80 void disconnectFrame() { m_notificationPresenter = 0; }80 void disconnectFrame(); 81 81 82 82 private: -
trunk/WebCore/notifications/NotificationPresenter.h
r56756 r62939 42 42 class Notification; 43 43 class KURL; 44 class S ecurityOrigin;44 class ScriptExecutionContext; 45 45 class String; 46 46 … … 68 68 69 69 // Requests user permission to show desktop notifications from a particular 70 // origin. The callback parameter should be run when the user has70 // script context. The callback parameter should be run when the user has 71 71 // made a decision. 72 virtual void requestPermission(SecurityOrigin*, PassRefPtr<VoidCallback>) = 0; 72 virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>) = 0; 73 74 // Cancel all outstanding requests for the ScriptExecutionContext 75 virtual void cancelRequestsForPermission(ScriptExecutionContext*) = 0; 73 76 74 77 // Checks the current level of permission. 75 virtual Permission checkPermission( const KURL&) = 0;78 virtual Permission checkPermission(ScriptExecutionContext*) = 0; 76 79 }; 77 80 -
trunk/WebKit/chromium/ChangeLog
r62927 r62939 1 2010-07-09 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Laszlo Gombos. 4 5 NotificationPresenter needs a cancelRequestPermission API 6 https://bugs.webkit.org/show_bug.cgi?id=41783 7 8 Updated the NotificationPresenter API. 9 10 * src/NotificationPresenterImpl.cpp: 11 (WebKit::NotificationPresenterImpl::checkPermission): 12 (WebKit::NotificationPresenterImpl::requestPermission): 13 * src/NotificationPresenterImpl.h: 14 (WebKit::NotificationPresenterImpl::cancelRequestsForPermission): 15 1 16 2010-07-08 Pavel Feldman <pfeldman@chromium.org> 2 17 -
trunk/WebKit/chromium/src/NotificationPresenterImpl.cpp
r61316 r62939 36 36 #include "KURL.h" 37 37 #include "Notification.h" 38 #include "ScriptExecutionContext.h" 38 39 #include "SecurityOrigin.h" 39 40 … … 92 93 } 93 94 94 NotificationPresenter::Permission NotificationPresenterImpl::checkPermission( const KURL& sourceURL)95 NotificationPresenter::Permission NotificationPresenterImpl::checkPermission(ScriptExecutionContext* context) 95 96 { 96 int result = m_presenter->checkPermission( sourceURL);97 int result = m_presenter->checkPermission(context->url()); 97 98 return static_cast<NotificationPresenter::Permission>(result); 98 99 } 99 100 100 void NotificationPresenterImpl::requestPermission(S ecurityOrigin* origin, PassRefPtr<VoidCallback> callback)101 void NotificationPresenterImpl::requestPermission(ScriptExecutionContext* context, PassRefPtr<VoidCallback> callback) 101 102 { 102 m_presenter->requestPermission(WebSecurityOrigin( origin), new VoidCallbackClient(callback));103 m_presenter->requestPermission(WebSecurityOrigin(context->securityOrigin()), new VoidCallbackClient(callback)); 103 104 } 104 105 -
trunk/WebKit/chromium/src/NotificationPresenterImpl.h
r56756 r62939 55 55 virtual void cancel(WebCore::Notification* object); 56 56 virtual void notificationObjectDestroyed(WebCore::Notification* object); 57 virtual WebCore::NotificationPresenter::Permission checkPermission(const WebCore::KURL& sourceURL); 58 virtual void requestPermission(WebCore::SecurityOrigin* origin, WTF::PassRefPtr<WebCore::VoidCallback> callback); 57 virtual WebCore::NotificationPresenter::Permission checkPermission(WebCore::ScriptExecutionContext*); 58 virtual void requestPermission(WebCore::ScriptExecutionContext* , WTF::PassRefPtr<WebCore::VoidCallback> callback); 59 virtual void cancelRequestsForPermission(WebCore::ScriptExecutionContext*) {} 59 60 60 61 private: -
trunk/WebKit/qt/ChangeLog
r62913 r62939 1 2010-07-09 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Laszlo Gombos. 4 5 NotificationPresenter needs a cancelRequestPermission API 6 https://bugs.webkit.org/show_bug.cgi?id=41783 7 8 Updated NotificationPresenter API to use ScriptExecutionContext instead of origin 9 and added a new NotificationPresenter::cancelRequestsForPermission API. 10 The new API will be implemented in a followup patch. 11 12 * WebCoreSupport/NotificationPresenterClientQt.cpp: 13 (WebCore::NotificationPresenterClientQt::requestPermission): 14 (WebCore::NotificationPresenterClientQt::checkPermission): 15 (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission): 16 * WebCoreSupport/NotificationPresenterClientQt.h: 17 1 18 2010-07-09 Kent Hansen <kent.hansen@nokia.com> 2 19 -
trunk/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
r61543 r62939 38 38 #include "KURL.h" 39 39 #include "QtPlatformPlugin.h" 40 #include "ScriptExecutionContext.h" 40 41 #include "SecurityOrigin.h" 41 42 … … 253 254 } 254 255 255 void NotificationPresenterClientQt::requestPermission(S ecurityOrigin* origin, PassRefPtr<VoidCallback> callback)256 void NotificationPresenterClientQt::requestPermission(ScriptExecutionContext* context, PassRefPtr<VoidCallback> callback) 256 257 { 257 258 if (dumpNotification) 258 printf("DESKTOP NOTIFICATION PERMISSION REQUESTED: %s\n", QString( origin->toString()).toUtf8().constData());259 260 QString originString = origin->toString();259 printf("DESKTOP NOTIFICATION PERMISSION REQUESTED: %s\n", QString(context->securityOrigin()->toString()).toUtf8().constData()); 260 261 QString originString = context->securityOrigin()->toString(); 261 262 QHash<QString, QList<RefPtr<VoidCallback> > >::iterator iter = m_pendingPermissionRequests.find(originString); 262 263 if (iter != m_pendingPermissionRequests.end()) … … 272 273 } 273 274 274 NotificationPresenter::Permission NotificationPresenterClientQt::checkPermission( const KURL& url)275 NotificationPresenter::Permission NotificationPresenterClientQt::checkPermission(ScriptExecutionContext* context) 275 276 { 276 277 NotificationPermission permission = NotificationNotAllowed; 277 QString origin = url.string();278 QString origin = context->url().string(); 278 279 if (checkPermissionFunction) 279 280 checkPermissionFunction(m_receiver, origin, permission); … … 290 291 } 291 292 293 void NotificationPresenterClientQt::cancelRequestsForPermission(ScriptExecutionContext*) 294 { 295 // FIXME: This will be implemented for https://bugs.webkit.org/show_bug.cgi?id=41413 296 // to avoid adding and removing new private API 297 } 298 292 299 void NotificationPresenterClientQt::allowNotificationForOrigin(const QString& origin) 293 300 { -
trunk/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
r61197 r62939 46 46 47 47 class Document; 48 class KURL;48 class ScriptExecutionContext; 49 49 50 50 class NotificationWrapper : public QObject, public QWebNotificationData { … … 85 85 virtual void cancel(Notification*); 86 86 virtual void notificationObjectDestroyed(Notification*); 87 virtual void requestPermission(SecurityOrigin*, PassRefPtr<VoidCallback>); 88 virtual NotificationPresenter::Permission checkPermission(const KURL&); 87 virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>); 88 virtual NotificationPresenter::Permission checkPermission(ScriptExecutionContext*); 89 virtual void cancelRequestsForPermission(ScriptExecutionContext*); 89 90 90 91 void cancel(NotificationWrapper*);
Note: See TracChangeset
for help on using the changeset viewer.