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

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

Issue 1502563004: Save-Page-As-Complete-Html: Each frame links to a distinct local file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@no-url-deduping-for-frame-and-adding-save-item-id
Patch Set: Rebasing... Created 4 years, 11 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/WebFrameSerializerTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
index 26838a2409652aae3c9b409af7265597fd7f0346..edb3962710dd8b6307dd7eaf4ec42f955f7cde6e 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
@@ -79,15 +79,42 @@ protected:
URLTestHelpers::registerMockedURLLoad(KURL(ParsedURLString, url), "frameserialization/awesome.png");
}
+ class SingleLinkRewritingDelegate : public WebFrameSerializer::LinkRewritingDelegate {
+ public:
+ SingleLinkRewritingDelegate(const WebURL& url, const WebString& localPath)
+ : m_url(url)
+ , m_localPath(localPath)
+ {
+ }
+
+ bool rewriteFrameSource(WebFrame* frame, WebString* rewrittenLink) override
+ {
+ return false;
+ }
+
+ bool rewriteLink(const WebURL& url, WebString* rewrittenLink) override
+ {
+ if (url != m_url)
+ return false;
+
+ *rewrittenLink = m_localPath;
+ return true;
+ }
+
+ private:
+ const WebURL m_url;
+ const WebString m_localPath;
+ };
+
String serializeFile(const String& url, const String& fileName)
{
KURL parsedURL(ParsedURLString, url);
URLTestHelpers::registerMockedURLLoad(parsedURL, fileName, "frameserialization/", "text/html");
FrameTestHelpers::loadFrame(mainFrameImpl(), url.utf8().data());
- std::vector<std::pair<WebURL, WebString>> urlsToLocalPaths;
- urlsToLocalPaths.push_back(std::make_pair(parsedURL, WebString("local")));
+ SingleLinkRewritingDelegate delegate(parsedURL, WebString("local"));
SimpleWebFrameSerializerClient serializerClient;
- WebFrameSerializer::serialize(mainFrameImpl(), &serializerClient, urlsToLocalPaths);
+ WebFrameSerializer::serialize(
+ mainFrameImpl(), &serializerClient, &delegate);
return serializerClient.toString();
}
« no previous file with comments | « third_party/WebKit/Source/web/WebFrameSerializerImpl.cpp ('k') | third_party/WebKit/public/web/WebFrameSerializer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698