Changeset 177422 in webkit


Ignore:
Timestamp:
Dec 16, 2014 5:48:38 PM (9 years ago)
Author:
akling@apple.com
Message:

Use Ref for SecurityOrigin.
<https://webkit.org/b/139710>

Reviewed by Anders Carlsson.

Source/WebCore:

Make SecurityOrigin::create*() return Ref<SecurityOrigin>.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::origin):

  • loader/DocumentLoadTiming.cpp:

(WebCore::DocumentLoadTiming::addRedirect):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::sendPing):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::getOriginsWithCache):

  • page/ContentSecurityPolicy.cpp:

(WebCore::stripURLForUseInReport):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::crossDomainAccessErrorMessage):

  • page/SecurityOrigin.cpp:

(WebCore::getCachedOrigin):
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::createUnique):
(WebCore::SecurityOrigin::isolatedCopy):
(WebCore::SecurityOrigin::canRequest):
(WebCore::SecurityOrigin::createFromString):
(WebCore::SecurityOrigin::maybeCreateFromDatabaseIdentifier):
(WebCore::SecurityOrigin::createFromDatabaseIdentifier):

  • page/SecurityOrigin.h:
  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::isAccessToURLWhiteListed):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):

  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::deleteOriginWithIdentifier):

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::DefaultSharedWorkerRepository::connectToWorker):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):

Source/WebKit/mac:

  • Storage/WebStorageTrackerClient.mm:

(WebStorageTrackerClient::dispatchDidModifyOrigin):

  • WebView/WebView.mm:

(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):

Source/WebKit/win:

  • WebDatabaseManager.cpp:

(WebDatabaseManager::setQuota):

  • WebView.cpp:

(WebView::addOriginAccessWhitelistEntry):
(WebView::removeOriginAccessWhitelistEntry):

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):

  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:

(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::WebIDBServerConnection):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
(WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):

