| Index: chrome/browser/ui/webui/options/language_options_interactive_uitest.cc
 | 
| diff --git a/chrome/browser/ui/webui/options/language_options_interactive_uitest.cc b/chrome/browser/ui/webui/options/language_options_interactive_uitest.cc
 | 
| deleted file mode 100644
 | 
| index e9fa0e270302ae224d212bd607a5f7bd5868d237..0000000000000000000000000000000000000000
 | 
| --- a/chrome/browser/ui/webui/options/language_options_interactive_uitest.cc
 | 
| +++ /dev/null
 | 
| @@ -1,166 +0,0 @@
 | 
| -// Copyright 2014 The Chromium Authors. All rights reserved.
 | 
| -// Use of this source code is governed by a BSD-style license that can be
 | 
| -// found in the LICENSE file.
 | 
| -
 | 
| -#include "base/macros.h"
 | 
| -#include "base/test/scoped_feature_list.h"
 | 
| -#include "build/build_config.h"
 | 
| -#include "chrome/browser/chrome_notification_types.h"
 | 
| -#include "chrome/browser/ui/browser_window.h"
 | 
| -#include "chrome/browser/ui/chrome_pages.h"
 | 
| -#include "chrome/browser/ui/tabs/tab_strip_model.h"
 | 
| -#include "chrome/common/chrome_features.h"
 | 
| -#include "chrome/common/pref_names.h"
 | 
| -#include "chrome/common/url_constants.h"
 | 
| -#include "chrome/test/base/in_process_browser_test.h"
 | 
| -#include "chrome/test/base/interactive_test_utils.h"
 | 
| -#include "chrome/test/base/ui_test_utils.h"
 | 
| -#include "components/prefs/pref_service.h"
 | 
| -#include "content/public/browser/render_frame_host.h"
 | 
| -#include "content/public/browser/web_contents.h"
 | 
| -#include "content/public/test/browser_test_utils.h"
 | 
| -
 | 
