<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[69881] branches/chromium/552/WebKit/chromium</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/69881">69881</a></dd>
<dt>Author</dt> <dd>jianli@chromium.org</dd>
<dt>Date</dt> <dd>2010-10-15 14:36:16 -0700 (Fri, 15 Oct 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge 69611 - [chromium] Update WebBlobData to adapt to BlobData change in terms of
handling string data item.
https://bugs.webkit.org/show_bug.cgi?id=47423

Reviewed by Darin Fisher.

Also remove unneeded methods in WebBlobData. WebBlobStorageData.* are
also removed since they're not longer needed.

BUG=59391
TEST=none

TBR=jianli@chromium.org</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#brancheschromium552WebKitchromiumChangeLog">branches/chromium/552/WebKit/chromium/ChangeLog</a></li>
<li><a href="#brancheschromium552WebKitchromiumWebKitgyp">branches/chromium/552/WebKit/chromium/WebKit.gyp</a></li>
<li><a href="#brancheschromium552WebKitchromiumpublicWebBlobDatah">branches/chromium/552/WebKit/chromium/public/WebBlobData.h</a></li>
<li><a href="#brancheschromium552WebKitchromiumpublicWebBlobRegistryh">branches/chromium/552/WebKit/chromium/public/WebBlobRegistry.h</a></li>
<li><a href="#brancheschromium552WebKitchromiumsrcWebBlobDatacpp">branches/chromium/552/WebKit/chromium/src/WebBlobData.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#brancheschromium552WebKitchromiumpublicWebThreadSafeDatah">branches/chromium/552/WebKit/chromium/public/WebThreadSafeData.h</a></li>
<li><a href="#brancheschromium552WebKitchromiumsrcWebThreadSafeDatacpp">branches/chromium/552/WebKit/chromium/src/WebThreadSafeData.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#brancheschromium552WebKitchromiumpublicWebBlobStorageDatah">branches/chromium/552/WebKit/chromium/public/WebBlobStorageData.h</a></li>
<li><a href="#brancheschromium552WebKitchromiumsrcWebBlobStorageDatacpp">branches/chromium/552/WebKit/chromium/src/WebBlobStorageData.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="brancheschromium552WebKitchromiumChangeLog"></a>
<div class="modfile"><h4>Modified: branches/chromium/552/WebKit/chromium/ChangeLog (69880 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/ChangeLog        2010-10-15 21:34:48 UTC (rev 69880)
+++ branches/chromium/552/WebKit/chromium/ChangeLog        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -1,243 +1,5 @@
</span><del>-2010-10-14  John Abd-El-Malek  &lt;jam@chromium.org&gt;
-
-        Reviewed by Tony Chang.
-
-        [chromium] null check the widget before sending it data as calling didReceiveData might delete it
-        https://bugs.webkit.org/show_bug.cgi?id=47708
-
-        * src/FrameLoaderClientImpl.cpp:
-        (WebKit::FrameLoaderClientImpl::committedLoad):
-
-2010-10-13  Jeremy Orlow  &lt;jorlow@chromium.org&gt;
-
-        Reviewed by Nate Chapin.
-
-        IndexedDB should fire some errors synchronously
-        https://bugs.webkit.org/show_bug.cgi?id=47530
-
-        * public/WebIDBCursor.h:
-        * public/WebIDBDatabase.h:
-        (WebKit::WebIDBDatabase::transaction):
-        * public/WebIDBFactory.h:
-        (WebKit::WebIDBFactory::open):
-        * public/WebIDBObjectStore.h:
-        * public/WebIDBTransactionCallbacks.h:
-        * src/IDBCursorBackendProxy.cpp:
-        (WebCore::IDBCursorBackendProxy::update):
-        (WebCore::IDBCursorBackendProxy::continueFunction):
-        (WebCore::IDBCursorBackendProxy::remove):
-        * src/IDBCursorBackendProxy.h:
-        * src/IDBDatabaseProxy.cpp:
-        (WebCore::IDBDatabaseProxy::createObjectStore):
-        (WebCore::IDBDatabaseProxy::removeObjectStore):
-        (WebCore::IDBDatabaseProxy::setVersion):
-        (WebCore::IDBDatabaseProxy::transaction):
-        * src/IDBDatabaseProxy.h:
-        * src/IDBIndexBackendProxy.cpp:
-        (WebCore::IDBIndexBackendProxy::openCursor):
-        (WebCore::IDBIndexBackendProxy::openKeyCursor):
-        (WebCore::IDBIndexBackendProxy::get):
-        (WebCore::IDBIndexBackendProxy::getKey):
-        * src/IDBIndexBackendProxy.h:
-        * src/IDBObjectStoreProxy.cpp:
-        (WebCore::IDBObjectStoreProxy::get):
-        (WebCore::IDBObjectStoreProxy::put):
-        (WebCore::IDBObjectStoreProxy::remove):
-        (WebCore::IDBObjectStoreProxy::createIndex):
-        (WebCore::IDBObjectStoreProxy::index):
-        (WebCore::IDBObjectStoreProxy::removeIndex):
-        (WebCore::IDBObjectStoreProxy::openCursor):
-        * src/IDBObjectStoreProxy.h:
-        * src/WebIDBCursorImpl.cpp:
-        (WebKit::WebIDBCursorImpl::update):
-        (WebKit::WebIDBCursorImpl::continueFunction):
-        (WebKit::WebIDBCursorImpl::remove):
-        * src/WebIDBCursorImpl.h:
-        * src/WebIDBDatabaseImpl.cpp:
-        (WebKit::WebIDBDatabaseImpl::createObjectStore):
-        (WebKit::WebIDBDatabaseImpl::removeObjectStore):
-        (WebKit::WebIDBDatabaseImpl::setVersion):
-        (WebKit::WebIDBDatabaseImpl::transaction):
-        * src/WebIDBDatabaseImpl.h:
-        * src/WebIDBIndexImpl.cpp:
-        (WebKit::WebIDBIndexImpl::openObjectCursor):
-        (WebKit::WebIDBIndexImpl::openKeyCursor):
-        (WebKit::WebIDBIndexImpl::getObject):
-        (WebKit::WebIDBIndexImpl::getKey):
-        * src/WebIDBIndexImpl.h:
-        * src/WebIDBObjectStoreImpl.cpp:
-        (WebKit::WebIDBObjectStoreImpl::get):
-        (WebKit::WebIDBObjectStoreImpl::put):
-        (WebKit::WebIDBObjectStoreImpl::remove):
-        (WebKit::WebIDBObjectStoreImpl::createIndex):
-        (WebKit::WebIDBObjectStoreImpl::index):
-        (WebKit::WebIDBObjectStoreImpl::removeIndex):
-        (WebKit::WebIDBObjectStoreImpl::openCursor):
-        * src/WebIDBObjectStoreImpl.h:
-
-2010-10-13  Brett Wilson  &lt;brettw@chromium.org&gt;
-
-        Reviewed by Darin Fisher.
-
-        Save and restore the GraphicsContext around setting the clip rect for
-        drawing text.
-        https://bugs.webkit.org/show_bug.cgi?id=47634
-
-        * src/WebFontImpl.cpp:
-        (WebKit::WebFontImpl::drawText):
-
-2010-10-13  Kenneth Russell  &lt;kbr@google.com&gt;
-
-        Reviewed by James Robinson.
-
-        Revert changes to WebViewImpl in r69633
-        https://bugs.webkit.org/show_bug.cgi?id=47610
-
-        Revert change to WebViewImpl.cpp in
-        http://trac.webkit.org/changeset/69633 which incorrectly used
-        PassRefPtr for a local variable instead of RefPtr. This was a fix
-        for changes in http://trac.webkit.org/changeset/69619 and
-        http://trac.webkit.org/changeset/69624 .
-
-        * src/WebViewImpl.cpp:
-        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
-
-2010-10-13  Gavin Barraclough  &lt;barraclough@apple.com&gt;
-
-        Reviewed by Oliver Hunt.
-
-        Bug 43987 - Downloading using XHR is much slower than before
-
-        * src/WebPageSerializerImpl.cpp:
-        (WebKit::WebPageSerializerImpl::encodeAndFlushBuffer):
-
-2010-10-13  Adam Barth  &lt;abarth@webkit.org&gt;
-
-        Reviewed by Tony Chang.
-
-        [Chromium] Clean up WebPageSerializerImpl::serialize
-        https://bugs.webkit.org/show_bug.cgi?id=47577
-
-        This patch shouldn't have any behavior change.  I'm just trying to
-        understand what this code does.
-
-        * src/WebPageSerializerImpl.cpp:
-        (WebKit::WebPageSerializerImpl::saveHTMLContentToBuffer):
-        (WebKit::WebPageSerializerImpl::encodeAndFlushBuffer):
-        (WebKit::WebPageSerializerImpl::serialize):
-        * src/WebPageSerializerImpl.h:
-
-2010-10-13  John Knottenbelt  &lt;jknotten@chromium.org&gt;
-
-        Reviewed by Steve Block.
-
-        First step towards client-based Geolocation in Chromium. Build
-        fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
-        https://bugs.webkit.org/show_bug.cgi?id=47586
-
-        * WebKit.gyp:
-        * src/ChromeClientImpl.cpp:
-        (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame):
-        (WebKit::ChromeClientImpl::cancelGeolocationPermissionRequestForFrame):
-        * src/ChromiumBridge.cpp:
-        * src/WebGeolocationServiceMock.cpp:
-        (WebKit::WebGeolocationServiceMock::createWebGeolocationServiceMock):
-        (WebKit::WebGeolocationServiceMock::setMockGeolocationPermission):
-        (WebKit::WebGeolocationServiceMock::setMockGeolocationPosition):
-        (WebKit::WebGeolocationServiceMock::setMockGeolocationError):
-
-2010-10-11  Andrei Popescu  &lt;andreip@google.com&gt;
-
-        Reviewed by Jeremy Orlow.
-
-        [Chromium] Cleanup WebIDBFactory::open once the Chromium plumbing has landed.
-        https://bugs.webkit.org/show_bug.cgi?id=47531
-
-        Remove the temporary open() method since the appropriate Chromium plumbing was
-        added in http://codereview.chromium.org/3729003/
-
-        * public/WebIDBFactory.h:
-        (WebKit::WebIDBFactory::open):
-
-2010-10-13  Adam Barth  &lt;abarth@webkit.org&gt;
-
-        Reviewed by Darin Fisher.
-
-        [Chromium] Clean up SerializeDomParam
-        https://bugs.webkit.org/show_bug.cgi?id=47580
-
-        This patch just renames a bunch of the members of this struct to be
-        more sensible.  No behavior change, well, except for one struct member
-        that wasn't initialized.  I didn't trace through this code to see if
-        the uninitialized value was used anywhere, but initializing all the
-        values seems like a good idea.
-
-        * src/WebPageSerializerImpl.cpp:
-        (WebKit::WebPageSerializerImpl::SerializeDomParam::SerializeDomParam):
-        (WebKit::WebPageSerializerImpl::preActionBeforeSerializeOpenTag):
-        (WebKit::WebPageSerializerImpl::postActionAfterSerializeOpenTag):
-        (WebKit::WebPageSerializerImpl::postActionAfterSerializeEndTag):
-        (WebKit::WebPageSerializerImpl::encodeAndFlushBuffer):
-        (WebKit::WebPageSerializerImpl::openTagToString):
-        (WebKit::WebPageSerializerImpl::endTagToString):
-        (WebKit::WebPageSerializerImpl::buildContentForNode):
-        * src/WebPageSerializerImpl.h:
-
-2010-10-13  Yury Semikhatsky  &lt;yurys@chromium.org&gt;
-
-        Reviewed by Pavel Feldman.
-
-        Web Inspector: stack information is inconsistent between console.trace and runtime errors.
-        https://bugs.webkit.org/show_bug.cgi?id=47252
-
-        * DEPS: bump up V8 revision
-
-2010-10-12  Kenneth Russell  &lt;kbr@google.com&gt;
-
-        Unreviewed. Fixes for all WebGL content causing assertion failures
-        in Chromium after http://trac.webkit.org/changeset/69619 and
-        http://trac.webkit.org/changeset/69624 .
-
-        * src/GraphicsContext3DChromium.cpp:
-        (WebCore::GraphicsContext3D::create):
-        * src/WebViewImpl.cpp:
-        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
-
-2010-10-12  Alok priyadarshi  &lt;alokp@chromium.org&gt;
-
-        Reviewed by Kenneth Russell.
-
-        Remove support for ANGLE SH_VERSION &lt;= 100
-        https://bugs.webkit.org/show_bug.cgi?id=47307
-
-        * src/WebGraphicsContext3DDefaultImpl.cpp:
-        (WebKit::WebGraphicsContext3DDefaultImpl::angleCreateCompilers):
-        (WebKit::WebGraphicsContext3DDefaultImpl::angleValidateShaderSource):
-
-2010-10-12  James Robinson  &lt;jamesr@chromium.org&gt;
-
-        Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619.
-
-        * src/GraphicsContext3DChromium.cpp:
-        (WebCore::GraphicsContext3D::create):
-        * src/WebViewImpl.cpp:
-        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
-        * src/WebViewImpl.h:
-
</del><span class="cx"> 2010-10-12  Jian Li  &lt;jianli@chromium.org&gt;
</span><span class="cx"> 
</span><del>-        Unreviewed. Bump up revision in order to pick up fix.
-
-        * DEPS:
-
-2010-10-12  Jian Li  &lt;jianli@chromium.org&gt;
-
-        Unreview. Build fix for chromium.
-
-        * public/WebBlobRegistry.h:
-
-2010-10-12  Jian Li  &lt;jianli@chromium.org&gt;
-
</del><span class="cx">         Reviewed by Darin Fisher.
</span><span class="cx"> 
</span><span class="cx">         [chromium] Update WebBlobData to adapt to BlobData change in terms of
</span></span></pre></div>
<a id="brancheschromium552WebKitchromiumWebKitgyp"></a>
<div class="modfile"><h4>Modified: branches/chromium/552/WebKit/chromium/WebKit.gyp (69880 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/WebKit.gyp        2010-10-15 21:34:48 UTC (rev 69880)
+++ branches/chromium/552/WebKit/chromium/WebKit.gyp        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -112,7 +112,6 @@
</span><span class="cx">                 'public/WebBindings.h',
</span><span class="cx">                 'public/WebBlobData.h',
</span><span class="cx">                 'public/WebBlobRegistry.h',
</span><del>-                'public/WebBlobStorageData.h',
</del><span class="cx">                 'public/WebCache.h',
</span><span class="cx">                 'public/WebCanvas.h',
</span><span class="cx">                 'public/WebClipboard.h',
</span><span class="lines">@@ -265,6 +264,7 @@
</span><span class="cx">                 'public/WebTextDirection.h',
</span><span class="cx">                 'public/WebTextInputType.h',
</span><span class="cx">                 'public/WebTextRun.h',
</span><ins>+                'public/WebThreadSafeData.h',
</ins><span class="cx">                 'public/WebURL.h',
</span><span class="cx">                 'public/WebURLError.h',
</span><span class="cx">                 'public/WebURLLoader.h',
</span><span class="lines">@@ -390,7 +390,6 @@
</span><span class="cx">                 'src/WebAttribute.cpp',
</span><span class="cx">                 'src/WebBindings.cpp',
</span><span class="cx">                 'src/WebBlobData.cpp',
</span><del>-                'src/WebBlobStorageData.cpp',
</del><span class="cx">                 'src/WebCache.cpp',
</span><span class="cx">                 'src/WebColor.cpp',
</span><span class="cx">                 'src/WebCommon.cpp',
</span><span class="lines">@@ -523,6 +522,7 @@
</span><span class="cx">                 'src/WebStorageNamespaceImpl.h',
</span><span class="cx">                 'src/WebString.cpp',
</span><span class="cx">                 'src/WebTextRun.cpp',
</span><ins>+                'src/WebThreadSafeData.cpp',
</ins><span class="cx">                 'src/WebURL.cpp',
</span><span class="cx">                 'src/WebURLLoadTiming.cpp',
</span><span class="cx">                 'src/WebURLRequest.cpp',
</span></span></pre></div>
<a id="brancheschromium552WebKitchromiumpublicWebBlobDatah"></a>
<div class="modfile"><h4>Modified: branches/chromium/552/WebKit/chromium/public/WebBlobData.h (69880 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/public/WebBlobData.h        2010-10-15 21:34:48 UTC (rev 69880)
+++ branches/chromium/552/WebKit/chromium/public/WebBlobData.h        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> #ifndef WebBlobData_h
</span><span class="cx"> #define WebBlobData_h
</span><span class="cx"> 
</span><del>-#include &quot;WebCString.h&quot;
</del><ins>+#include &quot;WebThreadSafeData.h&quot;
</ins><span class="cx"> #include &quot;WebString.h&quot;
</span><span class="cx"> #include &quot;WebURL.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> public:
</span><span class="cx">     struct Item {
</span><span class="cx">         enum { TypeData, TypeFile, TypeBlob } type;
</span><del>-        WebCString data;
</del><ins>+        WebThreadSafeData data;
</ins><span class="cx">         WebString filePath;
</span><span class="cx">         WebURL blobURL;
</span><span class="cx">         long long offset;
</span><span class="lines">@@ -72,17 +72,9 @@
</span><span class="cx">     // index is out of bounds.
</span><span class="cx">     WEBKIT_API bool itemAt(size_t index, Item&amp; result) const;
</span><span class="cx"> 
</span><del>-    // Appends to the list of items.
-    WEBKIT_API void appendData(const WebCString&amp;);
-    WEBKIT_API void appendFile(const WebString&amp; filePath);
-    WEBKIT_API void appendFile(const WebString&amp; filePath, long long offset, long long length, double expectedModificationTime);
-    WEBKIT_API void appendBlob(const WebURL&amp; blobURL, long long offset, long long length);
-
</del><span class="cx">     WEBKIT_API WebString contentType() const;
</span><del>-    WEBKIT_API void setContentType(const WebString&amp;);
</del><span class="cx"> 
</span><span class="cx">     WEBKIT_API WebString contentDisposition() const;
</span><del>-    WEBKIT_API void setContentDisposition(const WebString&amp;);
</del><span class="cx"> 
</span><span class="cx"> #if WEBKIT_IMPLEMENTATION
</span><span class="cx">     WebBlobData(const WTF::PassOwnPtr&lt;WebCore::BlobData&gt;&amp;);
</span></span></pre></div>
<a id="brancheschromium552WebKitchromiumpublicWebBlobRegistryh"></a>
<div class="modfile"><h4>Modified: branches/chromium/552/WebKit/chromium/public/WebBlobRegistry.h (69880 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/public/WebBlobRegistry.h        2010-10-15 21:34:48 UTC (rev 69880)
+++ branches/chromium/552/WebKit/chromium/public/WebBlobRegistry.h        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -31,8 +31,6 @@
</span><span class="cx"> #ifndef WebBlobRegistry_h
</span><span class="cx"> #define WebBlobRegistry_h
</span><span class="cx"> 
</span><del>-#include &quot;WebBlobStorageData.h&quot;
-
</del><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="cx"> class WebBlobData;
</span></span></pre></div>
<a id="brancheschromium552WebKitchromiumpublicWebBlobStorageDatah"></a>
<div class="delfile"><h4>Deleted: branches/chromium/552/WebKit/chromium/public/WebBlobStorageData.h (69880 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/public/WebBlobStorageData.h        2010-10-15 21:34:48 UTC (rev 69880)
+++ branches/chromium/552/WebKit/chromium/public/WebBlobStorageData.h        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -1,83 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebBlobStorageData_h
-#define WebBlobStorageData_h
-
-#include &quot;WebBlobData.h&quot;
-#include &quot;WebData.h&quot;
-#include &quot;WebFileInfo.h&quot;
-#include &quot;WebString.h&quot;
-
-#if WEBKIT_IMPLEMENTATION
-namespace WebCore { class BlobStorageData; }
-namespace WTF { template &lt;typename T&gt; class PassRefPtr; }
-#endif
-
-namespace WebKit {
-
-class WebBlobStorageDataPrivate;
-
-class WebBlobStorageData {
-public:
-    ~WebBlobStorageData() { reset(); }
-
-    WebBlobStorageData() : m_private(0) { }
-
-    WEBKIT_API void reset();
-
-    bool isNull() const { return !m_private; }
-
-    // Returns the number of items.
-    WEBKIT_API size_t itemCount() const;
-
-    // Retrieves the values of the item at the given index. Returns false if
-    // index is out of bounds.
-    WEBKIT_API bool itemAt(size_t index, WebBlobData::Item&amp; result) const;
-
-    WEBKIT_API WebString contentType() const;
-    WEBKIT_API WebString contentDisposition() const;
-
-#if WEBKIT_IMPLEMENTATION
-    WebBlobStorageData(const WTF::PassRefPtr&lt;WebCore::BlobStorageData&gt;&amp;);
-    WebBlobStorageData&amp; operator=(const WTF::PassRefPtr&lt;WebCore::BlobStorageData&gt;&amp;);
-    operator WTF::PassRefPtr&lt;WebCore::BlobStorageData&gt;() const;
-#endif
-
-private:
-#if WEBKIT_IMPLEMENTATION
-    void assign(const WTF::PassRefPtr&lt;WebCore::BlobStorageData&gt;&amp;);
-#endif
-    WebBlobStorageDataPrivate* m_private;
-};
-
-} // namespace WebKit
-
-#endif // WebBlobStorageData_h
</del></span></pre></div>
<a id="brancheschromium552WebKitchromiumpublicWebThreadSafeDatahfromrev69611trunkWebKitchromiumpublicWebThreadSafeDatah"></a>
<div class="copfile"><h4>Copied: branches/chromium/552/WebKit/chromium/public/WebThreadSafeData.h (from rev 69611, trunk/WebKit/chromium/public/WebThreadSafeData.h) (0 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/public/WebThreadSafeData.h                                (rev 0)
+++ branches/chromium/552/WebKit/chromium/public/WebThreadSafeData.h        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -0,0 +1,77 @@
</span><ins>+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebThreadSafeData_h
+#define WebThreadSafeData_h
+
+#include &quot;WebCommon.h&quot;
+#include &quot;WebPrivatePtr.h&quot;
+
+#if !WEBKIT_IMPLEMENTATION
+#include &lt;string&gt;
+#endif
+
+namespace WebCore { class RawData; }
+
+namespace WebKit {
+
+// A container for raw bytes.  It is inexpensive to copy a WebThreadSafeData object.
+// It is safe to pass a WebThreadSafeData across threads!!!
+class WebThreadSafeData {
+public:
+    WebThreadSafeData() { }
+    ~WebThreadSafeData() { reset(); }
+
+    WEBKIT_API void assign(const WebThreadSafeData&amp;);
+    WEBKIT_API void reset();
+
+    WEBKIT_API size_t size() const;
+    WEBKIT_API const char* data() const;
+
+    bool isEmpty() const { return !size(); }
+
+#if WEBKIT_IMPLEMENTATION
+    WebThreadSafeData(const WTF::PassRefPtr&lt;WebCore::RawData&gt;&amp;);
+    WebThreadSafeData&amp; operator=(const WTF::PassRefPtr&lt;WebCore::RawData&gt;&amp;);
+#else
+    operator std::string() const
+    {
+        size_t len = size();
+        return len ? std::string(data(), len) : std::string();
+    }
+#endif
+
+private:
+    WebPrivatePtr&lt;WebCore::RawData&gt; m_private;
+};
+
+} // namespace WebKit
+
+#endif
</ins></span></pre></div>
<a id="brancheschromium552WebKitchromiumsrcWebBlobDatacpp"></a>
<div class="modfile"><h4>Modified: branches/chromium/552/WebKit/chromium/src/WebBlobData.cpp (69880 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/src/WebBlobData.cpp        2010-10-15 21:34:48 UTC (rev 69880)
+++ branches/chromium/552/WebKit/chromium/src/WebBlobData.cpp        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include &quot;WebBlobData.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BlobData.h&quot;
</span><ins>+#include &lt;wtf/PassOwnPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace WebCore;
</span><span class="cx"> 
</span><span class="lines">@@ -89,54 +90,18 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebBlobData::appendData(const WebCString&amp; data)
-{
-    ASSERT(!isNull());
-    m_private-&gt;appendData(data);
-}
-
-void WebBlobData::appendFile(const WebString&amp; filePath)
-{
-    ASSERT(!isNull());
-    m_private-&gt;appendFile(filePath);
-}
-
-void WebBlobData::appendFile(const WebString&amp; filePath, long long offset, long long length, double expectedModificationTime)
-{
-    ASSERT(!isNull());
-    m_private-&gt;appendFile(filePath, offset, length, expectedModificationTime);
-}
-
-void WebBlobData::appendBlob(const WebURL&amp; blobURL, long long offset, long long length)
-{
-    ASSERT(!isNull());
-    m_private-&gt;appendBlob(blobURL, offset, length);
-}
-
</del><span class="cx"> WebString WebBlobData::contentType() const
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!isNull());
</span><span class="cx">     return m_private-&gt;contentType();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebBlobData::setContentType(const WebString&amp; contentType)
-{
-    ASSERT(!isNull());
-    m_private-&gt;setContentType(contentType);
-}
-
</del><span class="cx"> WebString WebBlobData::contentDisposition() const
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!isNull());
</span><span class="cx">     return m_private-&gt;contentDisposition();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebBlobData::setContentDisposition(const WebString&amp; contentDisposition)
-{
-    ASSERT(!isNull());
-    m_private-&gt;setContentDisposition(contentDisposition);
-}
-
</del><span class="cx"> WebBlobData::WebBlobData(const PassOwnPtr&lt;BlobData&gt;&amp; data)
</span><span class="cx">     : m_private(0)
</span><span class="cx"> {
</span></span></pre></div>
<a id="brancheschromium552WebKitchromiumsrcWebBlobStorageDatacpp"></a>
<div class="delfile"><h4>Deleted: branches/chromium/552/WebKit/chromium/src/WebBlobStorageData.cpp (69880 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/src/WebBlobStorageData.cpp        2010-10-15 21:34:48 UTC (rev 69880)
+++ branches/chromium/552/WebKit/chromium/src/WebBlobStorageData.cpp        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -1,113 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-#include &quot;WebBlobStorageData.h&quot;
-
-#include &quot;BlobStorageData.h&quot;
-
-using namespace WebCore;
-
-namespace WebKit {
-
-class WebBlobStorageDataPrivate : public BlobStorageData {
-};
-
-void WebBlobStorageData::reset()
-{
-    assign(0);
-}
-
-size_t WebBlobStorageData::itemCount() const
-{
-    ASSERT(!isNull());
-    return m_private-&gt;items().size();
-}
-
-bool WebBlobStorageData::itemAt(size_t index, WebBlobData::Item&amp; result) const
-{
-    ASSERT(!isNull());
-
-    if (index &gt;= m_private-&gt;items().size())
-        return false;
-
-    const BlobDataItem&amp; item = m_private-&gt;items()[index];
-    result.offset = item.offset;
-    result.length = item.length;
-    result.expectedModificationTime = item.expectedModificationTime;
-    if (item.type == BlobDataItem::Data) {
-        result.type = WebBlobData::Item::TypeData;
-        result.data.assign(item.data.data(), static_cast&lt;size_t&gt;(item.data.length()));
-        return true;
-    } else {
-        ASSERT(item.type == BlobDataItem::File);
-        result.type = WebBlobData::Item::TypeFile;
-        result.filePath = item.path;
-        return true;
-    }
-}
-
-WebString WebBlobStorageData::contentType() const
-{
-    ASSERT(!isNull());
-    return m_private-&gt;contentType();
-}
-
-WebString WebBlobStorageData::contentDisposition() const
-{
-    ASSERT(!isNull());
-    return m_private-&gt;contentDisposition();
-}
-
-WebBlobStorageData::WebBlobStorageData(const PassRefPtr&lt;BlobStorageData&gt;&amp; data)
-    : m_private(0)
-{
-    assign(data);
-}
-
-WebBlobStorageData&amp; WebBlobStorageData::operator=(const PassRefPtr&lt;BlobStorageData&gt;&amp; data)
-{
-    assign(data);
-    return *this;
-}
-
-WebBlobStorageData::operator PassRefPtr&lt;BlobStorageData&gt;() const
-{
-    return m_private;
-}
-
-void WebBlobStorageData::assign(const PassRefPtr&lt;BlobStorageData&gt;&amp; data)
-{
-    if (m_private)
-        m_private-&gt;deref();
-    m_private = static_cast&lt;WebBlobStorageDataPrivate*&gt;(data.leakRef());
-}
-
-} // namespace WebKit
</del></span></pre></div>
<a id="brancheschromium552WebKitchromiumsrcWebThreadSafeDatacppfromrev69611trunkWebKitchromiumsrcWebThreadSafeDatacpp"></a>
<div class="copfile"><h4>Copied: branches/chromium/552/WebKit/chromium/src/WebThreadSafeData.cpp (from rev 69611, trunk/WebKit/chromium/src/WebThreadSafeData.cpp) (0 => 69881)</h4>
<pre class="diff"><span>
<span class="info">--- branches/chromium/552/WebKit/chromium/src/WebThreadSafeData.cpp                                (rev 0)
+++ branches/chromium/552/WebKit/chromium/src/WebThreadSafeData.cpp        2010-10-15 21:36:16 UTC (rev 69881)
</span><span class="lines">@@ -0,0 +1,75 @@
</span><ins>+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;WebThreadSafeData.h&quot;
+
+#include &quot;BlobData.h&quot;
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void WebThreadSafeData::reset()
+{
+    m_private.reset();
+}
+
+void WebThreadSafeData::assign(const WebThreadSafeData&amp; other)
+{
+    m_private = other.m_private;
+}
+
+size_t WebThreadSafeData::size() const
+{
+    if (m_private.isNull())
+        return 0;
+    return m_private-&gt;length();
+}
+
+const char* WebThreadSafeData::data() const
+{
+    if (m_private.isNull())
+        return 0;
+    return m_private-&gt;data();
+}
+
+WebThreadSafeData::WebThreadSafeData(const PassRefPtr&lt;RawData&gt;&amp; data)
+    : m_private(data.releaseRef())
+{
+}
+
+WebThreadSafeData&amp; WebThreadSafeData::operator=(const PassRefPtr&lt;RawData&gt;&amp; data)
+{
+    m_private = data;
+    return *this;
+}
+
+} // namespace WebKit
</ins></span></pre>
</div>
</div>

</body>
</html>