[Reland][Extensions] Don't count bubble focus loss as acknowledgment

Currently, if an extension message bubble is shown, and then it is dismissed
because it loses focus, we treat it the same as the user clicking the dismiss
button - which serves as acknowledging the extension.  We could ignore focus
loss, but this makes for very noisy, awkward bubbles.  Instead, allow the bubble
to close, but don't treat this as user acknowledgment, and show the bubble again
on next startup.

This also involves tracking the close reason for a BubbleDelegateView.

BUG=548269
[email protected] (no changes relevant from original CL)
[email protected] (no changes relevant from original CL)

Review URL: https://codereview.chromium.org/1455313002

Cr-Commit-Position: refs/heads/master@{#360848}
diff --git a/chrome/browser/extensions/settings_api_bubble_delegate.h b/chrome/browser/extensions/settings_api_bubble_delegate.h
index dde081d3..aea8350 100644
--- a/chrome/browser/extensions/settings_api_bubble_delegate.h
+++ b/chrome/browser/extensions/settings_api_bubble_delegate.h
@@ -39,6 +39,7 @@
   bool ShouldLimitToEnabledExtensions() const override;
   void LogExtensionCount(size_t count) override;
   void LogAction(ExtensionMessageBubbleController::BubbleAction) override;
+  const char* GetKey() override;
 
  private:
   // The type of settings override this bubble will report on. This can be, for