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

Issue 1360993002: Moved NavigationManagerImpl serialization out of CRWSessionController. (Closed)

Created:
5 years, 3 months ago by kkhorimoto
Modified:
3 years, 11 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

Moved NavigationManagerImpl serialization out of CRWSessionController. - Created CRWNavigationManagerStorage, which holds all the data that is persisted for a single NavigationManager. It conforms to NSCoding and is responsible for encoding sessions. A factory method for these objects as added to WebState's public interface. - Created NavigationManagerStorageBuilder, which contains functions to convert between NavigationManagers and CRWNavigationManagerStorage. - Changed the relationship between WebStateImpls and NavigationManagerImpls. Previously, WebStateImpls created empty NavigationManagerImpls and injected deserialized CRWSessionControllers into them. Now, WebStateImpls are passed serialized NavigationManagers upon construction when restoring state. - SessionWindowIOS's interface is updated to use NavigationManager serializations rather than WebStateImpls, and SessionWindowIOS clients in chrome// can use these to create WebStates using CreateParams. BUG=454984 Review-Url: https://codereview.chromium.org/1360993002 Cr-Commit-Position: refs/heads/master@{#446279} Committed: https://chromium.googlesource.com/chromium/src/+/be48752128d7ec4a5bd6d980157deb60dbb29548

Patch Set 1 #

Total comments: 36

Patch Set 2 : Eugene's comments #

Total comments: 4

Patch Set 3 : Include chrome code, create public interface for serialization builder #

Patch Set 4 : test fixes, move builder to implementation detail #

Patch Set 5 : cleanup #

Patch Set 6 : test fix #

Total comments: 12

Patch Set 7 : eugene's comments #

Patch Set 8 : rebase #

Patch Set 9 : compilation fix after rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+461 lines, -241 lines) Patch
M ios/chrome/browser/crash_report/crash_restore_helper.mm View 1 2 3 4 5 6 1 chunk +6 lines, -3 lines 0 comments Download
M ios/chrome/browser/sessions/session_service.mm View 1 2 3 4 5 6 2 chunks +4 lines, -1 line 0 comments Download
M ios/chrome/browser/sessions/session_service_unittest.mm View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M ios/chrome/browser/sessions/session_window.h View 1 2 3 4 5 6 1 chunk +10 lines, -10 lines 0 comments Download
M ios/chrome/browser/sessions/session_window.mm View 1 2 3 4 5 6 3 chunks +54 lines, -89 lines 0 comments Download
M ios/chrome/browser/sessions/session_window_unittest.mm View 1 2 3 4 5 6 4 chunks +18 lines, -20 lines 0 comments Download
M ios/chrome/browser/tabs/tab_model.mm View 1 2 3 4 5 6 7 8 4 chunks +23 lines, -15 lines 0 comments Download
M ios/chrome/browser/tabs/tab_model_unittest.mm View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M ios/web/BUILD.gn View 1 2 3 4 5 6 2 chunks +4 lines, -0 lines 0 comments Download
M ios/web/navigation/crw_session_controller.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M ios/web/navigation/crw_session_controller.mm View 1 2 3 4 5 6 7 3 chunks +8 lines, -66 lines 0 comments Download
M ios/web/navigation/navigation_manager_impl.h View 1 2 3 4 5 6 2 chunks +10 lines, -2 lines 0 comments Download
M ios/web/navigation/navigation_manager_impl.mm View 1 2 2 chunks +10 lines, -8 lines 0 comments Download
M ios/web/navigation/navigation_manager_impl_unittest.mm View 1 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download
A ios/web/navigation/navigation_manager_storage_builder.h View 1 2 3 4 5 6 1 chunk +29 lines, -0 lines 0 comments Download
A ios/web/navigation/navigation_manager_storage_builder.mm View 1 2 3 4 5 6 1 chunk +88 lines, -0 lines 0 comments Download
M ios/web/net/crw_ssl_status_updater_unittest.mm View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
A ios/web/public/crw_navigation_manager_storage.h View 1 2 3 4 5 6 1 chunk +35 lines, -0 lines 0 comments Download
A ios/web/public/crw_navigation_manager_storage.mm View 1 2 3 4 5 6 1 chunk +88 lines, -0 lines 0 comments Download
M ios/web/public/test/fakes/test_web_state.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M ios/web/public/test/fakes/test_web_state.mm View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M ios/web/public/web_state/web_state.h View 1 2 3 4 5 6 3 chunks +9 lines, -0 lines 0 comments Download
M ios/web/web_state/web_state_impl.h View 1 2 3 4 5 6 7 5 chunks +8 lines, -8 lines 0 comments Download
M ios/web/web_state/web_state_impl.mm View 1 2 3 4 5 6 7 9 chunks +43 lines, -13 lines 0 comments Download

Messages

