New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 164227 link

Starred by 63 users

Issue metadata

Status: Verified
Owner:
Closed: May 2015
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Show Google Now notifications in Chrome

Project Member Reported by vadimt@chromium.org, Dec 4 2012

Issue description

Show Google Now notifications in Chrome.
 
Showing comments 60 - 159 of 159 Older
Project Member

Comment 60 by bugdroid1@chromium.org, Jul 12 2013

------------------------------------------------------------------------
r211300 | robliao@chromium.org | 2013-07-12T03:09:41.729051Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions_api_resources.grd?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/tools/metrics/histograms/histograms.xml?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/extension_api.cc?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/resources/renderer_resources.grd?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/preference_helpers.cc?r1=211300&r2=211299&pathrev=211300
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/resources/extensions/chrome_direct_setting.js?r1=211300&r2=211299&pathrev=211300
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/chrome_direct_setting.cc?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_function_histogram_value.h?r1=211300&r2=211299&pathrev=211300
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/chrome_direct_setting.h?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/preferences_private.json?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/preference_api.cc?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser_extensions.gypi?r1=211300&r2=211299&pathrev=211300
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/types_private.json?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_renderer.gypi?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/_api_features.json?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/extensions/dispatcher.cc?r1=211300&r2=211299&pathrev=211300
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_function_registry.cc?r1=211300&r2=211299&pathrev=211300

Add types.private.ChromeDirectSetting and Connect it to preferencesPrivate.googleGeolocationAccessEnabled

* Adds a component extension only API type
chrome.types.private.ChromeDirectSetting (mirrors ChromeSetting except that it
does not provide levelOfControl info given that this only applies to component
extensions).

* Switches preferencesPrivate.googleGeolocationAccessEnabled to use chrome.types.private.ChromeDirectSetting

* Implements preliminary get, set, and clear functionality (direct access to the preferences)

* Adds stubs for onChange to be done later.

* Removes existing component extension affordances in the existing extension 
preferences codepath

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/18341016
------------------------------------------------------------------------
Project Member

Comment 61 by bugdroid1@chromium.org, Jul 13 2013

------------------------------------------------------------------------
r211514 | vadimt@chromium.org | 2013-07-13T03:02:43.201598Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=211514&r2=211513&pathrev=211514
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=211514&r2=211513&pathrev=211514
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/webui/test_api.js?r1=211514&r2=211513&pathrev=211514

Adding first unit tests to Google Now extension with mocks for global functions, chrome APIs and local callbacks.

test_api.js framework was extended to support mocking non-global functions and APIs with dot-separated names.


BUG= 164227 
TEST=No

Review URL: https://chromiumcodereview.appspot.com/5151418134560768
------------------------------------------------------------------------
Project Member

Comment 62 by bugdroid1@chromium.org, Jul 18 2013

------------------------------------------------------------------------
r212307 | robliao@chromium.org | 2013-07-18T09:40:47.962516Z

Changed paths:
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/chrome_direct_setting_api.cc?r1=212307&r2=212306&pathrev=212307
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/chrome_direct_setting_api.h?r1=212307&r2=212306&pathrev=212307
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc?r1=212307&r2=212306&pathrev=212307
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/chrome_direct_setting.cc?r1=212307&r2=212306&pathrev=212307
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/preference/chrome_direct_setting.h?r1=212307&r2=212306&pathrev=212307
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser_extensions.gypi?r1=212307&r2=212306&pathrev=212307

Implemented types.private.ChromeDirectSetting.onChange

This delta links up the onChange event machinery to the property
change notification machinery.

It follows a pattern established in PreferencesAPI and the
PreferenceEventRouter.
* Given a list of preferences, register event listener added
  observers to each preference.
* On the first added event listener, unregister all observers
  and register all property change listeners.
* On property changes, forward an event to each component
  extension that has a property listener added.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/18100007
------------------------------------------------------------------------
Project Member

Comment 63 by bugdroid1@chromium.org, Jul 19 2013

------------------------------------------------------------------------
r212497 | vadimt@chromium.org | 2013-07-19T01:50:14.182381Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=212497&r2=212496&pathrev=212497

Prevent unnecessary dismissal retries. We stop retrying a dismissal if:
1. The response from the server indicates that retrying is hopeless;
2. We kept retrying for 1 day.

