Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2276)

Unified Diff: chrome/browser/web_applications/update_shortcut_worker_win.cc

Issue 213113005: Remove web_app_ui.[cc|h]. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/web_applications/update_shortcut_worker_win.cc
diff --git a/chrome/browser/ui/web_applications/web_app_ui.cc b/chrome/browser/web_applications/update_shortcut_worker_win.cc
similarity index 67%
rename from chrome/browser/ui/web_applications/web_app_ui.cc
rename to chrome/browser/web_applications/update_shortcut_worker_win.cc
index 596764b5cdb7dad928b4af487fde86d16a6af1cb..e6b82089586f7aadde7d8f6768cfedabb3e307b9 100644
--- a/chrome/browser/ui/web_applications/web_app_ui.cc
+++ b/chrome/browser/web_applications/update_shortcut_worker_win.cc
@@ -1,111 +1,37 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2014 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.
-#include "chrome/browser/ui/web_applications/web_app_ui.h"
+#include "chrome/browser/web_applications/update_shortcut_worker_win.h"
+
+#include <algorithm>
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/file_util.h"
#include "base/path_service.h"
#include "base/strings/utf_string_conversions.h"
+#include "base/win/shortcut.h"
+#include "base/win/windows_version.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/favicon/favicon_tab_helper.h"
#include "chrome/browser/history/select_favicon_frames.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/web_applications/web_app.h"
+#include "chrome/browser/web_applications/web_app_win.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
-#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_source.h"
#include "content/public/browser/web_contents.h"
-#include "url/gurl.h"
-
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
-#include "base/environment.h"
-#endif
-
-#if defined(OS_WIN)
-#include "base/win/shortcut.h"
-#include "base/win/windows_version.h"
-#include "chrome/browser/web_applications/web_app_win.h"
#include "ui/gfx/icon_util.h"
-#endif
+#include "url/gurl.h"
using content::BrowserThread;
using content::NavigationController;
using content::WebContents;
-namespace {
-
-// TODO(jackhou): Move all win-specific code to web_app_win.
-#if defined(OS_WIN)
-// UpdateShortcutWorker holds all context data needed for update shortcut.
-// It schedules a pre-update check to find all shortcuts that needs to be
-// updated. If there are such shortcuts, it schedules icon download and
-// update them when icons are downloaded. It observes TAB_CLOSING notification
-// and cancels all the work when the underlying tab is closing.
-class UpdateShortcutWorker : public content::NotificationObserver {
- public:
- explicit UpdateShortcutWorker(WebContents* web_contents);
-
- void Run();
-
- private:
- // Overridden from content::NotificationObserver:
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details);
-
- // Downloads icon via the FaviconTabHelper.
- void DownloadIcon();
-
- // Favicon download callback.
- void DidDownloadFavicon(
- int requested_size,
- int id,
- int http_status_code,
- const GURL& image_url,
- const std::vector<SkBitmap>& bitmaps,
- const std::vector<gfx::Size>& original_bitmap_sizes);
-
- // Checks if shortcuts exists on desktop, start menu and quick launch.
- void CheckExistingShortcuts();
-
- // Update shortcut files and icons.
- void UpdateShortcuts();
- void UpdateShortcutsOnFileThread();
-
- // Callback after shortcuts are updated.
- void OnShortcutsUpdated(bool);
-
- // Deletes the worker on UI thread where it gets created.
- void DeleteMe();
- void DeleteMeOnUIThread();
-
- content::NotificationRegistrar registrar_;
-
- // Underlying WebContents whose shortcuts will be updated.
- WebContents* web_contents_;
-
- // Icons info from web_contents_'s web app data.
- web_app::IconInfoList unprocessed_icons_;
-
- // Cached shortcut data from the web_contents_.
- ShellIntegration::ShortcutInfo shortcut_info_;
-
- // Our copy of profile path.
- base::FilePath profile_path_;
-
- // File name of shortcut/ico file based on app title.
- base::FilePath file_name_;
-
- // Existing shortcuts.
- std::vector<base::FilePath> shortcut_files_;
-
- DISALLOW_COPY_AND_ASSIGN(UpdateShortcutWorker);
-};
+namespace web_app {
UpdateShortcutWorker::UpdateShortcutWorker(WebContents* web_contents)
: web_contents_(web_contents),
@@ -312,42 +238,5 @@ void UpdateShortcutWorker::DeleteMeOnUIThread() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
delete this;
}
-#endif // defined(OS_WIN)
-
-} // namespace
-
-namespace web_app {
-
-void GetShortcutInfoForTab(WebContents* web_contents,
- ShellIntegration::ShortcutInfo* info) {
- DCHECK(info); // Must provide a valid info.
-
- const FaviconTabHelper* favicon_tab_helper =
- FaviconTabHelper::FromWebContents(web_contents);
- const extensions::TabHelper* extensions_tab_helper =
- extensions::TabHelper::FromWebContents(web_contents);
- const WebApplicationInfo& app_info = extensions_tab_helper->web_app_info();
-
- info->url = app_info.app_url.is_empty() ? web_contents->GetURL() :
- app_info.app_url;
- info->title = app_info.title.empty() ?
- (web_contents->GetTitle().empty() ? base::UTF8ToUTF16(info->url.spec()) :
- web_contents->GetTitle()) :
- app_info.title;
- info->description = app_info.description;
- info->favicon.Add(favicon_tab_helper->GetFavicon());
-
- Profile* profile =
- Profile::FromBrowserContext(web_contents->GetBrowserContext());
- info->profile_path = profile->GetPath();
-}
-
-void UpdateShortcutForTabContents(WebContents* web_contents) {
-#if defined(OS_WIN)
- // UpdateShortcutWorker will delete itself when it's done.
- UpdateShortcutWorker* worker = new UpdateShortcutWorker(web_contents);
- worker->Run();
-#endif // defined(OS_WIN)
-}
} // namespace web_app
« no previous file with comments | « chrome/browser/web_applications/update_shortcut_worker_win.h ('k') | chrome/browser/web_applications/web_app.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698