Changeset 70195 in webkit
- Timestamp:
- Oct 20, 2010 5:25:37 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r70181 r70195 1 2010-10-20 Dumitru Daniliuc <dumi@chromium.org> 2 3 Reviewed by David Levin. 4 5 Add SecurityOrigin::threadsafeCopy() to the list of exported symbols. 6 https://bugs.webkit.org/show_bug.cgi?id=40655 7 8 * WebCore.exp.in: 9 1 10 2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com> 2 11 -
trunk/WebCore/WebCore.exp.in
r70095 r70195 319 319 __ZN7WebCore14SchemeRegistry25registerURLSchemeAsSecureERKN3WTF6StringE 320 320 __ZN7WebCore14SchemeRegistry32registerURLSchemeAsEmptyDocumentERKN3WTF6StringE 321 __ZN7WebCore14SecurityOrigin14threadsafeCopyEv 321 322 __ZN7WebCore14SecurityOrigin16createFromStringERKN3WTF6StringE 322 323 __ZN7WebCore14SecurityOrigin18setLocalLoadPolicyENS0_15LocalLoadPolicyE -
trunk/WebKit/mac/ChangeLog
r70166 r70195 1 2010-10-20 Dumitru Daniliuc <dumi@chromium.org> 2 3 Reviewed by David Levin. 4 5 Repost the DatabaseTracker notifications to the main thread, if needed. 6 https://bugs.webkit.org/show_bug.cgi?id=40655 7 8 * Storage/WebDatabaseTrackerClient.mm: 9 (DidModifyOriginData::dispatchToMainThread): 10 (DidModifyOriginData::DidModifyOriginData): 11 (DidModifyOriginData::dispatchDidModifyOriginOnMainThread): 12 (WebDatabaseTrackerClient::dispatchDidModifyOrigin): 13 (WebDatabaseTrackerClient::dispatchDidModifyDatabase): 14 1 15 2010-10-20 Simon Fraser <simon.fraser@apple.com> 2 16 -
trunk/WebKit/mac/Storage/WebDatabaseTrackerClient.mm
r43283 r70195 33 33 #import "WebDatabaseManagerPrivate.h" 34 34 #import "WebSecurityOriginInternal.h" 35 #import <wtf/MainThread.h> 35 36 #import <wtf/RetainPtr.h> 36 37 #import <WebCore/SecurityOrigin.h> … … 51 52 { 52 53 } 53 54 55 class DidModifyOriginData : public Noncopyable { 56 public: 57 static void dispatchToMainThread(WebDatabaseTrackerClient* client, SecurityOrigin* origin) 58 { 59 DidModifyOriginData* context = new DidModifyOriginData(client, origin->threadsafeCopy()); 60 callOnMainThread(&DidModifyOriginData::dispatchDidModifyOriginOnMainThread, context); 61 } 62 63 private: 64 DidModifyOriginData(WebDatabaseTrackerClient* client, PassRefPtr<SecurityOrigin> origin) 65 : client(client) 66 , origin(origin) 67 { 68 } 69 70 static void dispatchDidModifyOriginOnMainThread(void* context) 71 { 72 ASSERT(isMainThread()); 73 DidModifyOriginData* info = static_cast<DidModifyOriginData*>(context); 74 info->client->dispatchDidModifyOrigin(info->origin.get()); 75 delete info; 76 } 77 78 WebDatabaseTrackerClient* client; 79 RefPtr<SecurityOrigin> origin; 80 }; 81 54 82 void WebDatabaseTrackerClient::dispatchDidModifyOrigin(SecurityOrigin* origin) 55 83 { 56 RetainPtr<WebSecurityOrigin> webSecurityOrigin(AdoptNS, [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin]); 84 if (!isMainThread()) { 85 DidModifyOriginData::dispatchToMainThread(this, origin); 86 return; 87 } 88 89 RetainPtr<WebSecurityOrigin> webSecurityOrigin(AdoptNS, [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin]); 57 90 58 91 [[NSNotificationCenter defaultCenter] postNotificationName:WebDatabaseDidModifyOriginNotification … … 62 95 void WebDatabaseTrackerClient::dispatchDidModifyDatabase(SecurityOrigin* origin, const String& databaseIdentifier) 63 96 { 97 if (!isMainThread()) { 98 DidModifyOriginData::dispatchToMainThread(this, origin); 99 return; 100 } 101 64 102 RetainPtr<WebSecurityOrigin> webSecurityOrigin(AdoptNS, [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin]); 65 103 RetainPtr<NSDictionary> userInfo(AdoptNS, [[NSDictionary alloc] -
trunk/WebKit/win/ChangeLog
r70143 r70195 1 2010-10-20 Dumitru Daniliuc <dumi@chromium.org> 2 3 Reviewed by David Levin. 4 5 Repost the DatabaseTracker notifications to the main thread, if needed. 6 https://bugs.webkit.org/show_bug.cgi?id=40655 7 8 * WebDatabaseManager.cpp: 9 (DidModifyOriginData::dispatchToMainThread): 10 (DidModifyOriginData::DidModifyOriginData): 11 (DidModifyOriginData::dispatchDidModifyOriginOnMainThread): 12 (WebDatabaseManager::dispatchDidModifyOrigin): 13 (WebDatabaseManager::dispatchDidModifyDatabase): 14 1 15 2010-10-20 Dirk Schulze <krit@webkit.org> 2 16 -
trunk/WebKit/win/WebDatabaseManager.cpp
r65021 r70195 39 39 #include "WebSecurityOrigin.h" 40 40 41 #include <JavaScriptCore/MainThread.h> 41 42 #include <WebCore/BString.h> 42 43 #include <WebCore/COMPtr.h> … … 328 329 } 329 330 331 class DidModifyOriginData : public Noncopyable { 332 public: 333 static void dispatchToMainThread(WebDatabaseManager* databaseManager, SecurityOrigin* origin) 334 { 335 DidModifyOriginData* context = new DidModifyOriginData(databaseManager, origin->threadsafeCopy()); 336 callOnMainThread(&DidModifyOriginData::dispatchDidModifyOriginOnMainThread, context); 337 } 338 339 private: 340 DidModifyOriginData(WebDatabaseManager* databaseManager, PassRefPtr<SecurityOrigin> origin) 341 : databaseManager(databaseManager) 342 , origin(origin) 343 { 344 } 345 346 static void dispatchDidModifyOriginOnMainThread(void* context) 347 { 348 ASSERT(isMainThread()); 349 DidModifyOriginData* info = static_cast<DidModifyOriginData*>(context); 350 info->databaseManager->dispatchDidModifyOrigin(info->origin.get()); 351 delete info; 352 } 353 354 WebDatabaseManager* databaseManager; 355 RefPtr<SecurityOrigin> origin; 356 }; 357 330 358 void WebDatabaseManager::dispatchDidModifyOrigin(SecurityOrigin* origin) 331 359 { 360 if (!isMainThread()) { 361 DidModifyOriginData::dispatchToMainThread(this, origin); 362 return; 363 } 364 332 365 static BSTR databaseDidModifyOriginName = SysAllocString(WebDatabaseDidModifyOriginNotification); 333 366 IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal(); … … 354 387 void WebDatabaseManager::dispatchDidModifyDatabase(SecurityOrigin* origin, const String& databaseName) 355 388 { 389 if (!isMainThread()) { 390 DidModifyOriginData::dispatchToMainThread(this, origin); 391 return; 392 } 393 356 394 static BSTR databaseDidModifyOriginName = SysAllocString(WebDatabaseDidModifyDatabaseNotification); 357 395 IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
Note: See TracChangeset
for help on using the changeset viewer.