| // Copyright 2020 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_SHARESHEET_SHARESHEET_CONTROLLER_H_ |
| #define CHROME_BROWSER_SHARESHEET_SHARESHEET_CONTROLLER_H_ |
| |
| class Profile; |
| |
| namespace sharesheet { |
| |
| // The SharesheetController allows ShareActions to request changes to the state |
| // of the sharesheet. |
| class SharesheetController { |
| public: |
| virtual ~SharesheetController() = default; |
| |
| virtual Profile* GetProfile() = 0; |
| |
| // When called will set the bubble size to |width| and |height|. |
| // |width| and |height| must be set to a positive int. |
| virtual void SetSharesheetSize(const int& width, const int& height) = 0; |
| |
| // Called by ShareAction to notify SharesheetBubbleView that ShareAction |
| // has completed. |
| virtual void CloseSharesheet() = 0; |
| }; |
| |
| } // namespace sharesheet |
| |
| #endif // CHROME_BROWSER_SHARESHEET_SHARESHEET_CONTROLLER_H_ |