New issue
Advanced search Search tips

Issue 844401 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

App Shell and App Shell Helper pull in same ObjC code

Project Member Reported by thakis@chromium.org, May 18 2018

Issue description

https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.clang%2FToTMacASan%2F1089%2F%2B%2Frecipes%2Fsteps%2Fextensions_browsertests%2F0%2Flogs%2FSocketsUdpApiTest.SocketsUdpExtension%2F0

objc[12094]: Class CrCoreCursor is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4530) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5210). One of the two will be used. Which one is undefined.
objc[12094]: Class CrAVFoundationDeviceObserver is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf44e0) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5260). One of the two will be used. Which one is undefined.
objc[12094]: Class BrowserAccessibilityCocoa is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4580) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b52b0). One of the two will be used. Which one is undefined.
objc[12094]: Class SyntheticPinchEvent is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf45d0) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5300). One of the two will be used. Which one is undefined.
objc[12094]: Class WebMenuRunner is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4620) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5350). One of the two will be used. Which one is undefined.
objc[12094]: Class ScrollbarPrefsObserver is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4698) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b53c8). One of the two will be used. Which one is undefined.
objc[12094]: Class WebContentsViewCocoa is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf46c0) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b53f0). One of the two will be used. Which one is undefined.
objc[12094]: Class WebDragDest is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4710) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5440). One of the two will be used. Which one is undefined.
objc[12094]: Class WebDragSource is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4760) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5490). One of the two will be used. Which one is undefined.
objc[12094]: Class CursorRendererMouseTracker is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf47b0) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b54e0). One of the two will be used. Which one is undefined.
objc[12094]: Class RenderWidgetPopupWindow is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4800) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5530). One of the two will be used. Which one is undefined.
objc[12094]: Class RenderWidgetHostViewCocoa is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4850) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5580). One of the two will be used. Which one is undefined.
objc[12094]: Class BaseView is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf48a0) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b55d0). One of the two will be used. Which one is undefined.
objc[12094]: Class CommandDispatcher is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf48f0) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5620). One of the two will be used. Which one is undefined.
objc[12094]: Class ConstrainedWindowAnimationBase is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4940) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5670). One of the two will be used. Which one is undefined.
objc[12094]: Class ConstrainedWindowAnimationShow is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf49b8) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b56e8). One of the two will be used. Which one is undefined.
objc[12094]: Class ConstrainedWindowAnimationHide is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4a08) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5738). One of the two will be used. Which one is undefined.
objc[12094]: Class ConstrainedWindowAnimationPulse is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4a58) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b5788). One of the two will be used. Which one is undefined.
objc[12094]: Class BlueLabelButton is implemented in both /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Framework.framework/Versions/A/App Shell Framework (0x12bbf4aa8) and /b/s/w/ir/out/Release/App Shell.app/Contents/Frameworks/App Shell Helper.app/Contents/MacOS/App Shell Helper (0x10a3b57d8). One of the two will be used. Which one is undefined.
...snip...


It looks like both apps statically link in all the chrome code, which is inefficient for binary size, link speed, and it creates log spew.

some prior art:  bug 46929 ,  bug 331395 ,  bug 289453 

Probably caused by https://codereview.chromium.org/2764813002/, but I haven't checked.
 

Comment 1 by tapted@chromium.org, May 22 2018

Cc: r...@chromium.org
Components: -Platform>Apps Platform>Apps>Shell
Owner: michae...@chromium.org
Status: Assigned (was: Untriaged)
There's some discussion at https://codereview.chromium.org/2764813002/#msg5 about possibly dropping the mac (and Windows) ports of App Shell


Cc: michae...@chromium.org
Owner: benwells@chromium.org
to the extent that AppShell provides extension API browser tests, we should keep it around, but we can safely kill off the Mac and Windows standalone applications if we don't want to have a binary for running Chrome apps on those platforms after Chrome drops app support.

benwells@ now owns this though.
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646

commit 28bc65ff4fd69fabb622eb8dc2b8efb8704c8646
Author: Robert Sesek <rsesek@chromium.org>
Date: Mon Jul 16 16:53:25 2018

Remove the bundled App Shell.app target from //extensions/shell:app_shell.

Per //extensions/shell/README, app_shell is only officially supported on
ChromeOS, and support for Chrome Apps on Mac won't be developed further.
This removes the bundled version of the app_shell and turns it into a
standalone executable. This reduces the platform-specific maintenance burden
for the extensions_browsertests.

This moves the SetAmIBundleOverride() call from the BrowserTestBase subclass
to ContentBrowserTest. While content_browsertests uses the bundled
Content Shell.app, other browsertests do not use bundled binaries and
so this does not belong in the base class.

Bug: 844401,  689306 
Test: All extensions_browsertests continue to run.
Change-Id: I300de23bd9cb1a845bd06799887ad386e774b6c7
Reviewed-on: https://chromium-review.googlesource.com/1134217
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575312}
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/chrome/test/base/in_process_browser_test.cc
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/content/public/test/browser_test_base.cc
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/content/public/test/content_browser_test.cc
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/extensions/browser/BUILD.gn
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/extensions/shell/BUILD.gn
[delete] https://crrev.com/102c5ce5dbc8e4823a1719b82bc790d328d0c77c/extensions/shell/app/app-Info.plist
[delete] https://crrev.com/102c5ce5dbc8e4823a1719b82bc790d328d0c77c/extensions/shell/app/framework-Info.plist
[delete] https://crrev.com/102c5ce5dbc8e4823a1719b82bc790d328d0c77c/extensions/shell/app/helper-Info.plist
[delete] https://crrev.com/102c5ce5dbc8e4823a1719b82bc790d328d0c77c/extensions/shell/app/paths_mac.h
[delete] https://crrev.com/102c5ce5dbc8e4823a1719b82bc790d328d0c77c/extensions/shell/app/paths_mac.mm
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/extensions/shell/app/shell_main.cc
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/extensions/shell/app/shell_main_delegate.cc
[delete] https://crrev.com/102c5ce5dbc8e4823a1719b82bc790d328d0c77c/extensions/shell/app/shell_main_mac.cc
[delete] https://crrev.com/102c5ce5dbc8e4823a1719b82bc790d328d0c77c/extensions/shell/app/shell_main_mac.h
[modify] https://crrev.com/28bc65ff4fd69fabb622eb8dc2b8efb8704c8646/extensions/shell/test/shell_test.cc

Sign in to add a comment