Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(187)

Unified Diff: third_party/WebKit/Source/web/tests/MHTMLTest.cpp

Issue 2379823003: Move MHTML file writing out of the renderer main thread. (Closed)
Patch Set: A few move semantics fixes (I think). Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/tests/MHTMLTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/MHTMLTest.cpp b/third_party/WebKit/Source/web/tests/MHTMLTest.cpp
index 08a8ce2eb1b5c0c878501ceadde738d77570bf78..13311db8a3ea6354c3d06b28b8a03a31f581f71b 100644
--- a/third_party/WebKit/Source/web/tests/MHTMLTest.cpp
+++ b/third_party/WebKit/Source/web/tests/MHTMLTest.cpp
@@ -143,7 +143,7 @@ protected:
addResource("http://www.test.com/ol-dot.png", "image/png", "ol-dot.png");
}
- static PassRefPtr<SharedBuffer> generateMHTMLData(
+ static std::vector<char> generateMHTMLData(
const Vector<SerializedResource>& resources,
MHTMLArchive::EncodingPolicy encodingPolicy,
const String& title, const String& mimeType)
@@ -152,19 +152,19 @@ protected:
// all the examples in the MHTML spec - RFC 2557.
String boundary = String::fromUTF8("boundary-example");
- RefPtr<SharedBuffer> mhtmlData = SharedBuffer::create();
- MHTMLArchive::generateMHTMLHeader(boundary, title, mimeType, *mhtmlData);
+ std::vector<char> mhtmlData;
+ MHTMLArchive::generateMHTMLHeader(boundary, title, mimeType, mhtmlData);
for (const auto& resource : resources) {
MHTMLArchive::generateMHTMLPart(
- boundary, String(), encodingPolicy, resource, *mhtmlData);
+ boundary, String(), encodingPolicy, resource, mhtmlData);
}
- MHTMLArchive::generateMHTMLFooter(boundary, *mhtmlData);
- return mhtmlData.release();
+ MHTMLArchive::generateMHTMLFooter(boundary, mhtmlData);
+ return std::move(mhtmlData);
}
- PassRefPtr<SharedBuffer> serialize(const char *title, const char *mime, MHTMLArchive::EncodingPolicy encodingPolicy)
+ std::vector<char> serialize(const char *title, const char *mime, MHTMLArchive::EncodingPolicy encodingPolicy)
{
- return generateMHTMLData(m_resources, encodingPolicy, title, mime);
+ return std::move(generateMHTMLData(m_resources, encodingPolicy, title, mime));
}
private:
@@ -204,10 +204,10 @@ TEST_F(MHTMLTest, CheckDomain)
TEST_F(MHTMLTest, TestMHTMLEncoding)
{
addTestResources();
- RefPtr<SharedBuffer> data = serialize("Test Serialization", "text/html", MHTMLArchive::UseDefaultEncoding);
+ std::vector<char> data = serialize("Test Serialization", "text/html", MHTMLArchive::UseDefaultEncoding);
// Read the MHTML data line per line and do some pseudo-parsing to make sure the right encoding is used for the different sections.
- LineReader lineReader(std::string(data->data(), data->size()));
+ LineReader lineReader(std::string(&data.front(), data.size()));
int sectionCheckedCount = 0;
const char* expectedEncoding = 0;
std::string line;
@@ -239,7 +239,8 @@ TEST_F(MHTMLTest, TestMHTMLEncoding)
TEST_F(MHTMLTest, MHTMLFromScheme)
{
addTestResources();
- RefPtr<SharedBuffer> data = serialize("Test Serialization", "text/html", MHTMLArchive::UseDefaultEncoding);
+ std::vector<char> dataVector = serialize("Test Serialization", "text/html", MHTMLArchive::UseDefaultEncoding);
+ RefPtr<SharedBuffer> data = SharedBuffer::create(&dataVector.front(), dataVector.size());
KURL httpURL = toKURL("http://www.example.com");
KURL contentURL = toKURL("content://foo");
KURL fileURL = toKURL("file://foo");

Powered by Google App Engine
This is Rietveld 408576698