- a/Source/WebKit2/ChangeLog +53 lines
Lines 1-5 a/Source/WebKit2/ChangeLog_sec1
1
2014-06-18  Anders Carlsson  <andersca@apple.com>
1
2014-06-18  Anders Carlsson  <andersca@apple.com>
2
2
3
        Simplify WebSecurityOrigin
4
        https://bugs.webkit.org/show_bug.cgi?id=134049
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * Shared/API/c/WKSecurityOrigin.cpp:
9
        (WKSecurityOriginCreateFromString):
10
        (WKSecurityOriginCreateFromDatabaseIdentifier):
11
        (WKSecurityOriginCopyDatabaseIdentifier):
12
        (WKSecurityOriginCopyToString):
13
        (WKSecurityOriginCopyProtocol):
14
        (WKSecurityOriginCopyHost):
15
        (WKSecurityOriginGetPort):
16
        * Shared/WebSecurityOrigin.h:
17
        (WebKit::WebSecurityOrigin::securityOrigin):
18
        (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): Deleted.
19
        (WebKit::WebSecurityOrigin::protocol): Deleted.
20
        (WebKit::WebSecurityOrigin::host): Deleted.
21
        (WebKit::WebSecurityOrigin::port): Deleted.
22
        (WebKit::WebSecurityOrigin::databaseIdentifier): Deleted.
23
        (WebKit::WebSecurityOrigin::toString): Deleted.
