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

Issue 1096143003: Add chrome.searchEnginesPrivate API and Search Settings page. (Closed)

Created:
5 years, 8 months ago by Oren Blasberg
Modified:
5 years, 8 months ago
CC:
chromium-reviews, khorimoto+watch-md-settings_chromium.org, michaelpg+watch-md-settings_chromium.org, jhawkins+watch-md-settings_chromium.org, orenb+watch-md-settings_chromium.org, arv+watch_chromium.org, stevenjb+watch-md-settings_chromium.org, jlklein+watch-md-settings_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add chrome.searchEnginesPrivate API for setting and getting the default search engines. Also add the first parts of the Search settings UI in MD-settings, namely the 'default search engine' dropdown. Follow-up CLs will fill in the remaining functionality. (Disabling presubmit because it requires a manual confirmation that permission_message.h looks ok. I confirmed this.) BUG=479359 NOPRESUBMIT=true Committed: https://crrev.com/e733e8f9066efccf0dd05dbeaa94ed62828b22a5 Cr-Commit-Position: refs/heads/master@{#326844}

Patch Set 1 #

Patch Set 2 : Get/Set are working #

Patch Set 3 : Add event listener #

Patch Set 4 : Fix the response for set method. #

Patch Set 5 : Add a test #

Total comments: 26

Patch Set 6 : Update histograms/ resolve conflict #

Patch Set 7 : Address Jeremy's comments #

Total comments: 4

Patch Set 8 : Address nits #

Total comments: 25

Patch Set 9 : Update externs to be auto generated #

Patch Set 10 : Remove the api permission. #

Patch Set 11 : Remove more permissions related code for the api. #

Patch Set 12 : Bring back the permissions and add "location": "component" #

Patch Set 13 : Rename some things on the idl to match latest api spec. #

Total comments: 26

Patch Set 14 : Addressing Ben's comments. #

Patch Set 15 : Add OWNERS file #

Patch Set 16 : Address Steven's comments #

Patch Set 17 : Sync and merge #

Total comments: 2

Patch Set 18 : Address Steven's comment #

Patch Set 19 : Fixing memory leak #

Patch Set 20 : Sync/merge #

Total comments: 2

Patch Set 21 : Update OWNERS and hopefully fix the windows trybot issues. #

Patch Set 22 : Update OWNERS #

