зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1181395 - Avoid runtime conversion or copy of names of window classes on Windows. r=jimm
--HG-- extra : source : 9ba468db37a17a3f39191b8802283e88589e4135
This commit is contained in:
Родитель
5c9cd6704d
Коммит
d54d12611a
|
@ -173,8 +173,6 @@ nsUXThemeData::UpdateTitlebarInfo(HWND aWnd)
|
|||
|
||||
// Query a temporary, visible window with command buttons to get
|
||||
// the right metrics.
|
||||
nsAutoString className;
|
||||
className.AssignLiteral(kClassNameTemp);
|
||||
WNDCLASSW wc;
|
||||
wc.style = 0;
|
||||
wc.lpfnWndProc = ::DefWindowProcW;
|
||||
|
@ -185,7 +183,7 @@ nsUXThemeData::UpdateTitlebarInfo(HWND aWnd)
|
|||
wc.hCursor = nullptr;
|
||||
wc.hbrBackground = nullptr;
|
||||
wc.lpszMenuName = nullptr;
|
||||
wc.lpszClassName = className.get();
|
||||
wc.lpszClassName = kClassNameTemp;
|
||||
::RegisterClassW(&wc);
|
||||
|
||||
// Create a transparent descendant of the window passed in. This
|
||||
|
@ -193,7 +191,7 @@ nsUXThemeData::UpdateTitlebarInfo(HWND aWnd)
|
|||
// Note the parent (browser) window is usually still hidden, we
|
||||
// don't want to display it, so we can't query it directly.
|
||||
HWND hWnd = CreateWindowExW(WS_EX_LAYERED,
|
||||
className.get(), L"",
|
||||
kClassNameTemp, L"",
|
||||
WS_OVERLAPPEDWINDOW,
|
||||
0, 0, 0, 0, aWnd, nullptr,
|
||||
nsToolkit::mDllInstance, nullptr);
|
||||
|
|
|
@ -245,9 +245,6 @@ BYTE nsWindow::sLastMouseButton = 0;
|
|||
// Trim heap on minimize. (initialized, but still true.)
|
||||
int nsWindow::sTrimOnMinimize = 2;
|
||||
|
||||
// Default value for general window class (used when the pref is the empty string).
|
||||
const char* nsWindow::sDefaultMainWindowClass = kClassNameGeneral;
|
||||
|
||||
TriStateBool nsWindow::sHasBogusPopupsDropShadowOnMultiMonitor = TRI_UNKNOWN;
|
||||
|
||||
DWORD nsWindow::sFirstEventTime = 0;
|
||||
|
@ -540,7 +537,7 @@ nsWindow::Create(nsIWidget *aParent,
|
|||
}
|
||||
}
|
||||
|
||||
nsAutoString className;
|
||||
nsString className;
|
||||
if (aInitData->mDropShadow) {
|
||||
GetWindowPopupClass(className);
|
||||
} else {
|
||||
|
@ -2929,7 +2926,7 @@ nsWindow::MakeFullScreen(bool aFullScreen, nsIScreen* aTargetScreen)
|
|||
// Return some native data according to aDataType
|
||||
void* nsWindow::GetNativeData(uint32_t aDataType)
|
||||
{
|
||||
nsAutoString className;
|
||||
nsString className;
|
||||
switch (aDataType) {
|
||||
case NS_NATIVE_TMP_WINDOW:
|
||||
GetWindowClass(className);
|
||||
|
@ -7562,7 +7559,7 @@ void nsWindow::GetMainWindowClass(nsAString& aClass)
|
|||
NS_PRECONDITION(aClass.IsEmpty(), "aClass should be empty string");
|
||||
nsresult rv = Preferences::GetString("ui.window_class_override", &aClass);
|
||||
if (NS_FAILED(rv) || aClass.IsEmpty()) {
|
||||
aClass.AssignASCII(sDefaultMainWindowClass);
|
||||
aClass.AssignLiteral(kClassNameGeneral);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -499,7 +499,6 @@ protected:
|
|||
static bool sJustGotActivate;
|
||||
static bool sIsInMouseCapture;
|
||||
static int sTrimOnMinimize;
|
||||
static const char* sDefaultMainWindowClass;
|
||||
|
||||
// Always use the helper method to read this property. See bug 603793.
|
||||
static TriStateBool sHasBogusPopupsDropShadowOnMultiMonitor;
|
||||
|
|
|
@ -213,11 +213,11 @@ typedef enum
|
|||
* touchpad scrolling or screen readers.
|
||||
*/
|
||||
const uint32_t kMaxClassNameLength = 40;
|
||||
const char kClassNameHidden[] = "MozillaHiddenWindowClass";
|
||||
const char kClassNameGeneral[] = "MozillaWindowClass";
|
||||
const char kClassNameDialog[] = "MozillaDialogClass";
|
||||
const char kClassNameDropShadow[] = "MozillaDropShadowWindowClass";
|
||||
const char kClassNameTemp[] = "MozillaTempWindowClass";
|
||||
const wchar_t kClassNameHidden[] = L"MozillaHiddenWindowClass";
|
||||
const wchar_t kClassNameGeneral[] = L"MozillaWindowClass";
|
||||
const wchar_t kClassNameDialog[] = L"MozillaDialogClass";
|
||||
const wchar_t kClassNameDropShadow[] = L"MozillaDropShadowWindowClass";
|
||||
const wchar_t kClassNameTemp[] = L"MozillaTempWindowClass";
|
||||
|
||||
/**************************************************************
|
||||
*
|
||||
|
|
Загрузка…
Ссылка в новой задаче