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

Side by Side Diff: chrome/browser/translate/translate_manager_browsertest.cc

Issue 8790012: Fix TabRestoreServiceTest and TranslateManagerTest when using use_webkit_compositor=1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: better fix Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/sessions/tab_restore_service_browsertest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 5
6 #include <algorithm> 6 #include <algorithm>
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 13 matching lines...) Expand all
24 #include "chrome/common/pref_names.h" 24 #include "chrome/common/pref_names.h"
25 #include "chrome/common/render_messages.h" 25 #include "chrome/common/render_messages.h"
26 #include "chrome/test/base/testing_browser_process.h" 26 #include "chrome/test/base/testing_browser_process.h"
27 #include "chrome/test/base/testing_profile.h" 27 #include "chrome/test/base/testing_profile.h"
28 #include "content/browser/renderer_host/mock_render_process_host.h" 28 #include "content/browser/renderer_host/mock_render_process_host.h"
29 #include "content/browser/tab_contents/navigation_details.h" 29 #include "content/browser/tab_contents/navigation_details.h"
30 #include "content/browser/tab_contents/test_tab_contents.h" 30 #include "content/browser/tab_contents/test_tab_contents.h"
31 #include "content/public/browser/notification_details.h" 31 #include "content/public/browser/notification_details.h"
32 #include "content/public/browser/notification_registrar.h" 32 #include "content/public/browser/notification_registrar.h"
33 #include "content/test/notification_observer_mock.h" 33 #include "content/test/notification_observer_mock.h"
34 #include "content/test/render_view_test.h"
34 #include "content/test/test_browser_thread.h" 35 #include "content/test/test_browser_thread.h"
35 #include "content/test/test_url_fetcher_factory.h" 36 #include "content/test/test_url_fetcher_factory.h"
36 #include "grit/generated_resources.h" 37 #include "grit/generated_resources.h"
37 #include "ipc/ipc_test_sink.h" 38 #include "ipc/ipc_test_sink.h"
38 #include "testing/gmock/include/gmock/gmock.h" 39 #include "testing/gmock/include/gmock/gmock.h"
39 #include "third_party/WebKit/Source/WebKit/chromium/public/WebContextMenuData.h" 40 #include "third_party/WebKit/Source/WebKit/chromium/public/WebContextMenuData.h"
41 #include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h"
oshima 2011/12/06 18:40:51 move new includes into "if defined(USE_WEBKIT_COMP
piman 2011/12/06 19:30:49 Done.
40 #include "third_party/cld/languages/public/languages.h" 42 #include "third_party/cld/languages/public/languages.h"
41 43
42 using content::BrowserThread; 44 using content::BrowserThread;
43 using testing::_; 45 using testing::_;
44 using testing::Pointee; 46 using testing::Pointee;
45 using testing::Property; 47 using testing::Property;
46 using WebKit::WebContextMenuData; 48 using WebKit::WebContextMenuData;
47 49
48 class TranslateManagerTest : public TabContentsWrapperTestHarness, 50 class TranslateManagerTest : public TabContentsWrapperTestHarness,
49 public content::NotificationObserver { 51 public content::NotificationObserver {
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 virtual void Observe(int type, 148 virtual void Observe(int type,
147 const content::NotificationSource& source, 149 const content::NotificationSource& source,
148 const content::NotificationDetails& details) { 150 const content::NotificationDetails& details) {
149 DCHECK_EQ(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, type); 151 DCHECK_EQ(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, type);
150 removed_infobars_.insert( 152 removed_infobars_.insert(
151 content::Details<InfoBarRemovedDetails>(details)->first); 153 content::Details<InfoBarRemovedDetails>(details)->first);
152 } 154 }
153 155
154 protected: 156 protected:
155 virtual void SetUp() { 157 virtual void SetUp() {
158 #if defined(USE_WEBKIT_COMPOSITOR)
159 WebKit::initialize(&webkit_platform_support_);
160 #endif
156 // Access the TranslateManager singleton so it is created before we call 161 // Access the TranslateManager singleton so it is created before we call
157 // TabContentsWrapperTestHarness::SetUp() to match what's done in Chrome, 162 // TabContentsWrapperTestHarness::SetUp() to match what's done in Chrome,
158 // where the TranslateManager is created before the TabContents. This 163 // where the TranslateManager is created before the TabContents. This
159 // matters as they both register for similar events and we want the 164 // matters as they both register for similar events and we want the
160 // notifications to happen in the same sequence (TranslateManager first, 165 // notifications to happen in the same sequence (TranslateManager first,
161 // TabContents second). Also clears the translate script so it is fetched 166 // TabContents second). Also clears the translate script so it is fetched
162 // everytime and sets the expiration delay to a large value by default (in 167 // everytime and sets the expiration delay to a large value by default (in
163 // case it was zeroed in a previous test). 168 // case it was zeroed in a previous test).
164 TranslateManager::GetInstance()->ClearTranslateScript(); 169 TranslateManager::GetInstance()->ClearTranslateScript();
165 TranslateManager::GetInstance()-> 170 TranslateManager::GetInstance()->
166 set_translate_script_expiration_delay(60 * 60 * 1000); 171 set_translate_script_expiration_delay(60 * 60 * 1000);
167 172
168 TabContentsWrapperTestHarness::SetUp(); 173 TabContentsWrapperTestHarness::SetUp();
169 174
170 notification_registrar_.Add(this, 175 notification_registrar_.Add(this,
171 chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, 176 chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
172 content::Source<InfoBarTabHelper>( 177 content::Source<InfoBarTabHelper>(
173 contents_wrapper()->infobar_tab_helper())); 178 contents_wrapper()->infobar_tab_helper()));
174 } 179 }
175 180
176 virtual void TearDown() { 181 virtual void TearDown() {
177 process()->sink().ClearMessages(); 182 process()->sink().ClearMessages();
178 183
179 notification_registrar_.Remove(this, 184 notification_registrar_.Remove(this,
180 chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, 185 chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
181 content::Source<InfoBarTabHelper>( 186 content::Source<InfoBarTabHelper>(
182 contents_wrapper()->infobar_tab_helper())); 187 contents_wrapper()->infobar_tab_helper()));
183 188
184 TabContentsWrapperTestHarness::TearDown(); 189 TabContentsWrapperTestHarness::TearDown();
190 #if defined(USE_WEBKIT_COMPOSITOR)
191 WebKit::shutdown();
192 #endif
185 } 193 }
186 194
187 void SimulateTranslateScriptURLFetch(bool success) { 195 void SimulateTranslateScriptURLFetch(bool success) {
188 TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); 196 TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
189 ASSERT_TRUE(fetcher); 197 ASSERT_TRUE(fetcher);
190 net::URLRequestStatus status; 198 net::URLRequestStatus status;
191 status.set_status(success ? net::URLRequestStatus::SUCCESS : 199 status.set_status(success ? net::URLRequestStatus::SUCCESS :
192 net::URLRequestStatus::FAILED); 200 net::URLRequestStatus::FAILED);
193 fetcher->set_url(fetcher->GetOriginalURL()); 201 fetcher->set_url(fetcher->GetOriginalURL());
194 fetcher->set_status(status); 202 fetcher->set_status(status);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 _, 240 _,
233 Property(&content::Details<std::string>::ptr, Pointee(path)))); 241 Property(&content::Details<std::string>::ptr, Pointee(path))));
234 } 242 }
235 243
236 content::NotificationObserverMock pref_observer_; 244 content::NotificationObserverMock pref_observer_;
237 245
238 private: 246 private:
239 content::NotificationRegistrar notification_registrar_; 247 content::NotificationRegistrar notification_registrar_;
240 TestURLFetcherFactory url_fetcher_factory_; 248 TestURLFetcherFactory url_fetcher_factory_;
241 content::TestBrowserThread ui_thread_; 249 content::TestBrowserThread ui_thread_;
250 #if defined(USE_WEBKIT_COMPOSITOR)
251 content::RenderViewTest::RendererWebKitPlatformSupportImplNoSandbox
252 webkit_platform_support_;
253 #endif
242 254
243 // The infobars that have been removed. 255 // The infobars that have been removed.
244 // WARNING: the pointers point to deleted objects, use only for comparison. 256 // WARNING: the pointers point to deleted objects, use only for comparison.
245 std::set<InfoBarDelegate*> removed_infobars_; 257 std::set<InfoBarDelegate*> removed_infobars_;
246 258
247 DISALLOW_COPY_AND_ASSIGN(TranslateManagerTest); 259 DISALLOW_COPY_AND_ASSIGN(TranslateManagerTest);
248 }; 260 };
249 261
250 // An observer that keeps track of whether a navigation entry was committed. 262 // An observer that keeps track of whether a navigation entry was committed.
251 class NavEntryCommittedObserver : public content::NotificationObserver { 263 class NavEntryCommittedObserver : public content::NotificationObserver {
(...skipping 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after
1340 NULL); 1352 NULL);
1341 // Now simulate the URL fetch. 1353 // Now simulate the URL fetch.
1342 SimulateTranslateScriptURLFetch(true); 1354 SimulateTranslateScriptURLFetch(true);
1343 // Now the message should have been sent. 1355 // Now the message should have been sent.
1344 int page_id = 0; 1356 int page_id = 0;
1345 std::string original_lang, target_lang; 1357 std::string original_lang, target_lang;
1346 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); 1358 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang));
1347 EXPECT_EQ("es", original_lang); 1359 EXPECT_EQ("es", original_lang);
1348 EXPECT_EQ("en", target_lang); 1360 EXPECT_EQ("en", target_lang);
1349 } 1361 }
OLDNEW
« no previous file with comments | « chrome/browser/sessions/tab_restore_service_browsertest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698