Do not operate over Browser* in chrome/browser/badging/

Instead, use BrowserWindowInterface.

This allows the componentization of this directory with no circular
dependencies.

R=dljames@chromium.org

Bug: 353332589
Change-Id: I00adec7875bd9c64b54c13cf631839370b971304
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6947138
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1515635}
diff --git a/chrome/browser/badging/badge_manager.cc b/chrome/browser/badging/badge_manager.cc
index 5ed532dc..012137b 100644
--- a/chrome/browser/badging/badge_manager.cc
+++ b/chrome/browser/badging/badge_manager.cc
@@ -14,8 +14,6 @@
 #include "chrome/browser/badging/badge_manager_delegate.h"
 #include "chrome/browser/badging/badge_manager_factory.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/web_applications/app_browser_controller.h"
 #include "chrome/browser/web_applications/proto/web_app_install_state.pb.h"
 #include "chrome/browser/web_applications/web_app_filter.h"
diff --git a/chrome/browser/badging/badge_manager_delegate_win.cc b/chrome/browser/badging/badge_manager_delegate_win.cc
index 83abecb..28372a6a 100644
--- a/chrome/browser/badging/badge_manager_delegate_win.cc
+++ b/chrome/browser/badging/badge_manager_delegate_win.cc
@@ -9,9 +9,10 @@
 #include "chrome/browser/badging/badge_manager.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/taskbar/taskbar_decorator_win.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/browser_window/public/browser_window_interface.h"
+#include "chrome/browser/ui/browser_window/public/browser_window_interface_iterator.h"
 #include "chrome/browser/ui/web_applications/app_browser_controller.h"
+#include "ui/base/base_window.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/strings/grit/ui_strings.h"
 
@@ -69,26 +70,26 @@
   const auto& content_and_alt =
       GetBadgeContentAndAlt(badge_manager()->GetBadgeValue(app_id));
 
-  for (Browser* browser : *BrowserList::GetInstance()) {
+  for (auto* browser : GetAllBrowserWindowInterfaces()) {
     if (!IsAppBrowser(browser, app_id))
       continue;
 
-    auto* window = browser->window()->GetNativeWindow();
+    auto* window = browser->GetWindow()->GetNativeWindow();
 
     if (content_and_alt) {
       taskbar::DrawTaskbarDecorationString(window, content_and_alt->first,
                                            content_and_alt->second);
     } else {
-      taskbar::UpdateTaskbarDecoration(browser->profile(), window);
+      taskbar::UpdateTaskbarDecoration(browser->GetProfile(), window);
     }
   }
 }
 
-bool BadgeManagerDelegateWin::IsAppBrowser(Browser* browser,
+bool BadgeManagerDelegateWin::IsAppBrowser(BrowserWindowInterface* browser,
                                            const std::string& app_id) {
-  return browser->app_controller() &&
-         browser->app_controller()->app_id() == app_id &&
-         browser->profile() == profile();
+  return browser->GetAppBrowserController() &&
+         browser->GetAppBrowserController()->app_id() == app_id &&
+         browser->GetProfile() == profile();
 }
 
 }  // namespace badging
diff --git a/chrome/browser/badging/badge_manager_delegate_win.h b/chrome/browser/badging/badge_manager_delegate_win.h
index 38d31b9..0be87999 100644
--- a/chrome/browser/badging/badge_manager_delegate_win.h
+++ b/chrome/browser/badging/badge_manager_delegate_win.h
@@ -8,8 +8,8 @@
 #include <string>
 
 #include "chrome/browser/badging/badge_manager_delegate.h"
-#include "chrome/browser/ui/browser.h"
 
+class BrowserWindowInterface;
 class Profile;
 
 namespace badging {
@@ -26,7 +26,7 @@
 
  private:
   // Determines if a browser is for a specific hosted app, on this profile.
-  bool IsAppBrowser(Browser* browser, const std::string& app_id);
+  bool IsAppBrowser(BrowserWindowInterface* browser, const std::string& app_id);
 };
 
 }  // namespace badging