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

Unified Diff: third_party/WebKit/public/web/WebFrameSerializer.h

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: Fixing building of dom_serializer_browsertest.cc :-/ 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/public/web/WebFrameSerializer.h
diff --git a/third_party/WebKit/public/web/WebFrameSerializer.h b/third_party/WebKit/public/web/WebFrameSerializer.h
index 051ed08443a5eb84fe8ae589a54cba7b41842300..3a1fd97da4bec5ba8393def418fc9347a142312b 100644
--- a/third_party/WebKit/public/web/WebFrameSerializer.h
+++ b/third_party/WebKit/public/web/WebFrameSerializer.h
@@ -38,8 +38,6 @@
#include "../platform/WebURL.h"
#include "../platform/WebVector.h"
-#include <utility>
-
namespace blink {
class WebFrameSerializerClient;
@@ -97,23 +95,41 @@ public:
// The API below is an older implementation of frame serialization that
// will be removed soon.
+ class LinkRewritingDelegate {
+ public:
+ // Method allowing the delegate control which URLs are written into the
+ // generated html document.
+ //
+ // When URL of the given frame needs to be rewritten, this method should
+ // return true and populate |rewrittenLink| with a desired value of the
+ // html attribute value to be used in place of the original link (i.e.
+ // in place of the original iframe.src or object.data attribute value).
+ //
+ // If no link rewriting is desired, this method should return false.
+ virtual bool rewriteLink(const WebFrame&, WebString* rewrittenLink) = 0;
dcheng 2016/01/12 00:10:47 Let's distinguish the method names: how about rewr
Łukasz Anforowicz 2016/01/13 22:32:23 Done.
+
+ // Method allowing the delegate control which URLs are written into the
+ // generated html document.
+ //
+ // When the given URL needs to be rewritten, this method should
+ // return true and populate |rewrittenLink| with a desired value of the
+ // html attribute value to be used in place of the original link (i.e.
+ // in place of the original img.src or blockquote.cite attribute value).
+ //
+ // If no link rewriting is desired, this method should return false.
+ virtual bool rewriteLink(const WebURL&, WebString* rewrittenLink) = 0;
+ };
+
// This function will serialize the specified frame to HTML data.
// We have a data buffer to temporary saving generated html data. We will
// sequentially call WebFrameSerializerClient once the data buffer is full.
//
- // Return false means if no data has been serialized (i.e. because
+ // False is returned if no data has been serialized (i.e. because
// the target frame didn't have a valid url).
- //
- // The parameter frame specifies which frame need to be serialized.
- // The parameter client specifies the pointer of interface
- // WebFrameSerializerClient providing a sink interface to receive the
- // individual chunks of data to be saved.
- // The parameter urlsToLocalPaths contains a mapping between original URLs
- // of saved resources and corresponding local file paths.
BLINK_EXPORT static bool serialize(
WebLocalFrame*,
WebFrameSerializerClient*,
- const WebVector<std::pair<WebURL, WebString>>& urlsToLocalPaths);
+ LinkRewritingDelegate*);
// FIXME: The following are here for unit testing purposes. Consider
// changing the unit tests instead.

Powered by Google App Engine
This is Rietveld 408576698