Web shell should be a canonical example of building a browser on top of web and for that reason should not use web/ private API.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e9d4db6501a02924376d91f9867cd663744a85e9 commit e9d4db6501a02924376d91f9867cd663744a85e9 Author: eugenebut <eugenebut@chromium.org> Date: Fri Mar 25 20:58:55 2016 [ios] Added DEPS file to ios/web/shell. This DEPS file temporary whitelists current includes. BUG= 597997 Review URL: https://codereview.chromium.org/1832153002 Cr-Commit-Position: refs/heads/master@{#383356} [add] https://crrev.com/e9d4db6501a02924376d91f9867cd663744a85e9/ios/web/shell/DEPS
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1b7e26ae910bd1496bd80f61b11f8f831e20c65 commit c1b7e26ae910bd1496bd80f61b11f8f831e20c65 Author: eugenebut <eugenebut@chromium.org> Date: Fri Mar 25 22:29:14 2016 [ios] Switched web shell to use WebState for view and navigation. - Use WebState::GetView() instead of -[CRWWebController view] - Use web::NavigationManager for navigation BUG= 597997 Review URL: https://codereview.chromium.org/1833983002 Cr-Commit-Position: refs/heads/master@{#383386} [modify] https://crrev.com/c1b7e26ae910bd1496bd80f61b11f8f831e20c65/ios/web/shell/view_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d9f22dcfd852d8491468f8fe77cda9ed49badea commit 0d9f22dcfd852d8491468f8fe77cda9ed49badea Author: eugenebut <eugenebut@chromium.org> Date: Tue Mar 29 16:05:38 2016 [ios] Use WebStateObserver to update url bar in ios_web_shell. WebStateObserver is used instead of CRWWebClient. BUG= 597997 Review URL: https://codereview.chromium.org/1838653002 Cr-Commit-Position: refs/heads/master@{#383734} [modify] https://crrev.com/0d9f22dcfd852d8491468f8fe77cda9ed49badea/ios/web/shell/view_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f375c04bed160193a46806a2a471513c6c217001 commit f375c04bed160193a46806a2a471513c6c217001 Author: eugenebut <eugenebut@chromium.org> Date: Tue Mar 29 20:37:57 2016 [ios] Removed CRWWebUserInterfaceDelegate usage from ios_web_shell. CRWWebUserInterfaceDelegate was added to web shell to test auth and is unnecessary now. Web shell must use only public web// API and CRWWebUserInterfaceDelegate is not public. BUG= 597997 Review URL: https://codereview.chromium.org/1838073002 Cr-Commit-Position: refs/heads/master@{#383806} [modify] https://crrev.com/f375c04bed160193a46806a2a471513c6c217001/ios/web/shell/view_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/28c851154f3c639e879d788826c7029681ca2dca commit 28c851154f3c639e879d788826c7029681ca2dca Author: eugenebut <eugenebut@chromium.org> Date: Wed Mar 30 14:36:03 2016 [ios] Added NavigationManager::LoadURLWithParams public API. This is modelled from NavigationController::LoadURLWithParams. New API is used in ios web shell instead of CRWWebController API. BUG= 597997 Review URL: https://codereview.chromium.org/1838323003 Cr-Commit-Position: refs/heads/master@{#383976} [modify] https://crrev.com/28c851154f3c639e879d788826c7029681ca2dca/ios/web/navigation/navigation_manager_delegate.h [modify] https://crrev.com/28c851154f3c639e879d788826c7029681ca2dca/ios/web/navigation/navigation_manager_impl.h [modify] https://crrev.com/28c851154f3c639e879d788826c7029681ca2dca/ios/web/navigation/navigation_manager_impl.mm [modify] https://crrev.com/28c851154f3c639e879d788826c7029681ca2dca/ios/web/public/navigation_manager.h [modify] https://crrev.com/28c851154f3c639e879d788826c7029681ca2dca/ios/web/shell/view_controller.mm [modify] https://crrev.com/28c851154f3c639e879d788826c7029681ca2dca/ios/web/web_state/web_state_impl.h [modify] https://crrev.com/28c851154f3c639e879d788826c7029681ca2dca/ios/web/web_state/web_state_impl.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0102a3cd5aac67f022b1d4005fbb29a688731bda commit 0102a3cd5aac67f022b1d4005fbb29a688731bda Author: eugenebut <eugenebut@chromium.org> Date: Wed Mar 30 16:04:24 2016 [ios] Cleaned up ios web shell from UIWebView code. Removed imports of: crw_session_controller.h crw_url_verifying_protocol_handler.h request_tracker_factory_impl.h web_http_protocol_handler_delegate.h BUG= 597997 Review URL: https://codereview.chromium.org/1835623002 Cr-Commit-Position: refs/heads/master@{#383984} [modify] https://crrev.com/0102a3cd5aac67f022b1d4005fbb29a688731bda/ios/web/shell/DEPS [modify] https://crrev.com/0102a3cd5aac67f022b1d4005fbb29a688731bda/ios/web/shell/view_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b70db6e5b1700b230792342da63343b580f0bbf4 commit b70db6e5b1700b230792342da63343b580f0bbf4 Author: eugenebut <eugenebut@chromium.org> Date: Wed Apr 13 18:52:59 2016 Reversed WebState <-> CRWWebController ownership. WebState is a main public class in web//, while CRWWebController is an implementation class, so WebState should own CRWWebController. BUG= 597997 Review URL: https://codereview.chromium.org/1874903003 Cr-Commit-Position: refs/heads/master@{#387052} [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/BUILD.gn [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/ios_web.gyp [delete] https://crrev.com/56cabc6afc8e4fe32587396bf0ab71034d20c80a/ios/web/public/web_controller_factory.h [delete] https://crrev.com/56cabc6afc8e4fe32587396bf0ab71034d20c80a/ios/web/public/web_controller_factory.mm [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/shell/view_controller.mm [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/test/web_test.h [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/test/web_test.mm [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/ui/crw_web_controller+protected.h [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/ui/crw_web_controller.h [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/ui/crw_web_controller.mm [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/ui/crw_web_controller_unittest.mm [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/ui/crw_wk_web_view_web_controller.h [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/web_state_impl.h [modify] https://crrev.com/b70db6e5b1700b230792342da63343b580f0bbf4/ios/web/web_state/web_state_impl.mm
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/ios_internal.git/+/d60ce3530f719fa3ccbd12e15ad053803d9dfdf2 commit d60ce3530f719fa3ccbd12e15ad053803d9dfdf2 Author: eugenebut <eugenebut@google.com> Date: Wed Apr 13 20:37:59 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9dbebc8ed2f1c636167d7e39b88c589024eaf069 commit 9dbebc8ed2f1c636167d7e39b88c589024eaf069 Author: eugenebut <eugenebut@chromium.org> Date: Mon Apr 18 17:24:30 2016 [ios] Added web// public API to let embedder observe loading progress. All web// API follows the approach of content// API: WebClient is analogue of ContentBrowserClient NavigationManager is analogue of NavigationController WebState is for WebContents WebStateObserver is for WebContentsObserver In content// loading progress is reported via WebContentsDelegate::LoadProgressChanged. In web// progress will be reported via WebStateDelegate::LoadProgressChanged and WebStateDelegateBridge to allow Objective-C clients use this API. WebStateDelegate will also be used to support context menus and JS dialogs in the future. doc: https://docs.google.com/document/d/1QnO4GTeFDm7W6cK0boELl2DxSXsd90TXEUsCBBmWbAA/edit# BUG= 597997 Review URL: https://codereview.chromium.org/1851003003 Cr-Commit-Position: refs/heads/master@{#387936} [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/BUILD.gn [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/ios_web.gyp [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/ios_web_unittests.gyp [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/public/test/test_web_state.h [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/public/test/test_web_state.mm [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/public/web_state/web_state.h [add] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/public/web_state/web_state_delegate.h [add] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/public/web_state/web_state_delegate_bridge.h [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/shell/view_controller.mm [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/ui/crw_web_controller.mm [add] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_delegate.mm [add] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_delegate_bridge.mm [add] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_delegate_bridge_unittest.mm [add] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_delegate_stub.h [add] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_delegate_stub.mm [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_impl.h [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_impl.mm [modify] https://crrev.com/9dbebc8ed2f1c636167d7e39b88c589024eaf069/ios/web/web_state/web_state_impl_unittest.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7 commit 4fd05e4e74d72daa024d6a5ac8210bb018aa17b7 Author: eugenebut <eugenebut@chromium.org> Date: Tue Apr 19 23:30:26 2016 [ios] Added API to enable/disable web usage for WebState. Updated web// code to use WebState API instead of Web Controller. Also corrected order of methods in TestWebState BUG= 597997 Review URL: https://codereview.chromium.org/1891483005 Cr-Commit-Position: refs/heads/master@{#388354} [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/public/test/test_web_state.h [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/public/test/test_web_state.mm [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/public/web_state/web_state.h [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/shell/DEPS [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/shell/view_controller.mm [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/test/web_test.mm [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/web_state/ui/crw_web_controller_unittest.mm [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/web_state/web_state_impl.h [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/web_state/web_state_impl.mm [modify] https://crrev.com/4fd05e4e74d72daa024d6a5ac8210bb018aa17b7/ios/web/web_state/web_state_impl_unittest.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/526b5158f99e9fc3aaf05c442c9c2e26e2dea1cd commit 526b5158f99e9fc3aaf05c442c9c2e26e2dea1cd Author: eugenebut <eugenebut@chromium.org> Date: Thu Apr 21 03:06:17 2016 [ios] Do not use private web// API in ios_web_shell. Added WebState::Create API that is modeled from WebContents::Create. New API is used it in web shell instead of directly allocating WebStateImpl object. BUG= 597997 Review URL: https://codereview.chromium.org/1901343002 Cr-Commit-Position: refs/heads/master@{#388672} [modify] https://crrev.com/526b5158f99e9fc3aaf05c442c9c2e26e2dea1cd/ios/web/public/web_state/web_state.h [modify] https://crrev.com/526b5158f99e9fc3aaf05c442c9c2e26e2dea1cd/ios/web/shell/DEPS [modify] https://crrev.com/526b5158f99e9fc3aaf05c442c9c2e26e2dea1cd/ios/web/shell/view_controller.mm [modify] https://crrev.com/526b5158f99e9fc3aaf05c442c9c2e26e2dea1cd/ios/web/web_state/web_state.mm [modify] https://crrev.com/526b5158f99e9fc3aaf05c442c9c2e26e2dea1cd/ios/web/web_state/web_state_impl.mm
Comment 1 by eugene...@chromium.org
, Mar 25 2016