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

Issue 996813002: Deflake PushMessagingBrowserTest.DenyPushPermissionUnregisters & friends (Closed)

Created:
5 years, 9 months ago by johnme
Modified:
5 years, 9 months ago
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Deflake PushMessagingBrowserTest.DenyPushPermissionUnregisters & friends PushMessagingServiceImpl::OnContentSettingChanged calls PushMessagingService::GetSenderId which hops to the IO thread and performs an asynchronous database lookup before finally calling PushMessagingService::ClearPushRegistrationID on the UI thread. This patch de-flakes a bunch of tests which depend on this sequence of tasks having completed, by adding (and using) a PushMessagingServiceImpl::SetContentSettingChangedCallbackForTesting method which allows tests to wait until the sequence of tasks is complete. BUG=464710 Committed: https://crrev.com/6d9e37311bba05586e48560f1e762ada24d17b25 Cr-Commit-Position: refs/heads/master@{#320512}

Patch Set 1 #

Total comments: 1

Patch Set 2 : Use RunLoop directly #

Patch Set 3 : Fix app id lifetime, and simplify usage #

Total comments: 1

Patch Set 4 : Total rewrite: use callbacks to guarantee termination #

Total comments: 6

Patch Set 5 : Address Bernhard's review comments #

Patch Set 6 : Fix compile #

Total comments: 2

Patch Set 7 : Address Bernhard's nit #

Total comments: 2

Patch Set 8 : RunLoop -> MessageLoopRunner #

Patch Set 9 : Use scoped_refptr #

Unified diffs Side-by-side diffs Delta from patch set Stats (+131 lines, -62 lines) Patch
M chrome/browser/push_messaging/push_messaging_browsertest.cc View 1 2 3 4 5 6 7 8 20 chunks +67 lines, -42 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_service_impl.h View 1 2 3 4 chunks +7 lines, -0 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_service_impl.cc View 1 2 3 4 5 6 5 chunks +39 lines, -11 lines 0 comments Download
M content/public/browser/push_messaging_service.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M content/public/browser/push_messaging_service.cc View 1 2 3 4 chunks +14 lines, -7 lines 0 comments Download
M content/shell/browser/layout_test/layout_test_push_messaging_service.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 18 (4 generated)
johnme
5 years, 9 months ago (2015-03-10 17:15:53 UTC) #2
Bernhard Bauer
Urr... The first WaitForGetUserDataRoundTrip() call works, but is kinda hacky IMO, because it relies on ...
5 years, 9 months ago (2015-03-10 18:03:19 UTC) #3
johnme
> The first WaitForGetUserDataRoundTrip() call works, but is kinda hacky > IMO, because it relies ...
5 years, 9 months ago (2015-03-12 16:17:51 UTC) #4
Bernhard Bauer
W00t! https://codereview.chromium.org/996813002/diff/60001/chrome/browser/push_messaging/push_messaging_service_impl.cc File chrome/browser/push_messaging/push_messaging_service_impl.cc (right): https://codereview.chromium.org/996813002/diff/60001/chrome/browser/push_messaging/push_messaging_service_impl.cc#newcode706 chrome/browser/push_messaging/push_messaging_service_impl.cc:706: ? base::Bind(&base::DoNothing) I think I would indent this ...
5 years, 9 months ago (2015-03-12 17:46:52 UTC) #5
johnme
Addressed Bernhard's review comments - thanks :) https://codereview.chromium.org/996813002/diff/60001/chrome/browser/push_messaging/push_messaging_service_impl.cc File chrome/browser/push_messaging/push_messaging_service_impl.cc (right): https://codereview.chromium.org/996813002/diff/60001/chrome/browser/push_messaging/push_messaging_service_impl.cc#newcode706 chrome/browser/push_messaging/push_messaging_service_impl.cc:706: ? base::Bind(&base::DoNothing) ...
5 years, 9 months ago (2015-03-13 11:56:13 UTC) #6
Bernhard Bauer
LGTM with a nit. Thanks for indulging me! https://codereview.chromium.org/996813002/diff/100001/chrome/browser/push_messaging/push_messaging_service_impl.cc File chrome/browser/push_messaging/push_messaging_service_impl.cc (right): https://codereview.chromium.org/996813002/diff/100001/chrome/browser/push_messaging/push_messaging_service_impl.cc#newcode88 chrome/browser/push_messaging/push_messaging_service_impl.cc:88: static ...
5 years, 9 months ago (2015-03-13 12:28:37 UTC) #7
johnme
Addressed Bernhard's nit https://codereview.chromium.org/996813002/diff/100001/chrome/browser/push_messaging/push_messaging_service_impl.cc File chrome/browser/push_messaging/push_messaging_service_impl.cc (right): https://codereview.chromium.org/996813002/diff/100001/chrome/browser/push_messaging/push_messaging_service_impl.cc#newcode88 chrome/browser/push_messaging/push_messaging_service_impl.cc:88: static void UnregisterCallbackToClosure( On 2015/03/13 12:28:37, ...
5 years, 9 months ago (2015-03-13 13:12:17 UTC) #8
johnme
avi@chromium.org: Please review changes in content/
5 years, 9 months ago (2015-03-13 13:14:04 UTC) #10
Avi (use Gerrit)
Can you please use MessageLoopRunner rather than playing with RunLoops directly? https://codereview.chromium.org/996813002/diff/120001/chrome/browser/push_messaging/push_messaging_browsertest.cc File chrome/browser/push_messaging/push_messaging_browsertest.cc (right): ...
5 years, 9 months ago (2015-03-13 13:58:05 UTC) #11
johnme
Switched from RunLoop to MessageLoopRunner, as suggested - thanks. https://codereview.chromium.org/996813002/diff/120001/chrome/browser/push_messaging/push_messaging_browsertest.cc File chrome/browser/push_messaging/push_messaging_browsertest.cc (right): https://codereview.chromium.org/996813002/diff/120001/chrome/browser/push_messaging/push_messaging_browsertest.cc#newcode108 chrome/browser/push_messaging/push_messaging_browsertest.cc:108: ...
5 years, 9 months ago (2015-03-13 14:21:29 UTC) #12
Avi (use Gerrit)
Thanks! LGTM
5 years, 9 months ago (2015-03-13 15:14:52 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/996813002/160001
5 years, 9 months ago (2015-03-13 15:52:53 UTC) #16
commit-bot: I haz the power
Committed patchset #9 (id:160001)
5 years, 9 months ago (2015-03-13 16:16:04 UTC) #17
commit-bot: I haz the power
5 years, 9 months ago (2015-03-13 16:16:53 UTC) #18
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/6d9e37311bba05586e48560f1e762ada24d17b25
Cr-Commit-Position: refs/heads/master@{#320512}

Powered by Google App Engine
This is Rietveld 408576698