Differential Revision: https://phabricator.services.mozilla.com/D311043
49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
/*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef WinTaskbar_h_
|
|
#define WinTaskbar_h_
|
|
|
|
#include <shobjidl.h>
|
|
#include <windows.h>
|
|
#undef LogSeverity // SetupAPI.h #defines this as DWORD
|
|
#include "nsIWinTaskbar.h"
|
|
|
|
namespace mozilla {
|
|
namespace widget {
|
|
|
|
class WinTaskbar final : public nsIWinTaskbar {
|
|
~WinTaskbar();
|
|
|
|
public:
|
|
WinTaskbar() = default;
|
|
|
|
NS_DECL_THREADSAFE_ISUPPORTS
|
|
NS_DECL_NSIWINTASKBAR
|
|
|
|
static bool GenerateAppUserModelID(nsAString& aAppUserModelId,
|
|
bool aPrivateBrowsing = false);
|
|
// Registers the global app user model id for the instance.
|
|
// See comments in WinTaskbar.cpp for more information.
|
|
static bool RegisterAppUserModelID();
|
|
static bool GetAppUserModelID(nsAString& aDefaultGroupId,
|
|
bool aPrivateBrowsing = false);
|
|
|
|
// Returns the current window-icon override resource ID for normal windows,
|
|
// or 0 when no override is set. Read at nsWindow creation time so that newly
|
|
// created windows pick up the override.
|
|
static uint16_t GetWindowIconOverride();
|
|
|
|
private:
|
|
bool Initialize();
|
|
|
|
ITaskbarList4* mTaskbar = nullptr;
|
|
};
|
|
|
|
} // namespace widget
|
|
} // namespace mozilla
|
|
|
|
#endif /* WinTaskbar_h_ */
|