New issue
Advanced search Search tips

Issue 597997 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug

Blocked on:
issue 597990
issue 602298



Sign in to add a comment

Use only public web API for web shell

Project Member Reported by eugene...@chromium.org, Mar 25 2016

Issue description

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.
 
Blockedon: 597990
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 25 2016

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

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 25 2016

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

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 29 2016

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

Project Member

Comment 5 by bugdroid1@chromium.org, Mar 29 2016

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

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 30 2016

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

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 30 2016

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

Status: Started (was: Assigned)
Blockedon: 602298
Project Member

Comment 12 by bugdroid1@chromium.org, Apr 13 2016

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

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 13 2016

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

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 18 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

Project Member

Comment 15 by bugdroid1@chromium.org, Apr 19 2016

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

Project Member

Comment 16 by bugdroid1@chromium.org, Apr 21 2016

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

Status: Fixed (was: Started)

Sign in to add a comment