* Storage/WebDatabaseManager.mm:
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseTrackerClient.mm:
(WebDatabaseTrackerClient::dispatchDidModifyOrigin):
(WebDatabaseTrackerClient::dispatchDidModifyDatabase):
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
* Storage/WebSecurityOriginInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28095
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-11-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Brady.
+
+ * Storage/WebDatabaseManager.mm:
+ * Storage/WebDatabaseManagerPrivate.h:
+ * Storage/WebDatabaseTrackerClient.mm:
+ (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
+ (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
+ * Storage/WebSecurityOrigin.mm:
+ (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
+ * Storage/WebSecurityOriginInternal.h:
+
2007-11-27 Kevin Decker <kdecker@apple.com>
Reviewed by Darin, landed by Anders.
const NSString *WebDatabaseDidModifyOriginNotification = @"WebDatabaseDidModifyOriginNotification";
const NSString *WebDatabaseDidModifyDatabaseNotification = @"WebDatabaseDidModifyDatabaseNotification";
+const NSString *WebDatabaseNameKey = @"WebDatabaseNameKey";
@implementation WebDatabaseManager
extern const NSString *WebDatabaseUsageKey;
// Posted with an origin is created from scratch, gets a new database, has a database deleted, has a quota change, etc
+// The notification object will be a WebSecurityOrigin object corresponding to the origin.
extern const NSString *WebDatabaseDidModifyOriginNotification;
// Posted when a database is created, its size increases, its display name changes, or its estimated size changes, or the database is removed
+// The notification object will be a WebSecurityOrigin object corresponding to the origin.
+// The notification userInfo will have a WebDatabaseNameKey whose value is the database name.
extern const NSString *WebDatabaseDidModifyDatabaseNotification;
+extern const NSString *WebDatabaseNameKey;
@class WebSecurityOrigin;
*/
#import "WebDatabaseTrackerClient.h"
-
+
+#import "WebDatabaseManagerPrivate.h"
+#import "WebSecurityOriginPrivate.h"
+#import "WebSecurityOriginInternal.h"
+#import <wtf/RetainPtr.h>
+
+using namespace WebCore;
+
WebDatabaseTrackerClient* WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient()
{
static WebDatabaseTrackerClient* sharedClient = new WebDatabaseTrackerClient();
{
}
-void WebDatabaseTrackerClient::dispatchDidModifyOrigin(const WebCore::SecurityOriginData& origin)
+void WebDatabaseTrackerClient::dispatchDidModifyOrigin(const SecurityOriginData& origin)
{
+ RetainPtr<WebSecurityOrigin> webSecurityOrigin(AdoptNS, [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOriginData:&origin]);
+ [[NSNotificationCenter defaultCenter] postNotificationName:WebDatabaseDidModifyOriginNotification
+ object:webSecurityOrigin.get()];
}
-void WebDatabaseTrackerClient::dispatchDidModifyDatabase(const WebCore::SecurityOriginData& origin, const WebCore::String& databaseName)
+void WebDatabaseTrackerClient::dispatchDidModifyDatabase(const SecurityOriginData& origin, const String& databaseName)
{
-
+ RetainPtr<WebSecurityOrigin> webSecurityOrigin(AdoptNS, [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOriginData:&origin]);
+ RetainPtr<NSDictionary> userInfo(AdoptNS, [[NSDictionary alloc]
+ initWithObjectsAndKeys:(NSString *)databaseName, WebDatabaseNameKey, nil]);
+
+ [[NSNotificationCenter defaultCenter] postNotificationName:WebDatabaseDidModifyDatabaseNotification
+ object:webSecurityOrigin.get()
+ userInfo:userInfo.get()];
}
@implementation WebSecurityOrigin (WebInternal)
-- (id)_initWithWebCoreSecurityOriginData:(WebCoreSecurityOriginData *)securityOriginData
+- (id)_initWithWebCoreSecurityOriginData:(const WebCoreSecurityOriginData *)securityOriginData
{
ASSERT(securityOriginData);
self = [super init];
@interface WebSecurityOrigin (WebInternal)
-- (id)_initWithWebCoreSecurityOriginData:(WebCoreSecurityOriginData *)securityOriginData;
+- (id)_initWithWebCoreSecurityOriginData:(const WebCoreSecurityOriginData *)securityOriginData;
- (WebCoreSecurityOriginData *)_core;
@end