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

Side by Side Diff: chrome/browser/enhanced_bookmarks/android/bookmark_image_service_android.h

Issue 1153283005: Revert "Revert of Refactor get_salient_image_url.js to use DocumentImageExtractor" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add closure_out_dir var to components/resources/enhanced_bookmarks/BUILD.gn Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_ENHANCED_BOOKMARKS_ANDROID_BOOKMARK_IMAGE_SERVICE_ANDROID _H_ 5 #ifndef CHROME_BROWSER_ENHANCED_BOOKMARKS_ANDROID_BOOKMARK_IMAGE_SERVICE_ANDROID _H_
6 #define CHROME_BROWSER_ENHANCED_BOOKMARKS_ANDROID_BOOKMARK_IMAGE_SERVICE_ANDROID _H_ 6 #define CHROME_BROWSER_ENHANCED_BOOKMARKS_ANDROID_BOOKMARK_IMAGE_SERVICE_ANDROID _H_
7 7
8 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher.h"
8 #include "components/enhanced_bookmarks/bookmark_image_service.h" 9 #include "components/enhanced_bookmarks/bookmark_image_service.h"
9 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher.h" 10 #include "content/public/common/referrer.h"
10 11
11 namespace chrome { 12 namespace chrome {
12 class BitmapFetcher; 13 class BitmapFetcher;
13 } 14 }
14 15
15 namespace content { 16 namespace content {
16 class BrowserContext; 17 class BrowserContext;
17 class RenderFrameHost; 18 class RenderFrameHost;
18 class WebContents; 19 class WebContents;
19 } 20 }
20 21
21 namespace enhanced_bookmarks { 22 namespace enhanced_bookmarks {
22 23
23 class BookmarkImageServiceAndroid : public BookmarkImageService { 24 class BookmarkImageServiceAndroid : public BookmarkImageService {
24 public: 25 public:
25 explicit BookmarkImageServiceAndroid(content::BrowserContext* browserContext); 26 explicit BookmarkImageServiceAndroid(content::BrowserContext* browserContext);
26 27
27 ~BookmarkImageServiceAndroid() override; 28 ~BookmarkImageServiceAndroid() override;
28 29
29 void RetrieveSalientImage(const GURL& page_url, 30 void RetrieveSalientImage(const GURL& page_url,
30 const GURL& image_url, 31 const GURL& image_url,
31 const std::string& referrer, 32 const std::string& referrer,
32 net::URLRequest::ReferrerPolicy referrer_policy, 33 net::URLRequest::ReferrerPolicy referrer_policy,
33 bool update_bookmark) override; 34 bool update_bookmark) override;
34 35
35 // Searches the current page for a salient image, if a url is found the image 36 // Searches the current page for a salient image, if a url is found the image
36 // is fetched and stored. 37 // is fetched and stored.
37 void RetrieveSalientImageFromContext( 38 void RetrieveSalientImageFromContext(
38 content::RenderFrameHost* render_frame_host, 39 content::WebContents* web_contents,
39 const GURL& page_url, 40 const GURL& page_url,
40 bool update_bookmark); 41 bool update_bookmark);
41 42
42 // Investigates if the tab points to a bookmarked url in needs of an updated 43 // Investigates if the tab points to a bookmarked url in needs of an updated
43 // image. If it is, invokes RetrieveSalientImageFromContext() for the relevant 44 // image. If it is, invokes RetrieveSalientImageFromContext() for the relevant
44 // urls. 45 // urls.
45 void FinishSuccessfulPageLoadForTab(content::WebContents* web_contents, 46 void FinishSuccessfulPageLoadForTab(content::WebContents* web_contents,
46 bool update_bookmark); 47 bool update_bookmark);
47 48
48 private: 49 private:
49 void RetrieveSalientImageFromContextCallback(const GURL& page_url, 50 // The callback for dom_initializer_script_. Once the DOM is initialized,
51 // this method starts execution of get_salient_image_url_script_.
52 void InitializeDomCallback(blink::WebReferrerPolicy policy,
53 content::RenderFrameHost* render_frame_host,
54 const GURL& page_url,
55 bool update_bookmark,
56 const base::Value* result);
57
58 // The callback for get_salient_image_url_srcipt. Parses the JSON from
59 // execution of get_salient_image_url_script_ to determine the URL for the
60 // salient image and invokes RetrieveSalientImage.
61 void RetrieveSalientImageFromContextCallback(blink::WebReferrerPolicy policy,
62 const GURL& page_url,
50 bool update_bookmark, 63 bool update_bookmark,
51 const base::Value* result); 64 const base::Value* result);
52 65
53 scoped_ptr<gfx::Image> ResizeImage(const gfx::Image& image) override; 66 scoped_ptr<gfx::Image> ResizeImage(const gfx::Image& image) override;
54 67
55 content::BrowserContext* browser_context_; 68 content::BrowserContext* browser_context_;
69
70 // The script injected in a page to initialize the DOM before extracting image
71 // urls.
72 base::string16 dom_initializer_script_;
73
56 // The script injected in a page to extract image urls. 74 // The script injected in a page to extract image urls.
57 base::string16 script_; 75 base::string16 get_salient_image_url_script_;
76
58 // Maximum size for retrieved salient images in pixels. This is used when 77 // Maximum size for retrieved salient images in pixels. This is used when
59 // resizing an image. 78 // resizing an image.
60 gfx::Size max_size_; 79 gfx::Size max_size_;
61 80
62 class BitmapFetcherHandler : private chrome::BitmapFetcherDelegate { 81 class BitmapFetcherHandler : private chrome::BitmapFetcherDelegate {
63 public: 82 public:
64 explicit BitmapFetcherHandler(BookmarkImageServiceAndroid* service, 83 explicit BitmapFetcherHandler(BookmarkImageServiceAndroid* service,
65 const GURL& image_url) 84 const GURL& image_url)
66 : service_(service), bitmap_fetcher_(image_url, this) {} 85 : service_(service), bitmap_fetcher_(image_url, this) {}
67 void Start(content::BrowserContext* browser_context, 86 void Start(content::BrowserContext* browser_context,
(...skipping 15 matching lines...) Expand all
83 102
84 DISALLOW_COPY_AND_ASSIGN(BitmapFetcherHandler); 103 DISALLOW_COPY_AND_ASSIGN(BitmapFetcherHandler);
85 }; 104 };
86 105
87 DISALLOW_COPY_AND_ASSIGN(BookmarkImageServiceAndroid); 106 DISALLOW_COPY_AND_ASSIGN(BookmarkImageServiceAndroid);
88 }; 107 };
89 108
90 } // namespace enhanced_bookmarks 109 } // namespace enhanced_bookmarks
91 110
92 #endif // CHROME_BROWSER_ENHANCED_BOOKMARKS_ANDROID_BOOKMARK_IMAGE_SERVICE_ANDR OID_H_ 111 #endif // CHROME_BROWSER_ENHANCED_BOOKMARKS_ANDROID_BOOKMARK_IMAGE_SERVICE_ANDR OID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698