Diff
Modified: trunk/Source/WebKit2/ChangeLog (183410 => 183411)
--- trunk/Source/WebKit2/ChangeLog 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/ChangeLog 2015-04-27 20:13:53 UTC (rev 183411)
@@ -1,5 +1,45 @@
2015-04-27 Zan Dobersek <[email protected]>
+ [WK2] API::Data creation functions should return Ref<>
+ https://bugs.webkit.org/show_bug.cgi?id=144220
+
+ Reviewed by Darin Adler.
+
+ Have API::Data creation functions return Ref<>.
+ The call-sites are also updated, using and operating
+ on the returned Ref<> object where possible.
+
+ * Shared/API/APIData.h:
+ (API::Data::createWithoutCopying):
+ (API::Data::create):
+ * Shared/API/c/WKData.cpp:
+ (WKDataCreate):
+ * Shared/API/c/mac/WKWebArchive.cpp:
+ (WKWebArchiveCopyData):
+ * Shared/API/c/mac/WKWebArchiveResource.cpp:
+ (WKWebArchiveResourceCopyData):
+ * Shared/APIWebArchive.h:
+ * Shared/APIWebArchive.mm:
+ (API::WebArchive::data):
+ * Shared/APIWebArchiveResource.h:
+ * Shared/APIWebArchiveResource.mm:
+ (API::WebArchiveResource::data):
+ * Shared/Cocoa/APIDataCocoa.mm:
+ (API::Data::createWithoutCopying):
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
+ * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
+ (webkitURISchemeRequestReadCallback):
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_load_bytes):
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::createData):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::dataCallback):
+ (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
+
+2015-04-27 Zan Dobersek <[email protected]>
+
[WK2] API::URL creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144219
Modified: trunk/Source/WebKit2/Shared/API/APIData.h (183410 => 183411)
--- trunk/Source/WebKit2/Shared/API/APIData.h 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/API/APIData.h 2015-04-27 20:13:53 UTC (rev 183411)
@@ -44,12 +44,12 @@
public:
typedef void (*FreeDataFunction)(unsigned char*, const void* context);
- static PassRefPtr<Data> createWithoutCopying(const unsigned char* bytes, size_t size, FreeDataFunction freeDataFunction, const void* context)
+ static Ref<Data> createWithoutCopying(const unsigned char* bytes, size_t size, FreeDataFunction freeDataFunction, const void* context)
{
- return adoptRef(new Data(bytes, size, freeDataFunction, context));
+ return adoptRef(*new Data(bytes, size, freeDataFunction, context));
}
- static PassRefPtr<Data> create(const unsigned char* bytes, size_t size)
+ static Ref<Data> create(const unsigned char* bytes, size_t size)
{
unsigned char *copiedBytes = 0;
@@ -61,13 +61,13 @@
return createWithoutCopying(copiedBytes, size, fastFreeBytes, 0);
}
- static PassRefPtr<Data> create(const Vector<unsigned char>& buffer)
+ static Ref<Data> create(const Vector<unsigned char>& buffer)
{
return create(buffer.data(), buffer.size());
}
#if PLATFORM(COCOA)
- static PassRefPtr<Data> createWithoutCopying(RetainPtr<NSData>);
+ static Ref<Data> createWithoutCopying(RetainPtr<NSData>);
#endif
~Data()
Modified: trunk/Source/WebKit2/Shared/API/c/WKData.cpp (183410 => 183411)
--- trunk/Source/WebKit2/Shared/API/c/WKData.cpp 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/API/c/WKData.cpp 2015-04-27 20:13:53 UTC (rev 183411)
@@ -38,7 +38,7 @@
WKDataRef WKDataCreate(const unsigned char* bytes, size_t size)
{
- return toAPI(API::Data::create(bytes, size).leakRef());
+ return toAPI(&API::Data::create(bytes, size).leakRef());
}
const unsigned char* WKDataGetBytes(WKDataRef dataRef)
Modified: trunk/Source/WebKit2/Shared/API/c/mac/WKWebArchive.cpp (183410 => 183411)
--- trunk/Source/WebKit2/Shared/API/c/mac/WKWebArchive.cpp 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/API/c/mac/WKWebArchive.cpp 2015-04-27 20:13:53 UTC (rev 183411)
@@ -79,5 +79,5 @@
WKDataRef WKWebArchiveCopyData(WKWebArchiveRef webArchiveRef)
{
- return toAPI(toImpl(webArchiveRef)->data().leakRef());
+ return toAPI(&toImpl(webArchiveRef)->data().leakRef());
}
Modified: trunk/Source/WebKit2/Shared/API/c/mac/WKWebArchiveResource.cpp (183410 => 183411)
--- trunk/Source/WebKit2/Shared/API/c/mac/WKWebArchiveResource.cpp 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/API/c/mac/WKWebArchiveResource.cpp 2015-04-27 20:13:53 UTC (rev 183411)
@@ -45,7 +45,7 @@
WKDataRef WKWebArchiveResourceCopyData(WKWebArchiveResourceRef webArchiveResourceRef)
{
- return toAPI(toImpl(webArchiveResourceRef)->data().leakRef());
+ return toAPI(&toImpl(webArchiveResourceRef)->data().leakRef());
}
WKURLRef WKWebArchiveResourceCopyURL(WKWebArchiveResourceRef webArchiveResourceRef)
Modified: trunk/Source/WebKit2/Shared/APIWebArchive.h (183410 => 183411)
--- trunk/Source/WebKit2/Shared/APIWebArchive.h 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/APIWebArchive.h 2015-04-27 20:13:53 UTC (rev 183411)
@@ -59,7 +59,7 @@
API::Array* subresources();
API::Array* subframeArchives();
- PassRefPtr<API::Data> data();
+ Ref<API::Data> data();
WebCore::LegacyWebArchive* coreLegacyWebArchive();
Modified: trunk/Source/WebKit2/Shared/APIWebArchive.mm (183410 => 183411)
--- trunk/Source/WebKit2/Shared/APIWebArchive.mm 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/APIWebArchive.mm 2015-04-27 20:13:53 UTC (rev 183411)
@@ -143,7 +143,7 @@
CFRelease(data);
}
-PassRefPtr<API::Data> WebArchive::data()
+Ref<API::Data> WebArchive::data()
{
RetainPtr<CFDataRef> rawDataRepresentation = m_legacyWebArchive->rawDataRepresentation();
Modified: trunk/Source/WebKit2/Shared/APIWebArchiveResource.h (183410 => 183411)
--- trunk/Source/WebKit2/Shared/APIWebArchiveResource.h 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/APIWebArchiveResource.h 2015-04-27 20:13:53 UTC (rev 183411)
@@ -51,7 +51,7 @@
static PassRefPtr<WebArchiveResource> create(API::Data*, const String& URL, const String& MIMEType, const String& textEncoding);
static PassRefPtr<WebArchiveResource> create(PassRefPtr<WebCore::ArchiveResource>);
- PassRefPtr<API::Data> data();
+ Ref<API::Data> data();
String URL();
String MIMEType();
String textEncoding();
Modified: trunk/Source/WebKit2/Shared/APIWebArchiveResource.mm (183410 => 183411)
--- trunk/Source/WebKit2/Shared/APIWebArchiveResource.mm 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/APIWebArchiveResource.mm 2015-04-27 20:13:53 UTC (rev 183411)
@@ -67,7 +67,7 @@
CFRelease(data);
}
-PassRefPtr<API::Data> WebArchiveResource::data()
+Ref<API::Data> WebArchiveResource::data()
{
RetainPtr<CFDataRef> cfData = m_archiveResource->data()->createCFData();
Modified: trunk/Source/WebKit2/Shared/Cocoa/APIDataCocoa.mm (183410 => 183411)
--- trunk/Source/WebKit2/Shared/Cocoa/APIDataCocoa.mm 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/Shared/Cocoa/APIDataCocoa.mm 2015-04-27 20:13:53 UTC (rev 183411)
@@ -28,7 +28,7 @@
namespace API {
-PassRefPtr<Data> Data::createWithoutCopying(RetainPtr<NSData> data)
+Ref<Data> Data::createWithoutCopying(RetainPtr<NSData> data)
{
const unsigned char* bytes = reinterpret_cast<const unsigned char*>([data bytes]);
size_t size = [data length];
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (183410 => 183411)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2015-04-27 20:13:53 UTC (rev 183411)
@@ -460,7 +460,7 @@
- (WKNavigation *)loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL
{
- auto navigation = _page->loadData(API::Data::createWithoutCopying(data).get(), MIMEType, characterEncodingName, baseURL.absoluteString);
+ auto navigation = _page->loadData(API::Data::createWithoutCopying(data).ptr(), MIMEType, characterEncodingName, baseURL.absoluteString);
if (!navigation)
return nil;
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp (183410 => 183411)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp 2015-04-27 20:13:53 UTC (rev 183411)
@@ -167,16 +167,16 @@
}
WebKitURISchemeRequestPrivate* priv = request->priv;
- RefPtr<API::Data> webData = API::Data::create(reinterpret_cast<const unsigned char*>(priv->readBuffer), bytesRead);
+ Ref<API::Data> webData = API::Data::create(reinterpret_cast<const unsigned char*>(priv->readBuffer), bytesRead);
if (!priv->bytesRead) {
// First chunk read. In case of empty reply an empty API::Data is sent to the networking process.
WebCore::ResourceResponse response(WebCore::URL(WebCore::URL(), String::fromUTF8(priv->uri)), String::fromUTF8(priv->mimeType.data()),
priv->streamLength, emptyString());
priv->webRequestManager->didReceiveResponse(priv->requestID, response);
- priv->webRequestManager->didLoadData(priv->requestID, webData.get());
+ priv->webRequestManager->didLoadData(priv->requestID, webData.ptr());
} else if (bytesRead || (!bytesRead && !priv->streamLength)) {
// Subsequent chunk read. We only send an empty API::Data to the networking process when stream length is unknown.
- priv->webRequestManager->didLoadData(priv->requestID, webData.get());
+ priv->webRequestManager->didLoadData(priv->requestID, webData.ptr());
}
if (!bytesRead) {
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (183410 => 183411)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2015-04-27 20:13:53 UTC (rev 183411)
@@ -2382,8 +2382,8 @@
// Balanced by g_bytes_unref in releaseGBytes.
g_bytes_ref(bytes);
- RefPtr<API::Data> data = "" unsigned char*>(bytesData), bytesDataSize, releaseGBytes, bytes);
- getPage(webView)->loadData(data.get(), mimeType ? String::fromUTF8(mimeType) : String::fromUTF8("text/html"),
+ Ref<API::Data> data = "" unsigned char*>(bytesData), bytesDataSize, releaseGBytes, bytes);
+ getPage(webView)->loadData(data.ptr(), mimeType ? String::fromUTF8(mimeType) : String::fromUTF8("text/html"),
encoding ? String::fromUTF8(encoding) : String::fromUTF8("UTF-8"), String::fromUTF8(baseURI));
}
Modified: trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp (183410 => 183411)
--- trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp 2015-04-27 20:13:53 UTC (rev 183411)
@@ -177,7 +177,7 @@
m_downloadProxyMap.downloadFinished(this);
}
-static PassRefPtr<API::Data> createData(const IPC::DataReference& data)
+static RefPtr<API::Data> createData(const IPC::DataReference& data)
{
if (data.isEmpty())
return 0;
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (183410 => 183411)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2015-04-27 20:09:41 UTC (rev 183410)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2015-04-27 20:13:53 UTC (rev 183411)
@@ -4540,7 +4540,7 @@
return;
}
- callback->performCallbackWithReturnValue(API::Data::create(dataReference.data(), dataReference.size()).get());
+ callback->performCallbackWithReturnValue(API::Data::create(dataReference.data(), dataReference.size()).ptr());
}
void WebPageProxy::imageCallback(const ShareableBitmap::Handle& bitmapHandle, uint64_t callbackID)
@@ -5356,9 +5356,8 @@
if (!suggestedFilename.endsWith(".pdf", false))
return;
- RefPtr<API::Data> data = "" dataReference.size());
-
- saveDataToFileInDownloadsFolder(suggestedFilename, "application/pdf", originatingURLString, data.get());
+ saveDataToFileInDownloadsFolder(suggestedFilename, "application/pdf", originatingURLString,
+ API::Data::create(dataReference.data(), dataReference.size()).ptr());
}
void WebPageProxy::setMinimumLayoutSize(const IntSize& minimumLayoutSize)