BUG= 164227 
TEST=Disconnect network and dismiss a notification. Observe the console output. Make sure that dismissal attempts continue for 1 day and then stop. (Of course, you don't have to run this test on every Canary release :))

Review URL: https://chromiumcodereview.appspot.com/19370004
------------------------------------------------------------------------
Project Member

Comment 64 by bugdroid1@chromium.org, Jul 20 2013

------------------------------------------------------------------------
r212758 | vadimt@chromium.org | 2013-07-20T06:06:39.304067Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=212758&r2=212757&pathrev=212758
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=212758&r2=212757&pathrev=212758

Receiving and sending dismissal parameters.

BUG= 164227 
TEST=Please speak to the Server Person regarding types of dismissals and specific testing for them.

Review URL: https://chromiumcodereview.appspot.com/17894010
------------------------------------------------------------------------
Project Member

Comment 65 by bugdroid1@chromium.org, Jul 26 2013

------------------------------------------------------------------------
r213844 | vadimt@chromium.org | 2013-07-26T11:37:31.150358Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=213844&r2=213843&pathrev=213844

Simplifying using tasks. Now:
1. debugSetStepName is not needed
2. No need to call a completion callback when a task ends.

To minimize conflicts with pending changes, debugSetStepName and task callback are still defined, but do nothing. They will be removed opportunistically. New code shouldn't use them.

BUG= 164227 
TEST=No; this is a code cleanup.

Review URL: https://chromiumcodereview.appspot.com/19967005
------------------------------------------------------------------------
Project Member

Comment 66 by bugdroid1@chromium.org, Jul 27 2013

------------------------------------------------------------------------
r214058 | vadimt@chromium.org | 2013-07-27T23:49:31.067786Z

Changed paths:
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests_unit.gypi?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/webui/test_api.js?r1=214058&r2=214057&pathrev=214058
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards_unittest.gtestjs?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/manifest.json?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/component_extension_resources.grd?r1=214058&r2=214057&pathrev=214058
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=214058&r2=214057&pathrev=214058

Processing timefences from the server.
Timefences, or triggers, are commands inside cards data that tell the client to show / hide the card at certain time without making a server request.

BUG= 164227 
TEST=Need to discuss in person.

Review URL: https://chromiumcodereview.appspot.com/19749007
------------------------------------------------------------------------
Project Member

Comment 67 by bugdroid1@chromium.org, Jul 31 2013

------------------------------------------------------------------------
r214536 | robliao@chromium.org | 2013-07-31T03:16:57.297492Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=214536&r2=214535&pathrev=214536
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/webui/test_api.js?r1=214536&r2=214535&pathrev=214536
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=214536&r2=214535&pathrev=214536
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=214536&r2=214535&pathrev=214536
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=214536&r2=214535&pathrev=214536

Updated Google Now to Check the Geolocation Access Preference

Hooked up the brand new chrome.preferencesPrivate.googleGeolocationAccessEnabled
API to the startup path as well as control behavior on preference enable/disable
events.

Restructured the code for easy state machine changes.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/19822007
------------------------------------------------------------------------
Project Member

Comment 68 by bugdroid1@chromium.org, Jul 31 2013

------------------------------------------------------------------------
r214773 | robliao@chromium.org | 2013-07-31T17:50:34.001731Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=214773&r2=214772&pathrev=214773
   M http://src.chromium.org/viewvc/chrome/trunk/src/tools/metrics/histograms/histograms.xml?r1=214773&r2=214772&pathrev=214773
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=214773&r2=214772&pathrev=214773

Rename DiagnosticEvent to GoogleNowEvent

DiagnosticEvent wasn't really a diagnostic event. It's a UMA event to track the
flow of Google Now. GoogleNowEvent captures this and aligns with the name in
histograms.xml

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/21265003
------------------------------------------------------------------------
Project Member

Comment 69 by bugdroid1@chromium.org, Aug 1 2013

------------------------------------------------------------------------
r214939 | robliao@chromium.org | 2013-08-01T03:18:08.313377Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=214939&r2=214938&pathrev=214939
   M http://src.chromium.org/viewvc/chrome/trunk/src/tools/metrics/histograms/histograms.xml?r1=214939&r2=214938&pathrev=214939
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=214939&r2=214938&pathrev=214939

Add Diagnostic Events to the Google Now Stop All States

The state machine has two states where everything should be stopped:
* User signed in, already responded to the toast, but disabled the geolocation option.
* User is not signed in.

This delta adds two diagnostic events to identify those states.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/21103007
------------------------------------------------------------------------
Project Member

Comment 70 by bugdroid1@chromium.org, Aug 1 2013

------------------------------------------------------------------------
r215115 | robliao@chromium.org | 2013-08-01T21:41:58.810053Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=215115&r2=215114&pathrev=215115
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=215115&r2=215114&pathrev=215115
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=215115&r2=215114&pathrev=215115
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=215115&r2=215114&pathrev=215115

Authentication Manager for Google Now

There is currently no way to observe the sign-in state of the user in Chrome.
To work around this, the new authentication manager will poll for the
sign in state and notify any listeners about a change in the sign in state.

Calls for sign in state should correspondingly go through the authentication
manager since a check may already be in flight during a call to getAuthToken.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/21235008
------------------------------------------------------------------------
Project Member

Comment 71 by bugdroid1@chromium.org, Aug 2 2013

------------------------------------------------------------------------
r215213 | robliao@chromium.org | 2013-08-02T04:41:42.350377Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=215213&r2=215212&pathrev=215213

Basic State Machine Logging

Added Basic State Machine Logging that will output to the console...
> State Update signedIn=true geolocationEnabled=true userRespondedToToast=true
> Requested Actions setToastVisible=false setShouldPollCards=true
> Action Taken setShouldPollCards=true

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/20693004
------------------------------------------------------------------------
Project Member

Comment 72 by bugdroid1@chromium.org, Aug 3 2013

------------------------------------------------------------------------
r215444 | vadimt@chromium.org | 2013-08-03T01:39:10.318251Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=215444&r2=215443&pathrev=215444
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=215444&r2=215443&pathrev=215444

Instrumenting missing API calls.
Adding a framework to detect cases when a developer forgets to instrument API calls. Since all our code should execute in instrumented callbacks, 'tasks' check that we are in an instrumented callback at qualifying entrypoints.

Adding missing instrumentations.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/21661003
------------------------------------------------------------------------
Project Member

Comment 73 by bugdroid1@chromium.org, Aug 6 2013

------------------------------------------------------------------------
r215751 | robliao@chromium.org | 2013-08-06T01:00:28.096003Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=215751&r2=215750&pathrev=215751

Rename onSuccess to callback in setShouldPollCards and setToastVisible

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/22014002
------------------------------------------------------------------------
Project Member

Comment 74 by bugdroid1@chromium.org, Aug 6 2013

------------------------------------------------------------------------
r216013 | vadimt@chromium.org | 2013-08-06T23:05:49.043845Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=216013&r2=216012&pathrev=216013

Suppressing alerts for end users. Those who manually enable debug mode, will be able to see alerts.


BUG= 164227 
TEST=
To enable debug mode (to see alerts), run DEBUG_MODE = localStorage['debug_mode'] = true;
To disable, DEBUG_MODE = localStorage['debug_mode'] = false;

Review URL: https://chromiumcodereview.appspot.com/22294004
------------------------------------------------------------------------
Test Notes
#67 - https://code.google.com/p/chromium/issues/detail?id=164227#c67
Most of the state machine behavior is there.
When the Geolocation checkbox is checked, Google now should immediately run.
If not checked, one of two things should happen:
* If this is Google Now's first run, show a toast
* If Google Now has already been running, stop running.

#68 - https://code.google.com/p/chromium/issues/detail?id=164227#c68
No functional impact

#69 - https://code.google.com/p/chromium/issues/detail?id=164227#c69
When the user signs in and has already responded to the toast, GoogleNowEvent USER_SUPPRESSED should fire.

Otherwise if Google Now is not running, GoogleNowEvent.STOPPED should fire.

This check is captured in the unit tests.

#70 - https://code.google.com/p/chromium/issues/detail?id=164227#c70
If the user signs into Chrome and all necessary Google Now conditions are satisfied, Google Now should show a toast or start within one hour.

If a user signs out of Chrome, Google Now should stop running within one hour.
Project Member

Comment 76 by bugdroid1@chromium.org, Aug 9 2013

------------------------------------------------------------------------
r216619 | robliao@chromium.org | 2013-08-09T07:00:07.349694Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=216619&r2=216618&pathrev=216619

Added Action Ignored Logging to the State Machine

Sometimes, when requesting to poll cards, the cards are already
being polled (or at least the alarm infrastructure is reporting
the alarm is already set). Note that here.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/22637002
------------------------------------------------------------------------
Project Member

Comment 77 by bugdroid1@chromium.org, Aug 9 2013

------------------------------------------------------------------------
r216713 | robliao@chromium.org | 2013-08-09T17:27:21.183853Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=216713&r2=216712&pathrev=216713
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards_unittest.gtestjs?r1=216713&r2=216712&pathrev=216713
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=216713&r2=216712&pathrev=216713
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=216713&r2=216712&pathrev=216713
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=216713&r2=216712&pathrev=216713
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=216713&r2=216712&pathrev=216713

Remove chrome.* Function Instrumentation Inlining and Use a Separate Instrumented Object

Chrome rebinds all of the chrome.* functions during events like permission
updates (e.g. chrome.permissions.request will cause all chrome.* to rebind).
This has the effect of throwing away all of the instrumentation set up during
initialization.

The fix here removes all inlining instrumentation from chrome.* and introduces
instrumented.* which mirrors chrome.* only for the instrumented functions.

instrumented.* also delays the lookup of the function until execution time
in the event the functions are rebound by chrome.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/22647003
------------------------------------------------------------------------
Project Member

Comment 79 by bugdroid1@chromium.org, Aug 13 2013

------------------------------------------------------------------------
r217287 | vadimt@chromium.org | 2013-08-13T17:51:27.463817Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=217287&r2=217286&pathrev=217287

Incremental changes in error reporting.

Unifying error reporting.
Now sending all errors to the server, including ones that should be detected early by developer (because sometimes this doesn't happen).
Supporting all formats of frames in error stacks (now supporting anonymous top frame).

BUG= 164227 
TEST=No

Review URL: https://chromiumcodereview.appspot.com/22518002
------------------------------------------------------------------------
Project Member

Comment 80 by bugdroid1@chromium.org, Aug 13 2013

------------------------------------------------------------------------
r217342 | robliao@chromium.org | 2013-08-13T21:29:28.165278Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/webui/options/geolocation_options_handler.cc?r1=217342&r2=217341&pathrev=217342
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=217342&r2=217341&pathrev=217342
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/manifest.json?r1=217342&r2=217341&pathrev=217342
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=217342&r2=217341&pathrev=217342
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/component_loader.cc?r1=217342&r2=217341&pathrev=217342

Add Finch Checks to the State Machine

Google Now will check the Finch Experiment state for
'Enable*' or '' before running

Additionally, it will also request the background permission unless the Finch Experiment state is 'EnableWithoutBackground'

Added some more logging for the state machine as well.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/21985002
------------------------------------------------------------------------
Project Member

Comment 81 by bugdroid1@chromium.org, Aug 14 2013

------------------------------------------------------------------------
r217449 | robliao@chromium.org | 2013-08-14T02:26:33.291011Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=217449&r2=217448&pathrev=217449
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=217449&r2=217448&pathrev=217449

Switch Google Now Background Toggle to use Experiment Variations

Instead of checking the string returned from GetFieldTrial, a variation
of params.enableBackground will contain if the background permission
should be requested or removed.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/23127002
------------------------------------------------------------------------
Project Member

Comment 82 by bugdroid1@chromium.org, Aug 14 2013

------------------------------------------------------------------------
r217680 | vadimt@chromium.org | 2013-08-14T22:59:58.410715Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=217680&r2=217679&pathrev=217680
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=217680&r2=217679&pathrev=217680

Bring windows with just opened tabs to foreground.

BUG= 164227 
TEST=On various platforms, bring another window on top of a Chrome one, then click a button on a notification. A tab will be opened, and the whole window where the tab is should be brought to foreground.

Review URL: https://chromiumcodereview.appspot.com/23128005
------------------------------------------------------------------------
Project Member

Comment 83 by bugdroid1@chromium.org, Aug 23 2013

------------------------------------------------------------------------
r219157 | vadimt@chromium.org | 2013-08-23T00:10:32.368767Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=219157&r2=219156&pathrev=219157
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=219157&r2=219156&pathrev=219157
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=219157&r2=219156&pathrev=219157
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=219157&r2=219156&pathrev=219157

Handling errors from chrome APIs.
Some Chrome API calls can fail and return 'undefined' result. Making our code not send crashes and behave reasonably in such cases.

Also, sending crashes if server sends malformed cards.

+ some smaller cleanups.

BUG= 164227 

Review URL: https://chromiumcodereview.appspot.com/22912021
------------------------------------------------------------------------
Project Member

Comment 84 by bugdroid1@chromium.org, Aug 23 2013

------------------------------------------------------------------------
r219357 | vadimt@chromium.org | 2013-08-23T22:20:24.800721Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=219357&r2=219356&pathrev=219357
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=219357&r2=219356&pathrev=219357
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=219357&r2=219356&pathrev=219357

Cleaning up task manager.
Task manager has grown to ~350 lines, and contains a mix of code dealing with tasks and with instrumenting callbacks.
This change detangles instrumentation (wrapper) from task management (buildTaskManager).
Wrapper has an extensibility mechanism that Task Manager uses to inject its own code (and state) into instrumented callbacks.

BUG= 164227 
TEST=No

Review URL: https://chromiumcodereview.appspot.com/22986007
------------------------------------------------------------------------
Project Member

Comment 85 by bugdroid1@chromium.org, Sep 4 2013

------------------------------------------------------------------------
r221097 | vadimt@chromium.org | 2013-09-04T01:00:20.146285Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=221097&r2=221096&pathrev=221097

Adding error message to error string.

Even though error message (like 'message' param to 'verify()') gets sent as a part of the stack, the internal crash reporter doesn't show it, probably, because it doesn't look like a frame.

Adding this message to the error string.

BUG= 164227 
TEST=No

Review URL: https://chromiumcodereview.appspot.com/23664005
------------------------------------------------------------------------
Project Member

Comment 87 by bugdroid1@chromium.org, Sep 9 2013

------------------------------------------------------------------------
r222099 | vadimt@chromium.org | 2013-09-09T21:41:20.649819Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility_unittest.gtestjs?r1=222099&r2=222098&pathrev=222099

Unit tests for task manager.

BUG= 164227 
TEST=No

Review URL: https://chromiumcodereview.appspot.com/23623010
------------------------------------------------------------------------
Project Member

Comment 88 by bugdroid1@chromium.org, Sep 10 2013

------------------------------------------------------------------------
r222189 | vadimt@chromium.org | 2013-09-10T02:26:26.257415Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/webui/test_api.js?r1=222189&r2=222188&pathrev=222189
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility_unittest.gtestjs?r1=222189&r2=222188&pathrev=222189

Unit tests for attempt manager.

BUG= 164227 
TEST=No

Review URL: https://chromiumcodereview.appspot.com/23751004
------------------------------------------------------------------------
Project Member

Comment 89 by bugdroid1@chromium.org, Oct 9 2013

------------------------------------------------------------------------
r227735 | vadimt@chromium.org | 2013-10-09T13:58:04.044988Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility_unittest.gtestjs?r1=227735&r2=227734&pathrev=227735
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=227735&r2=227734&pathrev=227735

Switching to a new format for sending errors.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/24109007
------------------------------------------------------------------------
Project Member

Comment 91 by bugdroid1@chromium.org, Oct 10 2013

------------------------------------------------------------------------
r227933 | vadimt@chromium.org | 2013-10-10T14:55:03.166898Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=227933&r2=227932&pathrev=227933
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=227933&r2=227932&pathrev=227933

Simplified state machine.

This change effectively ignores the geolocation setting and whether the user has answered to the welcome toast.
The change also skips retrieving location.

BUG= 164227 
TEST=(1) Make sure LBS requests are not sent anymore; (2) The only precondition for starting polling is being signed in to Chrome - geolocation option doesn't have to be enabled, welcome toast with yes/no questions is no shown and, of course, answering it is not necessary.

Review URL: https://codereview.chromium.org/24613004
------------------------------------------------------------------------
Project Member

Comment 94 by bugdroid1@chromium.org, Oct 12 2013

------------------------------------------------------------------------
r228326 | robliao@chromium.org | 2013-10-12T07:15:40.197025Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/options/geolocation_options.js?r1=228326&r2=228325&pathrev=228326

Adjust Settings UI for Chrome Now's Geolocation Source

BUG= 164227 

Review URL: https://codereview.chromium.org/26315007
------------------------------------------------------------------------
Project Member

Comment 95 by bugdroid1@chromium.org, Oct 16 2013

------------------------------------------------------------------------
r228856 | vadimt@chromium.org | 2013-10-16T03:45:04.435409Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=228856&r2=228855&pathrev=228856
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards_unittest.gtestjs?r1=228856&r2=228855&pathrev=228856
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=228856&r2=228855&pathrev=228856
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=228856&r2=228855&pathrev=228856

Restoring notifications on startup without making a server poll.

BUG= 164227 
TEST=Receive cards. Close Chrome process. Disconnect from network. Start Chrome. Cards should be shown on startup.
Alternatively: Receive cards. In less than 5 minutes: Close Chrome process, start it, make sure cards are shown and the devtools log doesn't show a server request.

Review URL: https://codereview.chromium.org/27030012
------------------------------------------------------------------------
Project Member

Comment 98 by bugdroid1@chromium.org, Oct 22 2013

------------------------------------------------------------------------
r230194 | vadimt@chromium.org | 2013-10-22T20:12:23.533056Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=230194&r2=230193&pathrev=230194

Some unit tests.

I started to develop unit tests for merging cards, but then switched to other stuff. I don't want the added code to rotten on my machine, so I'm submitting it. Later, I'll add more tests.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/32583004
------------------------------------------------------------------------
Project Member

Comment 99 by bugdroid1@chromium.org, Oct 23 2013

------------------------------------------------------------------------
r230333 | vadimt@chromium.org | 2013-10-23T05:16:52.386887Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=230333&r2=230332&pathrev=230333

Processing groups with nextPollSeconds === undefined.

In theory, the server can generate a group with requested == true, but nextPollSeconds === undefined.

This change makes the client correctly process this.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/33433003
------------------------------------------------------------------------
Project Member

Comment 100 by bugdroid1@chromium.org, Oct 23 2013

------------------------------------------------------------------------
r230335 | kouhei@chromium.org | 2013-10-23T05:40:00.557507Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=230335&r2=230334&pathrev=230335

Revert 230333 "Processing groups with nextPollSeconds === undefi..."

This may have caused regression on:
http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests/builds/6284

GoogleNowBackgroundUnitTest.ParseAndShowNotificationCardsAdd1Remove1: 
...snip...
Value of: RunJavascriptTestF("GoogleNowBackgroundUnitTest", "ParseAndShowNotificationCardsAdd1Remove1")
Actual: false
Expected: true

> Processing groups with nextPollSeconds === undefined.
> 
> In theory, the server can generate a group with requested == true, but nextPollSeconds === undefined.
> 
> This change makes the client correctly process this.
> 
> BUG= 164227 
> TEST=No
> 
> Review URL: https://codereview.chromium.org/33433003

TBR=vadimt@chromium.org

Review URL: https://codereview.chromium.org/36583002
------------------------------------------------------------------------
Project Member

Comment 101 by bugdroid1@chromium.org, Oct 23 2013

------------------------------------------------------------------------
r230551 | vadimt@chromium.org | 2013-10-23T23:29:13.845597Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=230551&r2=230550&pathrev=230551
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=230551&r2=230550&pathrev=230551

Processing groups with nextPollSeconds === undefined.

In theory, the server can generate a group with requested == true, but nextPollSeconds === undefined.

This change makes the client correctly process this.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/31033004
------------------------------------------------------------------------
Project Member

Comment 102 by bugdroid1@chromium.org, Oct 24 2013

------------------------------------------------------------------------
r230715 | robliao@chromium.org | 2013-10-24T14:27:59.788726Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=230715&r2=230714&pathrev=230715
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=230715&r2=230714&pathrev=230715
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=230715&r2=230714&pathrev=230715

Start/Stop Cards Polling Depending on Notification Center State

Added logic to monitor the state of our notification center checkbox
and to start or stop polling if the checkbox is checked or unchecked
respectively.

BUG= 164227 
TEST=Get the Notification Center to show up. Click on the Settings Icon (Cog). Uncheck or check the Google Now checkbox. When unchecked, server pings should stop and Chrome should stop running under background mode via the removal of the background permission. When checked, Chrome Now spins back up as long as the user is signed in.

Review URL: https://codereview.chromium.org/37083004
------------------------------------------------------------------------
Project Member

Comment 103 by bugdroid1@chromium.org, Oct 25 2013

------------------------------------------------------------------------
r230910 | vadimt@chromium.org | 2013-10-25T02:21:45.565197Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility_test_util.js?r1=230910&r2=230909&pathrev=230910
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=230910&r2=230909&pathrev=230910

Using instrumented.identity.onSignInChanged to track signed-in state changes.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/35413005
------------------------------------------------------------------------
Project Member

Comment 104 by bugdroid1@chromium.org, Oct 30 2013

------------------------------------------------------------------------
r231712 | vadimt@chromium.org | 2013-10-30T02:00:39.536002Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=231712&r2=231711&pathrev=231712

Polling the server upon receiving push messages.
Creating a general mechanism for this.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/48273007
------------------------------------------------------------------------
Project Member

Comment 105 by bugdroid1@chromium.org, Oct 30 2013

------------------------------------------------------------------------
r231718 | vadimt@chromium.org | 2013-10-30T03:05:54.229456Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=231718&r2=231717&pathrev=231718
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility_unittest.gtestjs?r1=231718&r2=231717&pathrev=231718

Add authorization to crash reports.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/38323003
------------------------------------------------------------------------
Project Member

Comment 107 by bugdroid1@chromium.org, Nov 1 2013

------------------------------------------------------------------------
r232303 | vadimt@chromium.org | 2013-11-01T05:47:07.396679Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/component_loader.cc?r1=232303&r2=232302&pathrev=232303

Turn off enabling Google Now via flag in Stable.

BUG= 164227 

Review URL: https://codereview.chromium.org/47493005
------------------------------------------------------------------------
Project Member

Comment 108 by bugdroid1@chromium.org, Nov 1 2013

------------------------------------------------------------------------
r232365 | vadimt@chromium.org | 2013-11-01T13:57:05.805395Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=232365&r2=232364&pathrev=232365
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=232365&r2=232364&pathrev=232365

Using “is opted in” server request. Also, taking into account ‘googleNowDisabled’ value in server response.


BUG= 164227 
TEST=
1. Install Chrome, make sure the first request it does is not poll for cards, but a poll for opted-in state (URL + ‘settings/optin’). If the user is opted in, this should be followed by a normal request for cards. If the user is opted out, make sure the next poll is in 1 week (stop by to learn how to check this).
2. While polling for cards, opt out the user fro Now. Force a server ping; make sure that the next poll is scheduled to be in 2 week.

Review URL: https://codereview.chromium.org/53823002
------------------------------------------------------------------------
Project Member

Comment 109 by bugdroid1@chromium.org, Nov 1 2013

------------------------------------------------------------------------
r232464 | vadimt@chromium.org | 2013-11-01T20:40:19.086473Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=232464&r2=232463&pathrev=232464
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=232464&r2=232463&pathrev=232464

Requesting background permission only when user is opted in to GN.

BUG= 164227 
TEST=Opt the user out and in, and check that next poll sets/unsets background permission correspondingly.

Review URL: https://codereview.chromium.org/55123002
------------------------------------------------------------------------
Project Member

Comment 110 by bugdroid1@chromium.org, Nov 1 2013

------------------------------------------------------------------------
r232488 | vadimt@chromium.org | 2013-11-01T22:46:23.865133Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=232488&r2=232487&pathrev=232488
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=232488&r2=232487&pathrev=232488

Utilizing notifications.onShowSettings() event.

BUG= 164227 
TEST=Click at (i) icon in NC Settings for GN, make sure that the help URL opens.
R=robliao@chromium.org

Review URL: https://codereview.chromium.org/54643008
------------------------------------------------------------------------
Project Member

Comment 111 by bugdroid1@chromium.org, Nov 2 2013

------------------------------------------------------------------------
r232524 | vadimt@chromium.org | 2013-11-02T00:21:04.287746Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/component_loader.cc?r1=232524&r2=232523&pathrev=232524

Enable Google Now on trybots (and all users on Trunk).

BUG= 164227 
R=asvitkine@chromium.org, kalman@chromium.org, robliao@chromium.org, skare@chromium.org

Review URL: https://codereview.chromium.org/48103003
------------------------------------------------------------------------

Comment 112 Deleted

Labels: -Restrict-View-Google
Hi Vad, 

why restricting this feature?

How can I enable it on the DEV-channel? :-)

Regards
Johannes

Comment 115 Deleted

Hi!

1. This issue was restricted by mistake, and I made it public again;
2. The feature is not quite ready yet, but stay tuned!

Thanks!
Project Member

Comment 117 by bugdroid1@chromium.org, Nov 20 2013

------------------------------------------------------------------------
r236302 | vadimt@chromium.org | 2013-11-20T21:31:30.711423Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=236302&r2=236301&pathrev=236302

Adding timing information to the "pending callbacks" diagnostics. We've ran into cases where this would be useful.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/76493003
------------------------------------------------------------------------
Project Member

Comment 118 by bugdroid1@chromium.org, Dec 8 2013

------------------------------------------------------------------------
r239389 | vadimt@chromium.org | 2013-12-08T07:19:55.935571Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards_unittest.gtestjs?r1=239389&r2=239388&pathrev=239389
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=239389&r2=239388&pathrev=239389
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=239389&r2=239388&pathrev=239389
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=239389&r2=239388&pathrev=239389
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=239389&r2=239388&pathrev=239389

Combining cards instead of merging.
When there are several cards with same Chrome ID, we now not simply choose the one with the highest priority and call it a day.

Instead, for every moment of time, we show the card with the highest priority, chosen from ones that should be visible at this moment.

Also, added Closure annotations to enable static type analysis.

BUG= 164227 

Review URL: https://codereview.chromium.org/107033002
------------------------------------------------------------------------
Project Member

Comment 119 by bugdroid1@chromium.org, Dec 13 2013

------------------------------------------------------------------------
r240798 | robliao@chromium.org | 2013-12-13T23:30:49.465905Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=240798&r2=240797&pathrev=240798
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=240798&r2=240797&pathrev=240798

Chrome Now notificationGroups Storage Race Condition Fix

Updating cards involves updating the notificationGroups in rapid succession,
leading to race conditions between storage.get and storage.set. The queued
up storage.gets may dispatch all at once before each storage.set, meaning that
the storage.set will set stale values.

In other words, we get
storage.get
storage.get
storage.set
storage.set

instead of
storage.get
storage.set
storage.get
storage.set

The fix here is to move the requests outside of the for loop, adding
arguments to functions where necessary to work around this gotcha.

BUG= 164227 

Review URL: https://codereview.chromium.org/114533002
------------------------------------------------------------------------
I enabled Google Now through "chrome://flags/" now, in Chrome DEV 33.0.1750.5

What will happen now? :-)

