Title: [168609] trunk/Source/WebKit2
Revision
168609
Author
commit-qu...@webkit.org
Date
2014-05-11 23:30:37 -0700 (Sun, 11 May 2014)

Log Message

Expose a function to copy favicon data without image conversion.
https://bugs.webkit.org/show_bug.cgi?id=132805

Patch by Gordon Sheridan <gordon_sheri...@apple.com> on 2014-05-11
Reviewed by Darin Adler.

* UIProcess/API/C/WKIconDatabase.cpp:
(WKIconDatabaseCopyIconDataForPageURL):
Add a function to copy the data from the image of a favicon for an associated page url.

* UIProcess/API/C/WKIconDatabase.h:
Declare WKIconDatabaseCopyIconDataForPageURL.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (168608 => 168609)


--- trunk/Source/WebKit2/ChangeLog	2014-05-12 06:21:47 UTC (rev 168608)
+++ trunk/Source/WebKit2/ChangeLog	2014-05-12 06:30:37 UTC (rev 168609)
@@ -1,3 +1,17 @@
+2014-05-11  Gordon Sheridan  <gordon_sheri...@apple.com>
+
+        Expose a function to copy favicon data without image conversion.
+        https://bugs.webkit.org/show_bug.cgi?id=132805
+
+        Reviewed by Darin Adler.
+
+        * UIProcess/API/C/WKIconDatabase.cpp:
+        (WKIconDatabaseCopyIconDataForPageURL):
+        Add a function to copy the data from the image of a favicon for an associated page url.
+
+        * UIProcess/API/C/WKIconDatabase.h:
+        Declare WKIconDatabaseCopyIconDataForPageURL.
+
 2014-05-11  Seongjun Kim  <is...@company100.com>
 
         REGRESSION(r168603): [GTK] Build broken.

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.cpp (168608 => 168609)


--- trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.cpp	2014-05-12 06:21:47 UTC (rev 168608)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.cpp	2014-05-12 06:30:37 UTC (rev 168609)
@@ -29,6 +29,9 @@
 #include "APIData.h"
 #include "WKAPICast.h"
 #include "WebIconDatabase.h"
+#include <WebCore/Image.h>
+#include <WebCore/SharedBuffer.h>
+#include <WebKit/WKData.h>
 
 using namespace WebKit;
 
@@ -69,6 +72,19 @@
     return toCopiedURLAPI(iconURLString);
 }
 
+WKDataRef WKIconDatabaseCopyIconDataForPageURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef pageURL)
+{
+    WebCore::Image* image = toImpl(iconDatabaseRef)->imageForPageURL(toWTFString(pageURL));
+    if (!image)
+        return nullptr;
+
+    WebCore::SharedBuffer* iconData = image->data();
+    if (!iconData)
+        return nullptr;
+
+    return WKDataCreate(reinterpret_cast<const unsigned char*>(iconData->data()), iconData->size());
+}
+
 void WKIconDatabaseEnableDatabaseCleanup(WKIconDatabaseRef iconDatabaseRef)
 {
     toImpl(iconDatabaseRef)->enableDatabaseCleanup();

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.h (168608 => 168609)


--- trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.h	2014-05-12 06:21:47 UTC (rev 168608)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.h	2014-05-12 06:30:37 UTC (rev 168609)
@@ -83,6 +83,7 @@
 WK_EXPORT void WKIconDatabaseSetIconDataForIconURL(WKIconDatabaseRef iconDatabase, WKDataRef iconData, WKURLRef iconURL);
 WK_EXPORT void WKIconDatabaseSetIconURLForPageURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef iconURLRef, WKURLRef pageURLRef);
 WK_EXPORT WKURLRef WKIconDatabaseCopyIconURLForPageURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef pageURLRef);
+WK_EXPORT WKDataRef WKIconDatabaseCopyIconDataForPageURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef pageURL);
 
 WK_EXPORT void WKIconDatabaseEnableDatabaseCleanup(WKIconDatabaseRef iconDatabase);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to