Skip to content

Commit

Permalink
Only observe the original active web contents when view is created.
Browse files Browse the repository at this point in the history
Cq-Include-Trybots: luci.chrome.try:linux-chromeos-chrome
Bug: b:273785262
Change-Id: I301b24817faaef9b5b5f12e2e4beadeb26824a9a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4350424
Commit-Queue: Juan Mojica <juanmojica@google.com>
Commit-Queue: Ali Stanfield <stanfield@google.com>
Reviewed-by: Ali Stanfield <stanfield@google.com>
Auto-Submit: Juan Mojica <juanmojica@google.com>
Cr-Commit-Position: refs/heads/main@{#1118941}
  • Loading branch information
Juan Mojica authored and Chromium LUCI CQ committed Mar 17, 2023
1 parent 6c86b1d commit 2690bea
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 31 deletions.
Expand Up @@ -17,33 +17,16 @@ CompanionPageHandler::CompanionPageHandler(
mojo::PendingRemote<side_panel::mojom::CompanionPage> page,
Browser* browser,
CompanionSidePanelUntrustedUI* companion_untrusted_ui)
: receiver_(this, std::move(receiver)),
: content::WebContentsObserver(
browser->tab_strip_model()->GetActiveWebContents()),
receiver_(this, std::move(receiver)),
page_(std::move(page)),
browser_(browser),
companion_untrusted_ui_(companion_untrusted_ui) {
DCHECK(browser_);
browser_->tab_strip_model()->AddObserver(this);

// Observe the active web contents and then pass the current active visible
// URL to the WebUI.
Observe(browser_->tab_strip_model()->GetActiveWebContents());
DCHECK(browser);
NotifyURLChanged();
}

CompanionPageHandler::~CompanionPageHandler() {
browser_->tab_strip_model()->RemoveObserver(this);
Observe(nullptr);
}

void CompanionPageHandler::OnTabStripModelChanged(
TabStripModel* tab_strip_model,
const TabStripModelChange& change,
const TabStripSelectionChange& selection) {
if (selection.active_tab_changed() && selection.new_contents) {
Observe(selection.new_contents);
NotifyURLChanged();
}
}
CompanionPageHandler::~CompanionPageHandler() = default;

void CompanionPageHandler::PrimaryPageChanged(content::Page& page) {
NotifyURLChanged();
Expand Down
Expand Up @@ -6,7 +6,6 @@
#define CHROME_BROWSER_UI_WEBUI_SIDE_PANEL_COMPANION_COMPANION_PAGE_HANDLER_H_

#include "base/memory/raw_ptr.h"
#include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
#include "chrome/browser/ui/webui/side_panel/companion/companion.mojom.h"
#include "content/public/browser/web_contents_observer.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
Expand All @@ -27,7 +26,6 @@ inline constexpr char kOriginQueryParameterValue[] =
"chrome-untrusted://companion-side-panel.top-chrome";

class CompanionPageHandler : public side_panel::mojom::CompanionPageHandler,
public TabStripModelObserver,
public content::WebContentsObserver {
public:
explicit CompanionPageHandler(
Expand All @@ -42,12 +40,6 @@ class CompanionPageHandler : public side_panel::mojom::CompanionPageHandler,
// side_panel::mojom::CompanionPageHandler:
void ShowUI() override;

// TabStripModelObserver:
void OnTabStripModelChanged(
TabStripModel* tab_strip_model,
const TabStripModelChange& change,
const TabStripSelectionChange& selection) override;

// content::WebContentsObserver:
void PrimaryPageChanged(content::Page& page) override;

Expand All @@ -64,7 +56,6 @@ class CompanionPageHandler : public side_panel::mojom::CompanionPageHandler,

mojo::Receiver<side_panel::mojom::CompanionPageHandler> receiver_;
mojo::Remote<side_panel::mojom::CompanionPage> page_;
const raw_ptr<Browser> browser_;
raw_ptr<CompanionSidePanelUntrustedUI> companion_untrusted_ui_ = nullptr;
};

Expand Down

0 comments on commit 2690bea

Please sign in to comment.