|  | // Copyright 2020 The Chromium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef CHROME_BROWSER_UI_WEB_APPLICATIONS_SHARE_TARGET_UTILS_H_ | 
|  | #define CHROME_BROWSER_UI_WEB_APPLICATIONS_SHARE_TARGET_UTILS_H_ | 
|  |  | 
|  | #include <string> | 
|  | #include <vector> | 
|  |  | 
|  | #include "chrome/browser/ui/browser_navigator_params.h" | 
|  | #include "components/services/app_service/public/cpp/intent.h" | 
|  |  | 
|  | class Browser; | 
|  |  | 
|  | namespace apps { | 
|  | struct ShareTarget; | 
|  | }  // namespace apps | 
|  |  | 
|  | namespace web_app { | 
|  |  | 
|  | struct SharedField { | 
|  | friend bool operator==(const SharedField&, const SharedField&) = default; | 
|  |  | 
|  | std::string name; | 
|  | std::string value; | 
|  | }; | 
|  |  | 
|  | std::vector<SharedField> ExtractSharedFields( | 
|  | const apps::ShareTarget& share_target, | 
|  | const apps::Intent& intent); | 
|  |  | 
|  | NavigateParams NavigateParamsForShareTarget( | 
|  | Browser* browser, | 
|  | const apps::ShareTarget& share_target, | 
|  | const apps::Intent& intent, | 
|  | const std::vector<base::FilePath>& launch_files); | 
|  |  | 
|  | }  // namespace web_app | 
|  |  | 
|  | #endif  // CHROME_BROWSER_UI_WEB_APPLICATIONS_SHARE_TARGET_UTILS_H_ |