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

Issue 1157863009: CRBProtocolObservers can now be mutated while forwarding methods. (Closed)

Created:
5 years, 6 months ago by jbbegue
Modified:
5 years, 6 months ago
CC:
chromium-reviews, erikwright+watch_chromium.org, sdefresne
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

CRBProtocolObservers can now be mutated while forwarding methods. An observer can now safely call addObserver: or removeObserver: while being called from an observer method dispatch from CRBProtocolObservers. BUG=None Committed: https://crrev.com/12d50e799365f672b29d6eaf3d273b92bf722e4f Cr-Commit-Position: refs/heads/master@{#333022}

Patch Set 1 #

Total comments: 14

Patch Set 2 : #

Total comments: 20

Patch Set 3 : #

Total comments: 6

Patch Set 4 : #

Total comments: 12

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+238 lines, -14 lines) Patch
M base/ios/crb_protocol_observers.h View 1 2 3 4 3 chunks +8 lines, -1 line 0 comments Download
M base/ios/crb_protocol_observers.mm View 1 2 3 4 6 chunks +104 lines, -13 lines 0 comments Download
M base/ios/crb_protocol_observers_unittest.mm View 1 2 3 4 5 chunks +126 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (8 generated)
jbbegue
5 years, 6 months ago (2015-06-04 09:21:25 UTC) #2
droger
https://codereview.chromium.org/1157863009/diff/1/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/1/base/ios/crb_protocol_observers.mm#newcode16 base/ios/crb_protocol_observers.mm:16: std::vector<__weak id> _observers; Nit: I don't think we use ...
5 years, 6 months ago (2015-06-04 10:04:23 UTC) #3
sdefresne
https://codereview.chromium.org/1157863009/diff/20001/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/20001/base/ios/crb_protocol_observers.mm#newcode17 base/ios/crb_protocol_observers.mm:17: int _invocation_depth; _invocationDepth https://codereview.chromium.org/1157863009/diff/20001/base/ios/crb_protocol_observers.mm#newcode33 base/ios/crb_protocol_observers.mm:33: CRBProtocolObservers* protocolObservers_ = nullptr; ...
5 years, 6 months ago (2015-06-04 10:18:34 UTC) #5
sdefresne
https://codereview.chromium.org/1157863009/diff/1/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/1/base/ios/crb_protocol_observers.mm#newcode16 base/ios/crb_protocol_observers.mm:16: std::vector<__weak id> _observers; On 2015/06/04 10:04:23, droger wrote: > ...
5 years, 6 months ago (2015-06-04 10:38:13 UTC) #6
sdefresne
https://codereview.chromium.org/1157863009/diff/20001/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/20001/base/ios/crb_protocol_observers.mm#newcode16 base/ios/crb_protocol_observers.mm:16: std::vector<__weak id> _observers; According to https://developer.apple.com/library/ios/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011226-CH1-SW4, I think it ...
5 years, 6 months ago (2015-06-04 10:45:34 UTC) #7
jbbegue
https://codereview.chromium.org/1157863009/diff/1/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/1/base/ios/crb_protocol_observers.mm#newcode16 base/ios/crb_protocol_observers.mm:16: std::vector<__weak id> _observers; On 2015/06/04 10:04:23, droger wrote: > ...
5 years, 6 months ago (2015-06-04 12:13:03 UTC) #8
droger
lgtm https://codereview.chromium.org/1157863009/diff/40001/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/40001/base/ios/crb_protocol_observers.mm#newcode22 base/ios/crb_protocol_observers.mm:22: int _invocation_depth; _invocationDepth https://codereview.chromium.org/1157863009/diff/40001/base/ios/crb_protocol_observers.mm#newcode25 base/ios/crb_protocol_observers.mm:25: // The methods ...
5 years, 6 months ago (2015-06-04 12:29:53 UTC) #9
sdefresne
lgtm https://codereview.chromium.org/1157863009/diff/40001/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/40001/base/ios/crb_protocol_observers.mm#newcode179 base/ios/crb_protocol_observers.mm:179: _observers.erase(std::remove(_observers.begin(), _observers.end(), nil), nit: DCHECK(!_invocation_depth);
5 years, 6 months ago (2015-06-04 12:32:48 UTC) #10
jbbegue
https://codereview.chromium.org/1157863009/diff/40001/base/ios/crb_protocol_observers.mm File base/ios/crb_protocol_observers.mm (right): https://codereview.chromium.org/1157863009/diff/40001/base/ios/crb_protocol_observers.mm#newcode22 base/ios/crb_protocol_observers.mm:22: int _invocation_depth; On 2015/06/04 12:29:53, droger wrote: > _invocationDepth ...
5 years, 6 months ago (2015-06-04 12:41:46 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1157863009/60001
5 years, 6 months ago (2015-06-04 12:42:26 UTC) #14
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/68308)
5 years, 6 months ago (2015-06-04 12:48:47 UTC) #16
jbbegue
Adding Stuart Morgan for owners. Some context around this change for Stuart: We have found ...
5 years, 6 months ago (2015-06-04 13:06:21 UTC) #18
stuartmorgan
LGTM with nits. Thanks for making sure we had a general solution! https://codereview.chromium.org/1157863009/diff/60001/base/ios/crb_protocol_observers.h File base/ios/crb_protocol_observers.h ...
5 years, 6 months ago (2015-06-04 13:40:06 UTC) #19
jbbegue
https://codereview.chromium.org/1157863009/diff/60001/base/ios/crb_protocol_observers.h File base/ios/crb_protocol_observers.h (right): https://codereview.chromium.org/1157863009/diff/60001/base/ios/crb_protocol_observers.h#newcode35 base/ios/crb_protocol_observers.h:35: // Returns true if there is currently no observers. ...
5 years, 6 months ago (2015-06-04 16:03:11 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1157863009/80001
5 years, 6 months ago (2015-06-05 07:34:30 UTC) #23
commit-bot: I haz the power
Committed patchset #5 (id:80001)
5 years, 6 months ago (2015-06-05 08:12:59 UTC) #24
commit-bot: I haz the power
5 years, 6 months ago (2015-06-05 08:13:53 UTC) #25
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/12d50e799365f672b29d6eaf3d273b92bf722e4f
Cr-Commit-Position: refs/heads/master@{#333022}

Powered by Google App Engine
This is Rietveld 408576698