New issue
Advanced search Search tips

Issue 897866 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 24
Cc:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug

Blocking:
issue 859152



Sign in to add a comment

RemoteMacViews: Double-title-bars appears

Project Member Reported by ccameron@chromium.org, Oct 22

Issue description

When using RemoteMacViews, windows end up having two title bars (as in the attached picture), because the NSWindow support in RemoteMacViews is incomplete.

We need to appropriately plumb through the NSWindow creation parameters (and potentially window height).
 
Screen Shot 2018-10-22 at 12.28.05.png
142 KB View Download

Comment 1 Deleted

Oops, thought I was testing the new UI with RemoteMacViews but I was launching from chrome://apps.
Launching from the Applications directory it seems to fail launching entirely.

Double clicking the application it appears to immediately crash.

[10:44:29]~/Applications/Chromium Apps.localized
$ ./Default\ befgnjgfahhfhfdidmfboaofhelikpfb.app/Contents/MacOS/app_mode_loader 
dyld: Library not loaded: @rpath/libbase.dylib
  Referenced from: /Users/alancutter/Applications/Chromium Apps.localized/./Default befgnjgfahhfhfdidmfboaofhelikpfb.app/Contents/MacOS/app_mode_loader
  Reason: image not found
Abort trap: 6

[10:44:44]~/Applications/Chromium Apps.localized
$ Open Default\ befgnjgfahhfhfdidmfboaofhelikpfb.app/
LSOpenURLsWithRole() failed with error -10810 for the file /Users/alancutter/Applications/Chromium Apps.localized/Default befgnjgfahhfhfdidmfboaofhelikpfb.app.
Looks like I just needed to "export DYLD_LIBRARY_PATH=/Users/alancutter/repos/chromium/src/out/release/" to get it to work.

I see a small challenge in that screenshot. The height of the titlebar is set in Chrome via overriding _titlebarHeight in browser_native_widget_window_mac.mm, this would need to get plumbed through to the remote process as well.
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 23

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

commit 58d6e37818b57d00097c1334efff093ab6d53e3d
Author: Christopher Cameron <ccameron@chromium.org>
Date: Tue Oct 23 21:38:24 2018

RemoteMacViews: Populate CreateWindowParams in overrideable method

This fixes the bug where we see two titlebars for PWA windows, and
fixes a longstanding TODO to add needed parameters to the
CreateWindowParams structure.

Update the mojo struct CreateWindowParams to include parameters used
by the various NativeWidgetMac::CreateNSWindow overrides. Include in
these parameters a WindowClass parameter to indicate the subclass of
NativeWidgetMacNSWindow to use.

Add the overrideable method NativeWidgetMac::PopulateCreateWindowParams
to populate the CreateWindowParams structure.

Add plumbing in BrowserWindowFrame to call back into the browser process
to get the overridden titlebar height. Add similar plumbing to
BrowserNativeWidgetWindow to implement _handleFocusToolbarHotKey. With
this in place, BrowserWindowFrame et al no longer have any dependencies
on browser-process classes.

Move BrowserWindowFrame and NativeWidgetMacFramelessNSWindow from
//chrome/browser/ui/views/ over to //ui/views_bridge_mac.

Bug:  897866 
Change-Id: I04d9dd57d2bb98f98899349f2810198103e286b8
Reviewed-on: https://chromium-review.googlesource.com/c/1295251
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: ccameron <ccameron@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602109}
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/chrome/browser/ui/views/apps/app_window_native_widget_mac.h
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/chrome/browser/ui/views/apps/app_window_native_widget_mac.mm
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/chrome/browser/ui/views/frame/browser_frame_mac.h
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/chrome/browser/ui/views/frame/browser_frame_mac.mm
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views/BUILD.gn
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views/cocoa/bridged_native_widget_host_impl.h
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views/cocoa/bridged_native_widget_host_impl.mm
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views/widget/native_widget_mac.h
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views/widget/native_widget_mac.mm
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views/widget/native_widget_mac_unittest.mm
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/bridged_native_widget_impl.h
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/bridged_native_widget_impl.mm
[rename] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/browser_native_widget_window_mac.h
[rename] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/browser_native_widget_window_mac.mm
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/mojo/bridged_native_widget.mojom
[modify] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom
[rename] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/native_widget_mac_frameless_nswindow.h
[rename] https://crrev.com/58d6e37818b57d00097c1334efff093ab6d53e3d/ui/views_bridge_mac/native_widget_mac_frameless_nswindow.mm

Status: Fixed (was: Assigned)

Sign in to add a comment