InfoBar-related cleanup, part 1: Miscellany

* Comment improvements
* Make GlobalConfirmInfoBar::DelegateProxy use the base impl more
* Handle |is_closing_| slightly better in GlobalConfirmInfoBar
* Shorten code
* Subclass methods should use parent access control level
* DISALLOW_COPY_AND_ASSIGN -> explicit deletions
* Remove unnecessary #includes
* Use in-declaration initializers
* Tear down ExtensionDevToolsInfoBar based on delegate destruction, not
  "dismissal".  This is clearer and simpler.

No intended behavior change.

Bug: none
Change-Id: Ic5ea01f11d3b270f23cd9db391d5c1b1a4f52b98
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2173316
Commit-Queue: Peter Kasting <[email protected]>
Reviewed-by: Mark Cogan <[email protected]>
Reviewed-by: Andrey Kosyakov <[email protected]>
Reviewed-by: Karan Bhatia <[email protected]>
Reviewed-by: Evan Stade <[email protected]>
Reviewed-by: Mustafa Emre Acer <[email protected]>
Cr-Commit-Position: refs/heads/master@{#766722}
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.cc b/chrome/browser/extensions/api/debugger/debugger_api.cc
index 965ba5a..a39b109f 100644
--- a/chrome/browser/extensions/api/debugger/debugger_api.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_api.cc
@@ -32,12 +32,10 @@
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_tab_util.h"
 #include "chrome/browser/extensions/extension_util.h"
-#include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h"
 #include "chrome/common/chrome_switches.h"
-#include "components/infobars/core/infobar.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/devtools_agent_host.h"
@@ -148,7 +146,7 @@
                             SendCommand::Params::CommandParams* command_params);
 
   // Closes connection as terminated by the user.
-  void InfoBarDismissed();
+  void InfoBarDestroyed();
 
   // DevToolsAgentHostClient interface.
   void AgentHostClosed(DevToolsAgentHost* agent_host) override;
@@ -180,10 +178,11 @@
   scoped_refptr<const Extension> extension_;
   Debuggee debuggee_;
   content::NotificationRegistrar registrar_;
-  int last_request_id_;
+  int last_request_id_ = 0;
   PendingRequests pending_requests_;
-  ExtensionDevToolsInfoBar* infobar_;
-  api::debugger::DetachReason detach_reason_;
+  ExtensionDevToolsInfoBar* infobar_ = nullptr;
+  api::debugger::DetachReason detach_reason_ =
+      api::debugger::DETACH_REASON_TARGET_CLOSED;
 
   // Listen to extension unloaded notification.
   ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver>
@@ -199,10 +198,7 @@
     const Debuggee& debuggee)
     : profile_(profile),
       agent_host_(agent_host),
-      extension_(std::move(extension)),
-      last_request_id_(0),
-      infobar_(nullptr),
-      detach_reason_(api::debugger::DETACH_REASON_TARGET_CLOSED) {
+      extension_(std::move(extension)) {
   CopyDebuggee(&debuggee_, debuggee);
 
   g_attached_client_hosts.Get().insert(this);
@@ -235,8 +231,8 @@
 
   infobar_ = ExtensionDevToolsInfoBar::Create(
       extension_id(), extension_->name(), this,
-      base::Bind(&ExtensionDevToolsClientHost::InfoBarDismissed,
-                 base::Unretained(this)));
+      base::BindOnce(&ExtensionDevToolsClientHost::InfoBarDestroyed,
+                     base::Unretained(this)));
   return true;
 }
 
@@ -281,7 +277,7 @@
                                        base::as_bytes(base::make_span(json)));
 }
 
-void ExtensionDevToolsClientHost::InfoBarDismissed() {
+void ExtensionDevToolsClientHost::InfoBarDestroyed() {
   detach_reason_ = api::debugger::DETACH_REASON_CANCELED_BY_USER;
   RespondDetachedToPendingRequests();
   SendDetachedEvent();