Total messages: 47 (27 generated)
kkhorimoto
Addresses changes discussed with Eugene last quarter.
5 years, 3 months ago (2015-09-23 01:17:01 UTC) #2
Eugene But (OOO till 7-30)
https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h File ios/web/navigation/crw_serialized_navigation_manager.h (right): https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h#newcode17 ios/web/navigation/crw_serialized_navigation_manager.h:17: @interface CRWSerializedNavigationManager : NSObject<NSCoding> class needs comments https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h#newcode17 ios/web/navigation/crw_serialized_navigation_manager.h:17: ...
5 years, 3 months ago (2015-09-23 16:33:44 UTC) #3
kkhorimoto
https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h File ios/web/navigation/crw_serialized_navigation_manager.h (right): https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h#newcode17 ios/web/navigation/crw_serialized_navigation_manager.h:17: @interface CRWSerializedNavigationManager : NSObject<NSCoding> On 2015/09/23 16:33:44, eugenebut wrote: ...
5 years, 3 months ago (2015-09-24 18:13:00 UTC) #4
Eugene But (OOO till 7-30)
lgtm I will defer naming question to Stuart https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h File ios/web/navigation/crw_serialized_navigation_manager.h (right): https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h#newcode17 ios/web/navigation/crw_serialized_navigation_manager.h:17: @interface ...
5 years, 3 months ago (2015-09-24 18:44:29 UTC) #5
stuartmorgan
lgtm https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h File ios/web/navigation/crw_serialized_navigation_manager.h (right): https://codereview.chromium.org/1360993002/diff/1/ios/web/navigation/crw_serialized_navigation_manager.h#newcode17 ios/web/navigation/crw_serialized_navigation_manager.h:17: @interface CRWSerializedNavigationManager : NSObject<NSCoding> On 2015/09/24 18:44:29, eugenebut ...
5 years, 2 months ago (2015-09-28 22:27:33 UTC) #6
kkhorimoto
PTAL, I've updated this CL to include changes that were previously downstream. I've changed the ...
3 years, 11 months ago (2017-01-25 07:01:54 UTC) #11
kkhorimoto
test fixes, move builder to implementation detail
3 years, 11 months ago (2017-01-25 07:59:51 UTC) #14
kkhorimoto
cleanup
3 years, 11 months ago (2017-01-25 08:12:33 UTC) #20
kkhorimoto
test fix
3 years, 11 months ago (2017-01-25 08:17:14 UTC) #21
Eugene But (OOO till 7-30)
Is this a temporary incremental change or the final design? If latter then I think ...
3 years, 11 months ago (2017-01-25 16:03:38 UTC) #26
Eugene But (OOO till 7-30)
Thanks for cleanup! lgtm https://codereview.chromium.org/1360993002/diff/100001/ios/chrome/browser/sessions/session_window.mm File ios/chrome/browser/sessions/session_window.mm (right): https://codereview.chromium.org/1360993002/diff/100001/ios/chrome/browser/sessions/session_window.mm#newcode13 ios/chrome/browser/sessions/session_window.mm:13: #include "base/mac/scoped_nsobject.h" nit: s/include/import https://codereview.chromium.org/1360993002/diff/100001/ios/chrome/browser/sessions/session_window_unittest.mm ...
3 years, 11 months ago (2017-01-25 19:24:30 UTC) #27
kkhorimoto
https://codereview.chromium.org/1360993002/diff/100001/ios/chrome/browser/sessions/session_window.mm File ios/chrome/browser/sessions/session_window.mm (right): https://codereview.chromium.org/1360993002/diff/100001/ios/chrome/browser/sessions/session_window.mm#newcode13 ios/chrome/browser/sessions/session_window.mm:13: #include "base/mac/scoped_nsobject.h" On 2017/01/25 19:24:29, Eugene But wrote: > ...
3 years, 11 months ago (2017-01-26 07:19:10 UTC) #28
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/1360993002/120001
3 years, 11 months ago (2017-01-26 07:20:23 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/142696) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 11 months ago (2017-01-26 07:22:09 UTC) #34
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/1360993002/140001
3 years, 11 months ago (2017-01-26 07:27:30 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/144180)
3 years, 11 months ago (2017-01-26 07:34:51 UTC) #39
kkhorimoto
compilation fix after rebase
3 years, 11 months ago (2017-01-26 07:43:24 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/1360993002/160001
3 years, 11 months ago (2017-01-26 07:44:39 UTC) #43
commit-bot: I haz the power
Committed patchset #9 (id:160001) as https://chromium.googlesource.com/chromium/src/+/be48752128d7ec4a5bd6d980157deb60dbb29548
3 years, 11 months ago (2017-01-26 08:51:31 UTC) #46
gambard
3 years, 11 months ago (2017-01-26 10:22:51 UTC) #47
Message was sent while issue was closed.
A revert of this CL (patchset #9 id:160001) has been created in
https://codereview.chromium.org/2655253002/ by gambard@chromium.org.

The reason for reverting is: Lot of tests are failing. It seems that
sequence_checker_.CalledOnValidSequence() returns false in those cases.
Example:
https://build.chromium.org/p/chromium.fyi/builders/EarlGreyiOS/builds/23584/s....

Powered by Google App Engine
This is Rietveld 408576698