1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/webui/bidi_checker_web_ui_test.h"
7 #include "base/base_paths.h"
8 #include "base/i18n/rtl.h"
9 #include "base/message_loop/message_loop.h"
10 #include "base/path_service.h"
11 #include "base/prefs/pref_service.h"
12 #include "base/strings/utf_string_conversions.h"
13 #include "base/synchronization/waitable_event.h"
14 #include "base/threading/platform_thread.h"
15 #include "base/time/time.h"
16 #include "base/values.h"
17 #include "chrome/browser/autofill/personal_data_manager_factory.h"
18 #include "chrome/browser/history/history_service.h"
19 #include "chrome/browser/history/history_service_factory.h"
20 #include "chrome/browser/prefs/session_startup_pref.h"
21 #include "chrome/browser/profiles/profile.h"
22 #include "chrome/browser/ui/browser.h"
23 #include "chrome/common/url_constants.h"
24 #include "chrome/test/base/ui_test_utils.h"
25 #include "components/autofill/core/browser/autofill_common_test.h"
26 #include "components/autofill/core/browser/autofill_profile.h"
27 #include "components/autofill/core/browser/personal_data_manager.h"
28 #include "content/public/browser/browser_thread.h"
29 #include "ui/base/resource/resource_bundle.h"
31 #if defined(TOOLKIT_GTK)
35 using autofill::AutofillProfile;
36 using autofill::PersonalDataManager;
38 static const base::FilePath::CharType* kWebUIBidiCheckerLibraryJS =
39 FILE_PATH_LITERAL("third_party/bidichecker/bidichecker_packaged.js");
42 base::FilePath WebUIBidiCheckerLibraryJSPath() {
43 base::FilePath src_root;
44 if (!PathService::Get(base::DIR_SOURCE_ROOT, &src_root))
45 LOG(ERROR) << "Couldn't find source root";
46 return src_root.Append(kWebUIBidiCheckerLibraryJS);
49 // Since synchronization isn't complete for the ResourceBundle class, reload
50 // locale resources on the IO thread.
51 // crbug.com/95425, crbug.com/132752
52 void ReloadLocaleResourcesOnIOThread(const std::string& new_locale) {
53 if (!content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)) {
55 << content::BrowserThread::IO
56 << " != " << base::PlatformThread::CurrentId();
62 base::ThreadRestrictions::ScopedAllowIO allow_io_scope;
64 ResourceBundle::GetSharedInstance().ReloadLocaleResources(new_locale));
66 ASSERT_FALSE(locale.empty());
69 // Since synchronization isn't complete for the ResourceBundle class, reload
70 // locale resources on the IO thread.
71 // crbug.com/95425, crbug.com/132752
72 void ReloadLocaleResources(const std::string& new_locale) {
73 content::BrowserThread::PostTaskAndReply(
74 content::BrowserThread::IO,
76 base::Bind(&ReloadLocaleResourcesOnIOThread, base::ConstRef(new_locale)),
77 base::MessageLoop::QuitClosure());
78 content::RunMessageLoop();
83 static const base::FilePath::CharType* kBidiCheckerTestsJS =
84 FILE_PATH_LITERAL("bidichecker_tests.js");
86 void WebUIBidiCheckerBrowserTest::SetUp() {
87 argv_ = CommandLine::ForCurrentProcess()->GetArgs();
90 void WebUIBidiCheckerBrowserTest::TearDown() {
91 // Reset command line to the way it was before the test was run.
92 CommandLine::ForCurrentProcess()->InitFromArgv(argv_);
95 WebUIBidiCheckerBrowserTest::~WebUIBidiCheckerBrowserTest() {}
97 WebUIBidiCheckerBrowserTest::WebUIBidiCheckerBrowserTest() {}
99 void WebUIBidiCheckerBrowserTest::SetUpInProcessBrowserTestFixture() {
100 WebUIBrowserTest::SetUpInProcessBrowserTestFixture();
101 WebUIBrowserTest::AddLibrary(WebUIBidiCheckerLibraryJSPath());
102 WebUIBrowserTest::AddLibrary(base::FilePath(kBidiCheckerTestsJS));
105 void WebUIBidiCheckerBrowserTest::RunBidiCheckerOnPage(
106 const std::string& page_url, bool is_rtl) {
107 ui_test_utils::NavigateToURL(browser(), GURL(page_url));
108 ASSERT_TRUE(RunJavascriptTest("runBidiChecker",
109 Value::CreateStringValue(page_url),
110 Value::CreateBooleanValue(is_rtl)));
113 void WebUIBidiCheckerBrowserTestLTR::RunBidiCheckerOnPage(
114 const std::string& page_url) {
115 WebUIBidiCheckerBrowserTest::RunBidiCheckerOnPage(page_url, false);
118 void WebUIBidiCheckerBrowserTestRTL::RunBidiCheckerOnPage(
119 const std::string& page_url) {
120 WebUIBidiCheckerBrowserTest::RunBidiCheckerOnPage(page_url, true);
123 void WebUIBidiCheckerBrowserTestRTL::SetUpOnMainThread() {
124 WebUIBidiCheckerBrowserTest::SetUpOnMainThread();
125 base::FilePath pak_path;
126 app_locale_ = base::i18n::GetConfiguredLocale();
127 ASSERT_TRUE(PathService::Get(base::FILE_MODULE, &pak_path));
128 pak_path = pak_path.DirName();
129 pak_path = pak_path.AppendASCII("pseudo_locales");
130 pak_path = pak_path.AppendASCII("fake-bidi");
131 pak_path = pak_path.ReplaceExtension(FILE_PATH_LITERAL("pak"));
132 ResourceBundle::GetSharedInstance().OverrideLocalePakForTest(pak_path);
133 ReloadLocaleResources("he");
134 base::i18n::SetICUDefaultLocale("he");
135 #if defined(OS_POSIX) && defined(TOOLKIT_GTK)
136 gtk_widget_set_default_direction(GTK_TEXT_DIR_RTL);
140 void WebUIBidiCheckerBrowserTestRTL::CleanUpOnMainThread() {
141 WebUIBidiCheckerBrowserTest::CleanUpOnMainThread();
142 #if defined(OS_POSIX) && defined(TOOLKIT_GTK)
143 gtk_widget_set_default_direction(GTK_TEXT_DIR_LTR);
146 base::i18n::SetICUDefaultLocale(app_locale_);
147 ResourceBundle::GetSharedInstance().OverrideLocalePakForTest(
149 ReloadLocaleResources(app_locale_);
154 //==============================
155 // chrome://settings/history
156 //==============================
158 static void SetupHistoryPageTest(Browser* browser,
159 const std::string& page_url,
160 const std::string& page_title) {
161 HistoryService* history_service = HistoryServiceFactory::GetForProfile(
162 browser->profile(), Profile::IMPLICIT_ACCESS);
163 const GURL history_url = GURL(page_url);
164 history_service->AddPage(
165 history_url, base::Time::Now(), history::SOURCE_BROWSED);
166 history_service->SetPageTitle(history_url, UTF8ToUTF16(page_title));
169 // TODO(estade): fix this test: http://crbug.com/119595
170 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
172 // Test an Israeli news site with a Hebrew title.
173 SetupHistoryPageTest(browser(),
174 "http://www.ynet.co.il",
175 "\xD7\x91\xD7\x93\xD7\x99\xD7\xA7\xD7\x94\x21");
176 RunBidiCheckerOnPage(chrome::kChromeUIHistoryFrameURL);
179 // TODO(estade): fix this test: http://crbug.com/119595
180 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
182 SetupHistoryPageTest(browser(), "http://www.google.com", "Google");
183 RunBidiCheckerOnPage(chrome::kChromeUIHistoryFrameURL);
186 //==============================
188 //==============================
190 // This page isn't localized to an RTL language so we test it only in English.
191 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestAboutPage) {
192 RunBidiCheckerOnPage(chrome::kChromeUIAboutURL);
195 //==============================
197 //==============================
199 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestCrashesPage) {
200 RunBidiCheckerOnPage(chrome::kChromeUICrashesURL);
203 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL, TestCrashesPage) {
204 RunBidiCheckerOnPage(chrome::kChromeUICrashesURL);
207 //==============================
208 // chrome://downloads
209 //==============================
211 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
212 TestDownloadsPageLTR) {
213 RunBidiCheckerOnPage(chrome::kChromeUIDownloadsURL);
216 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
217 TestDownloadsPageRTL) {
218 RunBidiCheckerOnPage(chrome::kChromeUIDownloadsURL);
221 //==============================
223 //==============================
225 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestNewTabPage) {
226 RunBidiCheckerOnPage(chrome::kChromeUINewTabURL);
229 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL, TestNewTabPage) {
230 RunBidiCheckerOnPage(chrome::kChromeUINewTabURL);
233 //==============================
235 //==============================
237 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestPluginsPage) {
238 RunBidiCheckerOnPage(chrome::kChromeUIPluginsURL);
241 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL, TestPluginsPage) {
242 RunBidiCheckerOnPage(chrome::kChromeUIPluginsURL);
245 //==============================
246 // chrome://settings-frame
247 //==============================
249 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestSettingsPage) {
250 RunBidiCheckerOnPage(chrome::kChromeUISettingsFrameURL);
253 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL, TestSettingsPage) {
254 RunBidiCheckerOnPage(chrome::kChromeUISettingsFrameURL);
257 static void SetupSettingsAutofillPageTest(Profile* profile,
258 const char* first_name,
259 const char* middle_name,
260 const char* last_name,
263 const char* address1,
264 const char* address2,
270 autofill::test::DisableSystemServices(profile);
271 AutofillProfile autofill_profile;
272 autofill::test::SetProfileInfo(&autofill_profile,
285 PersonalDataManager* personal_data_manager =
286 autofill::PersonalDataManagerFactory::GetForProfile(profile);
287 ASSERT_TRUE(personal_data_manager);
288 personal_data_manager->AddProfile(autofill_profile);
291 // http://crbug.com/94642
292 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
293 DISABLED_TestSettingsAutofillPage) {
294 SetupSettingsAutofillPageTest(browser()->profile(),
295 "\xD7\x9E\xD7\xA9\xD7\x94",
297 "\xD7\x9B\xD7\x94\xD7\x9F",
298 "moshe.b.cohen@biditest.com",
299 "\xD7\x91\xD7\x93\xD7\x99\xD7\xA7\xD7\x94\x20"
300 "\xD7\x91\xD7\xA2\xD7\x9E",
301 "\xD7\x93\xD7\xA8\xD7\x9A\x20\xD7\x9E\xD7\xA0"
302 "\xD7\x97\xD7\x9D\x20\xD7\x91\xD7\x92\xD7"
303 "\x99\xD7\x9F\x20\x32\x33",
304 "\xD7\xA7\xD7\x95\xD7\x9E\xD7\x94\x20\x32\x36",
305 "\xD7\xAA\xD7\x9C\x20\xD7\x90\xD7\x91\xD7\x99"
309 "\xD7\x99\xD7\xA9\xD7\xA8\xD7\x90\xD7\x9C",
311 std::string url(chrome::kChromeUISettingsFrameURL);
312 url += std::string(chrome::kAutofillSubPage);
313 RunBidiCheckerOnPage(url);
316 // http://crbug.com/94642
317 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
318 DISABLED_TestSettingsAutofillPage) {
319 SetupSettingsAutofillPageTest(browser()->profile(),
323 "red.swingline@initech.com",
325 "4120 Freidrich Lane",
332 std::string url(chrome::kChromeUISettingsFrameURL);
333 url += std::string(chrome::kAutofillSubPage);
334 RunBidiCheckerOnPage(url);
337 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
338 TestSettingsClearBrowserDataPage) {
339 std::string url(chrome::kChromeUISettingsFrameURL);
340 url += std::string(chrome::kClearBrowserDataSubPage);
341 RunBidiCheckerOnPage(url);
344 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
345 TestSettingsClearBrowserDataPage) {
346 std::string url(chrome::kChromeUISettingsFrameURL);
347 url += std::string(chrome::kClearBrowserDataSubPage);
348 RunBidiCheckerOnPage(url);
351 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
352 TestSettingsContentSettingsPage) {
353 std::string url(chrome::kChromeUISettingsFrameURL);
354 url += std::string(chrome::kContentSettingsSubPage);
355 RunBidiCheckerOnPage(url);
358 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
359 TestSettingsContentSettingsPage) {
360 std::string url(chrome::kChromeUISettingsFrameURL);
361 url += std::string(chrome::kContentSettingsSubPage);
362 RunBidiCheckerOnPage(url);
365 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
366 TestSettingsContentSettingsExceptionsPage) {
367 std::string url(chrome::kChromeUISettingsFrameURL);
368 url += std::string(chrome::kContentSettingsExceptionsSubPage);
369 RunBidiCheckerOnPage(url);
372 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
373 TestSettingsContentSettingsExceptionsPage) {
374 std::string url(chrome::kChromeUISettingsFrameURL);
375 url += std::string(chrome::kContentSettingsExceptionsSubPage);
376 RunBidiCheckerOnPage(url);
379 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
380 TestSettingsLanguageOptionsPage) {
381 std::string url(chrome::kChromeUISettingsFrameURL);
382 url += std::string(chrome::kLanguageOptionsSubPage);
383 RunBidiCheckerOnPage(url);
387 // Times out on Windows. http://crbug.com/171938
388 #define MAYBE_TestSettingsLanguageOptionsPage \
389 DISABLED_TestSettingsLanguageOptionsPage
391 #define MAYBE_TestSettingsLanguageOptionsPage TestSettingsLanguageOptionsPage
393 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
394 MAYBE_TestSettingsLanguageOptionsPage) {
395 std::string url(chrome::kChromeUISettingsFrameURL);
396 url += std::string(chrome::kLanguageOptionsSubPage);
397 RunBidiCheckerOnPage(url);
400 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
401 TestSettingsSearchEnginesOptionsPage) {
402 std::string url(chrome::kChromeUISettingsFrameURL);
403 url += std::string(chrome::kSearchEnginesSubPage);
404 RunBidiCheckerOnPage(url);
407 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
408 TestSettingsSearchEnginesOptionsPage) {
409 std::string url(chrome::kChromeUISettingsFrameURL);
410 url += std::string(chrome::kSearchEnginesSubPage);
411 RunBidiCheckerOnPage(url);
414 //===================================
415 // chrome://settings-frame/startup
416 //===================================
418 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
419 TestSettingsFrameStartup) {
420 std::string url(chrome::kChromeUISettingsFrameURL);
422 RunBidiCheckerOnPage(url);
425 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
426 TestSettingsFrameStartup) {
427 std::string url(chrome::kChromeUISettingsFrameURL);
429 RunBidiCheckerOnPage(url);
432 //===================================
433 // chrome://settings-frame/importData
434 //===================================
436 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
437 TestSettingsFrameImportData) {
438 std::string url(chrome::kChromeUISettingsFrameURL);
439 url += chrome::kImportDataSubPage;
440 RunBidiCheckerOnPage(url);
443 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
444 TestSettingsFrameImportData) {
445 std::string url(chrome::kChromeUISettingsFrameURL);
446 url += chrome::kImportDataSubPage;
447 RunBidiCheckerOnPage(url);
450 //========================================
451 // chrome://settings-frame/manageProfile
452 //========================================
454 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
455 TestSettingsFrameMangageProfile) {
456 std::string url(chrome::kChromeUISettingsFrameURL);
457 url += chrome::kManageProfileSubPage;
458 RunBidiCheckerOnPage(url);
461 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
462 TestSettingsFrameMangageProfile) {
463 std::string url(chrome::kChromeUISettingsFrameURL);
464 url += chrome::kManageProfileSubPage;
465 RunBidiCheckerOnPage(url);
468 //===================================================
469 // chrome://settings-frame/contentExceptions#cookies
470 //===================================================
472 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
473 TestSettingsFrameContentExceptionsCookies) {
474 std::string url(chrome::kChromeUISettingsFrameURL);
475 url += chrome::kContentSettingsExceptionsSubPage;
477 RunBidiCheckerOnPage(url);
480 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
481 TestSettingsFrameContentExceptionsCookies) {
482 std::string url(chrome::kChromeUISettingsFrameURL);
483 url += chrome::kContentSettingsExceptionsSubPage;
485 RunBidiCheckerOnPage(url);
488 //===================================================
489 // chrome://settings-frame/contentExceptions#images
490 //===================================================
492 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
493 TestSettingsFrameContentExceptionsImages) {
494 std::string url(chrome::kChromeUISettingsFrameURL);
495 url += chrome::kContentSettingsExceptionsSubPage;
497 RunBidiCheckerOnPage(url);
500 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
501 TestSettingsFrameContentExceptionsImages) {
502 std::string url(chrome::kChromeUISettingsFrameURL);
503 url += chrome::kContentSettingsExceptionsSubPage;
505 RunBidiCheckerOnPage(url);
508 //======================================================
509 // chrome://settings-frame/contentExceptions#javascript
510 //======================================================
512 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
513 TestSettingsFrameContentExceptionsJavascript) {
514 std::string url(chrome::kChromeUISettingsFrameURL);
515 url += chrome::kContentSettingsExceptionsSubPage;
516 url += "#javascript";
517 RunBidiCheckerOnPage(url);
520 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
521 TestSettingsFrameContentExceptionsJavascript) {
522 std::string url(chrome::kChromeUISettingsFrameURL);
523 url += chrome::kContentSettingsExceptionsSubPage;
524 url += "#javascript";
525 RunBidiCheckerOnPage(url);
528 //===================================================
529 // chrome://settings-frame/contentExceptions#plugins
530 //===================================================
532 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
533 TestSettingsFrameContentExceptionsPlugins) {
534 std::string url(chrome::kChromeUISettingsFrameURL);
535 url += chrome::kContentSettingsExceptionsSubPage;
537 RunBidiCheckerOnPage(url);
540 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
541 TestSettingsFrameContentExceptionsPlugins) {
542 std::string url(chrome::kChromeUISettingsFrameURL);
543 url += chrome::kContentSettingsExceptionsSubPage;
545 RunBidiCheckerOnPage(url);
548 //===================================================
549 // chrome://settings-frame/contentExceptions#popups
550 //===================================================
552 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
553 TestSettingsFrameContentExceptionsPopups) {
554 std::string url(chrome::kChromeUISettingsFrameURL);
555 url += chrome::kContentSettingsExceptionsSubPage;
557 RunBidiCheckerOnPage(url);
560 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
561 TestSettingsFrameContentExceptionsPopups) {
562 std::string url(chrome::kChromeUISettingsFrameURL);
563 url += chrome::kContentSettingsExceptionsSubPage;
565 RunBidiCheckerOnPage(url);
568 //===================================================
569 // chrome://settings-frame/contentExceptions#location
570 //===================================================
572 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
573 TestSettingsFrameContentExceptionsLocation) {
574 std::string url(chrome::kChromeUISettingsFrameURL);
575 url += chrome::kContentSettingsExceptionsSubPage;
577 RunBidiCheckerOnPage(url);
580 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
581 TestSettingsFrameContentExceptionsLocation) {
582 std::string url(chrome::kChromeUISettingsFrameURL);
583 url += chrome::kContentSettingsExceptionsSubPage;
585 RunBidiCheckerOnPage(url);
588 //===================================================
589 // chrome://settings-frame/contentExceptions#notifications
590 //===================================================
592 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
593 TestSettingsFrameContentExceptionsNotifications) {
594 std::string url(chrome::kChromeUISettingsFrameURL);
595 url += chrome::kContentSettingsExceptionsSubPage;
596 url += "#notifications";
597 RunBidiCheckerOnPage(url);
600 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
601 TestSettingsFrameContentExceptionsNotifications) {
602 std::string url(chrome::kChromeUISettingsFrameURL);
603 url += chrome::kContentSettingsExceptionsSubPage;
604 url += "#notifications";
605 RunBidiCheckerOnPage(url);
608 //===================================================
609 // chrome://settings-frame/contentExceptions#mouselock
610 //===================================================
612 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
613 TestSettingsFrameContentExceptionsMouseLock) {
614 std::string url(chrome::kChromeUISettingsFrameURL);
615 url += chrome::kContentSettingsExceptionsSubPage;
617 RunBidiCheckerOnPage(url);
620 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
621 TestSettingsFrameContentExceptionsMouseLock) {
622 std::string url(chrome::kChromeUISettingsFrameURL);
623 url += chrome::kContentSettingsExceptionsSubPage;
625 RunBidiCheckerOnPage(url);
628 //========================================
629 // chrome://settings-frame/handlers
630 //========================================
632 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
633 TestSettingsFrameHandler) {
634 std::string url(chrome::kChromeUISettingsFrameURL);
635 url += chrome::kHandlerSettingsSubPage;
636 RunBidiCheckerOnPage(url);
639 // Fails on chromeos. http://crbug.com/125367
640 #if defined(OS_CHROMEOS)
641 #define MAYBE_TestSettingsFrameHandler DISABLED_TestSettingsFrameHandler
643 #define MAYBE_TestSettingsFrameHandler TestSettingsFrameHandler
646 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
647 MAYBE_TestSettingsFrameHandler) {
648 std::string url(chrome::kChromeUISettingsFrameURL);
649 url += chrome::kHandlerSettingsSubPage;
650 RunBidiCheckerOnPage(url);
653 //========================================
654 // chrome://settings-frame/cookies
655 //========================================
657 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
658 TestSettingsFrameCookies) {
659 std::string url(chrome::kChromeUISettingsFrameURL);
661 RunBidiCheckerOnPage(url);
664 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
665 TestSettingsFrameCookies) {
666 std::string url(chrome::kChromeUISettingsFrameURL);
668 RunBidiCheckerOnPage(url);
671 //========================================
672 // chrome://settings-frame/passwords
673 //========================================
675 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
676 TestSettingsFramePasswords) {
677 std::string url(chrome::kChromeUISettingsFrameURL);
679 RunBidiCheckerOnPage(url);
682 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
683 TestSettingsFramePasswords) {
684 std::string url(chrome::kChromeUISettingsFrameURL);
686 RunBidiCheckerOnPage(url);
689 //========================================
690 // chrome://settings-frame/fonts
691 //========================================
693 #if defined(OS_MACOSX)
694 #define MAYBE_TestSettingsFrameFonts DISABLED_TestSettingsFrameFonts
696 #define MAYBE_TestSettingsFrameFonts TestSettingsFrameFonts
698 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR,
699 MAYBE_TestSettingsFrameFonts) {
700 std::string url(chrome::kChromeUISettingsFrameURL);
702 RunBidiCheckerOnPage(url);
705 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
706 TestSettingsFrameFonts) {
707 std::string url(chrome::kChromeUISettingsFrameURL);
709 RunBidiCheckerOnPage(url);
712 // Test other uber iframes.
714 //==============================
715 // chrome://extensions-frame
716 //==============================
718 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestExtensionsFrame) {
719 RunBidiCheckerOnPage(chrome::kChromeUIExtensionsFrameURL);
722 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL,
723 TestExtensionsFrame) {
724 RunBidiCheckerOnPage(chrome::kChromeUIExtensionsFrameURL);
727 //==============================
728 // chrome://help-frame
729 //==============================
731 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestHelpFrame) {
732 RunBidiCheckerOnPage(chrome::kChromeUIHelpFrameURL);
735 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL, TestHelpFrame) {
736 RunBidiCheckerOnPage(chrome::kChromeUIHelpFrameURL);
739 //==============================
740 // chrome://history-frame
741 //==============================
743 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestLTR, TestHistoryFrame) {
744 RunBidiCheckerOnPage(chrome::kChromeUIHistoryFrameURL);
747 IN_PROC_BROWSER_TEST_F(WebUIBidiCheckerBrowserTestRTL, TestHistoryFrame) {
748 RunBidiCheckerOnPage(chrome::kChromeUIHistoryFrameURL);