[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

jberlin at webkit.org jberlin at webkit.org
Fri Jan 21 14:39:24 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit 9cf9a80db756297c1d85df0e02df2d8eee04d3cb
Author: jberlin at webkit.org <jberlin at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Dec 24 01:16:19 2010 +0000

    Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
    https://bugs.webkit.org/show_bug.cgi?id=51563
    
    Reviewed by Sam Weinig.
    
    WebCore:
    
    Add SecurityOrigin::create(const String& protocol, const String& host, int port).
    
    * WebCore.exp.in:
    Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
    
    * page/SecurityOrigin.cpp:
    (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
    Use the constant MaxAllowedPort.
    (WebCore::SecurityOrigin::create):
    Sanitizing based off of that done in createFromDatabaseIdentifier.
    * page/SecurityOrigin.h:
    
    WebKit2:
    
    Add WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port).
    
    * Shared/API/c/WKSecurityOrigin.cpp:
    (WKSecurityOriginCreateFromIdentifier):
    Renamed so as not to clash with the new WKSecurityOriginCreate.
    (WKSecurityOriginCreate):
    * Shared/API/c/WKSecurityOrigin.h:
    * Shared/WebSecurityOrigin.h:
    (WebKit::WebSecurityOrigin::create):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 9a589a8..47d9081 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2010-12-23  Jessie Berlin  <jberlin at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
+        https://bugs.webkit.org/show_bug.cgi?id=51563
+
+        Add SecurityOrigin::create(const String& protocol, const String& host, int port).
+
+        * WebCore.exp.in:
+        Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
+
+        * page/SecurityOrigin.cpp:
+        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
+        Use the constant MaxAllowedPort.
+        (WebCore::SecurityOrigin::create):
+        Sanitizing based off of that done in createFromDatabaseIdentifier.
+        * page/SecurityOrigin.h:
+
 2010-12-23  Patrick Gansterer  <paroga at webkit.org>
 
         Unreviewed build fix for WinCE after r73802.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index e959972..593bc60 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -341,6 +341,7 @@ __ZN7WebCore14SecurityOrigin29addOriginAccessWhitelistEntryERKS0_RKN3WTF6StringE
 __ZN7WebCore14SecurityOrigin32removeOriginAccessWhitelistEntryERKS0_RKN3WTF6StringES6_b
 __ZN7WebCore14SecurityOrigin40setDomainRelaxationForbiddenForURLSchemeEbRKN3WTF6StringE
 __ZN7WebCore14SecurityOrigin6createERKNS_4KURLEi
+__ZN7WebCore14SecurityOrigin6createERKN3WTF6StringES4_i
 __ZN7WebCore15ArchiveResource6createEN3WTF10PassRefPtrINS_12SharedBufferEEERKNS_4KURLERKNS1_6StringESA_SA_RKNS_16ResourceResponseE
 __ZN7WebCore15DOMWrapperWorld15unregisterWorldEv
 __ZN7WebCore15DOMWrapperWorldD1Ev
diff --git a/WebCore/page/SecurityOrigin.cpp b/WebCore/page/SecurityOrigin.cpp
index a753c6d..16de640 100644
--- a/WebCore/page/SecurityOrigin.cpp
+++ b/WebCore/page/SecurityOrigin.cpp
@@ -40,6 +40,7 @@
 namespace WebCore {
 
 static SecurityOrigin::LocalLoadPolicy localLoadPolicy = SecurityOrigin::AllowLocalLoadsForLocalOnly;
+const int MaxAllowedPort = 65535;
 
 typedef Vector<OriginAccessEntry> OriginAccessWhiteList;
 typedef HashMap<String, OriginAccessWhiteList*> OriginAccessMap;
@@ -415,7 +416,7 @@ PassRefPtr<SecurityOrigin> SecurityOrigin::createFromDatabaseIdentifier(const St
     if (!(portOkay || portAbsent))
         return create(KURL());
     
-    if (port < 0 || port > 65535)
+    if (port < 0 || port > MaxAllowedPort)
         return create(KURL());
         
     // Split out the 3 sections of data
@@ -426,6 +427,14 @@ PassRefPtr<SecurityOrigin> SecurityOrigin::createFromDatabaseIdentifier(const St
     return create(KURL(KURL(), protocol + "://" + host + ":" + String::number(port)));
 }
 
+PassRefPtr<SecurityOrigin> SecurityOrigin::create(const String& protocol, const String& host, int port)
+{
+    if (port < 0 || port > MaxAllowedPort)
+        create(KURL());
+    String decodedHost = decodeURLEscapeSequences(host);
+    return create(KURL(KURL(), protocol + "://" + host + ":" + String::number(port)));
+}
+
 String SecurityOrigin::databaseIdentifier() const 
 {
     String separatorString(&SeparatorCharacter, 1);
diff --git a/WebCore/page/SecurityOrigin.h b/WebCore/page/SecurityOrigin.h
index 6bdb28c..61f6ab8 100644
--- a/WebCore/page/SecurityOrigin.h
+++ b/WebCore/page/SecurityOrigin.h
@@ -42,6 +42,7 @@ class SecurityOrigin : public ThreadSafeShared<SecurityOrigin> {
 public:
     static PassRefPtr<SecurityOrigin> createFromDatabaseIdentifier(const String&);
     static PassRefPtr<SecurityOrigin> createFromString(const String&);
+    static PassRefPtr<SecurityOrigin> create(const String& protocol, const String& host, int port);
     static PassRefPtr<SecurityOrigin> create(const KURL&, SandboxFlags = SandboxNone);
     static PassRefPtr<SecurityOrigin> createEmpty();
 
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 5e16028..380f3b4 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,20 @@
+2010-12-23  Jessie Berlin  <jberlin at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
+        https://bugs.webkit.org/show_bug.cgi?id=51563
+
+        Add WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port).
+
+        * Shared/API/c/WKSecurityOrigin.cpp:
+        (WKSecurityOriginCreateFromIdentifier):
+        Renamed so as not to clash with the new WKSecurityOriginCreate.
+        (WKSecurityOriginCreate):
+        * Shared/API/c/WKSecurityOrigin.h:
+        * Shared/WebSecurityOrigin.h:
+        (WebKit::WebSecurityOrigin::create):
+
 2010-12-23  Anders Carlsson  <andersca at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/WebKit2/Shared/API/c/WKSecurityOrigin.cpp b/WebKit2/Shared/API/c/WKSecurityOrigin.cpp
index 7765658..761cbf8 100644
--- a/WebKit2/Shared/API/c/WKSecurityOrigin.cpp
+++ b/WebKit2/Shared/API/c/WKSecurityOrigin.cpp
@@ -35,12 +35,18 @@ WKTypeID WKSecurityOriginGetTypeID()
     return toAPI(WebSecurityOrigin::APIType);
 }
 
-WKSecurityOriginRef WKSecurityOriginCreate(WKStringRef identifier)
+WKSecurityOriginRef WKSecurityOriginCreateFromIdentifier(WKStringRef identifier)
 {
     RefPtr<WebSecurityOrigin> securityOrigin = WebSecurityOrigin::create(toImpl(identifier)->string());
     return toAPI(securityOrigin.release().leakRef());
 }
 
+WKSecurityOriginRef WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port)
+{
+    RefPtr<WebSecurityOrigin> securityOrigin = WebSecurityOrigin::create(toImpl(protocol)->string(), toImpl(host)->string(), port);
+    return toAPI(securityOrigin.release().leakRef());
+}
+
 WKStringRef WKSecurityOriginGetProtocol(WKSecurityOriginRef securityOrigin)
 {
     return toCopiedAPI(toImpl(securityOrigin)->protocol());
diff --git a/WebKit2/Shared/API/c/WKSecurityOrigin.h b/WebKit2/Shared/API/c/WKSecurityOrigin.h
index a19a36c..9bffdd7 100644
--- a/WebKit2/Shared/API/c/WKSecurityOrigin.h
+++ b/WebKit2/Shared/API/c/WKSecurityOrigin.h
@@ -34,7 +34,8 @@ extern "C" {
 
 WK_EXPORT WKTypeID WKSecurityOriginGetTypeID();
 
-WK_EXPORT WKSecurityOriginRef WKSecurityOriginCreate(WKStringRef identifier);
+WK_EXPORT WKSecurityOriginRef WKSecurityOriginCreateFromIdentifier(WKStringRef identifier);
+WK_EXPORT WKSecurityOriginRef WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port);
 
 WK_EXPORT WKStringRef WKSecurityOriginGetProtocol(WKSecurityOriginRef securityOrigin);
 WK_EXPORT WKStringRef WKSecurityOriginGetHost(WKSecurityOriginRef securityOrigin);
diff --git a/WebKit2/Shared/WebSecurityOrigin.h b/WebKit2/Shared/WebSecurityOrigin.h
index f462d00..be684ab 100644
--- a/WebKit2/Shared/WebSecurityOrigin.h
+++ b/WebKit2/Shared/WebSecurityOrigin.h
@@ -44,6 +44,14 @@ public:
         return adoptRef(new WebSecurityOrigin(securityOrigin.release()));
     }
 
+    static PassRefPtr<WebSecurityOrigin> create(const String& protocol, const String& host, int port)
+    {
+        RefPtr<WebCore::SecurityOrigin> securityOrigin = WebCore::SecurityOrigin::create(protocol, host, port);
+        if (!securityOrigin)
+            return 0;
+        return adoptRef(new WebSecurityOrigin(securityOrigin.release()));
+    }
+
     const String protocol() const { return m_securityOrigin->domain(); }
     const String host() const { return m_securityOrigin->host(); }
     unsigned short port() const { return m_securityOrigin->port(); }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list