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

Unified Diff: components/dom_distiller/content/distiller_page_web_contents.h

Issue 1125343004: Add a "Simplify Page" option to the print preview dialog (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update AUTHORS file to reflect the correct HP name used in the CLA Created 5 years, 7 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: components/dom_distiller/content/distiller_page_web_contents.h
diff --git a/components/dom_distiller/content/distiller_page_web_contents.h b/components/dom_distiller/content/distiller_page_web_contents.h
index 80b7a9eb800f52954d81556f19249c955b0fd748..03e825ba8347d4d0b62e6ba938caf3c3a4ae8b1f 100644
--- a/components/dom_distiller/content/distiller_page_web_contents.h
+++ b/components/dom_distiller/content/distiller_page_web_contents.h
@@ -8,6 +8,7 @@
#include <string>
#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
#include "components/dom_distiller/core/distiller_page.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_delegate.h"
@@ -22,13 +23,28 @@ class SourcePageHandleWebContents : public SourcePageHandle {
scoped_ptr<content::WebContents> web_contents);
~SourcePageHandleWebContents() override;
- scoped_ptr<content::WebContents> GetWebContents();
+ content::WebContents* GetWebContents() const override;
private:
// The WebContents this class owns.
scoped_ptr<content::WebContents> web_contents_;
};
+class SourcePageHandleWebContentsWeakPtr : public SourcePageHandle {
+ public:
+ explicit SourcePageHandleWebContentsWeakPtr(
+ content::WebContents* web_contents);
+ ~SourcePageHandleWebContentsWeakPtr() override;
+
+ content::WebContents* GetWebContents() const override;
+
+ private:
+ base::WeakPtrFactory<content::WebContents> weak_factory_;
+
+ // The WebContents this class refs.
+ base::WeakPtr<content::WebContents> web_contents_;
+};
+
class DistillerPageWebContentsFactory : public DistillerPageFactory {
public:
explicit DistillerPageWebContentsFactory(
@@ -51,8 +67,11 @@ class DistillerPageWebContents : public DistillerPage,
public:
DistillerPageWebContents(
content::BrowserContext* browser_context,
+ const gfx::Size& render_view_size);
+ DistillerPageWebContents(
+ content::BrowserContext* browser_context,
const gfx::Size& render_view_size,
- scoped_ptr<SourcePageHandleWebContents> optional_web_contents_handle);
+ scoped_ptr<SourcePageHandle> optional_web_contents_handle);
~DistillerPageWebContents() override;
// content::WebContentsDelegate implementation.
@@ -106,9 +125,11 @@ class DistillerPageWebContents : public DistillerPage,
// The JavaScript to inject to extract content.
std::string script_;
- scoped_ptr<content::WebContents> web_contents_;
+ scoped_ptr<SourcePageHandle> web_contents_handle_;
content::BrowserContext* browser_context_;
gfx::Size render_view_size_;
+ base::WeakPtrFactory<DistillerPageWebContents> weak_factory_;
+
DISALLOW_COPY_AND_ASSIGN(DistillerPageWebContents);
};

Powered by Google App Engine
This is Rietveld 408576698