| Index: chrome/browser/web_applications/web_app.cc
|
| diff --git a/chrome/browser/web_applications/web_app.cc b/chrome/browser/web_applications/web_app.cc
|
| index d0da8543b40f3381214cef41238a0f50b9bd3003..358db3f2a8d098cff9aedccce420bd56266a092c 100644
|
| --- a/chrome/browser/web_applications/web_app.cc
|
| +++ b/chrome/browser/web_applications/web_app.cc
|
| @@ -88,11 +88,11 @@ base::FilePath GetShortcutDataDir(const web_app::ShortcutInfo& shortcut_info) {
|
| void UpdateAllShortcutsForShortcutInfo(
|
| const base::string16& old_app_title,
|
| const base::Closure& callback,
|
| - std::unique_ptr<web_app::ShortcutInfo> shortcut_info) {
|
| + scoped_refptr<web_app::ShortcutInfo> shortcut_info) {
|
| base::FilePath shortcut_data_dir = GetShortcutDataDir(*shortcut_info);
|
| - base::Closure task = base::Bind(&web_app::internals::UpdatePlatformShortcuts,
|
| - shortcut_data_dir, old_app_title,
|
| - base::Passed(&shortcut_info));
|
| + base::Closure task =
|
| + base::Bind(&web_app::internals::UpdatePlatformShortcuts,
|
| + shortcut_data_dir, old_app_title, std::move(shortcut_info));
|
| if (callback.is_null()) {
|
| BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, task);
|
| } else {
|
| @@ -101,7 +101,7 @@ void UpdateAllShortcutsForShortcutInfo(
|
| }
|
| }
|
|
|
| -void OnImageLoaded(std::unique_ptr<web_app::ShortcutInfo> shortcut_info,
|
| +void OnImageLoaded(scoped_refptr<web_app::ShortcutInfo> shortcut_info,
|
| web_app::ShortcutInfoCallback callback,
|
| const gfx::ImageFamily& image_family) {
|
| // If the image failed to load (e.g. if the resource being loaded was empty)
|
| @@ -128,13 +128,13 @@ void OnImageLoaded(std::unique_ptr<web_app::ShortcutInfo> shortcut_info,
|
| void ScheduleCreatePlatformShortcut(
|
| web_app::ShortcutCreationReason reason,
|
| const web_app::ShortcutLocations& locations,
|
| - std::unique_ptr<web_app::ShortcutInfo> shortcut_info) {
|
| + scoped_refptr<web_app::ShortcutInfo> shortcut_info) {
|
| base::FilePath shortcut_data_dir = GetShortcutDataDir(*shortcut_info);
|
| BrowserThread::PostTask(
|
| BrowserThread::FILE, FROM_HERE,
|
| base::Bind(
|
| base::IgnoreResult(&web_app::internals::CreatePlatformShortcuts),
|
| - shortcut_data_dir, base::Passed(&shortcut_info), locations, reason));
|
| + shortcut_data_dir, std::move(shortcut_info), locations, reason));
|
| }
|
|
|
| } // namespace
|
| @@ -173,7 +173,7 @@ ShortcutLocations::ShortcutLocations()
|
| }
|
|
|
| #if defined(TOOLKIT_VIEWS)
|
| -std::unique_ptr<ShortcutInfo> GetShortcutInfoForTab(
|
| +scoped_refptr<ShortcutInfo> GetShortcutInfoForTab(
|
| content::WebContents* web_contents) {
|
| const favicon::FaviconDriver* favicon_driver =
|
| favicon::ContentFaviconDriver::FromWebContents(web_contents);
|
| @@ -181,7 +181,7 @@ std::unique_ptr<ShortcutInfo> GetShortcutInfoForTab(
|
| extensions::TabHelper::FromWebContents(web_contents);
|
| const WebApplicationInfo& app_info = extensions_tab_helper->web_app_info();
|
|
|
| - std::unique_ptr<ShortcutInfo> info(new ShortcutInfo);
|
| + scoped_refptr<ShortcutInfo> info(new ShortcutInfo);
|
| info->url = app_info.app_url.is_empty() ? web_contents->GetURL() :
|
| app_info.app_url;
|
| info->title = app_info.title.empty() ?
|
| @@ -203,10 +203,10 @@ std::unique_ptr<ShortcutInfo> GetShortcutInfoForTab(
|
| void UpdateShortcutForTabContents(content::WebContents* web_contents) {}
|
| #endif
|
|
|
| -std::unique_ptr<ShortcutInfo> ShortcutInfoForExtensionAndProfile(
|
| +scoped_refptr<ShortcutInfo> ShortcutInfoForExtensionAndProfile(
|
| const extensions::Extension* app,
|
| Profile* profile) {
|
| - std::unique_ptr<ShortcutInfo> shortcut_info(new ShortcutInfo);
|
| + scoped_refptr<ShortcutInfo> shortcut_info(new ShortcutInfo);
|
| shortcut_info->extension_id = app->id();
|
| shortcut_info->is_platform_app = app->is_platform_app();
|
|
|
| @@ -230,7 +230,7 @@ std::unique_ptr<ShortcutInfo> ShortcutInfoForExtensionAndProfile(
|
| void GetShortcutInfoForApp(const extensions::Extension* extension,
|
| Profile* profile,
|
| const ShortcutInfoCallback& callback) {
|
| - std::unique_ptr<web_app::ShortcutInfo> shortcut_info(
|
| + scoped_refptr<web_app::ShortcutInfo> shortcut_info(
|
| web_app::ShortcutInfoForExtensionAndProfile(extension, profile));
|
|
|
| std::vector<extensions::ImageLoader::ImageRepresentation> info_list;
|
| @@ -386,7 +386,7 @@ std::string GetExtensionIdFromApplicationName(const std::string& app_name) {
|
|
|
| void CreateShortcutsWithInfo(ShortcutCreationReason reason,
|
| const ShortcutLocations& locations,
|
| - std::unique_ptr<ShortcutInfo> shortcut_info) {
|
| + scoped_refptr<ShortcutInfo> shortcut_info) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
|
|
| // If the shortcut is for an application shortcut with the new bookmark app
|
| @@ -427,7 +427,7 @@ void CreateShortcuts(ShortcutCreationReason reason,
|
| void DeleteAllShortcuts(Profile* profile, const extensions::Extension* app) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
|
|
| - std::unique_ptr<ShortcutInfo> shortcut_info(
|
| + scoped_refptr<ShortcutInfo> shortcut_info(
|
| ShortcutInfoForExtensionAndProfile(app, profile));
|
| base::FilePath shortcut_data_dir = GetShortcutDataDir(*shortcut_info);
|
| BrowserThread::PostTask(
|
|
|