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

Issue 1885463002: Create a Promise class to simplify dealing with async results. (Closed)

Created:
4 years, 8 months ago by PEConn
Modified:
4 years, 6 months ago
Reviewers:
Bernhard Bauer, dgn, Torne
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Create a Promise class to simplify dealing with async results. BUG=It's a feature! TBR=thakis@chromium.org Committed: https://crrev.com/63e6b5040e27c476cd1303520a2627997560e605 Cr-Commit-Position: refs/heads/master@{#401846}

Patch Set 1 #

Total comments: 4

Patch Set 2 : #

Total comments: 8

Patch Set 3 : #

Patch Set 4 : #

Total comments: 6

Patch Set 5 : #

Patch Set 6 : #

Total comments: 2

Patch Set 7 : #

Total comments: 4

Patch Set 8 : #

Total comments: 2

Patch Set 9 : #

Patch Set 10 : #

Total comments: 2

Patch Set 11 : #

Total comments: 8

Patch Set 12 : Redid then(Callback) #

Patch Set 13 : Use android_support_v23, not android_support_annotations #

Patch Set 14 : Specify types for generics. #

Patch Set 15 : Remove IntDef #

Messages

Total messages: 66 (22 generated)
PEConn
4 years, 8 months ago (2016-04-12 08:29:18 UTC) #2
PEConn
4 years, 8 months ago (2016-04-12 08:29:20 UTC) #3
Bernhard Bauer
Can you put up a change that uses this? Maybe even in this CL, or ...
4 years, 8 months ago (2016-04-12 08:52:06 UTC) #4
dgn
https://codereview.chromium.org/1885463002/diff/1/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/1/base/android/java/src/org/chromium/base/Promise.java#newcode32 base/android/java/src/org/chromium/base/Promise.java:32: public void then(Callback<T> callback) { how about failure conditions? ...
4 years, 8 months ago (2016-04-12 11:15:24 UTC) #5
Bernhard Bauer
https://codereview.chromium.org/1885463002/diff/1/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/1/base/android/java/src/org/chromium/base/Promise.java#newcode32 base/android/java/src/org/chromium/base/Promise.java:32: public void then(Callback<T> callback) { On 2016/04/12 11:15:24, dgn ...
4 years, 8 months ago (2016-04-12 11:17:35 UTC) #6
PEConn
I posted the callbacks to the Looper to prevent the UI thread getting blocked too ...
4 years, 8 months ago (2016-04-13 16:06:43 UTC) #7
Bernhard Bauer
https://codereview.chromium.org/1885463002/diff/20001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/20001/base/android/java/src/org/chromium/base/Promise.java#newcode39 base/android/java/src/org/chromium/base/Promise.java:39: callback.onResult(mResult); I think you may also want want to ...
4 years, 8 months ago (2016-04-13 16:24:22 UTC) #8
PEConn
I updated InterestsItemView to use Promises as that gives a slightly better argument for their ...
4 years, 8 months ago (2016-04-13 16:40:39 UTC) #9
PEConn
I added Promise chaining, PTAL. https://codereview.chromium.org/1885463002/diff/20001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/20001/base/android/java/src/org/chromium/base/Promise.java#newcode39 base/android/java/src/org/chromium/base/Promise.java:39: callback.onResult(mResult); On 2016/04/13 16:24:21, ...
4 years, 7 months ago (2016-05-25 09:52:12 UTC) #10
Bernhard Bauer
Nice! https://codereview.chromium.org/1885463002/diff/60001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/60001/base/android/java/src/org/chromium/base/Promise.java#newcode40 base/android/java/src/org/chromium/base/Promise.java:40: * instantly if the Promise is already fulfilled. ...
4 years, 7 months ago (2016-05-26 09:31:08 UTC) #11
PEConn
https://codereview.chromium.org/1885463002/diff/1/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/1/base/android/java/src/org/chromium/base/Promise.java#newcode32 base/android/java/src/org/chromium/base/Promise.java:32: public void then(Callback<T> callback) { On 2016/04/12 11:15:24, dgn ...
4 years, 6 months ago (2016-05-31 10:29:56 UTC) #12
Bernhard Bauer
https://codereview.chromium.org/1885463002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java File chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java (right): https://codereview.chromium.org/1885463002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java#newcode556 chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java:556: Promise<Void> promise = (wipeData On 2016/05/31 10:29:55, PEConn1 wrote: ...
4 years, 6 months ago (2016-05-31 14:26:27 UTC) #13
PEConn
torne@ Could you please take a look at the base/android stuff? https://codereview.chromium.org/1885463002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java File chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java (right): ...
4 years, 6 months ago (2016-06-01 08:58:37 UTC) #15
Bernhard Bauer
LGTM https://codereview.chromium.org/1885463002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java File chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java (right): https://codereview.chromium.org/1885463002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java#newcode611 chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java:611: * wiped, if the parameter is true or ...
4 years, 6 months ago (2016-06-01 12:35:09 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1885463002/120001
4 years, 6 months ago (2016-06-02 09:42:19 UTC) #18
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-02 11:05:04 UTC) #20
PEConn
Ping for an LGTM for base. https://codereview.chromium.org/1885463002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java File chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java (right): https://codereview.chromium.org/1885463002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java#newcode611 chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java:611: * wiped, if ...
4 years, 6 months ago (2016-06-03 09:01:07 UTC) #21
Torne
No way to handle exceptions? https://codereview.chromium.org/1885463002/diff/120001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/120001/base/android/java/src/org/chromium/base/Promise.java#newcode27 base/android/java/src/org/chromium/base/Promise.java:27: public interface Function<R, A> ...
4 years, 6 months ago (2016-06-03 14:50:17 UTC) #22
PEConn
I have implemented Promise rejections. https://codereview.chromium.org/1885463002/diff/120001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/120001/base/android/java/src/org/chromium/base/Promise.java#newcode27 base/android/java/src/org/chromium/base/Promise.java:27: public interface Function<R, A> ...
4 years, 6 months ago (2016-06-07 17:28:07 UTC) #23
Bernhard Bauer
Awesome! https://codereview.chromium.org/1885463002/diff/140001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/140001/base/android/java/src/org/chromium/base/Promise.java#newcode114 base/android/java/src/org/chromium/base/Promise.java:114: private void exceptInner(Callback<Exception> onReject) { I think we ...
4 years, 6 months ago (2016-06-08 11:21:10 UTC) #24
PEConn
https://codereview.chromium.org/1885463002/diff/140001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/140001/base/android/java/src/org/chromium/base/Promise.java#newcode114 base/android/java/src/org/chromium/base/Promise.java:114: private void exceptInner(Callback<Exception> onReject) { On 2016/06/08 11:21:09, Bernhard ...
4 years, 6 months ago (2016-06-08 14:02:12 UTC) #25
PEConn
Caused the Promise to fail if |except(Callback)| is called, then |then(Callback)| is called.
4 years, 6 months ago (2016-06-08 15:26:07 UTC) #26
Bernhard Bauer
lgtm https://codereview.chromium.org/1885463002/diff/180001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/180001/base/android/java/src/org/chromium/base/Promise.java#newcode127 base/android/java/src/org/chromium/base/Promise.java:127: assert !mSingleArgumentThenCalled : "If you wish to provide ...
4 years, 6 months ago (2016-06-08 15:28:19 UTC) #27
PEConn
https://codereview.chromium.org/1885463002/diff/180001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/180001/base/android/java/src/org/chromium/base/Promise.java#newcode127 base/android/java/src/org/chromium/base/Promise.java:127: assert !mSingleArgumentThenCalled : "If you wish to provide both ...
4 years, 6 months ago (2016-06-08 16:16:55 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/200001
4 years, 6 months ago (2016-06-08 16:17:32 UTC) #30
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/78391)
4 years, 6 months ago (2016-06-08 16:32:30 UTC) #32
Torne
Generally LGTM with a couple of nits - not sure we should go to the ...
4 years, 6 months ago (2016-06-15 12:17:55 UTC) #33
PEConn
https://codereview.chromium.org/1885463002/diff/200001/base/android/java/src/org/chromium/base/Promise.java File base/android/java/src/org/chromium/base/Promise.java (right): https://codereview.chromium.org/1885463002/diff/200001/base/android/java/src/org/chromium/base/Promise.java#newcode89 base/android/java/src/org/chromium/base/Promise.java:89: Callback<Exception> onReject = new Callback<Exception>() { On 2016/06/15 12:17:55, ...
4 years, 6 months ago (2016-06-15 13:46:49 UTC) #34
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/220001
4 years, 6 months ago (2016-06-15 13:47:36 UTC) #36
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/81704)
4 years, 6 months ago (2016-06-15 14:02:52 UTC) #38
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/240001
4 years, 6 months ago (2016-06-16 09:35:55 UTC) #40
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/82320)
4 years, 6 months ago (2016-06-16 09:51:49 UTC) #42
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/260001
4 years, 6 months ago (2016-06-16 12:31:15 UTC) #44
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/88696)
4 years, 6 months ago (2016-06-16 13:14:31 UTC) #46
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/280001
4 years, 6 months ago (2016-06-16 14:31:37 UTC) #48
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/82382) android_compile_dbg on ...
4 years, 6 months ago (2016-06-16 14:35:05 UTC) #50
PEConn
@bauerb: Do you mind taking one (hopefully) final look over the code?
4 years, 6 months ago (2016-06-22 09:06:41 UTC) #52
Bernhard Bauer
lgtm
4 years, 6 months ago (2016-06-22 09:12:22 UTC) #53
Torne
still LGTM as well
4 years, 6 months ago (2016-06-23 14:31:03 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/300001
4 years, 6 months ago (2016-06-24 09:22:42 UTC) #57
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/206632)
4 years, 6 months ago (2016-06-24 09:30:04 UTC) #59
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1885463002/300001
4 years, 6 months ago (2016-06-24 10:33:29 UTC) #62
commit-bot: I haz the power
Committed patchset #15 (id:300001)
4 years, 6 months ago (2016-06-24 10:37:28 UTC) #64
commit-bot: I haz the power
4 years, 6 months ago (2016-06-24 10:39:00 UTC) #66
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/63e6b5040e27c476cd1303520a2627997560e605
Cr-Commit-Position: refs/heads/master@{#401846}

Powered by Google App Engine
This is Rietveld 408576698