chore: bump chromium to a84d34e372b8fb5e9a94b1b4b447e (master) (#23908)
* chore: bump chromium in DEPS to a7249f73ae05d456c04487ef1693325f719556dd * chore: bump chromium in DEPS to 202466fa40b58f0bb9c9a76a037d1c50154c099e * chore: bump chromium in DEPS to 2dd1b25c8d794b50fb0dd911e0c4e909ff39f145 * Update patches * update patches * Revert "[printing] Mojofy PrintHostMsg_CheckForCancel"2226002
* chore: bump chromium in DEPS to 8c1542e7dd36854fdf4abd1a8021eeb65a6a2e2b * chore: bump chromium in DEPS to 078bc6d796334fb403acd8975b99d1c8ecd028e8 * chore: bump chromium in DEPS to d96e9f16ae852ec9dbd15bf17df3d440402413bb * update patches * chore: update patches * Use ExtensionSystem::is_ready() instead of ExtensionService::is_ready()2207499
* Remove WebImeTextSpan2225240
* Remove PDFAnnotations flag altogether.2229317
* Rework find-from-selection so it's synchronous -- fixes flaky tests2181570
* fixup! Revert "[printing] Mojofy PrintHostMsg_CheckForCancel" * chore: bump chromium in DEPS to a8a280835830c65145ed8573a9a09f36d3920418 * update sysroots * update patches * update patches * Take RFH as a parameter for DidUpdateFavicon/ManifestURL2224745
* chore: bump chromium in DEPS to b6149cb5a5e32caf8eab67b97ef3072b72521ca8 * Update patches * Rename net::cookie_util::StripStatuses to StripAccessResults2212697
* use net::CookieAccessResultList instead of net::CookieAccessResultList * fix mas_no_private_api patch2230281
* chore: bump chromium in DEPS to a27feee1643d952e48f77c92d8c03aedea14b720 * update patches * fix: add new navigation state REUSE_SITE_INSTANCE To fix the new set of state checks added in2215141
* chore: bump chromium in DEPS to ff4559a4c13d20888202474e4ab9917dbdad8a9a * update patches * Cleanup usages of old mojo types and remove unused code2235699
* chore: bump chromium in DEPS to 05279845f76eb22900a8b0d1a11d4fd339a8e53b * chore: bump chromium in DEPS to 821558279767cffec90e3b5b947865f90089fed3 * chore: bump chromium in DEPS to 1aef04e6486be337d3dd820b2d64d6320a1b9c13 * chore: bump chromium in DEPS to dc86386e8fdd796a0f7577e91e42a7f8b7e9bc78 * chore: bump chromium in DEPS to 64f2360794f14643764092ba3e58e2ed8f9fee12 * chore: update patches * refactor: MessageLoop, you are terminated \o/ Refs:2246173
* refactor: plumb DownloadSchedule to DownloadItem Refs:2242202
* chore: fix variable typo in IPC * chore: s/BindPipeAndPassReceiver/BindNewPipeAndPassReceiver * chore: update patches * chore: XEvent becomes x11::Event Refs:2240355
* fixup! refactor: MessageLoop, you are terminated \o/ * fixup! chore: XEvent becomes x11::Event * build: update v8 headers * chore: fix windows build * chore: disable SameSite-by-default changes2231445
* update printing.patch * chore: bump chromium DEPS to 9ae03ef8f7d4f6ac663f725bcfe70311987652f3 * Convert WidgetHostMsg_SelectionBoundsChanged/TextInputStateChanged2243531
* chore: update v8 patches * [XProto] Replace usages of XID and ::Window with x11::Window2249389
* Update VideoFrameMetadata to use base::Optionals2231706
2238361
* --disable-dev-shm-usage for gpu process crash * [v8] Allow for 4GB TypedArrays2249668
* update lib_src_switch_buffer_kmaxlength_to_size_t.patch * disable app.getGPUInfo spec on linux * update patches Co-authored-by: John Kleinschmidt <jkleinsc@github.com> Co-authored-by: Electron Bot <anonymous@electronjs.org> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
This commit is contained in:
parent
61a05caa78
commit
72a089262e
107 changed files with 1029 additions and 663 deletions
|
@ -172,24 +172,24 @@ std::string GetMenuModelStatus(ElectronMenuModel* model) {
|
|||
|
||||
GlobalMenuBarX11::GlobalMenuBarX11(NativeWindowViews* window)
|
||||
: window_(window),
|
||||
xid_(window_->GetNativeWindow()->GetHost()->GetAcceleratedWidget()) {
|
||||
xwindow_(window_->GetNativeWindow()->GetHost()->GetAcceleratedWidget()) {
|
||||
EnsureMethodsLoaded();
|
||||
if (server_new)
|
||||
InitServer(xid_);
|
||||
InitServer(xwindow_);
|
||||
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowMapped(xid_);
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowMapped(xwindow_);
|
||||
}
|
||||
|
||||
GlobalMenuBarX11::~GlobalMenuBarX11() {
|
||||
if (IsServerStarted())
|
||||
g_object_unref(server_);
|
||||
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowUnmapped(xid_);
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowUnmapped(xwindow_);
|
||||
}
|
||||
|
||||
// static
|
||||
std::string GlobalMenuBarX11::GetPathForWindow(gfx::AcceleratedWidget xid) {
|
||||
return base::StringPrintf("/com/canonical/menu/%lX", xid);
|
||||
std::string GlobalMenuBarX11::GetPathForWindow(x11::Window window) {
|
||||
return base::StringPrintf("/com/canonical/menu/%X", window);
|
||||
}
|
||||
|
||||
void GlobalMenuBarX11::SetMenu(ElectronMenuModel* menu_model) {
|
||||
|
@ -211,17 +211,17 @@ bool GlobalMenuBarX11::IsServerStarted() const {
|
|||
return server_;
|
||||
}
|
||||
|
||||
void GlobalMenuBarX11::InitServer(gfx::AcceleratedWidget xid) {
|
||||
std::string path = GetPathForWindow(xid);
|
||||
void GlobalMenuBarX11::InitServer(x11::Window window) {
|
||||
std::string path = GetPathForWindow(window);
|
||||
server_ = server_new(path.c_str());
|
||||
}
|
||||
|
||||
void GlobalMenuBarX11::OnWindowMapped() {
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowMapped(xid_);
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowMapped(xwindow_);
|
||||
}
|
||||
|
||||
void GlobalMenuBarX11::OnWindowUnmapped() {
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowUnmapped(xid_);
|
||||
GlobalMenuBarRegistrarX11::GetInstance()->OnWindowUnmapped(xwindow_);
|
||||
}
|
||||
|
||||
void GlobalMenuBarX11::BuildMenuFromModel(ElectronMenuModel* model,
|
||||
|
|
|
@ -40,8 +40,8 @@ class GlobalMenuBarX11 {
|
|||
explicit GlobalMenuBarX11(NativeWindowViews* window);
|
||||
virtual ~GlobalMenuBarX11();
|
||||
|
||||
// Creates the object path for DbusmenuServer which is attached to |xid|.
|
||||
static std::string GetPathForWindow(gfx::AcceleratedWidget xid);
|
||||
// Creates the object path for DbusmenuServer which is attached to |window|.
|
||||
static std::string GetPathForWindow(x11::Window window);
|
||||
|
||||
void SetMenu(ElectronMenuModel* menu_model);
|
||||
bool IsServerStarted() const;
|
||||
|
@ -52,7 +52,7 @@ class GlobalMenuBarX11 {
|
|||
|
||||
private:
|
||||
// Creates a DbusmenuServer.
|
||||
void InitServer(gfx::AcceleratedWidget xid);
|
||||
void InitServer(x11::Window window);
|
||||
|
||||
// Create a menu from menu model.
|
||||
void BuildMenuFromModel(ElectronMenuModel* model, DbusmenuMenuitem* parent);
|
||||
|
@ -69,7 +69,7 @@ class GlobalMenuBarX11 {
|
|||
CHROMEG_CALLBACK_0(GlobalMenuBarX11, void, OnSubMenuShow, DbusmenuMenuitem*);
|
||||
|
||||
NativeWindowViews* window_;
|
||||
gfx::AcceleratedWidget xid_;
|
||||
x11::Window xwindow_;
|
||||
|
||||
DbusmenuServer* server_ = nullptr;
|
||||
|
||||
|
|
|
@ -18,15 +18,15 @@ WindowStateWatcher::~WindowStateWatcher() {
|
|||
ui::X11EventSource::GetInstance()->RemoveXEventObserver(this);
|
||||
}
|
||||
|
||||
void WindowStateWatcher::WillProcessXEvent(XEvent* xev) {
|
||||
if (IsWindowStateEvent(xev)) {
|
||||
void WindowStateWatcher::WillProcessXEvent(x11::Event* x11_event) {
|
||||
if (IsWindowStateEvent(x11_event)) {
|
||||
was_minimized_ = window_->IsMinimized();
|
||||
was_maximized_ = window_->IsMaximized();
|
||||
}
|
||||
}
|
||||
|
||||
void WindowStateWatcher::DidProcessXEvent(XEvent* xev) {
|
||||
if (IsWindowStateEvent(xev)) {
|
||||
void WindowStateWatcher::DidProcessXEvent(x11::Event* x11_event) {
|
||||
if (IsWindowStateEvent(x11_event)) {
|
||||
bool is_minimized = window_->IsMinimized();
|
||||
bool is_maximized = window_->IsMaximized();
|
||||
bool is_fullscreen = window_->IsFullscreen();
|
||||
|
@ -54,9 +54,11 @@ void WindowStateWatcher::DidProcessXEvent(XEvent* xev) {
|
|||
}
|
||||
}
|
||||
|
||||
bool WindowStateWatcher::IsWindowStateEvent(XEvent* xev) const {
|
||||
bool WindowStateWatcher::IsWindowStateEvent(x11::Event* x11_event) const {
|
||||
XEvent* xev = &x11_event->xlib_event();
|
||||
return (static_cast<x11::Atom>(xev->xproperty.atom) == window_state_atom_ &&
|
||||
xev->type == PropertyNotify && xev->xproperty.window == widget_);
|
||||
xev->type == PropertyNotify &&
|
||||
xev->xproperty.window == static_cast<uint32_t>(widget_));
|
||||
}
|
||||
|
||||
} // namespace electron
|
||||
|
|
|
@ -19,11 +19,11 @@ class WindowStateWatcher : public ui::XEventObserver {
|
|||
|
||||
protected:
|
||||
// ui::XEventObserver:
|
||||
void WillProcessXEvent(XEvent* xev) override;
|
||||
void DidProcessXEvent(XEvent* xev) override;
|
||||
void WillProcessXEvent(x11::Event* x11_event) override;
|
||||
void DidProcessXEvent(x11::Event* x11_event) override;
|
||||
|
||||
private:
|
||||
bool IsWindowStateEvent(XEvent* xev) const;
|
||||
bool IsWindowStateEvent(x11::Event* x11_event) const;
|
||||
|
||||
NativeWindowViews* window_;
|
||||
gfx::AcceleratedWidget widget_;
|
||||
|
|
|
@ -18,11 +18,11 @@
|
|||
|
||||
namespace electron {
|
||||
|
||||
void SetWMSpecState(::Window xwindow, bool enabled, x11::Atom state) {
|
||||
void SetWMSpecState(x11::Window window, bool enabled, x11::Atom state) {
|
||||
XEvent xclient;
|
||||
memset(&xclient, 0, sizeof(xclient));
|
||||
xclient.type = ClientMessage;
|
||||
xclient.xclient.window = xwindow;
|
||||
xclient.xclient.window = static_cast<uint32_t>(window);
|
||||
xclient.xclient.message_type =
|
||||
static_cast<uint32_t>(gfx::GetAtom("_NET_WM_STATE"));
|
||||
xclient.xclient.format = 32;
|
||||
|
@ -37,10 +37,10 @@ void SetWMSpecState(::Window xwindow, bool enabled, x11::Atom state) {
|
|||
SubstructureRedirectMask | SubstructureNotifyMask, &xclient);
|
||||
}
|
||||
|
||||
void SetWindowType(::Window xwindow, const std::string& type) {
|
||||
void SetWindowType(x11::Window window, const std::string& type) {
|
||||
std::string type_prefix = "_NET_WM_WINDOW_TYPE_";
|
||||
x11::Atom window_type = gfx::GetAtom(type_prefix + base::ToUpperASCII(type));
|
||||
ui::SetProperty(xwindow, gfx::GetAtom("_NET_WM_WINDOW_TYPE"), x11::Atom::ATOM,
|
||||
ui::SetProperty(window, gfx::GetAtom("_NET_WM_WINDOW_TYPE"), x11::Atom::ATOM,
|
||||
window_type);
|
||||
}
|
||||
|
||||
|
@ -82,23 +82,23 @@ bool ShouldUseGlobalMenuBar() {
|
|||
return false;
|
||||
}
|
||||
|
||||
void MoveWindowToForeground(::Window xwindow) {
|
||||
MoveWindowAbove(xwindow, 0);
|
||||
void MoveWindowToForeground(x11::Window window) {
|
||||
MoveWindowAbove(window, static_cast<x11::Window>(0));
|
||||
}
|
||||
|
||||
void MoveWindowAbove(::Window xwindow, ::Window other_xwindow) {
|
||||
void MoveWindowAbove(x11::Window window, x11::Window other_window) {
|
||||
XDisplay* xdisplay = gfx::GetXDisplay();
|
||||
XEvent xclient;
|
||||
memset(&xclient, 0, sizeof(xclient));
|
||||
|
||||
xclient.type = ClientMessage;
|
||||
xclient.xclient.display = xdisplay;
|
||||
xclient.xclient.window = xwindow;
|
||||
xclient.xclient.window = static_cast<uint32_t>(window);
|
||||
xclient.xclient.message_type =
|
||||
static_cast<uint32_t>(gfx::GetAtom("_NET_RESTACK_WINDOW"));
|
||||
xclient.xclient.format = 32;
|
||||
xclient.xclient.data.l[0] = 2;
|
||||
xclient.xclient.data.l[1] = other_xwindow;
|
||||
xclient.xclient.data.l[1] = static_cast<uint32_t>(other_window);
|
||||
xclient.xclient.data.l[2] = static_cast<uint32_t>(x11::StackMode::Above);
|
||||
xclient.xclient.data.l[3] = 0;
|
||||
xclient.xclient.data.l[4] = 0;
|
||||
|
@ -108,9 +108,10 @@ void MoveWindowAbove(::Window xwindow, ::Window other_xwindow) {
|
|||
XFlush(xdisplay);
|
||||
}
|
||||
|
||||
bool IsWindowValid(::Window xwindow) {
|
||||
bool IsWindowValid(x11::Window window) {
|
||||
XWindowAttributes attrs;
|
||||
return XGetWindowAttributes(gfx::GetXDisplay(), xwindow, &attrs);
|
||||
return XGetWindowAttributes(gfx::GetXDisplay(), static_cast<uint32_t>(window),
|
||||
&attrs);
|
||||
}
|
||||
|
||||
} // namespace electron
|
||||
|
|
|
@ -13,22 +13,22 @@ namespace electron {
|
|||
|
||||
// Sends a message to the x11 window manager, enabling or disabling the |state|
|
||||
// for _NET_WM_STATE.
|
||||
void SetWMSpecState(::Window xwindow, bool enabled, x11::Atom state);
|
||||
void SetWMSpecState(x11::Window window, bool enabled, x11::Atom state);
|
||||
|
||||
// Sets the _NET_WM_WINDOW_TYPE of window.
|
||||
void SetWindowType(::Window xwindow, const std::string& type);
|
||||
void SetWindowType(x11::Window window, const std::string& type);
|
||||
|
||||
// Returns true if the bus name "com.canonical.AppMenu.Registrar" is available.
|
||||
bool ShouldUseGlobalMenuBar();
|
||||
|
||||
// Bring the given window to the front regardless of focus.
|
||||
void MoveWindowToForeground(::Window xwindow);
|
||||
void MoveWindowToForeground(x11::Window window);
|
||||
|
||||
// Move a given window above the other one.
|
||||
void MoveWindowAbove(::Window xwindow, ::Window other_xwindow);
|
||||
void MoveWindowAbove(x11::Window window, x11::Window other_window);
|
||||
|
||||
// Return true is the given window exists, false otherwise.
|
||||
bool IsWindowValid(::Window xwindow);
|
||||
bool IsWindowValid(x11::Window window);
|
||||
|
||||
} // namespace electron
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue