| Index: components/dom_distiller/core/dom_distiller_service.h
|
| diff --git a/components/dom_distiller/core/dom_distiller_service.h b/components/dom_distiller/core/dom_distiller_service.h
|
| index 5d2558d1142b68467f6434f8b538663a16cd7762..3d9f7f9d079217453435abb92067171657c04089 100644
|
| --- a/components/dom_distiller/core/dom_distiller_service.h
|
| +++ b/components/dom_distiller/core/dom_distiller_service.h
|
| @@ -92,6 +92,38 @@ class DomDistillerServiceInterface {
|
| scoped_ptr<DistillerPage> distiller_page,
|
| const GURL& url) = 0;
|
|
|
| + // Adds |delegate| to the provided |url| task tracker.
|
| + // If the given |url| has no task tracker (i.e. has no current
|
| + // distillation request underway), this will return nullptr - therefore
|
| + // this should only be called after previously requesting a distillation.
|
| +
|
| + // If the inclusion of |delegate| on the |url| task tracker was
|
| + // successful, returns a |ViewerHandle| from the task tracker. This
|
| + // |ViewerHandle| can be held by client code as long as it wants to
|
| + // receive callbacks as a |ViewRequestDelegate|.
|
| +
|
| + // Upon successful inclusion (i.e. a |ViewerHandle| was returned),
|
| + // the following holds:
|
| + //
|
| + // 1) client code will get all future OnArticleUpdated() callbacks for
|
| + // as long as the distillation process is running.
|
| + //
|
| + // 2) client code will get at least the OnArticleFinished()
|
| + // callback, considering:
|
| + // 2.a) If the article distillation is not finished yet, the
|
| + // callback will trigger at the same time as when the original
|
| + // distillation request gets it.
|
| + // 2.b) Client code will immediately get this callback after adding
|
| + // the viewer. If the original distillation request has already
|
| + // gotten this callback, it has also previously posted it
|
| + // to a valid standing task tracker.
|
| +
|
| + // If the inclusion was not successful (i.e. this function
|
| + // returned nullptr), client code will not get any callbacks.
|
| + virtual scoped_ptr<ViewerHandle> AddViewRequestDelegate(
|
| + ViewRequestDelegate* delegate,
|
| + const GURL& url) = 0;
|
| +
|
| // Creates a default DistillerPage.
|
| virtual scoped_ptr<DistillerPage> CreateDefaultDistillerPage(
|
| const gfx::Size& render_view_size) = 0;
|
| @@ -137,6 +169,8 @@ class DomDistillerService : public DomDistillerServiceInterface {
|
| scoped_ptr<ViewerHandle> ViewUrl(ViewRequestDelegate* delegate,
|
| scoped_ptr<DistillerPage> distiller_page,
|
| const GURL& url) override;
|
| + scoped_ptr<ViewerHandle> AddViewRequestDelegate(ViewRequestDelegate* delegate,
|
| + const GURL& url) override;
|
| scoped_ptr<DistillerPage> CreateDefaultDistillerPage(
|
| const gfx::Size& render_view_size) override;
|
| scoped_ptr<DistillerPage> CreateDefaultDistillerPageWithHandle(
|
|
|