Unified diffs Side-by-side diffs Delta from patch set Stats (+839 lines, -26 lines) Patch
M chrome/app/generated_resources.grd View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/app/settings_strings.grdp View 1 chunk +21 lines, -0 lines 0 comments Download
A + chrome/browser/extensions/api/search_engines_private/OWNERS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -0 lines 0 comments Download
A chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +58 lines, -0 lines 0 comments Download
A chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +79 lines, -0 lines 0 comments Download
A chrome/browser/extensions/api/search_engines_private/search_engines_private_apitest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +54 lines, -0 lines 0 comments Download
A chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +62 lines, -0 lines 0 comments Download
A chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +122 lines, -0 lines 0 comments Download
A + chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router_factory.h View 1 2 2 chunks +14 lines, -14 lines 0 comments Download
A chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router_factory.cc View 1 2 1 chunk +59 lines, -0 lines 0 comments Download
M chrome/browser/extensions/browser_context_keyed_service_factories.cc View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/resources/settings/routes.html View 1 chunk +1 line, -0 lines 0 comments Download
A chrome/browser/resources/settings/search_page/search_page.html View 1 2 3 4 5 6 1 chunk +33 lines, -0 lines 0 comments Download
A chrome/browser/resources/settings/search_page/search_page.js View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +119 lines, -0 lines 0 comments Download
A + chrome/browser/resources/settings/search_page/search_page_style.html View 1 2 1 chunk +7 lines, -7 lines 0 comments Download
M chrome/browser/resources/settings/settings_main/settings_main.html View 2 chunks +3 lines, -0 lines 0 comments Download
M chrome/browser/resources/settings/settings_resources.grd View 1 chunk +11 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc View 1 2 2 chunks +18 lines, -0 lines 0 comments Download
M chrome/chrome_browser_extensions.gypi View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/extensions/api/_api_features.json View 1 1 chunk +12 lines, -0 lines 0 comments Download
M chrome/common/extensions/api/_permission_features.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/common/extensions/api/schemas.gypi View 1 1 chunk +1 line, -0 lines 0 comments Download
A chrome/common/extensions/api/search_engines_private.idl View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +36 lines, -0 lines 0 comments Download
M chrome/common/extensions/permissions/chrome_api_permissions.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/common/extensions/permissions/chrome_permission_message_rules.cc View 1 11 1 chunk +3 lines, -0 lines 0 comments Download
A + chrome/test/data/extensions/api_test/search_engines_private/main.html View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
A + chrome/test/data/extensions/api_test/search_engines_private/manifest.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -3 lines 0 comments Download
A chrome/test/data/extensions/api_test/search_engines_private/test.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +45 lines, -0 lines 0 comments Download
M extensions/browser/extension_function_histogram_value.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -0 lines 0 comments Download
M extensions/common/permissions/api_permission.h View 1 11 1 chunk +1 line, -0 lines 0 comments Download
M extensions/common/permissions/permission_message.h View 1 11 1 chunk +1 line, -0 lines 0 comments Download
A third_party/closure_compiler/externs/search_engines_private.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +47 lines, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 44 (9 generated)
Oren Blasberg
Oops; forgot to hit 'send message' yesterday
5 years, 8 months ago (2015-04-22 16:45:21 UTC) #2
Oren Blasberg
+Ben for interface changes.
5 years, 8 months ago (2015-04-22 17:19:37 UTC) #4
Jeremy Klein
https://codereview.chromium.org/1096143003/diff/80001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h File chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h (right): https://codereview.chromium.org/1096143003/diff/80001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h#newcode36 chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h:36: // Implements the chrome.searchEnginesPrivate.getAllPrefs method. s/getAllPrefs/setDefaultSearchEngine/ https://codereview.chromium.org/1096143003/diff/80001/chrome/browser/resources/settings/search_page/search_page.html File chrome/browser/resources/settings/search_page/search_page.html ...
5 years, 8 months ago (2015-04-22 17:37:46 UTC) #5
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/80001/chrome/common/extensions/api/search_engines_private.idl File chrome/common/extensions/api/search_engines_private.idl (right): https://codereview.chromium.org/1096143003/diff/80001/chrome/common/extensions/api/search_engines_private.idl#newcode24 chrome/common/extensions/api/search_engines_private.idl:24: static void getDefaultSearchEngines(SearchEnginesCallback callback); On 2015/04/22 17:37:46, Jeremy Klein ...
5 years, 8 months ago (2015-04-22 17:41:22 UTC) #6
Jeremy Klein
On 2015/04/22 17:41:22, Oren Blasberg wrote: > https://codereview.chromium.org/1096143003/diff/80001/chrome/common/extensions/api/search_engines_private.idl > File chrome/common/extensions/api/search_engines_private.idl (right): > > https://codereview.chromium.org/1096143003/diff/80001/chrome/common/extensions/api/search_engines_private.idl#newcode24 ...
5 years, 8 months ago (2015-04-22 17:43:33 UTC) #7
Oren Blasberg
mpearson@chromium.org: Please review changes in histogram related files; thanks!
5 years, 8 months ago (2015-04-22 17:45:14 UTC) #9
Mark P
histograms.xml lgtm
5 years, 8 months ago (2015-04-22 17:52:41 UTC) #10
Oren Blasberg
jhawkins@chromium.org: Please review changes in the API implementation. Thanks! https://codereview.chromium.org/1096143003/diff/80001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h File chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h (right): https://codereview.chromium.org/1096143003/diff/80001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h#newcode36 chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h:36: ...
5 years, 8 months ago (2015-04-22 18:25:41 UTC) #12
James Hawkins
lgtm https://codereview.chromium.org/1096143003/diff/120001/chrome/common/extensions/api/search_engines_private.idl File chrome/common/extensions/api/search_engines_private.idl (right): https://codereview.chromium.org/1096143003/diff/120001/chrome/common/extensions/api/search_engines_private.idl#newcode5 chrome/common/extensions/api/search_engines_private.idl:5: // Use the <code>chrome.searchEnginesPrivate</code> API to get or ...
5 years, 8 months ago (2015-04-22 18:46:01 UTC) #13
Jeremy Klein
lgtm https://codereview.chromium.org/1096143003/diff/80001/chrome/browser/resources/settings/search_page/search_page.html File chrome/browser/resources/settings/search_page/search_page.html (right): https://codereview.chromium.org/1096143003/diff/80001/chrome/browser/resources/settings/search_page/search_page.html#newcode8 chrome/browser/resources/settings/search_page/search_page.html:8: <link rel="import" href="search_page_style.html"> On 2015/04/22 18:25:41, Oren Blasberg ...
5 years, 8 months ago (2015-04-22 18:51:14 UTC) #14
Oren Blasberg
+Tyler for externs. https://codereview.chromium.org/1096143003/diff/80001/chrome/common/extensions/api/search_engines_private.idl File chrome/common/extensions/api/search_engines_private.idl (right): https://codereview.chromium.org/1096143003/diff/80001/chrome/common/extensions/api/search_engines_private.idl#newcode24 chrome/common/extensions/api/search_engines_private.idl:24: static void getDefaultSearchEngines(SearchEnginesCallback callback); On 2015/04/22 ...
5 years, 8 months ago (2015-04-22 19:04:18 UTC) #16
Tyler Breisacher (Chromium)
https://codereview.chromium.org/1096143003/diff/140001/third_party/closure_compiler/externs/search_engines_private.js File third_party/closure_compiler/externs/search_engines_private.js (right): https://codereview.chromium.org/1096143003/diff/140001/third_party/closure_compiler/externs/search_engines_private.js#newcode1 third_party/closure_compiler/externs/search_engines_private.js:1: // Copyright 2015 The Chromium Authors. All rights reserved. ...
5 years, 8 months ago (2015-04-22 19:08:21 UTC) #17
not at google - send to devlin
https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json File chrome/common/extensions/api/_permission_features.json (right): https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json#newcode875 chrome/common/extensions/api/_permission_features.json:875: "platforms": ["chromeos", "mac", "win", "linux"], I see that settingsPrivate ...
5 years, 8 months ago (2015-04-22 19:32:59 UTC) #18
stevenjb
Sorry to make this request after a bunch of l-g-t-ms, but I really think we ...
5 years, 8 months ago (2015-04-22 19:38:03 UTC) #20
Jeremy Klein
On 2015/04/22 19:38:03, stevenjb wrote: > Sorry to make this request after a bunch of ...
5 years, 8 months ago (2015-04-22 19:43:43 UTC) #21
stevenjb
https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/search_engines_private.idl File chrome/common/extensions/api/search_engines_private.idl (right): https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/search_engines_private.idl#newcode10 chrome/common/extensions/api/search_engines_private.idl:10: // The unique ID of the engine in the ...
5 years, 8 months ago (2015-04-22 19:46:30 UTC) #22
stevenjb
On 2015/04/22 19:43:43, Jeremy Klein wrote: > On 2015/04/22 19:38:03, stevenjb wrote: > > Sorry ...
5 years, 8 months ago (2015-04-22 19:49:22 UTC) #23
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json File chrome/common/extensions/api/_permission_features.json (right): https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json#newcode875 chrome/common/extensions/api/_permission_features.json:875: "platforms": ["chromeos", "mac", "win", "linux"], On 2015/04/22 19:32:59, kalman ...
5 years, 8 months ago (2015-04-22 22:36:11 UTC) #24
not at google - send to devlin
https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json File chrome/common/extensions/api/_permission_features.json (right): https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json#newcode875 chrome/common/extensions/api/_permission_features.json:875: "platforms": ["chromeos", "mac", "win", "linux"], On 2015/04/22 22:36:11, Oren ...
5 years, 8 months ago (2015-04-22 22:43:52 UTC) #25
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json File chrome/common/extensions/api/_permission_features.json (right): https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json#newcode875 chrome/common/extensions/api/_permission_features.json:875: "platforms": ["chromeos", "mac", "win", "linux"], On 2015/04/22 22:43:51, kalman ...
5 years, 8 months ago (2015-04-22 22:59:19 UTC) #27
not at google - send to devlin
https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json File chrome/common/extensions/api/_permission_features.json (right): https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/_permission_features.json#newcode876 chrome/common/extensions/api/_permission_features.json:876: "whitelist": [] On 2015/04/22 22:59:19, Oren Blasberg wrote: > ...
5 years, 8 months ago (2015-04-22 23:01:26 UTC) #28
Oren Blasberg
Thanks Ben; do things look good now? I'll send out an api proposal doc on ...
5 years, 8 months ago (2015-04-22 23:39:57 UTC) #29
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/search_engines_private.idl File chrome/common/extensions/api/search_engines_private.idl (right): https://codereview.chromium.org/1096143003/diff/140001/chrome/common/extensions/api/search_engines_private.idl#newcode10 chrome/common/extensions/api/search_engines_private.idl:10: // The unique ID of the engine in the ...
5 years, 8 months ago (2015-04-23 17:05:08 UTC) #30
stevenjb
I only reviewed the API changes. https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc File chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc (right): https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc#newcode20 chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc:20: //////////////////////////////////////////////////////////////////////////////// nit: Not ...
5 years, 8 months ago (2015-04-23 17:26:01 UTC) #31
not at google - send to devlin
I think you'll need to update https://code.google.com/p/chromium/codesearch#chromium/src/chrome/common/extensions/permissions/chrome_api_permissions.cc? https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h File chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h (right): https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h#newcode1 chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h:1: // Copyright ...
5 years, 8 months ago (2015-04-23 19:42:35 UTC) #32
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h File chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h (right): https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h#newcode1 chrome/browser/extensions/api/search_engines_private/search_engines_private_api.h:1: // Copyright 2015 The Chromium Authors. All rights reserved. ...
5 years, 8 months ago (2015-04-23 20:48:34 UTC) #33
Oren Blasberg
On 2015/04/23 19:42:35, kalman wrote: > I think you'll need to update > https://code.google.com/p/chromium/codesearch#chromium/src/chrome/common/extensions/permissions/chrome_api_permissions.cc? Done, ...
5 years, 8 months ago (2015-04-23 20:48:54 UTC) #34
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc File chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc (right): https://codereview.chromium.org/1096143003/diff/230001/chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc#newcode20 chrome/browser/extensions/api/search_engines_private/search_engines_private_api.cc:20: //////////////////////////////////////////////////////////////////////////////// On 2015/04/23 17:26:00, stevenjb wrote: > nit: Not ...
5 years, 8 months ago (2015-04-23 21:31:51 UTC) #35
stevenjb
API code LGTM with a comment. https://codereview.chromium.org/1096143003/diff/310001/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc File chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc (right): https://codereview.chromium.org/1096143003/diff/310001/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc#newcode23 chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc:23: Profile::FromBrowserContext(context))), I wouldn't ...
5 years, 8 months ago (2015-04-23 23:41:41 UTC) #36
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/310001/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc File chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc (right): https://codereview.chromium.org/1096143003/diff/310001/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc#newcode23 chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc:23: Profile::FromBrowserContext(context))), On 2015/04/23 23:41:41, stevenjb wrote: > I wouldn't ...
5 years, 8 months ago (2015-04-24 01:19:05 UTC) #37
not at google - send to devlin
lgtm https://codereview.chromium.org/1096143003/diff/370001/chrome/browser/extensions/api/search_engines_private/OWNERS File chrome/browser/extensions/api/search_engines_private/OWNERS (right): https://codereview.chromium.org/1096143003/diff/370001/chrome/browser/extensions/api/search_engines_private/OWNERS#newcode1 chrome/browser/extensions/api/search_engines_private/OWNERS:1: orenb@chromium.org what about the other people in the ...
5 years, 8 months ago (2015-04-24 16:58:03 UTC) #38
Oren Blasberg
https://codereview.chromium.org/1096143003/diff/370001/chrome/browser/extensions/api/search_engines_private/OWNERS File chrome/browser/extensions/api/search_engines_private/OWNERS (right): https://codereview.chromium.org/1096143003/diff/370001/chrome/browser/extensions/api/search_engines_private/OWNERS#newcode1 chrome/browser/extensions/api/search_engines_private/OWNERS:1: orenb@chromium.org On 2015/04/24 16:58:02, kalman wrote: > what about ...
5 years, 8 months ago (2015-04-24 17:15:17 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096143003/410001
5 years, 8 months ago (2015-04-24 17:17:31 UTC) #42
commit-bot: I haz the power
Committed patchset #22 (id:410001)
5 years, 8 months ago (2015-04-24 18:30:08 UTC) #43
commit-bot: I haz the power
5 years, 8 months ago (2015-04-24 18:30:59 UTC) #44
Message was sent while issue was closed.
Patchset 22 (id:??) landed as
https://crrev.com/e733e8f9066efccf0dd05dbeaa94ed62828b22a5
Cr-Commit-Position: refs/heads/master@{#326844}

Powered by Google App Engine
This is Rietveld 408576698