Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / resources / settings / search_engines_page / search_engines_page.js
blobabd6bac3f4eeff248f24bebcb899a3bf9f6e2844
1 // Copyright 2015 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 /**
6  * @fileoverview 'cr-settings-search-engines-page' is the settings page
7  * containing search engines settings.
8  *
9  * Example:
10  *
11  *    <core-animated-pages>
12  *      <cr-settings-search-engines-page prefs="{{prefs}}">
13  *      </cr-settings-search-engines-page>
14  *      ... other pages ...
15  *    </core-animated-pages>
16  *
17  * @group Chrome Settings Elements
18  * @element cr-settings-search-engines-page
19  */
20 Polymer({
21   is: 'cr-settings-search-engines-page',
23   properties: {
24     /** @type {!Array<!SearchEngine>} */
25     defaultEngines: {
26       type: Array,
27       value: function() { return []; }
28     },
30     /** @type {!Array<!SearchEngine>} */
31     otherEngines: {
32       type: Array,
33       value: function() { return []; }
34     },
35   },
37   /** @override */
38   ready: function() {
39     chrome.searchEnginesPrivate.onSearchEnginesChanged.addListener(
40         this.enginesChanged_.bind(this));
41     this.enginesChanged_();
42   },
44   /** @private */
45   enginesChanged_: function() {
46     chrome.searchEnginesPrivate.getSearchEngines(function(engines) {
47       this.defaultEngines = engines.filter(function(engine) {
48         return engine.type ==
49             chrome.searchEnginesPrivate.SearchEngineType.DEFAULT;
50       }, this);
52       this.otherEngines = engines.filter(function(engine) {
53         return engine.type ==
54             chrome.searchEnginesPrivate.SearchEngineType.OTHER;
55       }, this);
56     }.bind(this));
57   }
58 });