| -namespace language_options_ui_test {
 | 
| -
 | 
| -namespace {
 | 
| -
 | 
| -// This class will test the language options settings.
 | 
| -// This test is part of the interactive_ui_tests isntead of browser_tests
 | 
| -// because it is necessary to emulate pushing a button in order to properly
 | 
| -// test accessibility.
 | 
| -class LanguageOptionsWebUITest : public InProcessBrowserTest {
 | 
| - public:
 | 
| -  LanguageOptionsWebUITest() {}
 | 
| -
 | 
| -  void SetUpInProcessBrowserTestFixture() override {
 | 
| -    disable_md_settings_.InitAndDisableFeature(
 | 
| -        features::kMaterialDesignSettings);
 | 
| -  }
 | 
| -
 | 
| -  // This method will navigate to the language settings page and show
 | 
| -  // a subset of languages from the list of available languages.
 | 
| -  void SetUpOnMainThread() override {
 | 
| -#if defined(OS_CHROMEOS)
 | 
| -    auto* setting_name = prefs::kLanguagePreferredLanguages;
 | 
| -#else
 | 
| -    auto* setting_name = prefs::kAcceptLanguages;
 | 
| -#endif
 | 
| -
 | 
| -    const GURL url = chrome::GetSettingsUrl(chrome::kLanguageOptionsSubPage);
 | 
| -    ui_test_utils::NavigateToURL(browser(), url);
 | 
| -    browser()->profile()->GetPrefs()->SetString(setting_name, "en-US,es,fr");
 | 
| -  }
 | 
| -
 | 
| - protected:
 | 
| -  // Will get the id of the element in the UI that has focus.
 | 
| -  std::string GetActiveElementId() {
 | 
| -    std::string get_element_id_script =
 | 
| -        "domAutomationController.send(document.activeElement.id);";
 | 
| -    std::string element_id;
 | 
| -    EXPECT_TRUE(content::ExecuteScriptAndExtractString(
 | 
| -          GetActiveFrame(),
 | 
| -          get_element_id_script,
 | 
| -          &element_id));
 | 
| -    return element_id;
 | 
| -  }
 | 
| -
 | 
| -  content::RenderFrameHost* GetActiveFrame() {
 | 
| -    return GetActiveWebContents()->GetFocusedFrame();
 | 
| -  }
 | 
| -
 | 
| -  content::RenderViewHost* GetRenderViewHost() {
 | 
| -    return GetActiveWebContents()->GetRenderViewHost();
 | 
| -  }
 | 
| -
 | 
| -  content::WebContents* GetActiveWebContents() {
 | 
| -    return browser()->tab_strip_model()->GetActiveWebContents();
 | 
| -  }
 | 
| -
 | 
| -  // Press and release a key in the browser. This will wait for the element on
 | 
| -  // the page to change.
 | 
| -  bool PressKey(ui::KeyboardCode key_code) {
 | 
| -    return ui_test_utils::SendKeyPressAndWait(
 | 
| -        browser(),
 | 
| -        key_code,
 | 
| -        false,
 | 
| -        false,
 | 
| -        false,
 | 
| -        false,
 | 
| -        content::NOTIFICATION_FOCUS_CHANGED_IN_PAGE,
 | 
| -        content::Source<content::RenderViewHost>(GetRenderViewHost()));
 | 
| -  }
 | 
| -
 | 
| - private:
 | 
| -  base::test::ScopedFeatureList disable_md_settings_;
 | 
| -
 | 
| -  DISALLOW_COPY_AND_ASSIGN(LanguageOptionsWebUITest);
 | 
| -};
 | 
| -
 | 
| -}  // namespace
 | 
| -
 | 
| -// This test will verify that the appropriate languages are available.
 | 
| -// This test will also fail if the language page is not loaded because a random
 | 
| -// page will not have the language list.
 | 
| -// Test assumes that the default active element is the list of languages.
 | 
| -IN_PROC_BROWSER_TEST_F(LanguageOptionsWebUITest, TestAvailableLanguages) {
 | 
| -  // Verify that the language list is focused by default.
 | 
| -  std::string original_id = GetActiveElementId();
 | 
| -  EXPECT_EQ("language-options-list", original_id);
 | 
| -
 | 
| -  content::RenderFrameHost* active_frame = GetActiveFrame();
 | 
| -
 | 
| -  std::string count_deletable_items_script =
 | 
| -    "domAutomationController.send("
 | 
| -    "    document.activeElement.querySelectorAll('.deletable-item').length);";
 | 
| -
 | 
| -  // Count the number of languages in the list.
 | 
| -  int language_count = 0;
 | 
| -  ASSERT_TRUE(content::ExecuteScriptAndExtractInt(
 | 
| -      active_frame,
 | 
| -      count_deletable_items_script,
 | 
| -      &language_count));
 | 
| -  EXPECT_EQ(3, language_count);
 | 
| -
 | 
| -  std::string get_children_of_current_element_script =
 | 
| -      "domAutomationController.send(document.activeElement.textContent);";
 | 
| -
 | 
| -  // Verify that the correct languages are added to the list.
 | 
| -  std::string languages;
 | 
| -  ASSERT_TRUE(content::ExecuteScriptAndExtractString(
 | 
| -      active_frame,
 | 
| -      get_children_of_current_element_script,
 | 
| -      &languages));
 | 
| -  EXPECT_EQ("English (United States)SpanishFrench", languages);
 | 
| -}
 | 
| -
 | 
| -// This test will validate that the language webui is accessible through
 | 
| -// the keyboard.
 | 
| -// This test must be updated if the tab order of the elements on this page
 | 
| -// is changed.
 | 
| -
 | 
| -// Crashes on Win 7. http://crbug.com/500609
 | 
| -#if defined(OS_WIN)
 | 
| -#define MAYBE_TestListTabAccessibility DISABLED_TestListTabAccessibility
 | 
| -#else
 | 
| -#define MAYBE_TestListTabAccessibility TestListTabAccessibility
 | 
| -#endif
 | 
| -
 | 
| -IN_PROC_BROWSER_TEST_F(LanguageOptionsWebUITest,
 | 
| -    MAYBE_TestListTabAccessibility) {
 | 
| -  // Verify that the language list is focused by default.
 | 
| -  std::string original_id = GetActiveElementId();
 | 
| -  EXPECT_EQ("language-options-list", original_id);
 | 
| -
 | 
| -  // Press tab to select the next element.
 | 
| -  ASSERT_TRUE(PressKey(ui::VKEY_TAB));
 | 
| -
 | 
| -  // Make sure that the element is now the button that is next in the tab order.
 | 
| -  // Checking that the list is no longer selected is not sufficient to validate
 | 
| -  // this use case because this test should fail if an item inside the list is
 | 
| -  // selected.
 | 
| -  std::string new_id = GetActiveElementId();
 | 
| -  EXPECT_EQ("language-options-add-button", new_id);
 | 
| -}
 | 
| -
 | 
| -}  // namespace language_options_ui_test
 | 
| -
 | 
| 
 |