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

Issue 2680403005: Introduce WebStateList to manage a list of web::WebState. (Closed)

Created:
3 years, 10 months ago by sdefresne
Modified:
3 years, 10 months ago
CC:
chromium-reviews, marq+watch_chromium.org, pkl (ping after 24h if needed), noyau+watch_chromium.org, sdefresne+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce WebStateList to manage a list of web::WebState. Introduce WebStateList class that contains a list of web::WebState. Followup CLs will refactor TabModel to use it and share code with the new clean architecture. WebStateList can either owns the web::WebState objects (should be used by the new clean architecture or eventually after refactoring the Tab ownership) or just borrow them. BUG=687207 Review-Url: https://codereview.chromium.org/2680403005 Cr-Commit-Position: refs/heads/master@{#451286} Committed: https://chromium.googlesource.com/chromium/src/+/d7519ff3a7e074f03a8d481c1f63fe3f54431682

Patch Set 1 #

Patch Set 2 : Fix "gn check". #

Total comments: 24

Patch Set 3 : Rebase && address comments. #

Total comments: 8

Patch Set 4 : Convert WebStateList API to use int (following style guide) & add NSFastEnumeration tests. #

Patch Set 5 : WebStateListFastEnumerationHelper owns id<WebStateProxyFactory>. #

Patch Set 6 : Rebase. #

Patch Set 7 : Rebase on https://codereview.chromium.org/2690893003/. #

Patch Set 8 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1104 lines, -1 line) Patch
M ios/chrome/test/BUILD.gn View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M ios/shared/DEPS View 1 2 3 1 chunk +5 lines, -1 line 0 comments Download
A ios/shared/chrome/browser/tabs/BUILD.gn View 1 2 3 1 chunk +38 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list.h View 1 2 3 1 chunk +84 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list.mm View 1 2 3 1 chunk +123 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list_fast_enumeration_helper.h View 1 2 1 chunk +35 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list_fast_enumeration_helper.mm View 1 2 3 4 1 chunk +147 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list_fast_enumeration_helper_unittest.mm View 1 2 3 1 chunk +99 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list_observer.h View 1 2 3 1 chunk +52 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h View 1 2 3 1 chunk +75 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.mm View 1 2 3 1 chunk +72 lines, -0 lines 0 comments Download
A ios/shared/chrome/browser/tabs/web_state_list_unittest.mm View 1 2 3 1 chunk +373 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 68 (42 generated)
sdefresne
Please take a look. This just introduce WebStateList. You can get a sense of how ...
3 years, 10 months ago (2017-02-10 15:26:32 UTC) #4
sdefresne
rohitrao & marq: ping
3 years, 10 months ago (2017-02-13 15:45:48 UTC) #11
marq (ping after 24h)
LGTM with comment nits. https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list.h File ios/shared/chrome/browser/tabs/web_state_list.h (right): https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list.h#newcode43 ios/shared/chrome/browser/tabs/web_state_list.h:43: // with an index such ...
3 years, 10 months ago (2017-02-13 16:32:53 UTC) #12
rohitrao (ping after 24h)
https://codereview.chromium.org/2680403005/diff/20001/ios/shared/DEPS File ios/shared/DEPS (right): https://codereview.chromium.org/2680403005/diff/20001/ios/shared/DEPS#newcode5 ios/shared/DEPS:5: # forbids circular dependencies. Typo: forbid. https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list.mm File ios/shared/chrome/browser/tabs/web_state_list.mm ...
3 years, 10 months ago (2017-02-13 20:54:29 UTC) #13
rohitrao (ping after 24h)
https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h File ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h (right): https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h#newcode15 ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h:15: @protocol WebStateListObserver<NSObject> How does this compile? You can have ...
3 years, 10 months ago (2017-02-14 13:01:26 UTC) #14
sdefresne
On 2017/02/14 13:01:26, rohitrao wrote: > https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h > File ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h (right): > > https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h#newcode15 > ...
3 years, 10 months ago (2017-02-14 13:08:03 UTC) #15
marq (ping after 24h)
https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h File ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h (right): https://codereview.chromium.org/2680403005/diff/20001/ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h#newcode15 ios/shared/chrome/browser/tabs/web_state_list_observer_bridge.h:15: @protocol WebStateListObserver<NSObject> On 2017/02/14 13:01:26, rohitrao wrote: > How ...
3 years, 10 months ago (2017-02-14 13:11:49 UTC) #16
rohitrao (ping after 24h)
For me, protocols occupy the same mental namespace as classes, so I find it confusing ...
3 years, 10 months ago (2017-02-14 13:30:51 UTC) #17
sdefresne
Thank you for the review. I renamed the protocol, the methods and the parameter. PTAL. ...
3 years, 10 months ago (2017-02-14 13:39:57 UTC) #20
rohitrao (ping after 24h)
lgtm https://codereview.chromium.org/2680403005/diff/40001/ios/shared/chrome/browser/tabs/web_state_list.h File ios/shared/chrome/browser/tabs/web_state_list.h (right): https://codereview.chromium.org/2680403005/diff/40001/ios/shared/chrome/browser/tabs/web_state_list.h#newcode61 ios/shared/chrome/browser/tabs/web_state_list.h:61: // Detachs the WebState at the specified index. ...
3 years, 10 months ago (2017-02-14 13:49:32 UTC) #21
sdefresne
Please take another (last) look. https://codereview.chromium.org/2680403005/diff/40001/ios/shared/chrome/browser/tabs/web_state_list.h File ios/shared/chrome/browser/tabs/web_state_list.h (right): https://codereview.chromium.org/2680403005/diff/40001/ios/shared/chrome/browser/tabs/web_state_list.h#newcode61 ios/shared/chrome/browser/tabs/web_state_list.h:61: // Detachs the WebState ...
3 years, 10 months ago (2017-02-14 15:26:35 UTC) #26
rohitrao (ping after 24h)
lgtm
3 years, 10 months ago (2017-02-14 16:22:35 UTC) #29
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/2680403005/80001
3 years, 10 months ago (2017-02-14 16:37:29 UTC) #33
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/2680403005/80001
3 years, 10 months ago (2017-02-14 16:38:55 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/363969)
3 years, 10 months ago (2017-02-14 16:44:46 UTC) #38
sdefresne
mef: can you review the new DEPS on //net. Note that we are refactoring src/ios/chrome/browser ...
3 years, 10 months ago (2017-02-15 14:32:25 UTC) #42
sdefresne
If this looks good to you could you send to CQ?
3 years, 10 months ago (2017-02-15 14:32:51 UTC) #43
mef
lgtm
3 years, 10 months ago (2017-02-16 17:44:09 UTC) #50
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/2680403005/120001
3 years, 10 months ago (2017-02-16 17:45:10 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/311304) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 10 months ago (2017-02-16 17:54:48 UTC) #54
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/2680403005/140001
3 years, 10 months ago (2017-02-17 09:50:48 UTC) #57
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/121411)
3 years, 10 months ago (2017-02-17 10:57:01 UTC) #59
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/2680403005/140001
3 years, 10 months ago (2017-02-17 10:59:09 UTC) #61
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/121439)
3 years, 10 months ago (2017-02-17 11:50:07 UTC) #63
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/2680403005/140001
3 years, 10 months ago (2017-02-17 11:53:09 UTC) #65
commit-bot: I haz the power
3 years, 10 months ago (2017-02-17 12:33:28 UTC) #68
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/chromium/src/+/d7519ff3a7e074f03a8d481c1f63...

Powered by Google App Engine
This is Rietveld 408576698