[sql] Remove _HAS_EXCEPTIONS=0 from build info.
[chromium-blink-merge.git] / chrome / browser / resources / settings / search_engines_page / search_engines_page.js
bloba3138291135368222a1a8b31a16aa61c3777603c
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     /**
25      * Route for the page.
26      */
27     route: {
28       type: String,
29       value: ''
30     },
32     /**
33      * Whether the page is a subpage.
34      */
35     subpage: {
36       type: Boolean,
37       value: true,
38       readOnly: true
39     },
41     /**
42      * ID of the page.
43      */
44     PAGE_ID: {
45       type: String,
46       value: 'search_engines',
47       readOnly: true
48     },
50     /**
51      * Title for the page header and navigation menu.
52      */
53     pageTitle: {
54       type: String,
55       value: loadTimeData.getString('searchEnginesPageTitle'),
56       readOnly: true
57     },
59     /**
60      * Name of the 'core-icon' to be shown in the settings-page-header.
61      */
62     icon: {
63       type: String,
64       value: 'search',
65       readOnly: true
66     },
68     /** @type {!Array<!SearchEngine>} */
69     defaultEngines: {
70       type: Array,
71       value: function() { return []; }
72     },
74     /** @type {!Array<!SearchEngine>} */
75     otherEngines: {
76       type: Array,
77       value: function() { return []; }
78     },
79   },
81   /** @override */
82   ready: function() {
83     chrome.searchEnginesPrivate.onSearchEnginesChanged.addListener(
84         this.enginesChanged_.bind(this));
85     this.enginesChanged_();
86   },
88   /** @private */
89   enginesChanged_: function() {
90     chrome.searchEnginesPrivate.getSearchEngines(function(engines) {
91       this.defaultEngines = engines.filter(function(engine) {
92         return engine.type ==
93             chrome.searchEnginesPrivate.SearchEngineType.DEFAULT;
94       }, this);
96       this.otherEngines = engines.filter(function(engine) {
97         return engine.type ==
98             chrome.searchEnginesPrivate.SearchEngineType.OTHER;
99       }, this);
100     }.bind(this));
101   }