Location:
trunk/Source
Files:
28 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r177414 r177422  
     12014-12-16  Andreas Kling  <akling@apple.com>
     2
     3        Use Ref for SecurityOrigin.
     4        <https://webkit.org/b/139710>
     5
     6        Reviewed by Anders Carlsson.
     7
     8        Make SecurityOrigin::create*() return Ref<SecurityOrigin>.
     9
     10        * html/HTMLAnchorElement.cpp:
     11        (WebCore::HTMLAnchorElement::origin):
     12        * loader/DocumentLoadTiming.cpp:
     13        (WebCore::DocumentLoadTiming::addRedirect):
     14        * loader/DocumentLoader.cpp:
     15        (WebCore::DocumentLoader::willSendRequest):
     16        * loader/FrameLoader.cpp:
     17        (WebCore::FrameLoader::commitProvisionalLoad):
     18        * loader/PingLoader.cpp:
     19        (WebCore::PingLoader::sendPing):
     20        * loader/appcache/ApplicationCacheHost.cpp:
     21        (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
     22        * loader/appcache/ApplicationCacheStorage.cpp:
     23        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
     24        * page/ContentSecurityPolicy.cpp:
     25        (WebCore::stripURLForUseInReport):
     26        * page/DOMWindow.cpp:
     27        (WebCore::DOMWindow::crossDomainAccessErrorMessage):
     28        * page/SecurityOrigin.cpp:
     29        (WebCore::getCachedOrigin):
     30        (WebCore::SecurityOrigin::create):
     31        (WebCore::SecurityOrigin::createUnique):
     32        (WebCore::SecurityOrigin::isolatedCopy):
     33        (WebCore::SecurityOrigin::canRequest):
     34        (WebCore::SecurityOrigin::createFromString):
     35        (WebCore::SecurityOrigin::maybeCreateFromDatabaseIdentifier):
     36        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
     37        * page/SecurityOrigin.h:
     38        * page/SecurityPolicy.cpp:
     39        (WebCore::SecurityPolicy::isAccessToURLWhiteListed):
     40        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
     41        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):
     42        * storage/StorageTracker.cpp:
     43        (WebCore::StorageTracker::deleteOriginWithIdentifier):
     44        * workers/DefaultSharedWorkerRepository.cpp:
     45        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
     46        * workers/WorkerThread.cpp:
     47        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
     48
    1492014-12-16  Chris Dumez  <cdumez@apple.com>
    250
  • trunk/Source/WebCore/html/HTMLAnchorElement.cpp

    r176502 r177422  
    489489String HTMLAnchorElement::origin() const
    490490{
    491     RefPtr<SecurityOrigin> origin = SecurityOrigin::create(href());
    492     return origin->toString();
     491    return SecurityOrigin::create(href()).get().toString();
    493492}
    494493
  • trunk/Source/WebCore/loader/DocumentLoadTiming.cpp

    r168647 r177422  
    8484    m_redirectEnd = m_fetchStart = monotonicallyIncreasingTime();
    8585    // Check if the redirected url is allowed to access the redirecting url's timing information.
    86     RefPtr<SecurityOrigin> redirectedSecurityOrigin = SecurityOrigin::create(redirectedUrl);
    87     m_hasCrossOriginRedirect = !redirectedSecurityOrigin->canRequest(redirectingUrl);
     86    Ref<SecurityOrigin> redirectedSecurityOrigin(SecurityOrigin::create(redirectedUrl));
     87    m_hasCrossOriginRedirect = !redirectedSecurityOrigin.get().canRequest(redirectingUrl);
    8888}
    8989
  • trunk/Source/WebCore/loader/DocumentLoader.cpp

    r177366 r177422  
    517517        // If the redirecting url is not allowed to display content from the target origin,
    518518        // then block the redirect.
    519         RefPtr<SecurityOrigin> redirectingOrigin = SecurityOrigin::create(redirectResponse.url());
    520         if (!redirectingOrigin->canDisplay(newRequest.url())) {
     519        Ref<SecurityOrigin> redirectingOrigin(SecurityOrigin::create(redirectResponse.url()));
     520        if (!redirectingOrigin.get().canDisplay(newRequest.url())) {
    521521            FrameLoader::reportLocalLoadFailed(m_frame, newRequest.url().string());
    522522            cancelMainResourceLoad(frameLoader()->cancelledError(newRequest));
  • trunk/Source/WebCore/loader/FrameLoader.cpp

    r177152 r177422  
    17831783    if (pdl && m_documentLoader) {
    17841784        // Check if the destination page is allowed to access the previous page's timing information.
    1785         RefPtr<SecurityOrigin> securityOrigin = SecurityOrigin::create(pdl->request().url());
    1786         m_documentLoader->timing()->setHasSameOriginAsPreviousDocument(securityOrigin->canRequest(m_previousURL));
     1785        Ref<SecurityOrigin> securityOrigin(SecurityOrigin::create(pdl->request().url()));
     1786        m_documentLoader->timing()->setHasSameOriginAsPreviousDocument(securityOrigin.get().canRequest(m_previousURL));
    17871787    }
    17881788
  • trunk/Source/WebCore/loader/PingLoader.cpp

    r176459 r177422  
    7979
    8080    SecurityOrigin* sourceOrigin = frame.document()->securityOrigin();
    81     RefPtr<SecurityOrigin> pingOrigin = SecurityOrigin::create(pingURL);
     81    Ref<SecurityOrigin> pingOrigin(SecurityOrigin::create(pingURL));
    8282    FrameLoader::addHTTPOriginIfNeeded(request, sourceOrigin->toString());
    8383    request.setHTTPHeaderField(HTTPHeaderName::PingTo, destinationURL);
    8484    if (!SecurityPolicy::shouldHideReferrer(pingURL, frame.loader().outgoingReferrer())) {
    8585        request.setHTTPHeaderField(HTTPHeaderName::PingFrom, frame.document()->url());
    86         if (!sourceOrigin->isSameSchemeHostPort(pingOrigin.get())) {
     86        if (!sourceOrigin->isSameSchemeHostPort(&pingOrigin.get())) {
    8787            String referrer = SecurityPolicy::generateReferrerHeader(frame.document()->referrerPolicy(), pingURL, frame.loader().outgoingReferrer());
    8888            if (!referrer.isEmpty())
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp

    r170807 r177422  
    491491        return false;
    492492
    493     RefPtr<SecurityOrigin> origin = SecurityOrigin::create(request.url());
    494     return !origin->canAccessApplicationCache(frame->document()->topOrigin());
     493    Ref<SecurityOrigin> origin(SecurityOrigin::create(request.url()));
     494    return !origin.get().canAccessApplicationCache(frame->document()->topOrigin());
    495495}
    496496
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp

    r176698 r177422  
    15681568    // The current schema doesn't allow for a more efficient way of building this list.
    15691569    size_t count = urls.size();
    1570     for (size_t i = 0; i < count; ++i) {
    1571         RefPtr<SecurityOrigin> origin = SecurityOrigin::create(urls[i]);
    1572         origins.add(origin);
    1573     }
     1570    for (size_t i = 0; i < count; ++i)
     1571        origins.add(SecurityOrigin::create(urls[i]));
    15741572}
    15751573
  • trunk/Source/WebCore/page/ContentSecurityPolicy.cpp

    r175771 r177422  
    15841584    if (!url.isHierarchical() || url.protocolIs("file"))
    15851585        return url.protocol();
    1586     return document.securityOrigin()->canRequest(url) ? url.strippedForUseAsReferrer() : SecurityOrigin::create(url)->toString();
     1586    return document.securityOrigin()->canRequest(url) ? url.strippedForUseAsReferrer() : SecurityOrigin::create(url).get().toString();
    15871587}
    15881588
  • trunk/Source/WebCore/page/DOMWindow.cpp

    r177365 r177422  
    20212021    URL targetURL = document()->url();
    20222022    if (document()->isSandboxed(SandboxOrigin) || activeWindow.document()->isSandboxed(SandboxOrigin)) {
    2023         message = "Blocked a frame at \"" + SecurityOrigin::create(activeURL)->toString() + "\" from accessing a frame at \"" + SecurityOrigin::create(targetURL)->toString() + "\". ";
     2023        message = "Blocked a frame at \"" + SecurityOrigin::create(activeURL).get().toString() + "\" from accessing a frame at \"" + SecurityOrigin::create(targetURL).get().toString() + "\". ";
    20242024        if (document()->isSandboxed(SandboxOrigin) && activeWindow.document()->isSandboxed(SandboxOrigin))
    20252025            return "Sandbox access violation: " + message + " Both frames are sandboxed and lack the \"allow-same-origin\" flag.";
  • trunk/Source/WebCore/page/SecurityOrigin.cpp

    r174921 r177422  
    7575}
    7676
    77 static PassRefPtr<SecurityOrigin> getCachedOrigin(const URL& url)
     77static RefPtr<SecurityOrigin> getCachedOrigin(const URL& url)
    7878{
    7979    if (url.protocolIs("blob"))
    8080        return ThreadableBlobRegistry::getCachedOrigin(url);
    81     return 0;
     81    return nullptr;
    8282}
    8383
     
    164164}
    165165
    166 PassRefPtr<SecurityOrigin> SecurityOrigin::create(const URL& url)
    167 {
    168     RefPtr<SecurityOrigin> cachedOrigin = getCachedOrigin(url);
    169     if (cachedOrigin.get())
    170         return cachedOrigin;
     166Ref<SecurityOrigin> SecurityOrigin::create(const URL& url)
     167{
     168    if (RefPtr<SecurityOrigin> cachedOrigin = getCachedOrigin(url))
     169        return cachedOrigin.releaseNonNull();
    171170
    172171    if (shouldTreatAsUniqueOrigin(url)) {
    173         RefPtr<SecurityOrigin> origin = adoptRef(new SecurityOrigin());
     172        Ref<SecurityOrigin> origin(adoptRef(*new SecurityOrigin));
    174173
    175174        if (url.protocolIs("file")) {
     
    181180        }
    182181
    183         return origin.release();
     182        return origin;
    184183    }
    185184
    186185    if (shouldUseInnerURL(url))
    187         return adoptRef(new SecurityOrigin(extractInnerURL(url)));
    188 
    189     return adoptRef(new SecurityOrigin(url));
    190 }
    191 
    192 PassRefPtr<SecurityOrigin> SecurityOrigin::createUnique()
    193 {
    194     RefPtr<SecurityOrigin> origin = adoptRef(new SecurityOrigin());
    195     ASSERT(origin->isUnique());
    196     return origin.release();
    197 }
    198 
    199 PassRefPtr<SecurityOrigin> SecurityOrigin::isolatedCopy() const
    200 {
    201     return adoptRef(new SecurityOrigin(this));
     186        return adoptRef(*new SecurityOrigin(extractInnerURL(url)));
     187
     188    return adoptRef(*new SecurityOrigin(url));
     189}
     190
     191Ref<SecurityOrigin> SecurityOrigin::createUnique()
     192{
     193    Ref<SecurityOrigin> origin(adoptRef(*new SecurityOrigin));
     194    ASSERT(origin.get().isUnique());
     195    return origin;
     196}
     197
     198Ref<SecurityOrigin> SecurityOrigin::isolatedCopy() const
     199{
     200    return adoptRef(*new SecurityOrigin(this));
    202201}
    203202
     
    290289        return false;
    291290
    292     RefPtr<SecurityOrigin> targetOrigin = SecurityOrigin::create(url);
     291    Ref<SecurityOrigin> targetOrigin(SecurityOrigin::create(url));
    293292
    294293    if (targetOrigin->isUnique())
     
    297296    // We call isSameSchemeHostPort here instead of canAccess because we want
    298297    // to ignore document.domain effects.
    299     if (isSameSchemeHostPort(targetOrigin.get()))
    300         return true;
    301 
    302     if (SecurityPolicy::isAccessWhiteListed(this, targetOrigin.get()))
     298    if (isSameSchemeHostPort(&targetOrigin.get()))
     299        return true;
     300
     301    if (SecurityPolicy::isAccessWhiteListed(this, &targetOrigin.get()))
    303302        return true;
    304303
     
    489488}
    490489
    491 PassRefPtr<SecurityOrigin> SecurityOrigin::createFromString(const String& originString)
     490Ref<SecurityOrigin> SecurityOrigin::createFromString(const String& originString)
    492491{
    493492    return SecurityOrigin::create(URL(URL(), originString));
     
    496495static const char separatorCharacter = '_';
    497496
    498 PassRefPtr<SecurityOrigin> SecurityOrigin::maybeCreateFromDatabaseIdentifier(const String& databaseIdentifier)
     497RefPtr<SecurityOrigin> SecurityOrigin::maybeCreateFromDatabaseIdentifier(const String& databaseIdentifier)
    499498{
    500499    // Make sure there's a first separator
     
    531530}
    532531
    533 PassRefPtr<SecurityOrigin> SecurityOrigin::createFromDatabaseIdentifier(const String& databaseIdentifier)
    534 {
    535     RefPtr<SecurityOrigin> origin = maybeCreateFromDatabaseIdentifier(databaseIdentifier);
    536     if (origin)
    537         return origin.release();
     532Ref<SecurityOrigin> SecurityOrigin::createFromDatabaseIdentifier(const String& databaseIdentifier)
     533{
     534    if (RefPtr<SecurityOrigin> origin = maybeCreateFromDatabaseIdentifier(databaseIdentifier))
     535        return origin.releaseNonNull();
    538536    return create(URL());
    539537}
    540538
    541 PassRefPtr<SecurityOrigin> SecurityOrigin::create(const String& protocol, const String& host, int port)
     539Ref<SecurityOrigin> SecurityOrigin::create(const String& protocol, const String& host, int port)
    542540{
    543541    if (port < 0 || port > MaxAllowedPort)
  • trunk/Source/WebCore/page/SecurityOrigin.h

    r174921 r177422  
    5151    };
    5252
    53     WEBCORE_EXPORT static PassRefPtr<SecurityOrigin> create(const URL&);
    54     static PassRefPtr<SecurityOrigin> createUnique();
    55 
    56     WEBCORE_EXPORT static PassRefPtr<SecurityOrigin> createFromDatabaseIdentifier(const String&);
     53    WEBCORE_EXPORT static Ref<SecurityOrigin> create(const URL&);
     54    static Ref<SecurityOrigin> createUnique();
     55
     56    WEBCORE_EXPORT static Ref<SecurityOrigin> createFromDatabaseIdentifier(const String&);
    5757    // Alternate form of createFromDatabaseIdentifier that returns a nullptr on failure, instead of an empty origin.
    5858    // FIXME: Many users of createFromDatabaseIdentifier seem to expect maybeCreateFromDatabaseIdentifier behavior,
    5959    // but they aren't getting it so they might be buggy.
    60     WEBCORE_EXPORT static PassRefPtr<SecurityOrigin> maybeCreateFromDatabaseIdentifier(const String&);
    61 
    62     WEBCORE_EXPORT static PassRefPtr<SecurityOrigin> createFromString(const String&);
    63     WEBCORE_EXPORT static PassRefPtr<SecurityOrigin> create(const String& protocol, const String& host, int port);
     60    WEBCORE_EXPORT static RefPtr<SecurityOrigin> maybeCreateFromDatabaseIdentifier(const String&);
     61
     62    WEBCORE_EXPORT static Ref<SecurityOrigin> createFromString(const String&);
     63    WEBCORE_EXPORT static Ref<SecurityOrigin> create(const String& protocol, const String& host, int port);
    6464
    6565    // Some URL schemes use nested URLs for their security context. For example,
     
    7878    // Create a deep copy of this SecurityOrigin. This method is useful
    7979    // when marshalling a SecurityOrigin to another thread.
    80     WEBCORE_EXPORT PassRefPtr<SecurityOrigin> isolatedCopy() const;
     80    WEBCORE_EXPORT Ref<SecurityOrigin> isolatedCopy() const;
    8181
    8282    // Set the domain property of this security origin to newDomain. This
  • trunk/Source/WebCore/page/SecurityPolicy.cpp

    r167594 r177422  
    122122bool SecurityPolicy::isAccessToURLWhiteListed(const SecurityOrigin* activeOrigin, const URL& url)
    123123{
    124     RefPtr<SecurityOrigin> targetOrigin = SecurityOrigin::create(url);
    125     return isAccessWhiteListed(activeOrigin, targetOrigin.get());
     124    Ref<SecurityOrigin> targetOrigin(SecurityOrigin::create(url));
     125    return isAccessWhiteListed(activeOrigin, &targetOrigin.get());
    126126}
    127127
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm

    r176924 r177422  
    20092009        return false;
    20102010   
    2011     RefPtr<SecurityOrigin> resolvedOrigin = SecurityOrigin::create(resolvedURL());
    2012     RefPtr<SecurityOrigin> requestedOrigin = SecurityOrigin::createFromString(assetURL());
    2013     return resolvedOrigin->isSameSchemeHostPort(requestedOrigin.get());
     2011    Ref<SecurityOrigin> resolvedOrigin(SecurityOrigin::create(resolvedURL()));
     2012    Ref<SecurityOrigin> requestedOrigin(SecurityOrigin::createFromString(assetURL()));
     2013    return resolvedOrigin.get().isSameSchemeHostPort(&requestedOrigin.get());
    20142014}
    20152015
  • trunk/Source/WebCore/storage/StorageTracker.cpp

    r177178 r177422  
    477477void StorageTracker::deleteOriginWithIdentifier(const String& originIdentifier)
    478478{
    479     deleteOrigin(SecurityOrigin::createFromDatabaseIdentifier(originIdentifier).get());
     479    deleteOrigin(&SecurityOrigin::createFromDatabaseIdentifier(originIdentifier).get());
    480480}
    481481
  • trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp

    r175792 r177422  
    377377{
    378378    MutexLocker lock(m_lock);
    379     ASSERT(worker->scriptExecutionContext()->securityOrigin()->canAccess(SecurityOrigin::create(url).get()));
     379    ASSERT(worker->scriptExecutionContext()->securityOrigin()->canAccess(&SecurityOrigin::create(url).get()));
    380380    // Fetch a proxy corresponding to this SharedWorker.
    381381    RefPtr<SharedWorkerProxy> proxy = getProxy(name, url);
  • trunk/Source/WebCore/workers/WorkerThread.cpp

    r174125 r177422  
    100100    , m_contentSecurityPolicy(contentSecurityPolicy.isolatedCopy())
    101101    , m_contentSecurityPolicyType(contentSecurityPolicyType)
    102     , m_topOrigin(topOrigin ? topOrigin->isolatedCopy() : 0)
     102    , m_topOrigin(topOrigin ? &topOrigin->isolatedCopy().get() : nullptr)
    103103{
    104104    if (!settings)
  • trunk/Source/WebKit/mac/ChangeLog

    r177410 r177422  
     12014-12-16  Andreas Kling  <akling@apple.com>
     2
     3        Use Ref for SecurityOrigin.
     4        <https://webkit.org/b/139710>
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * Storage/WebStorageTrackerClient.mm:
     9        (WebStorageTrackerClient::dispatchDidModifyOrigin):
     10        * WebView/WebView.mm:
     11        (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
     12        (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
     13
    1142014-12-16  Beth Dakin  <bdakin@apple.com>
    215
  • trunk/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm

    r149255 r177422  
    6767void WebStorageTrackerClient::dispatchDidModifyOrigin(const String& originIdentifier)
    6868{
    69     PassRefPtr<SecurityOrigin> origin = SecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
     69    RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
    7070
    7171    if (!isMainThread()) {
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r177371 r177422  
    39663966+ (void)_addOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains
    39673967{
    3968     SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
     3968    SecurityPolicy::addOriginAccessWhitelistEntry(SecurityOrigin::createFromString(sourceOrigin).get(), destinationProtocol, destinationHost, allowDestinationSubdomains);
    39693969}
    39703970
    39713971+ (void)_removeOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains
    39723972{
    3973     SecurityPolicy::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
     3973    SecurityPolicy::removeOriginAccessWhitelistEntry(SecurityOrigin::createFromString(sourceOrigin).get(), destinationProtocol, destinationHost, allowDestinationSubdomains);
    39743974}
    39753975
  • trunk/Source/WebKit/win/ChangeLog

    r177152 r177422  
     12014-12-16  Andreas Kling  <akling@apple.com>
     2
     3        Use Ref for SecurityOrigin.
     4        <https://webkit.org/b/139710>
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * WebDatabaseManager.cpp:
     9        (WebDatabaseManager::setQuota):
     10        * WebView.cpp:
     11        (WebView::addOriginAccessWhitelistEntry):
     12        (WebView::removeOriginAccessWhitelistEntry):
     13
    1142014-12-11  Alexey Proskuryakov  <ap@apple.com>
    215
  • trunk/Source/WebKit/win/WebDatabaseManager.cpp

    r176892 r177422  
    383383        return E_FAIL;
    384384
    385     DatabaseManager::manager().setQuota(SecurityOrigin::createFromString(origin).get(), quota);
     385    DatabaseManager::manager().setQuota(SecurityOrigin::createFromString(origin).ptr(), quota);
    386386
    387387    return S_OK;
  • trunk/Source/WebKit/win/WebView.cpp

    r177119 r177422  
    64106410HRESULT WebView::addOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains)
    64116411{
    6412     SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(toString(sourceOrigin)), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
     6412    SecurityPolicy::addOriginAccessWhitelistEntry(SecurityOrigin::createFromString(toString(sourceOrigin)).get(), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
    64136413    return S_OK;
    64146414}
     
    64166416HRESULT WebView::removeOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains)
    64176417{
    6418     SecurityPolicy::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(toString(sourceOrigin)), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
     6418    SecurityPolicy::removeOriginAccessWhitelistEntry(SecurityOrigin::createFromString(toString(sourceOrigin)).get(), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
    64196419    return S_OK;
    64206420}
  • trunk/Source/WebKit2/ChangeLog

    r177420 r177422  
     12014-12-16  Andreas Kling  <akling@apple.com>
     2
     3        Use Ref for SecurityOrigin.
     4        <https://webkit.org/b/139710>
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
     9        (WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
     10        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
     11        (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
     12        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
     13        (WebKit::WebIDBServerConnection::WebIDBServerConnection):
     14        * WebProcess/InjectedBundle/InjectedBundle.cpp:
     15        (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
     16        (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
     17
    1182014-12-16  Anders Carlsson  <andersca@apple.com>
    219
  • trunk/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp

    r172193 r177422  
    9494String UniqueIDBDatabase::databaseFilenameIdentifier(const SecurityOriginData& originData) const
    9595{
    96     RefPtr<SecurityOrigin> securityOrigin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
    97     return securityOrigin->databaseIdentifier();
     96    Ref<SecurityOrigin> securityOrigin(SecurityOrigin::create(originData.protocol, originData.host, originData.port));
     97    return securityOrigin.get().databaseIdentifier();
    9898}
    9999
  • trunk/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp

    r176698 r177422  
    7979void WebApplicationCacheManager::deleteEntriesForOrigin(const SecurityOriginData& originData)
    8080{
    81     RefPtr<SecurityOrigin> origin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
    82     if (!origin)
    83         return;
    84    
    85     ApplicationCache::deleteCacheForOrigin(origin.get());
     81    Ref<SecurityOrigin> origin(SecurityOrigin::create(originData.protocol, originData.host, originData.port));
     82    ApplicationCache::deleteCacheForOrigin(&origin.get());
    8683}
    8784
  • trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp

    r172193 r177422  
    6363    : m_serverConnectionIdentifier(generateServerConnectionIdentifier())
    6464    , m_databaseName(databaseName)
    65     , m_openingOrigin(*openingOrigin.isolatedCopy())
    66     , m_mainFrameOrigin(*mainFrameOrigin.isolatedCopy())
     65    , m_openingOrigin(openingOrigin.isolatedCopy())
     66    , m_mainFrameOrigin(mainFrameOrigin.isolatedCopy())
    6767{
    6868    send(Messages::DatabaseToWebProcessConnection::EstablishIDBConnection(m_serverConnectionIdentifier));
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp

    r176659 r177422  
    329329void InjectedBundle::addOriginAccessWhitelistEntry(const String& sourceOrigin, const String& destinationProtocol, const String& destinationHost, bool allowDestinationSubdomains)
    330330{
    331     SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
     331    SecurityPolicy::addOriginAccessWhitelistEntry(SecurityOrigin::createFromString(sourceOrigin).get(), destinationProtocol, destinationHost, allowDestinationSubdomains);
    332332}
    333333
    334334void InjectedBundle::removeOriginAccessWhitelistEntry(const String& sourceOrigin, const String& destinationProtocol, const String& destinationHost, bool allowDestinationSubdomains)
    335335{
    336     SecurityPolicy::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
     336    SecurityPolicy::removeOriginAccessWhitelistEntry(SecurityOrigin::createFromString(sourceOrigin).get(), destinationProtocol, destinationHost, allowDestinationSubdomains);
    337337}
    338338
Note: See TracChangeset for help on using the changeset viewer.