[Sharesheet] Pass ShareActions to Sharesheet as Targets

This CL gets ShareActions from the ShareActionCache and plums
them through to the Sharesheet bubble. It also adds a Share
label to the bubble.

Bug: 1097623
Change-Id: I98d17217f5b0fd1790c9866bb8bed4fc5a05bfed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2301262
Reviewed-by: Dominick Ng <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Commit-Queue: Melissa Zhang <[email protected]>
Cr-Commit-Position: refs/heads/master@{#790259}
diff --git a/chrome/browser/sharesheet/sharesheet_service_delegate.h b/chrome/browser/sharesheet/sharesheet_service_delegate.h
index 9a737c6..3fed3e2d 100644
--- a/chrome/browser/sharesheet/sharesheet_service_delegate.h
+++ b/chrome/browser/sharesheet/sharesheet_service_delegate.h
@@ -8,6 +8,7 @@
 #include <memory>
 
 #include "chrome/browser/sharesheet/sharesheet_controller.h"
+#include "chrome/browser/sharesheet/sharesheet_types.h"
 
 class SharesheetBubbleView;
 
@@ -31,16 +32,15 @@
   SharesheetServiceDelegate& operator=(const SharesheetServiceDelegate&) =
       delete;
 
-  uint32_t GetId();
-
-  void ShowBubble();
+  void ShowBubble(std::vector<TargetInfo> targets);
   void OnBubbleClosed();
 
   // SharesheetController overrides
+  uint32_t GetId() override;
   void ShareActionCompleted() override;
 
  private:
-  uint32_t id_;
+  const uint32_t id_;
   std::unique_ptr<SharesheetBubbleView> sharesheet_bubble_view_;
   SharesheetService* sharesheet_service_;
 };