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

Side by Side Diff: chrome/browser/search/suggestions/image_fetcher_impl_browsertest.cc

Issue 1974013002: Replace SkBitmap with gfx::Image in the ImageFetcher API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix iOS build errors. Created 4 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 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 #include "chrome/browser/search/suggestions/image_fetcher_impl.h" 5 #include "chrome/browser/search/suggestions/image_fetcher_impl.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/ui/browser.h" 14 #include "chrome/browser/ui/browser.h"
15 #include "chrome/test/base/in_process_browser_test.h" 15 #include "chrome/test/base/in_process_browser_test.h"
16 #include "components/image_fetcher/image_fetcher_delegate.h" 16 #include "components/image_fetcher/image_fetcher_delegate.h"
17 #include "net/test/embedded_test_server/embedded_test_server.h" 17 #include "net/test/embedded_test_server/embedded_test_server.h"
18 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
19 #include "ui/gfx/image/image.h"
19 #include "url/gurl.h" 20 #include "url/gurl.h"
20 21
21 class SkBitmap; 22 class SkBitmap;
22 23
23 using image_fetcher::ImageFetcher; 24 using image_fetcher::ImageFetcher;
24 using image_fetcher::ImageFetcherDelegate; 25 using image_fetcher::ImageFetcherDelegate;
25 26
26 namespace suggestions { 27 namespace suggestions {
27 28
28 namespace { 29 namespace {
29 30
30 const char kTestUrl[] = "http://go.com/"; 31 const char kTestUrl[] = "http://go.com/";
31 const char kTestImagePath[] = "/image_decoding/droids.png"; 32 const char kTestImagePath[] = "/image_decoding/droids.png";
32 const char kInvalidImagePath[] = "/DOESNOTEXIST"; 33 const char kInvalidImagePath[] = "/DOESNOTEXIST";
33 34
34 const base::FilePath::CharType kDocRoot[] = 35 const base::FilePath::CharType kDocRoot[] =
35 FILE_PATH_LITERAL("chrome/test/data"); 36 FILE_PATH_LITERAL("chrome/test/data");
36 37
37 class TestImageFetcherDelegate : public ImageFetcherDelegate { 38 class TestImageFetcherDelegate : public ImageFetcherDelegate {
38 public: 39 public:
39 TestImageFetcherDelegate() 40 TestImageFetcherDelegate()
40 : num_delegate_valid_called_(0), 41 : num_delegate_valid_called_(0),
41 num_delegate_null_called_(0) {} 42 num_delegate_null_called_(0) {}
42 ~TestImageFetcherDelegate() override{}; 43 ~TestImageFetcherDelegate() override{};
43 44
44 // Perform additional tasks when an image has been fetched. 45 // Perform additional tasks when an image has been fetched.
45 void OnImageFetched(const GURL& url, const SkBitmap* bitmap) override { 46 void OnImageFetched(const GURL& url, const gfx::Image& image) override {
46 if (bitmap) { 47 if (!image.IsEmpty()) {
47 num_delegate_valid_called_++; 48 num_delegate_valid_called_++;
48 } else { 49 } else {
49 num_delegate_null_called_++; 50 num_delegate_null_called_++;
50 } 51 }
51 }; 52 };
52 53
53 int num_delegate_valid_called() { return num_delegate_valid_called_; } 54 int num_delegate_valid_called() { return num_delegate_valid_called_; }
54 int num_delegate_null_called() { return num_delegate_null_called_; } 55 int num_delegate_null_called() { return num_delegate_null_called_; }
55 56
56 private: 57 private:
57 int num_delegate_valid_called_; 58 int num_delegate_valid_called_;
58 int num_delegate_null_called_; 59 int num_delegate_null_called_;
59 }; 60 };
60 61
61 } // end namespace 62 } // namespace
Marc Treib 2016/05/13 15:53:59 nitty nit: style guide says two spaces before comm
markusheintz_ 2016/05/17 13:08:22 Done.
62 63
63 class ImageFetcherImplBrowserTest : public InProcessBrowserTest { 64 class ImageFetcherImplBrowserTest : public InProcessBrowserTest {
64 protected: 65 protected:
65 ImageFetcherImplBrowserTest() 66 ImageFetcherImplBrowserTest()
66 : num_callback_valid_called_(0), num_callback_null_called_(0) { 67 : num_callback_valid_called_(0), num_callback_null_called_(0) {
67 test_server_.ServeFilesFromSourceDirectory(base::FilePath(kDocRoot)); 68 test_server_.ServeFilesFromSourceDirectory(base::FilePath(kDocRoot));
68 } 69 }
69 70
70 void SetUpInProcessBrowserTestFixture() override { 71 void SetUpInProcessBrowserTestFixture() override {
71 ASSERT_TRUE(test_server_.Start()); 72 ASSERT_TRUE(test_server_.Start());
72 InProcessBrowserTest::SetUpInProcessBrowserTestFixture(); 73 InProcessBrowserTest::SetUpInProcessBrowserTestFixture();
73 } 74 }
74 75
75 ImageFetcherImpl* CreateImageFetcher() { 76 ImageFetcherImpl* CreateImageFetcher() {
76 ImageFetcherImpl* fetcher = 77 ImageFetcherImpl* fetcher =
77 new ImageFetcherImpl(browser()->profile()->GetRequestContext()); 78 new ImageFetcherImpl(browser()->profile()->GetRequestContext());
78 fetcher->SetImageFetcherDelegate(&delegate_); 79 fetcher->SetImageFetcherDelegate(&delegate_);
79 return fetcher; 80 return fetcher;
80 } 81 }
81 82
82 void OnImageAvailable(base::RunLoop* loop, 83 void OnImageAvailable(base::RunLoop* loop,
83 const GURL& url, 84 const GURL& url,
84 const SkBitmap* bitmap) { 85 const gfx::Image& image) {
85 if (bitmap) { 86 if (!image.IsEmpty()) {
86 num_callback_valid_called_++; 87 num_callback_valid_called_++;
87 } else { 88 } else {
88 num_callback_null_called_++; 89 num_callback_null_called_++;
89 } 90 }
90 loop->Quit(); 91 loop->Quit();
91 } 92 }
92 93
93 void StartOrQueueNetworkRequestHelper(const GURL& image_url) { 94 void StartOrQueueNetworkRequestHelper(const GURL& image_url) {
94 std::unique_ptr<ImageFetcherImpl> image_fetcher_(CreateImageFetcher()); 95 std::unique_ptr<ImageFetcherImpl> image_fetcher_(CreateImageFetcher());
95 96
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 GURL invalid_image_url(test_server_.GetURL(kInvalidImagePath).spec()); 139 GURL invalid_image_url(test_server_.GetURL(kInvalidImagePath).spec());
139 StartOrQueueNetworkRequestHelper(invalid_image_url); 140 StartOrQueueNetworkRequestHelper(invalid_image_url);
140 141
141 EXPECT_EQ(0, num_callback_valid_called_); 142 EXPECT_EQ(0, num_callback_valid_called_);
142 EXPECT_EQ(1, num_callback_null_called_); 143 EXPECT_EQ(1, num_callback_null_called_);
143 EXPECT_EQ(0, delegate_.num_delegate_valid_called()); 144 EXPECT_EQ(0, delegate_.num_delegate_valid_called());
144 EXPECT_EQ(1, delegate_.num_delegate_null_called()); 145 EXPECT_EQ(1, delegate_.num_delegate_null_called());
145 } 146 }
146 147
147 } // namespace suggestions 148 } // namespace suggestions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698