Is there anything specific I can already test for you guys?
The feature is not quite ready yet, so you won't see anything even after enabling that flag :)
Thanks for offering you help, but I can't imagine what you could test (at this stage).
Project Member

Comment 122 by bugdroid1@chromium.org, Jan 14 2014

------------------------------------------------------------------------
r244624 | vadimt@chromium.org | 2014-01-14T00:51:58.301900Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=244624&r2=244623&pathrev=244624
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards_unittest.gtestjs?r1=244624&r2=244623&pathrev=244624
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=244624&r2=244623&pathrev=244624
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=244624&r2=244623&pathrev=244624

Restoring recently deleted unit tests.

Some unit tests were deleted during switching from merging to combining. Restoring them.
Other changes:
1. Switching server response parameter from string to a typed one in parseAndShowNotificationCards(). This way tests don’t have to stringify this parameter before passing to the tested function.
2. Changes in cards.js to match ‘actionUrls’ field definitions in annotation types. They can’t be null.

BUG= 164227 
TEST=No

Review URL: https://codereview.chromium.org/121983002
------------------------------------------------------------------------
I saw that the feature hit the DEV-Channel. Where do I submit "relevant" bugs/requests for this feature?

e.g. the degrees for the Weather-Card should be in C instead of F, where do I configure that?
You can configure your temperature unit settings by opening Google Now on your mobile device, finding a weather card, and tapping (i) -> Change settings.

