Title: [185386] trunk/Source/WebKit2
Revision
185386
Author
[email protected]
Date
2015-06-09 15:12:41 -0700 (Tue, 09 Jun 2015)

Log Message

Add code to keep track of plug-in data host names in website data records
https://bugs.webkit.org/show_bug.cgi?id=145818

Reviewed by Andreas Kling.

* Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::encode):
(WebKit::WebsiteData::decode):
* Shared/WebsiteData/WebsiteData.h:
* UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForPluginDataHostName):
(WebKit::WebsiteDataRecord::addPluginDataHostName):
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Deleted.
* UIProcess/WebsiteData/WebsiteDataRecord.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (185385 => 185386)


--- trunk/Source/WebKit2/ChangeLog	2015-06-09 22:01:50 UTC (rev 185385)
+++ trunk/Source/WebKit2/ChangeLog	2015-06-09 22:12:41 UTC (rev 185386)
@@ -1,5 +1,24 @@
 2015-06-09  Anders Carlsson  <[email protected]>
 
+        Add code to keep track of plug-in data host names in website data records
+        https://bugs.webkit.org/show_bug.cgi?id=145818
+
+        Reviewed by Andreas Kling.
+
+        * Shared/WebsiteData/WebsiteData.cpp:
+        (WebKit::WebsiteData::encode):
+        (WebKit::WebsiteData::decode):
+        * Shared/WebsiteData/WebsiteData.h:
+        * UIProcess/WebsiteData/WebsiteDataRecord.cpp:
+        (WebKit::WebsiteDataRecord::displayNameForPluginDataHostName):
+        (WebKit::WebsiteDataRecord::addPluginDataHostName):
+        (WebKit::WebsiteDataRecord::displayNameForCookieHostName): Deleted.
+        * UIProcess/WebsiteData/WebsiteDataRecord.h:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::fetchData):
+
+2015-06-09  Anders Carlsson  <[email protected]>
+
         Add Plug-in type declarations to WKWebsiteDataRecord and friends
         https://bugs.webkit.org/show_bug.cgi?id=145816
 

Modified: trunk/Source/WebKit2/Shared/WebsiteData/WebsiteData.cpp (185385 => 185386)


--- trunk/Source/WebKit2/Shared/WebsiteData/WebsiteData.cpp	2015-06-09 22:01:50 UTC (rev 185385)
+++ trunk/Source/WebKit2/Shared/WebsiteData/WebsiteData.cpp	2015-06-09 22:12:41 UTC (rev 185386)
@@ -54,6 +54,9 @@
 {
     encoder << entries;
     encoder << hostNamesWithCookies;
+#if ENABLE(NETSCAPE_PLUGIN_API)
+    encoder << hostNamesWithPluginData;
+#endif
 }
 
 bool WebsiteData::decode(IPC::ArgumentDecoder& decoder, WebsiteData& result)
@@ -62,6 +65,10 @@
         return false;
     if (!decoder.decode(result.hostNamesWithCookies))
         return false;
+#if ENABLE(NETSCAPE_PLUGIN_API)
+    if (!decoder.decode(result.hostNamesWithPluginData))
+        return false;
+#endif
 
     return true;
 }

Modified: trunk/Source/WebKit2/Shared/WebsiteData/WebsiteData.h (185385 => 185386)


--- trunk/Source/WebKit2/Shared/WebsiteData/WebsiteData.h	2015-06-09 22:01:50 UTC (rev 185385)
+++ trunk/Source/WebKit2/Shared/WebsiteData/WebsiteData.h	2015-06-09 22:12:41 UTC (rev 185386)
@@ -50,6 +50,10 @@
     Vector<Entry> entries;
     HashSet<String> hostNamesWithCookies;
 
+#if ENABLE(NETSCAPE_PLUGIN_API)
+    HashSet<String> hostNamesWithPluginData;
+#endif
+
     void encode(IPC::ArgumentEncoder&) const;
     static bool decode(IPC::ArgumentDecoder&, WebsiteData&);
 };

Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataRecord.cpp (185385 => 185386)


--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataRecord.cpp	2015-06-09 22:01:50 UTC (rev 185385)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataRecord.cpp	2015-06-09 22:12:41 UTC (rev 185386)
@@ -48,8 +48,6 @@
         return displayNameForLocalFiles();
 #endif
 
-    // FIXME: This needs to handle the local file domain for cookies.
-
 #if ENABLE(PUBLIC_SUFFIX_LIST)
     return WebCore::topPrivatelyControlledDomain(hostName.startsWith('.') ? hostName.substring(1) : hostName);
 #endif
@@ -57,6 +55,17 @@
     return String();
 }
 
+#if ENABLE(NETSCAPE_PLUGIN_API)
+String WebsiteDataRecord::displayNameForPluginDataHostName(const String& hostName)
+{
+#if ENABLE(PUBLIC_SUFFIX_LIST)
+    return WebCore::topPrivatelyControlledDomain(hostName);
+#endif
+
+    return String();
+}
+#endif
+
 String WebsiteDataRecord::displayNameForOrigin(const WebCore::SecurityOrigin& securityOrigin)
 {
     const auto& protocol = securityOrigin.protocol();
@@ -86,4 +95,13 @@
     cookieHostNames.add(hostName);
 }
 
+#if ENABLE(NETSCAPE_PLUGIN_API)
+void WebsiteDataRecord::addPluginDataHostName(const String& hostName)
+{
+    types |= WebsiteDataTypePlugInData;
+
+    pluginDataHostNames.add(hostName);
 }
+#endif
+
+}

Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataRecord.h (185385 => 185386)


--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataRecord.h	2015-06-09 22:01:50 UTC (rev 185385)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataRecord.h	2015-06-09 22:12:41 UTC (rev 185386)
@@ -40,15 +40,24 @@
 
 struct WebsiteDataRecord {
     static String displayNameForCookieHostName(const String& hostName);
+#if ENABLE(NETSCAPE_PLUGIN_API)
+    static String displayNameForPluginDataHostName(const String& hostName);
+#endif
     static String displayNameForOrigin(const WebCore::SecurityOrigin&);
 
     void add(WebsiteDataTypes, RefPtr<WebCore::SecurityOrigin>&&);
     void addCookieHostName(const String& hostName);
+#if ENABLE(NETSCAPE_PLUGIN_API)
+    void addPluginDataHostName(const String& hostName);
+#endif
 
     String displayName;
     unsigned types { 0 };
     HashSet<RefPtr<WebCore::SecurityOrigin>> origins;
     HashSet<String> cookieHostNames;
+#if ENABLE(NETSCAPE_PLUGIN_API)
+    HashSet<String> pluginDataHostNames;
+#endif
 };
 
 }

Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (185385 => 185386)


--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp	2015-06-09 22:01:50 UTC (rev 185385)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp	2015-06-09 22:12:41 UTC (rev 185386)
@@ -187,6 +187,20 @@
                 record.addCookieHostName(hostName);
             }
 
+#if ENABLE(NETSCAPE_PLUGIN_API)
+            for (auto& hostName : websiteData.hostNamesWithPluginData) {
+                auto displayName = WebsiteDataRecord::displayNameForPluginDataHostName(hostName);
+                if (!displayName)
+                    continue;
+
+                auto& record = m_websiteDataRecords.add(displayName, WebsiteDataRecord { }).iterator->value;
+                if (!record.displayName)
+                    record.displayName = WTF::move(displayName);
+
+                record.addPluginDataHostName(hostName);
+            }
+#endif
+
             callIfNeeded();
         }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to