24
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
25
        (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
26
        (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
27
        * UIProcess/Storage/StorageManager.cpp:
28
        (WebKit::StorageManager::deleteEntriesForOrigin):
29
        * UIProcess/Storage/StorageManager.h:
30
        * UIProcess/WebApplicationCacheManagerProxy.cpp:
31
        (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
32
        * UIProcess/WebDatabaseManagerProxy.cpp:
33
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
34
        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
35
        (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
36
        (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
37
        (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
38
        (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
39
        (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
40
        * UIProcess/WebKeyValueStorageManager.cpp:
41
        (WebKit::didGetStorageDetailsByOrigin):
42
        * UIProcess/WebOriginDataManagerProxy.cpp:
43
        (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
44
        * UIProcess/WebPageProxy.cpp:
45
        (WebKit::WebPageProxy::exceededDatabaseQuota):
46
        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
47
        * UIProcess/WebResourceCacheManagerProxy.cpp:
48
        (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
49
        * UIProcess/ios/WKGeolocationProviderIOS.mm:
50
        (-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]):
51
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
52
        (WebKit::WebChromeClient::exceededDatabaseQuota):
53
54
2014-06-18  Anders Carlsson  <andersca@apple.com>
55
3
        Add back WKPageRunJavaScriptInMainFrame_b for now
56
        Add back WKPageRunJavaScriptInMainFrame_b for now
4
        https://bugs.webkit.org/show_bug.cgi?id=134045
57
        https://bugs.webkit.org/show_bug.cgi?id=134045
5
        <rdar://problem/17368879>
58
        <rdar://problem/17368879>
- a/Source/WebKit2/Shared/API/c/WKSecurityOrigin.cpp -9 / +7 lines
Lines 38-51 WKTypeID WKSecurityOriginGetTypeID() a/Source/WebKit2/Shared/API/c/WKSecurityOrigin.cpp_sec1
38
38
39
WKSecurityOriginRef WKSecurityOriginCreateFromString(WKStringRef string)
39
WKSecurityOriginRef WKSecurityOriginCreateFromString(WKStringRef string)
40
{
40
{
41
    RefPtr<WebSecurityOrigin> securityOrigin = WebSecurityOrigin::createFromString(toImpl(string)->string());
41
    return toAPI(WebSecurityOrigin::create(WebCore::SecurityOrigin::createFromString(toImpl(string)->string())).leakRef());
42
    return toAPI(securityOrigin.release().leakRef());
43
}
42
}
44
43
45
WKSecurityOriginRef WKSecurityOriginCreateFromDatabaseIdentifier(WKStringRef identifier)
44
WKSecurityOriginRef WKSecurityOriginCreateFromDatabaseIdentifier(WKStringRef identifier)
46
{
45
{
47
    RefPtr<WebSecurityOrigin> securityOrigin = WebSecurityOrigin::createFromDatabaseIdentifier(toImpl(identifier)->string());
46
    return toAPI(WebSecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier((toImpl(identifier)->string()))).leakRef());
48
    return toAPI(securityOrigin.release().leakRef());
49
}
47
}
50
48
51
WKSecurityOriginRef WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port)
49
WKSecurityOriginRef WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port)
Lines 56-82 WKSecurityOriginRef WKSecurityOriginCreate(WKStringRef protocol, WKStringRef hos a/Source/WebKit2/Shared/API/c/WKSecurityOrigin.cpp_sec2
56
54
57
WKStringRef WKSecurityOriginCopyDatabaseIdentifier(WKSecurityOriginRef securityOrigin)
55
WKStringRef WKSecurityOriginCopyDatabaseIdentifier(WKSecurityOriginRef securityOrigin)
58
{
56
{
59
    return toCopiedAPI(toImpl(securityOrigin)->databaseIdentifier());
57
    return toCopiedAPI(toImpl(securityOrigin)->securityOrigin().databaseIdentifier());
60
}
58
}
61
59
62
WKStringRef WKSecurityOriginCopyToString(WKSecurityOriginRef securityOrigin)
60
WKStringRef WKSecurityOriginCopyToString(WKSecurityOriginRef securityOrigin)
63
{
61
{
64
    return toCopiedAPI(toImpl(securityOrigin)->toString());
62
    return toCopiedAPI(toImpl(securityOrigin)->securityOrigin().toString());
65
}
63
}
66
64
67
WKStringRef WKSecurityOriginCopyProtocol(WKSecurityOriginRef securityOrigin)
65
WKStringRef WKSecurityOriginCopyProtocol(WKSecurityOriginRef securityOrigin)
68
{
66
{
69
    return toCopiedAPI(toImpl(securityOrigin)->protocol());
67
    return toCopiedAPI(toImpl(securityOrigin)->securityOrigin().protocol());
70
}
68
}
71
69
72
WKStringRef WKSecurityOriginCopyHost(WKSecurityOriginRef securityOrigin)
70
WKStringRef WKSecurityOriginCopyHost(WKSecurityOriginRef securityOrigin)
73
{
71
{
74
    return toCopiedAPI(toImpl(securityOrigin)->host());
72
    return toCopiedAPI(toImpl(securityOrigin)->securityOrigin().host());
75
}
73
}
76
74
77
unsigned short WKSecurityOriginGetPort(WKSecurityOriginRef securityOrigin)
75
unsigned short WKSecurityOriginGetPort(WKSecurityOriginRef securityOrigin)
78
{
76
{
79
    return toImpl(securityOrigin)->port();
77
    return toImpl(securityOrigin)->securityOrigin().port();
80
}
78
}
81
79
82
// For backwards ABI compatibility.
80
// For backwards ABI compatibility.
- a/Source/WebKit2/Shared/WebSecurityOrigin.h -17 / +1 lines
Lines 39-49 public: a/Source/WebKit2/Shared/WebSecurityOrigin.h_sec1
39
        return create(WebCore::SecurityOrigin::createFromString(string));
39
        return create(WebCore::SecurityOrigin::createFromString(string));
40
    }
40
    }
41
41
42
    static PassRefPtr<WebSecurityOrigin> createFromDatabaseIdentifier(const String& identifier)
43
    {
44
        return create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(identifier));
45
    }
46
47
    static PassRefPtr<WebSecurityOrigin> create(const String& protocol, const String& host, int port)
42
    static PassRefPtr<WebSecurityOrigin> create(const String& protocol, const String& host, int port)
48
    {
43
    {
49
        return create(WebCore::SecurityOrigin::create(protocol, host, port));
44
        return create(WebCore::SecurityOrigin::create(protocol, host, port));
Lines 56-73 public: a/Source/WebKit2/Shared/WebSecurityOrigin.h_sec2
56
        return adoptRef(new WebSecurityOrigin(securityOrigin));
51
        return adoptRef(new WebSecurityOrigin(securityOrigin));
57
    }
52
    }
58
53
59
    String protocol() const { return m_securityOrigin->protocol(); }
54
    const WebCore::SecurityOrigin& securityOrigin() const { return *m_securityOrigin; }
60
    String host() const { return m_securityOrigin->host(); }
61
    unsigned short port() const { return m_securityOrigin->port(); }
62
63
    String databaseIdentifier() const { return m_securityOrigin->databaseIdentifier(); }
64
    String toString() const { return m_securityOrigin->toString(); }
65
66
    WebCore::SecurityOrigin* securityOrigin() const { return m_securityOrigin.get(); }
67
68
#if PLATFORM(IOS)
69
    WebCore::SecurityOrigin* securityOrigin() { return m_securityOrigin.get(); }
70
#endif // PLATFORM(IOS)
71
55
72
private:
56
private:
73
    WebSecurityOrigin(PassRefPtr<WebCore::SecurityOrigin> securityOrigin)
57
    WebSecurityOrigin(PassRefPtr<WebCore::SecurityOrigin> securityOrigin)
- a/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp -2 / +2 lines
Lines 237-243 void WebNotificationManagerProxy::providerDidUpdateNotificationPolicy(const WebS a/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp_sec1
237
    if (!context())
237
    if (!context())
238
        return;
238
        return;
239
239
240
    context()->sendToAllProcesses(Messages::WebNotificationManager::DidUpdateNotificationDecision(origin->toString(), allowed));
240
    context()->sendToAllProcesses(Messages::WebNotificationManager::DidUpdateNotificationDecision(origin->securityOrigin().toString(), allowed));
241
}
241
}
242
242
243
void WebNotificationManagerProxy::providerDidRemoveNotificationPolicies(API::Array* origins)
243
void WebNotificationManagerProxy::providerDidRemoveNotificationPolicies(API::Array* origins)
Lines 253-259 void WebNotificationManagerProxy::providerDidRemoveNotificationPolicies(API::Arr a/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp_sec2
253
    originStrings.reserveInitialCapacity(size);
253
    originStrings.reserveInitialCapacity(size);
254
    
254
    
255
    for (size_t i = 0; i < size; ++i)
255
    for (size_t i = 0; i < size; ++i)
256
        originStrings.append(origins->at<WebSecurityOrigin>(i)->toString());
256
        originStrings.append(origins->at<WebSecurityOrigin>(i)->securityOrigin().toString());
257
    
257
    
258
    context()->sendToAllProcesses(Messages::WebNotificationManager::DidRemoveNotificationDecisions(originStrings));
258
    context()->sendToAllProcesses(Messages::WebNotificationManager::DidRemoveNotificationDecisions(originStrings));
259
}
259
}
- a/Source/WebKit2/UIProcess/Storage/StorageManager.cpp -2 / +2 lines
Lines 427-435 void StorageManager::getStorageDetailsByOrigin(FunctionDispatcher& callbackDispa a/Source/WebKit2/UIProcess/Storage/StorageManager.cpp_sec1
427
    m_queue->dispatch(bind(&StorageManager::getStorageDetailsByOriginInternal, this, RefPtr<FunctionDispatcher>(&callbackDispatcher), context, callback));
427
    m_queue->dispatch(bind(&StorageManager::getStorageDetailsByOriginInternal, this, RefPtr<FunctionDispatcher>(&callbackDispatcher), context, callback));
428
}
428
}
429
429
430
void StorageManager::deleteEntriesForOrigin(SecurityOrigin* securityOrigin)
430
void StorageManager::deleteEntriesForOrigin(const SecurityOrigin& securityOrigin)
431
{
431
{
432
    m_queue->dispatch(bind(&StorageManager::deleteEntriesForOriginInternal, this, RefPtr<SecurityOrigin>(securityOrigin)));
432
    m_queue->dispatch(bind(&StorageManager::deleteEntriesForOriginInternal, this, RefPtr<SecurityOrigin>(const_cast<SecurityOrigin*>(&securityOrigin))));
433
}
433
}
434
434
435
void StorageManager::deleteAllEntries()
435
void StorageManager::deleteAllEntries()
- a/Source/WebKit2/UIProcess/Storage/StorageManager.h -1 / +1 lines
Lines 62-68 public: a/Source/WebKit2/UIProcess/Storage/StorageManager.h_sec1
62
    // support arguments in functions.
62
    // support arguments in functions.
63
    void getOrigins(FunctionDispatcher& callbackDispatcher, void* context, void (*callback)(const Vector<RefPtr<WebCore::SecurityOrigin>>&, void* context));
63
    void getOrigins(FunctionDispatcher& callbackDispatcher, void* context, void (*callback)(const Vector<RefPtr<WebCore::SecurityOrigin>>&, void* context));
64
    void getStorageDetailsByOrigin(FunctionDispatcher& callbackDispatcher, void* context, void (*callback)(const Vector<LocalStorageDetails>&, void* context));
64
    void getStorageDetailsByOrigin(FunctionDispatcher& callbackDispatcher, void* context, void (*callback)(const Vector<LocalStorageDetails>&, void* context));
65
    void deleteEntriesForOrigin(WebCore::SecurityOrigin*);
65
    void deleteEntriesForOrigin(const WebCore::SecurityOrigin&);
66
    void deleteAllEntries();
66
    void deleteAllEntries();
67
67
68
private:
68
private:
- a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp -3 / +3 lines
Lines 108-116 void WebApplicationCacheManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin* a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp_sec1
108
        return;
108
        return;
109
109
110
    SecurityOriginData securityOriginData;
110
    SecurityOriginData securityOriginData;
111
    securityOriginData.protocol = origin->protocol();
111
    securityOriginData.protocol = origin->securityOrigin().protocol();
112
    securityOriginData.host = origin->host();
112
    securityOriginData.host = origin->securityOrigin().host();
113
    securityOriginData.port = origin->port();
113
    securityOriginData.port = origin->securityOrigin().port();
114
114
115
    // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
115
    // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
116
    context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::DeleteEntriesForOrigin(securityOriginData));