Feel free to submit bugs/requests by creating an issue here and tagging with Cr-UI-Browser-GoogleNow. Thanks!
I submitted:
https://code.google.com/p/chromium/issues/detail?id=336505

but the cards are not syncing - how fast, if at all, should the cards be syncing between desktop/mobile and vice-versa?

Thanks
iowakeeper, thanks for creating the bug!
I've assigned it to a right person who will take care of it.
P.S. You can make your bugs more discoverable for us by marking them with Cr-UI-Browser-GoogleNow label.
Great - i'm not sure how to add a label, but it looks like you may have done it already. If it's in the wizard when creating an issue, I selected "Sync" rather than "UI" for classification.

In any case, glad it's getting looked at in the canary stage rather than production. If it's expected behavior that there is a delay, a message should probably be put on the desktop side saying what the sync process timing is, or even better, be able to modify it.

Might be another request/issue, but for consistency, it would also be nice to be able to 'swipe' on the desktop side as well rather than click the tiny "x" in the upper right to discard a card. 
Hmm, this bug (https://code.google.com/p/chromium/issues/detail?id=268669) seems to indicate that swipe is already implemented. What is your system?
win7 non aero theme.

from 268669:
"Launch Chrome in Metro mode in windows 8 (touch enabled machine or tablet"

makes sense, could still make the "x" to close out much larger

Syncing the state of the cards is much more important
Owner: robliao@chromium.org
iowakeeper: Thanks for the feedback. File a new bug and add Cr-UI-Notifications label to the bug. The notifications team should be able to respond to your UI feedback.
Project Member

Comment 132 by bugdroid1@chromium.org, Feb 4 2014

------------------------------------------------------------------------
r248609 | robliao@chromium.org | 2014-02-03T23:27:37.244158Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/about_flags.cc?r1=248609&r2=248608&pathrev=248609

Allow Google Now on all Desktop OS Platforms

With the addition of Linux support for rich notifications, we can turn on
Google Now for all desktop platforms.

BUG= 164227 
R=skare@chromium.org

Review URL: https://codereview.chromium.org/147273005
------------------------------------------------------------------------
Project Member

Comment 133 by bugdroid1@chromium.org, Feb 13 2014

------------------------------------------------------------------------
r250992 | robliao@chromium.org | 2014-02-13T14:39:32.095574Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/common_test_util.js?r1=250992&r2=250991&pathrev=250992
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=250992&r2=250991&pathrev=250992
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=250992&r2=250991&pathrev=250992

Convert Google Now's State Change Gathering Mechanism to use Promises

Now that Promises have arrived in stable, we can start using them.
This change converts onStateChange to use promises and adds rudimentary
unit test support to handle this new feature.

V8's Promises are not used because the Javascript test harness expects
tests to complete synchronously. Promises, which run asynchronously, may
still be pending at the completion of a test, causing the test case to fail.

BUG= 164227 

Review URL: https://codereview.chromium.org/158003003
------------------------------------------------------------------------
Project Member

Comment 135 by bugdroid1@chromium.org, Feb 20 2014

------------------------------------------------------------------------
r252134 | robliao@chromium.org | 2014-02-20T00:24:36.907452Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=252134&r2=252133&pathrev=252134
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/common_test_util.js?r1=252134&r2=252133&pathrev=252134
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=252134&r2=252133&pathrev=252134
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=252134&r2=252133&pathrev=252134

Revert of Convert Google Now's Authentication Manager to use Promises (https://codereview.chromium.org/162273002/)

Reason for revert:
Promise.catch may not always be called back, breaking an assumption about the task tracking system.

Original issue's description:
> Convert Google Now's Authentication Manager to use Promises
> 
> BUG= 164227 
> R=rgustafson@chromium.org, skare@chromium.org, vadimt@chromium.org
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=252109

TBR=skare@chromium.org,rgustafson@chromium.org,vadimt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG= 164227 

Review URL: https://codereview.chromium.org/171713007
------------------------------------------------------------------------
Project Member

Comment 136 by bugdroid1@chromium.org, Feb 20 2014

------------------------------------------------------------------------
r252215 | robliao@chromium.org | 2014-02-20T13:25:01.881777Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=252215&r2=252214&pathrev=252215

Add Locale Request Support to Chrome Now

BUG= 164227 

Review URL: https://codereview.chromium.org/172733002
------------------------------------------------------------------------
Project Member

Comment 137 by bugdroid1@chromium.org, Feb 27 2014

------------------------------------------------------------------------
r253683 | robliao@chromium.org | 2014-02-27T02:07:26.191520Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=253683&r2=253682&pathrev=253683
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=253683&r2=253682&pathrev=253683
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/common_test_util.js?r1=253683&r2=253682&pathrev=253683
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=253683&r2=253682&pathrev=253683

Convert Google Now's Authentication Manager to use Promises

Also add support for Promises by tracking the "then" and "catch" callbacks.
The Task manager assumes that all callbacks will fire. With promises, this
is no longer the case. Either "then" or "catch" will call back, not always
both.

To account for this, the promise adapter will make sure all callbacks call
back while preserving when 'then' or 'catch' callbacks should execute.

To do this, it wraps all 'then' and 'catch' callbacks that check if
the actual callback should occur. Once a 'then' happens, it updates state
to make 'catch' callbacks a no-op and vice versa. The no-op'ed callbacks
are manually executed to update the task manager state.

BUG= 164227 
R=rgustafson@chromium.org, skare@chromium.org, vadimt@chromium.org

Review URL: https://codereview.chromium.org/162273002
------------------------------------------------------------------------
Project Member

Comment 138 by bugdroid1@chromium.org, Feb 27 2014

Labels: merge-merged-1847
------------------------------------------------------------------------
r253883 | robliao@chromium.org | 2014-02-27T18:50:03.807625Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1847/src/chrome/browser/resources/google_now/background.js?r1=253883&r2=253882&pathrev=253883

Merge 252215 "Add Locale Request Support to Chrome Now"

> Add Locale Request Support to Chrome Now
> 
> BUG= 164227 
> 
> Review URL: https://codereview.chromium.org/172733002

TBR=robliao@chromium.org

Review URL: https://codereview.chromium.org/179363014
------------------------------------------------------------------------
Project Member

Comment 139 by bugdroid1@chromium.org, Mar 3 2014

------------------------------------------------------------------------
r254542 | robliao@chromium.org | 2014-03-03T19:57:11.121843Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards.js?r1=254542&r2=254541&pathrev=254542
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=254542&r2=254541&pathrev=254542
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility_test_util.js?r1=254542&r2=254541&pathrev=254542
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/cards_unittest.gtestjs?r1=254542&r2=254541&pathrev=254542
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=254542&r2=254541&pathrev=254542
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/common_test_util.js?r1=254542&r2=254541&pathrev=254542
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=254542&r2=254541&pathrev=254542
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility_unittest.gtestjs?r1=254542&r2=254541&pathrev=254542

Convert Google Now's use of chrome.storage.local.get to use Promises

BUG= 164227 
R=rgustafson@chromium.org, skare@chromium.org, vadimt@chromium.org

Review URL: https://codereview.chromium.org/166033010
------------------------------------------------------------------------
Is it normal to only ever see the weather card in Google Now on the desktop?  I see lots of different cards on Android.  Also the card never pops up on its own, I have to click on the bell to see it.
Re: #140, you should see a subset of your Google Now notifications, which includes commute traffic, flight status, sports scores, weather, public alerts, package tracking, stock updates, and reminders. These notifications are designed to only pop up when they're important, so as to not interrupt your regular browsing. :) The behavior you see with weather cards is working as intended.
Owner: rubylee@chromium.org
to Ruby as PM
Labels: -merge-merged-1847
Owner: robliao@chromium.org

Comment 144 by Deleted ...@, Mar 12 2014

any ideea why google now is not working on all Chrome dev-m instances? on my instance is not working from the starts.
Re #144: A few questions to clarify so we can get a better sense of how to help:

- Are you signed into Chrome with an account that's getting Google Now on your mobile device?
- Are you seeing Google Now notifications on other computers or other versions of Chrome?
- When you say it's not working from the start, do you mean you're not getting Google Now notifications immediately when you start Chrome? Do you ever see them on dev-m?
Project Member

Comment 146 by bugdroid1@chromium.org, Mar 13 2014

------------------------------------------------------------------
r256902 | robliao@chromium.org | 2014-03-13T20:04:18.653623Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=256902&r2=256901&pathrev=256902
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/utility.js?r1=256902&r2=256901&pathrev=256902

Refactor Authenticated Server Requests to use Promises

BUG= 164227 

Review URL: https://codereview.chromium.org/187263002
-----------------------------------------------------------------
Project Member

Comment 147 by bugdroid1@chromium.org, Mar 14 2014

------------------------------------------------------------------
r257025 | robliao@chromium.org | 2014-03-14T06:07:43.112868Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=257025&r2=257024&pathrev=257025

Refactor Chrome Now Card Dismissal Stack to use Promises

BUG= 164227 

Review URL: https://codereview.chromium.org/183883027
-----------------------------------------------------------------
Project Member

Comment 148 by bugdroid1@chromium.org, Mar 20 2014

------------------------------------------------------------------
r258239 | robliao@chromium.org | 2014-03-20T07:01:18.783713Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/common_test_util.js?r1=258239&r2=258238&pathrev=258239
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=258239&r2=258238&pathrev=258239

Server Request Tests and Mock Promise Enhancements

Added some server request tests and improved the mock promise to handle
these tests. The Mock Promise now better simulates the full extent of
promises.

BUG= 164227 

Review URL: https://codereview.chromium.org/202293003
-----------------------------------------------------------------
Project Member

Comment 149 by bugdroid1@chromium.org, Mar 25 2014

------------------------------------------------------------------
r259142 | robliao@chromium.org | 2014-03-25T04:09:58.834623Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/tools/metrics/histograms/histograms.xml?r1=259142&r2=259141&pathrev=259142
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=259142&r2=259141&pathrev=259142
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=259142&r2=259141&pathrev=259142

Report Metrics on No Card Polling

Added reporting for no cards for Google Now when one of the following causes
no cards to be polled:
* The user is signed out.
* The user has disabled Google Now in notifications.
* The user has Google Now disabled.

BUG= 164227 

Review URL: https://codereview.chromium.org/199793024
-----------------------------------------------------------------
Hey Robert,

If possible, please provide verification steps for update #149.

Thanks,

Krishna
#149 is a telemetry reporting change. There is no and should not be any user visible impact.

We'll know it's working via the histograms.
OK, sounds good.
Project Member

Comment 154 by bugdroid1@chromium.org, Apr 3 2014

------------------------------------------------------------------
r261553 | robliao@chromium.org | 2014-04-03T22:37:53.657990Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_test_util.js?r1=261553&r2=261552&pathrev=261553
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background.js?r1=261553&r2=261552&pathrev=261553
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/background_unittest.gtestjs?r1=261553&r2=261552&pathrev=261553

Google Now Card Processing Pipeline Refactor

This major refactor covers two themes:
1) Use promises to link each pipeline stage together.
2) Decouple the pipeline ordering from each individual function.

