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

Unified Diff: chrome/browser/jumplist_updater_win.h

Issue 2098713003: Moved a bunch of win-specific files to the new win folder in chrome/browser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 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
« no previous file with comments | « chrome/browser/enumerate_modules_model_win.cc ('k') | chrome/browser/jumplist_updater_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/jumplist_updater_win.h
diff --git a/chrome/browser/jumplist_updater_win.h b/chrome/browser/jumplist_updater_win.h
deleted file mode 100644
index a6b2c5859fc329aab0b0b9de859a0715fa53e0a8..0000000000000000000000000000000000000000
--- a/chrome/browser/jumplist_updater_win.h
+++ /dev/null
@@ -1,141 +0,0 @@
-// 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.
-
-#ifndef CHROME_BROWSER_JUMPLIST_UPDATER_WIN_H_
-#define CHROME_BROWSER_JUMPLIST_UPDATER_WIN_H_
-
-#include <windows.h>
-#include <shobjidl.h>
-#include <stddef.h>
-
-#include <string>
-#include <vector>
-
-#include "base/command_line.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/win/scoped_comptr.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-
-// Represents a class used for creating an IShellLink object.
-// Even though an IShellLink also needs the absolute path to an application to
-// be executed, this class does not have any variables for it because current
-// users always use "chrome.exe" as the application.
-class ShellLinkItem : public base::RefCountedThreadSafe<ShellLinkItem> {
- public:
- ShellLinkItem();
-
- const std::wstring& title() const { return title_; }
- const std::wstring& icon_path() const { return icon_path_; }
- int icon_index() const { return icon_index_; }
- const SkBitmap& icon_data() const { return icon_data_; }
-
- std::wstring GetArguments() const;
- base::CommandLine* GetCommandLine();
-
- void set_title(const std::wstring& title) {
- title_ = title;
- }
-
- void set_icon(const std::wstring& path, int index) {
- icon_path_ = path;
- icon_index_ = index;
- }
-
- void set_icon_data(const SkBitmap& data) {
- icon_data_ = data;
- }
-
- private:
- friend class base::RefCountedThreadSafe<ShellLinkItem>;
- ~ShellLinkItem();
-
- // Used for storing and appending command-line arguments.
- base::CommandLine command_line_;
-
- // The string to be displayed in a JumpList.
- std::wstring title_;
-
- // The absolute path to an icon to be displayed in a JumpList.
- std::wstring icon_path_;
-
- // The icon index in the icon file. If an icon file consists of two or more
- // icons, set this value to identify the icon. If an icon file consists of
- // one icon, this value is 0.
- int icon_index_;
-
- // Icon bitmap. Used by the browser JumpList.
- // Note that an icon path must be supplied to IShellLink, so users of this
- // class must save icon data to disk.
- SkBitmap icon_data_;
-
- DISALLOW_COPY_AND_ASSIGN(ShellLinkItem);
-};
-
-typedef std::vector<scoped_refptr<ShellLinkItem> > ShellLinkItemList;
-
-
-// A utility class that hides the boilerplate for updating Windows JumpLists.
-// Note that JumpLists are available in Windows 7 and later only.
-//
-// Example of usage:
-//
-// JumpListUpdater updater(app_id);
-// if (updater.BeginUpdate()) {
-// updater.AddTasks(...);
-// updater.AddCustomCategory(...);
-// updater.CommitUpdate();
-// }
-//
-// Note:
-// - Each JumpListUpdater instance is expected to be used once only.
-// - The JumpList must be updated in its entirety, i.e. even if a category has
-// not changed, all its items must be added in each update.
-class JumpListUpdater {
- public:
- explicit JumpListUpdater(const std::wstring& app_user_model_id);
- ~JumpListUpdater();
-
- // Returns true if JumpLists are enabled on this OS.
- static bool IsEnabled();
-
- // Returns the current user setting for the maximum number of items to display
- // in JumpLists. The setting is retrieved in BeginUpdate().
- size_t user_max_items() const { return user_max_items_; }
-
- // Starts a transaction that updates the JumpList of this application.
- // This must be called prior to updating the JumpList. If this function
- // returns false, this instance should not be used.
- bool BeginUpdate();
-
- // Commits the update.
- bool CommitUpdate();
-
- // Updates the predefined "Tasks" category of the JumpList.
- bool AddTasks(const ShellLinkItemList& link_items);
-
- // Updates an unregistered category of the JumpList.
- // This function cannot update registered categories (such as "Tasks")
- // because special steps are required for updating them.
- // |max_items| specifies the maximum number of items from |link_items| to add
- // to the JumpList.
- bool AddCustomCategory(const std::wstring& category_name,
- const ShellLinkItemList& link_items,
- size_t max_items);
-
- private:
- // The app ID.
- std::wstring app_user_model_id_;
-
- // Windows API interface used to modify JumpLists.
- base::win::ScopedComPtr<ICustomDestinationList> destination_list_;
-
- // The current user setting for "Number of recent items to display in Jump
- // Lists" option in the "Taskbar and Start Menu Properties".
- size_t user_max_items_;
-
- DISALLOW_COPY_AND_ASSIGN(JumpListUpdater);
-};
-
-#endif // CHROME_BROWSER_JUMPLIST_UPDATER_WIN_H_
« no previous file with comments | « chrome/browser/enumerate_modules_model_win.cc ('k') | chrome/browser/jumplist_updater_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698