116
    context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::DeleteEntriesForOrigin(securityOriginData));
- a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp -7 / +7 lines
Lines 173-179 void WebDatabaseManagerProxy::didGetDatabasesByOrigin(const Vector<OriginAndData a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp_sec1
173
    result.reserveInitialCapacity(originAndDatabasesVector.size());
173
    result.reserveInitialCapacity(originAndDatabasesVector.size());
174
174
175
    for (const auto& originAndDatabases : originAndDatabasesVector) {
175
    for (const auto& originAndDatabases : originAndDatabasesVector) {
176
        RefPtr<API::Object> origin = WebSecurityOrigin::createFromDatabaseIdentifier(originAndDatabases.originIdentifier);
176
        RefPtr<API::Object> origin = WebSecurityOrigin::create(SecurityOrigin::createFromDatabaseIdentifier(originAndDatabases.originIdentifier));
177
177
178
        Vector<RefPtr<API::Object>> databases;
178
        Vector<RefPtr<API::Object>> databases;
179
        databases.reserveInitialCapacity(originAndDatabases.databases.size());
179
        databases.reserveInitialCapacity(originAndDatabases.databases.size());
Lines 226-244 void WebDatabaseManagerProxy::didGetDatabaseOrigins(const Vector<String>& origin a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp_sec2
226
    securityOrigins.reserveInitialCapacity(originIdentifiers.size());
226
    securityOrigins.reserveInitialCapacity(originIdentifiers.size());
227
227
228
    for (const auto& originIdentifier : originIdentifiers)
228
    for (const auto& originIdentifier : originIdentifiers)
229
        securityOrigins.uncheckedAppend(WebSecurityOrigin::createFromDatabaseIdentifier(originIdentifier));
229
        securityOrigins.uncheckedAppend(WebSecurityOrigin::create(SecurityOrigin::createFromDatabaseIdentifier(originIdentifier)));
230
230
231
    callback->performCallbackWithReturnValue(API::Array::create(std::move(securityOrigins)).get());
231
    callback->performCallbackWithReturnValue(API::Array::create(std::move(securityOrigins)).get());
232
}
232
}
233
233
234
void WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin(const String& databaseIdentifier, WebSecurityOrigin* origin)
234
void WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin(const String& databaseIdentifier, WebSecurityOrigin* origin)
235
{
235
{
236
    context()->sendToOneProcess(Messages::WebDatabaseManager::DeleteDatabaseWithNameForOrigin(databaseIdentifier, origin->databaseIdentifier()));
236
    context()->sendToOneProcess(Messages::WebDatabaseManager::DeleteDatabaseWithNameForOrigin(databaseIdentifier, origin->securityOrigin().databaseIdentifier()));
237
}
237
}
238
238
239
void WebDatabaseManagerProxy::deleteDatabasesForOrigin(WebSecurityOrigin* origin)
239
void WebDatabaseManagerProxy::deleteDatabasesForOrigin(WebSecurityOrigin* origin)
240
{
240
{
241
    context()->sendToOneProcess(Messages::WebDatabaseManager::DeleteDatabasesForOrigin(origin->databaseIdentifier()));
241
    context()->sendToOneProcess(Messages::WebDatabaseManager::DeleteDatabasesForOrigin(origin->securityOrigin().databaseIdentifier()));
242
}
242
}
243
243
244
void WebDatabaseManagerProxy::deleteAllDatabases()
244
void WebDatabaseManagerProxy::deleteAllDatabases()
Lines 248-265 void WebDatabaseManagerProxy::deleteAllDatabases() a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp_sec3
248
248
249
void WebDatabaseManagerProxy::setQuotaForOrigin(WebSecurityOrigin* origin, uint64_t quota)
249
void WebDatabaseManagerProxy::setQuotaForOrigin(WebSecurityOrigin* origin, uint64_t quota)
250
{
250
{
251
    context()->sendToOneProcess(Messages::WebDatabaseManager::SetQuotaForOrigin(origin->databaseIdentifier(), quota));
251
    context()->sendToOneProcess(Messages::WebDatabaseManager::SetQuotaForOrigin(origin->securityOrigin().databaseIdentifier(), quota));
252
}
252
}
253
253
254
void WebDatabaseManagerProxy::didModifyOrigin(const String& originIdentifier)
254
void WebDatabaseManagerProxy::didModifyOrigin(const String& originIdentifier)
255
{
255
{
256
    RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
256
    RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::create(SecurityOrigin::createFromDatabaseIdentifier(originIdentifier));
257
    m_client.didModifyOrigin(this, origin.get());
257
    m_client.didModifyOrigin(this, origin.get());
258
}
258
}
259
259
260
void WebDatabaseManagerProxy::didModifyDatabase(const String& originIdentifier, const String& databaseIdentifier)
260
void WebDatabaseManagerProxy::didModifyDatabase(const String& originIdentifier, const String& databaseIdentifier)
261
{
261
{
262
    RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
262
    RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::create(SecurityOrigin::createFromDatabaseIdentifier(originIdentifier));
263
    m_client.didModifyDatabase(this, origin.get(), databaseIdentifier);
263
    m_client.didModifyDatabase(this, origin.get(), databaseIdentifier);
264
}
264
}
265
265
- a/Source/WebKit2/UIProcess/WebKeyValueStorageManager.cpp -1 / +1 lines
Lines 114-120 static void didGetStorageDetailsByOrigin(const Vector<LocalStorageDetails>& stor a/Source/WebKit2/UIProcess/WebKeyValueStorageManager.cpp_sec1
114
    for (const LocalStorageDetails& originDetails : storageDetails) {
114
    for (const LocalStorageDetails& originDetails : storageDetails) {
115
        HashMap<String, RefPtr<API::Object>> detailsMap;
115
        HashMap<String, RefPtr<API::Object>> detailsMap;
116
116
117
        RefPtr<API::Object> origin = WebSecurityOrigin::createFromDatabaseIdentifier(originDetails.originIdentifier);
117
        RefPtr<API::Object> origin = WebSecurityOrigin::create(SecurityOrigin::createFromDatabaseIdentifier(originDetails.originIdentifier));
118
118
119
        detailsMap.set(WebKeyValueStorageManager::originKey(), origin);
119
        detailsMap.set(WebKeyValueStorageManager::originKey(), origin);
120
        if (originDetails.creationTime)
120
        if (originDetails.creationTime)
- a/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp -3 / +3 lines
Lines 108-116 void WebOriginDataManagerProxy::deleteEntriesForOrigin(WKOriginDataTypes types, a/Source/WebKit2/UIProcess/WebOriginDataManagerProxy.cpp_sec1
108
        return;
108
        return;
109
109
110
    SecurityOriginData securityOriginData;
110
    SecurityOriginData securityOriginData;
111
    securityOriginData.protocol = origin->protocol();
111
    securityOriginData.protocol = origin->securityOrigin().protocol();
112
    securityOriginData.host = origin->host();
112
    securityOriginData.host = origin->securityOrigin().host();
113
    securityOriginData.port = origin->port();
113
    securityOriginData.port = origin->securityOrigin().port();
114
114
115
    // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
115
    // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
116
    context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData));
116
    context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebOriginDataManager::DeleteEntriesForOrigin(types, securityOriginData));
- a/Source/WebKit2/UIProcess/WebPageProxy.cpp -2 / +2 lines
Lines 4490-4496 void WebPageProxy::exceededDatabaseQuota(uint64_t frameID, const String& originI a/Source/WebKit2/UIProcess/WebPageProxy.cpp_sec1
4490
        WebFrameProxy* frame = m_process->webFrame(record->frameID);
4490
        WebFrameProxy* frame = m_process->webFrame(record->frameID);
4491
        MESSAGE_CHECK(frame);
4491
        MESSAGE_CHECK(frame);
4492
4492
4493
        RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::createFromDatabaseIdentifier(record->originIdentifier);
4493
        RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::create(SecurityOrigin::createFromDatabaseIdentifier(record->originIdentifier));
4494
4494
4495
        uint64_t newQuota = m_uiClient->exceededDatabaseQuota(this, frame, origin.get(),
4495
        uint64_t newQuota = m_uiClient->exceededDatabaseQuota(this, frame, origin.get(),
4496
            record->databaseName, record->displayName, record->currentQuota,
4496
            record->databaseName, record->displayName, record->currentQuota,
Lines 4507-4513 void WebPageProxy::requestGeolocationPermissionForFrame(uint64_t geolocationID, a/Source/WebKit2/UIProcess/WebPageProxy.cpp_sec2
4507
    MESSAGE_CHECK(frame);
4507
    MESSAGE_CHECK(frame);
4508
4508
4509
    // FIXME: Geolocation should probably be using toString() as its string representation instead of databaseIdentifier().
4509
    // FIXME: Geolocation should probably be using toString() as its string representation instead of databaseIdentifier().
4510
    RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
4510
    RefPtr<WebSecurityOrigin> origin = WebSecurityOrigin::create(SecurityOrigin::createFromDatabaseIdentifier(originIdentifier));
4511
    RefPtr<GeolocationPermissionRequestProxy> request = m_geolocationPermissionRequestManager.createRequest(geolocationID);
4511
    RefPtr<GeolocationPermissionRequestProxy> request = m_geolocationPermissionRequestManager.createRequest(geolocationID);
4512
4512
4513
    if (m_uiClient->decidePolicyForGeolocationPermissionRequest(this, frame, origin.get(), request.get()))
4513
    if (m_uiClient->decidePolicyForGeolocationPermissionRequest(this, frame, origin.get(), request.get()))
- a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp -3 / +3 lines
Lines 107-115 void WebResourceCacheManagerProxy::didGetCacheOrigins(const Vector<SecurityOrigi a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp_sec1
107
void WebResourceCacheManagerProxy::clearCacheForOrigin(WebSecurityOrigin* origin, ResourceCachesToClear cachesToClear)
107
void WebResourceCacheManagerProxy::clearCacheForOrigin(WebSecurityOrigin* origin, ResourceCachesToClear cachesToClear)
108
{
108
{
109
    SecurityOriginData securityOrigin;
109
    SecurityOriginData securityOrigin;
110
    securityOrigin.protocol = origin->protocol();
110
    securityOrigin.protocol = origin->securityOrigin().protocol();
111
    securityOrigin.host = origin->host();
111
    securityOrigin.host = origin->securityOrigin().host();
112
    securityOrigin.port = origin->port();
112
    securityOrigin.port = origin->securityOrigin().port();
113
113
114
    // FIXME (Multi-WebProcess): <rdar://problem/12239765> There is no need to relaunch all processes. One process to take care of persistent cache is enough.
114
    // FIXME (Multi-WebProcess): <rdar://problem/12239765> There is no need to relaunch all processes. One process to take care of persistent cache is enough.
115
    context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::ClearCacheForOrigin(securityOrigin, cachesToClear));
115
    context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::ClearCacheForOrigin(securityOrigin, cachesToClear));
- a/Source/WebKit2/UIProcess/ios/WKGeolocationProviderIOS.mm -1 / +1 lines
Lines 154-160 static void setEnableHighAccuracy(WKGeolocationManagerRef geolocationManager, bo a/Source/WebKit2/UIProcess/ios/WKGeolocationProviderIOS.mm_sec1
154
{
154
{
155
    // Step 1: ask the user if the app can use Geolocation.
155
    // Step 1: ask the user if the app can use Geolocation.
156
    GeolocationRequestData geolocationRequestData;
156
    GeolocationRequestData geolocationRequestData;
157
    geolocationRequestData.origin = toImpl(origin)->securityOrigin();
157
    geolocationRequestData.origin = const_cast<WebCore::SecurityOrigin*>(&toImpl(origin)->securityOrigin());
158
    geolocationRequestData.frame = toImpl(frame);
158
    geolocationRequestData.frame = toImpl(frame);
159
    geolocationRequestData.permissionRequest = toImpl(permissionRequest);
159
    geolocationRequestData.permissionRequest = toImpl(permissionRequest);
160
    geolocationRequestData.window = window;
160
    geolocationRequestData.window = window;
- a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp -1 / +1 lines
Lines 648-654 void WebChromeClient::exceededDatabaseQuota(Frame* frame, const String& database a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp_sec1
648
    uint64_t currentQuota = dbManager.quotaForOrigin(origin);
648
    uint64_t currentQuota = dbManager.quotaForOrigin(origin);
649
    uint64_t currentOriginUsage = dbManager.usageForOrigin(origin);
649
    uint64_t currentOriginUsage = dbManager.usageForOrigin(origin);
650
    uint64_t newQuota = 0;
650
    uint64_t newQuota = 0;
651
    RefPtr<WebSecurityOrigin> webSecurityOrigin = WebSecurityOrigin::createFromDatabaseIdentifier(origin->databaseIdentifier());
651
    RefPtr<WebSecurityOrigin> webSecurityOrigin = WebSecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(origin->databaseIdentifier()));
652
    newQuota = m_page->injectedBundleUIClient().didExceedDatabaseQuota(m_page, webSecurityOrigin.get(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage());
652
    newQuota = m_page->injectedBundleUIClient().didExceedDatabaseQuota(m_page, webSecurityOrigin.get(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage());
653
653
654
    if (!newQuota) {
654
    if (!newQuota) {

Return to Bug 134049