refactor: add NativeWindow::IsActive() (#47148)
this was already present on macOS; use in NativeWindowViews too
This commit is contained in:
parent
296e39456a
commit
211faed848
4 changed files with 7 additions and 6 deletions
|
@ -2007,13 +2007,8 @@ void WebContents::ReadyToCommitNavigation(
|
||||||
// Don't focus content in an inactive window.
|
// Don't focus content in an inactive window.
|
||||||
if (!owner_window())
|
if (!owner_window())
|
||||||
return;
|
return;
|
||||||
#if BUILDFLAG(IS_MAC)
|
|
||||||
if (!owner_window()->IsActive())
|
if (!owner_window()->IsActive())
|
||||||
return;
|
return;
|
||||||
#else
|
|
||||||
if (!owner_window()->widget()->IsActive())
|
|
||||||
return;
|
|
||||||
#endif
|
|
||||||
// Don't focus content after subframe navigations.
|
// Don't focus content after subframe navigations.
|
||||||
if (!navigation_handle->IsInMainFrame())
|
if (!navigation_handle->IsInMainFrame())
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -157,10 +157,10 @@ class NativeWindow : public base::SupportsUserData,
|
||||||
virtual ui::ZOrderLevel GetZOrderLevel() const = 0;
|
virtual ui::ZOrderLevel GetZOrderLevel() const = 0;
|
||||||
virtual void Center() = 0;
|
virtual void Center() = 0;
|
||||||
virtual void Invalidate() = 0;
|
virtual void Invalidate() = 0;
|
||||||
|
[[nodiscard]] virtual bool IsActive() const = 0;
|
||||||
#if BUILDFLAG(IS_MAC)
|
#if BUILDFLAG(IS_MAC)
|
||||||
virtual std::string GetAlwaysOnTopLevel() const = 0;
|
virtual std::string GetAlwaysOnTopLevel() const = 0;
|
||||||
virtual void SetActive(bool is_key) = 0;
|
virtual void SetActive(bool is_key) = 0;
|
||||||
virtual bool IsActive() const = 0;
|
|
||||||
virtual void RemoveChildFromParentWindow() = 0;
|
virtual void RemoveChildFromParentWindow() = 0;
|
||||||
virtual void RemoveChildWindow(NativeWindow* child) = 0;
|
virtual void RemoveChildWindow(NativeWindow* child) = 0;
|
||||||
virtual void AttachChildren() = 0;
|
virtual void AttachChildren() = 0;
|
||||||
|
|
|
@ -1202,6 +1202,11 @@ void NativeWindowViews::Invalidate() {
|
||||||
widget()->SchedulePaintInRect(gfx::Rect(GetBounds().size()));
|
widget()->SchedulePaintInRect(gfx::Rect(GetBounds().size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NativeWindowViews::IsActive() const {
|
||||||
|
views::Widget* const widget = this->widget();
|
||||||
|
return widget && widget->IsActive();
|
||||||
|
}
|
||||||
|
|
||||||
void NativeWindowViews::FlashFrame(bool flash) {
|
void NativeWindowViews::FlashFrame(bool flash) {
|
||||||
#if BUILDFLAG(IS_WIN)
|
#if BUILDFLAG(IS_WIN)
|
||||||
// The Chromium's implementation has a bug stopping flash.
|
// The Chromium's implementation has a bug stopping flash.
|
||||||
|
|
|
@ -103,6 +103,7 @@ class NativeWindowViews : public NativeWindow,
|
||||||
ui::ZOrderLevel GetZOrderLevel() const override;
|
ui::ZOrderLevel GetZOrderLevel() const override;
|
||||||
void Center() override;
|
void Center() override;
|
||||||
void Invalidate() override;
|
void Invalidate() override;
|
||||||
|
[[nodiscard]] bool IsActive() const override;
|
||||||
void FlashFrame(bool flash) override;
|
void FlashFrame(bool flash) override;
|
||||||
void SetSkipTaskbar(bool skip) override;
|
void SetSkipTaskbar(bool skip) override;
|
||||||
void SetExcludedFromShownWindowsMenu(bool excluded) override {}
|
void SetExcludedFromShownWindowsMenu(bool excluded) override {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue