web_view_api_methods.js depends on web_view.js for WebViewImpl. In web_view.js, WebViewImpl.setupElement calls WebViewImpl.getApiMethods which is defined in web_view_api_methods.js.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5483c54154b9e6a952a20fe241ba58d024c1732a commit 5483c54154b9e6a952a20fe241ba58d024c1732a Author: Kevin McNee <mcnee@chromium.org> Date: Thu Aug 23 16:54:04 2018 Eliminate several circular dependencies in guest view js In the guest view js implementation, setupAttributes and getApiMethods both form circular dependencies. Bug: 793935 Change-Id: I1118e03daea247e3ea670b6bee3788ba9558d779 Reviewed-on: https://chromium-review.googlesource.com/1177841 Reviewed-by: Paul Meyer <paulmeyer@chromium.org> Commit-Queue: Kevin McNee <mcnee@chromium.org> Cr-Commit-Position: refs/heads/master@{#585521} [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/extension_options/extension_options.js [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/extension_options/extension_options_attributes.js [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/extension_view/extension_view.js [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/extension_view/extension_view_api_methods.js [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/extension_view/extension_view_attributes.js [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/web_view/web_view.js [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/web_view/web_view_api_methods.js [modify] https://crrev.com/5483c54154b9e6a952a20fe241ba58d024c1732a/extensions/renderer/resources/guest_view/web_view/web_view_attributes.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1494a08ed61f06f71818f705c6ea3f66c047c6b8 commit 1494a08ed61f06f71818f705c6ea3f66c047c6b8 Author: Kevin McNee <mcnee@chromium.org> Date: Thu Sep 06 20:08:56 2018 Separate guest view custom elements from their private implementations Currently, the definition of public custom elements for guest view containers is not clearly separated from the private implementation. We now have the custom element (e.g. WebViewElement) as a distinct entity which is backed by the private implementation (e.g. WebViewImpl). Bug: 793935 , 867831 Change-Id: Iaee57a53ff727f27a7fab5601b54face9335faca Reviewed-on: https://chromium-review.googlesource.com/1187072 Reviewed-by: Paul Meyer <paulmeyer@chromium.org> Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org> Commit-Queue: Kevin McNee <mcnee@chromium.org> Cr-Commit-Position: refs/heads/master@{#589259} [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/BUILD.gn [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/dispatcher.cc [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/extensions_renderer_resources.grd [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/app_view/app_view.js [add] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/app_view/app_view_element.js [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/extension_options/extension_options.js [add] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/extension_options/extension_options_element.js [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/extension_view/extension_view.js [add] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/extension_view/extension_view_element.js [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/guest_view_container.js [add] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/guest_view_container_element.js [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/guest_view_deny.js [modify] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/web_view/web_view.js [add] https://crrev.com/1494a08ed61f06f71818f705c6ea3f66c047c6b8/extensions/renderer/resources/guest_view/web_view/web_view_element.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f204c40e8eb3767bfd83a6925acbaf9bdda1089 commit 8f204c40e8eb3767bfd83a6925acbaf9bdda1089 Author: Kevin McNee <mcnee@chromium.org> Date: Mon Sep 10 15:10:24 2018 Move <webview> public api implementation to the element's prototype Currently, all of the <webview> public api methods forward to WebViewImpl. We now implement methods that don't involve internal details of WebViewImpl on the <webview> element itself. For methods that do require details of WebViewImpl or WebViewInternal, we forward the calls as needed. Bug: 793935 , 867831 Change-Id: Iad6a1a1b27c9351e7f7edeaa246b26e799be697d Reviewed-on: https://chromium-review.googlesource.com/1188868 Commit-Queue: Kevin McNee <mcnee@chromium.org> Reviewed-by: Paul Meyer <paulmeyer@chromium.org> Cr-Commit-Position: refs/heads/master@{#589915} [modify] https://crrev.com/8f204c40e8eb3767bfd83a6925acbaf9bdda1089/extensions/renderer/resources/guest_view/app_view/app_view_element.js [modify] https://crrev.com/8f204c40e8eb3767bfd83a6925acbaf9bdda1089/extensions/renderer/resources/guest_view/extension_view/extension_view.js [modify] https://crrev.com/8f204c40e8eb3767bfd83a6925acbaf9bdda1089/extensions/renderer/resources/guest_view/extension_view/extension_view_element.js [modify] https://crrev.com/8f204c40e8eb3767bfd83a6925acbaf9bdda1089/extensions/renderer/resources/guest_view/guest_view_container_element.js [modify] https://crrev.com/8f204c40e8eb3767bfd83a6925acbaf9bdda1089/extensions/renderer/resources/guest_view/web_view/web_view.js [modify] https://crrev.com/8f204c40e8eb3767bfd83a6925acbaf9bdda1089/extensions/renderer/resources/guest_view/web_view/web_view_element.js
Comment 1 by mcnee@chromium.org
, Feb 7 2018