Along with that, added unit tests that cover various
stages of the pipeline in isolation.

BUG= 164227 

Review URL: https://codereview.chromium.org/207243002
-----------------------------------------------------------------
Project Member

Comment 155 by bugdroid1@chromium.org, May 29 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a5af48b5b209d07952e85b35862501d489959eac

commit a5af48b5b209d07952e85b35862501d489959eac
Author: robliao@chromium.org <robliao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu May 29 22:54:13 2014

Restrict Google Now URL Permissions

BUG= 164227 

Review URL: https://codereview.chromium.org/303003002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273638 0039d316-1c4b-4281-b951-d872f2087c98


Project Member

Comment 156 by bugdroid1@chromium.org, May 29 2014

------------------------------------------------------------------
r273638 | robliao@chromium.org | 2014-05-29T22:54:13.266684Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/resources/google_now/manifest.json?r1=273638&r2=273637&pathrev=273638

Restrict Google Now URL Permissions

BUG= 164227 

Review URL: https://codereview.chromium.org/303003002
-----------------------------------------------------------------
Labels: Cr-Privacy
I just discovered the direct settings API and consider it a major privacy risk because people start overriding Chrome settings that have no UI controls.

This means:
1) You install an extension
2) The extension changes a setting
3) You uninstall the extension
4) The setting remains effective

We need to either have very strong messaging that you must not manipulate settings that don't have a UI correspondence or treat settings as the PreferenceAPI using SetExtensionPref.
Project Member

Comment 158 by bugdroid1@chromium.org, Dec 5 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d16a0fbd8620858f27ec0d2422e08c5b13b95dac

commit d16a0fbd8620858f27ec0d2422e08c5b13b95dac
Author: battre <battre@chromium.org>
Date: Fri Dec 05 08:19:22 2014

Add warning about ChromeDirectSettings API

Add a warning about privacy implications of the ChromeDirectSettings API.

BUG= 164227 

Review URL: https://codereview.chromium.org/780943002

Cr-Commit-Position: refs/heads/master@{#306999}

[modify] http://crrev.com/d16a0fbd8620858f27ec0d2422e08c5b13b95dac/chrome/browser/extensions/api/preference/chrome_direct_setting_api.cc

Status: Verified
This is shipped. Closing. All new issues should go to new bugs tagged with Cr-UI-Browser-GoogleNow.
Showing comments 60 - 159 of 159 Older

Sign in to add a comment