Chromium Code Reviews
[email protected] (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Issue 1851423003: Make Web Push use InstanceID tokens instead of GCM registrations (Closed)

Created:
4 years, 8 months ago by johnme
Modified:
4 years, 3 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, sadrul, mlamouri+watch-test-runner_chromium.org, zea+watch_chromium.org, mlamouri+watch-content_chromium.org, Peter Beverloo, johnme+watch_chromium.org, jam, mvanouwerkerk+watch_chromium.org, darin-cc_chromium.org, chromium-apps-reviews_chromium.org, mkwst+moarreviews-shell_chromium.org, harkness+watch_chromium.org, jochen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@iid4default
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Make Web Push use InstanceID tokens instead of GCM registrations On both desktop and Android, the Push API will now be backed by InstanceID tokens instead of GCM registrations. This should have no compatibility impact, since GCM was already silently converting Push API registrations to InstanceID format server-side. Part of a series of patches: 1. https://codereview.chromium.org/1832833002 adds InstanceIDWithSubtype 2. https://codereview.chromium.org/1830983002 adds JNI bindings 3. https://codereview.chromium.org/1829023002 adds fake and test 4. https://codereview.chromium.org/1899753002 fixes strict mode violations 5. https://codereview.chromium.org/1854093002 enables InstanceID by default 6. https://codereview.chromium.org/1953273002 extends the GCMKeyStore 7. https://codereview.chromium.org/1923953002 integrates IIDs with crypto 8. https://codereview.chromium.org/2111973002 adds IID subtypes on desktop 9. this patch Also depends on - https://codereview.chromium.org/1945753002 transactional SW userdata - https://codereview.chromium.org/1944863002 fix sender ID storage BUG=589461, 533498 Committed: https://crrev.com/a504573264e3021119337fdfbebc76c7f72a3510 Cr-Commit-Position: refs/heads/master@{#417323}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Rebase #

Patch Set 4 : Fix GN/GYP #

Total comments: 14

Patch Set 5 : Address review comments, and rewrite following rebase (e.g. no longer depends on NestedMessagePumpA… #

Total comments: 32

Patch Set 6 : Major update: hooked up crypto, added non-IID unsubscribe test, added UseInstanceID, addressed comments, rebased #

Patch Set 7 : Rebase (main conflics in browsertest and PMMF) #

Total comments: 30

Patch Set 8 : Address 3rd round review comments #

Patch Set 9 : Rebase and use subtypes on desktop #

Patch Set 10 : Rebase #

Total comments: 2

Patch Set 11 : Rebase (remove force_subtype_for_app_id) #

Total comments: 2

Patch Set 12 : Add back checks to service_worker_apitest.cc #

Patch Set 13 : Rebase #

Patch Set 14 : Rebase #

Patch Set 15 : Fix checkdeps #

Patch Set 16 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+728 lines, -382 lines) Patch
M chrome/android/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/android/javatests/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 chunks +15 lines, -18 lines 0 comments Download
M chrome/browser/extensions/api/instance_id/instance_id_apitest.cc View 1 2 3 4 5 2 chunks +1 line, -13 lines 0 comments Download
M chrome/browser/extensions/service_worker_apitest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +15 lines, -9 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_app_identifier.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_app_identifier.cc View 1 2 3 4 5 6 7 4 chunks +28 lines, -3 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 55 chunks +296 lines, -169 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_service_factory.cc View 1 2 3 4 5 6 7 8 9 2 chunks +14 lines, -5 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_service_impl.h View 1 2 3 4 5 6 7 8 9 chunks +34 lines, -8 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_service_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 19 chunks +170 lines, -78 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_service_unittest.cc View 1 2 3 4 5 6 7 8 9 5 chunks +19 lines, -3 lines 0 comments Download
M chrome/browser/services/gcm/fake_gcm_profile_service.cc View 1 2 3 4 5 6 3 chunks +6 lines, -7 lines 0 comments Download
M chrome/test/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M components/gcm_driver/android/BUILD.gn View 1 chunk +0 lines, -1 line 0 comments Download
D components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/FakeGoogleCloudMessagingSubscriber.java View 1 chunk +0 lines, -56 lines 0 comments Download
M components/gcm_driver/fake_gcm_driver.h View 1 chunk +4 lines, -0 lines 0 comments Download
M components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M components/gcm_driver/instance_id/android/javatests/src/org/chromium/components/gcm_driver/instance_id/FakeInstanceIDWithSubtype.java View 1 2 3 4 5 3 chunks +27 lines, -0 lines 0 comments Download
M components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.h View 1 2 3 4 5 9 2 chunks +16 lines, -0 lines 0 comments Download
M components/gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc View 1 2 3 4 5 6 7 8 9 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/push_messaging/push_messaging_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +17 lines, -10 lines 0 comments Download
M content/public/browser/push_messaging_service.h View 1 2 3 4 5 6 2 chunks +14 lines, -1 line 0 comments Download
M content/public/browser/push_messaging_service.cc View 1 2 3 4 5 6 7 2 chunks +33 lines, -0 lines 0 comments Download
M content/shell/browser/layout_test/layout_test_push_messaging_service.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/shell/browser/layout_test/layout_test_push_messaging_service.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 64 (35 generated)
johnme
4 years, 8 months ago (2016-04-05 19:15:57 UTC) #3
Peter Beverloo
A few higher-level comments. I suspect it will change significantly based on the series of ...
4 years, 8 months ago (2016-04-11 15:47:56 UTC) #4
johnme
Addressed review comments, and significantly rewrote following rebase (e.g. no longer depends on NestedMessagePumpAndroid). Thanks! ...
4 years, 8 months ago (2016-04-21 10:58:38 UTC) #6
Peter Beverloo
Thanks John! This looks a lot better :-) A few questions. https://codereview.chromium.org/1851423003/diff/80001/chrome/android/javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java (right): ...
4 years, 8 months ago (2016-04-21 13:26:19 UTC) #7
johnme
Addressed review comments - thanks! https://codereview.chromium.org/1851423003/diff/80001/chrome/android/javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java (right): https://codereview.chromium.org/1851423003/diff/80001/chrome/android/javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java#newcode175 chrome/android/javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java:175: return iid.mTokens.keySet().iterator().next().split(",", 3)[1]; On ...
4 years, 7 months ago (2016-05-25 14:11:51 UTC) #13
Peter Beverloo
https://codereview.chromium.org/1851423003/diff/120001/chrome/browser/push_messaging/push_messaging_app_identifier.cc File chrome/browser/push_messaging/push_messaging_app_identifier.cc (right): https://codereview.chromium.org/1851423003/diff/120001/chrome/browser/push_messaging/push_messaging_app_identifier.cc#newcode222 chrome/browser/push_messaging/push_messaging_app_identifier.cc:222: DCHECK(app_id_.size() > kPrefixLength + suffix_length); nit: DCHECK_GT https://codereview.chromium.org/1851423003/diff/120001/chrome/browser/push_messaging/push_messaging_app_identifier.cc#newcode240 chrome/browser/push_messaging/push_messaging_app_identifier.cc:240: ...
4 years, 6 months ago (2016-06-02 15:53:18 UTC) #14
johnme
Addressed review comments - thanks! https://codereview.chromium.org/1851423003/diff/120001/chrome/browser/push_messaging/push_messaging_app_identifier.cc File chrome/browser/push_messaging/push_messaging_app_identifier.cc (right): https://codereview.chromium.org/1851423003/diff/120001/chrome/browser/push_messaging/push_messaging_app_identifier.cc#newcode222 chrome/browser/push_messaging/push_messaging_app_identifier.cc:222: DCHECK(app_id_.size() > kPrefixLength + ...
4 years, 6 months ago (2016-06-07 14:16:43 UTC) #15
johnme
Addressed review comments - thanks! https://codereview.chromium.org/1851423003/diff/120001/chrome/browser/push_messaging/push_messaging_app_identifier.cc File chrome/browser/push_messaging/push_messaging_app_identifier.cc (right): https://codereview.chromium.org/1851423003/diff/120001/chrome/browser/push_messaging/push_messaging_app_identifier.cc#newcode222 chrome/browser/push_messaging/push_messaging_app_identifier.cc:222: DCHECK(app_id_.size() > kPrefixLength + ...
4 years, 6 months ago (2016-06-07 14:16:43 UTC) #16
Peter Beverloo
lgtm
4 years, 6 months ago (2016-06-08 12:33:06 UTC) #17
johnme
[email protected]: Please review changes in content/public/browser/push_messaging_service.* [email protected]: Please review changes in chrome/android/BUILD.gn and chrome/android/chrome_apk.gyp [email protected]: ...
4 years, 4 months ago (2016-08-24 18:19:36 UTC) #22
gone
https://chromiumcodereview.appspot.com/1851423003/diff/180001/chrome/android/chrome_apk.gyp File chrome/android/chrome_apk.gyp (right): https://chromiumcodereview.appspot.com/1851423003/diff/180001/chrome/android/chrome_apk.gyp#newcode281 chrome/android/chrome_apk.gyp:281: '../../components/components.gyp:instance_id_driver_test_support_java', 1) Are we still maintaining GYP files? 2) ...
4 years, 4 months ago (2016-08-24 18:48:10 UTC) #25
johnme
https://chromiumcodereview.appspot.com/1851423003/diff/180001/chrome/android/chrome_apk.gyp File chrome/android/chrome_apk.gyp (right): https://chromiumcodereview.appspot.com/1851423003/diff/180001/chrome/android/chrome_apk.gyp#newcode281 chrome/android/chrome_apk.gyp:281: '../../components/components.gyp:instance_id_driver_test_support_java', On 2016/08/24 18:48:10, dfalcantara wrote: > 1) Are ...
4 years, 4 months ago (2016-08-24 19:17:01 UTC) #26
johnme
https://chromiumcodereview.appspot.com/1851423003/diff/180001/chrome/android/chrome_apk.gyp File chrome/android/chrome_apk.gyp (right): https://chromiumcodereview.appspot.com/1851423003/diff/180001/chrome/android/chrome_apk.gyp#newcode281 chrome/android/chrome_apk.gyp:281: '../../components/components.gyp:instance_id_driver_test_support_java', On 2016/08/24 18:48:10, dfalcantara wrote: > 1) Are ...
4 years, 4 months ago (2016-08-24 19:17:01 UTC) #27
gone
Cool, lgtm.
4 years, 4 months ago (2016-08-24 19:18:05 UTC) #28
johnme
-finnur +rdevlin.cronin, who's probably a more appropriate reviewer for these parts of chrome/browser/extensions
4 years, 4 months ago (2016-08-24 21:08:44 UTC) #32
Devlin
My knowledge here is pretty rough, so might be asking an unnecessary question. https://codereview.chromium.org/1851423003/diff/200001/chrome/browser/extensions/service_worker_apitest.cc File ...
4 years, 4 months ago (2016-08-24 21:34:58 UTC) #33
johnme
Addressed Devlin's review comment - thanks! https://codereview.chromium.org/1851423003/diff/200001/chrome/browser/extensions/service_worker_apitest.cc File chrome/browser/extensions/service_worker_apitest.cc (left): https://codereview.chromium.org/1851423003/diff/200001/chrome/browser/extensions/service_worker_apitest.cc#oldcode766 chrome/browser/extensions/service_worker_apitest.cc:766: EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); On ...
4 years, 4 months ago (2016-08-24 22:03:44 UTC) #34
johnme
-avi (seems to be out) +piman
4 years, 4 months ago (2016-08-24 22:08:47 UTC) #38
piman
content/ LGTM
4 years, 4 months ago (2016-08-24 22:09:08 UTC) #39
Devlin
extensions lgtm
4 years, 4 months ago (2016-08-24 23:25:34 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1851423003/240001
4 years, 3 months ago (2016-09-06 16:35:26 UTC) #45
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/263603)
4 years, 3 months ago (2016-09-06 16:38:20 UTC) #47
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1851423003/260001
4 years, 3 months ago (2016-09-06 16:42:29 UTC) #50
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/292747)
4 years, 3 months ago (2016-09-06 19:38:15 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1851423003/280001
4 years, 3 months ago (2016-09-08 11:57:17 UTC) #55
commit-bot: I haz the power
Exceeded global retry quota
4 years, 3 months ago (2016-09-08 12:29:38 UTC) #57
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1851423003/300001
4 years, 3 months ago (2016-09-08 13:57:40 UTC) #60
commit-bot: I haz the power
Committed patchset #16 (id:300001)
4 years, 3 months ago (2016-09-08 17:23:48 UTC) #62
commit-bot: I haz the power
4 years, 3 months ago (2016-09-08 17:25:56 UTC) #64
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/a504573264e3021119337fdfbebc76c7f72a3510
Cr-Commit-Position: refs/heads/master@{#417323}

Powered by Google App Engine
This is Rietveld 408576698