Pier Angelo Vendrame pushed to branch mullvad-browser-115.8.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
-
8893383e
by Pier Angelo Vendrame at 2024-03-06T19:18:51+01:00
-
757aaf94
by Pier Angelo Vendrame at 2024-03-06T19:18:53+01:00
-
51bf1800
by Pier Angelo Vendrame at 2024-03-06T19:18:54+01:00
-
722401c5
by Pier Angelo Vendrame at 2024-03-06T19:18:55+01:00
-
5eeb2ea8
by Pier Angelo Vendrame at 2024-03-06T19:18:55+01:00
-
68744b70
by Pier Angelo Vendrame at 2024-03-06T19:18:56+01:00
14 changed files:
- browser/app/profile/001-base-profile.js
- browser/components/preferences/main.js
- browser/components/shell/ShellService.sys.mjs
- browser/components/shell/WindowsDefaultBrowser.cpp
- browser/components/shell/nsWindowsShellService.cpp
- browser/installer/package-manifest.in
- mozconfig-windows-x86_64
- + other-licenses/nsis/Contrib/ApplicationID/Makefile
- + other-licenses/nsis/Contrib/CityHash/Makefile
- toolkit/mozapps/defaultagent/EventLog.h
- toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp
- toolkit/mozapps/defaultagent/moz.build
- widget/windows/WinTaskbar.cpp
- widget/windows/moz.build
Changes:
| ... | ... | @@ -629,11 +629,6 @@ pref("privacy.query_stripping.strip_on_share.enabled", true); |
| 629 | 629 | pref("dom.text-recognition.enabled", false);
|
| 630 | 630 | |
| 631 | 631 | #ifdef XP_WIN
|
| 632 | -// prefs to disable jump-list entries in the taskbar on Windows (see bug #12885)
|
|
| 633 | -// this pref changes the app's set AUMID to be dependent on the profile path, rather than
|
|
| 634 | -// attempting to read it from the registry; this is necessary so that the file generated
|
|
| 635 | -// by the jumplist system can be properly deleted if it is disabled
|
|
| 636 | -pref("taskbar.grouping.useprofile", true);
|
|
| 637 | 632 | pref("browser.taskbar.lists.enabled", false);
|
| 638 | 633 | pref("browser.taskbar.lists.frequent.enabled", false);
|
| 639 | 634 | pref("browser.taskbar.lists.tasks.enabled", false);
|
| ... | ... | @@ -1743,10 +1743,11 @@ var gMainPane = { |
| 1743 | 1743 | let shellSvc = getShellService();
|
| 1744 | 1744 | let defaultBrowserBox = document.getElementById("defaultBrowserBox");
|
| 1745 | 1745 | let isInFlatpak = gGIOService?.isRunningUnderFlatpak;
|
| 1746 | + const xreDirProvider = Cc[
|
|
| 1747 | + "@mozilla.org/xre/directory-provider;1"
|
|
| 1748 | + ].getService(Ci.nsIXREDirProvider);
|
|
| 1746 | 1749 | // Flatpak does not support setting nor detection of default browser
|
| 1747 | - // privacy-browser#87: Let's keep the default browser box only on macOS
|
|
| 1748 | - // for now.
|
|
| 1749 | - if (!shellSvc || isInFlatpak || Services.appinfo.OS !== "Darwin") {
|
|
| 1750 | + if (!shellSvc || isInFlatpak || xreDirProvider.isPortableMode) {
|
|
| 1750 | 1751 | defaultBrowserBox.hidden = true;
|
| 1751 | 1752 | return;
|
| 1752 | 1753 | }
|
| ... | ... | @@ -64,7 +64,8 @@ let ShellServiceInternal = { |
| 64 | 64 | },
|
| 65 | 65 | |
| 66 | 66 | isDefaultBrowserOptOut() {
|
| 67 | - if (AppConstants.platform == "win") {
|
|
| 67 | + // Mozilla is also going to disable this, see Bug 1274517 and Bug 1272162.
|
|
| 68 | + if (AppConstants.platform == "win" && !AppConstants.BASE_BROWSER_VERSION) {
|
|
| 68 | 69 | let optOutValue = lazy.WindowsRegistry.readRegKey(
|
| 69 | 70 | Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER,
|
| 70 | 71 | "Software\\Mozilla\\Firefox",
|
| ... | ... | @@ -295,7 +296,7 @@ let ShellServiceInternal = { |
| 295 | 296 | ) {
|
| 296 | 297 | if (this._shouldSetDefaultPDFHandler()) {
|
| 297 | 298 | lazy.log.info("Setting Firefox as default PDF handler");
|
| 298 | - exeArgs.push(".pdf", "FirefoxPDF");
|
|
| 299 | + exeArgs.push(".pdf", "MullvadBrowserPDF");
|
|
| 299 | 300 | } else {
|
| 300 | 301 | lazy.log.info("Not setting Firefox as default PDF handler");
|
| 301 | 302 | }
|
| ... | ... | @@ -338,7 +339,7 @@ let ShellServiceInternal = { |
| 338 | 339 | "set-default-extension-handlers-user-choice",
|
| 339 | 340 | aumi,
|
| 340 | 341 | ".pdf",
|
| 341 | - "FirefoxPDF",
|
|
| 342 | + "MullvadBrowserPDF",
|
|
| 342 | 343 | ],
|
| 343 | 344 | });
|
| 344 | 345 | telemetryResult = "ErrOther";
|
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | #include <wchar.h>
|
| 32 | 32 | #include <windows.h>
|
| 33 | 33 | |
| 34 | -#define APP_REG_NAME_BASE L"Firefox-"
|
|
| 34 | +#define APP_REG_NAME_BASE L"MullvadBrowser-"
|
|
| 35 | 35 | |
| 36 | 36 | static bool IsWindowsLogonConnected() {
|
| 37 | 37 | WCHAR userName[UNLEN + 1];
|
| ... | ... | @@ -310,9 +310,11 @@ nsWindowsShellService::CheckAllProgIDsExist(bool* aResult) { |
| 310 | 310 | return NS_OK;
|
| 311 | 311 | }
|
| 312 | 312 | *aResult =
|
| 313 | - CheckProgIDExists(FormatProgID(L"FirefoxURL", aumid.get()).get()) &&
|
|
| 314 | - CheckProgIDExists(FormatProgID(L"FirefoxHTML", aumid.get()).get()) &&
|
|
| 315 | - CheckProgIDExists(FormatProgID(L"FirefoxPDF", aumid.get()).get());
|
|
| 313 | + CheckProgIDExists(
|
|
| 314 | + FormatProgID(L"MullvadBrowserURL", aumid.get()).get()) &&
|
|
| 315 | + CheckProgIDExists(
|
|
| 316 | + FormatProgID(L"MullvadBrowserHTML", aumid.get()).get()) &&
|
|
| 317 | + CheckProgIDExists(FormatProgID(L"MullvadBrowserPDF", aumid.get()).get());
|
|
| 316 | 318 | return NS_OK;
|
| 317 | 319 | }
|
| 318 | 320 |
| ... | ... | @@ -63,8 +63,8 @@ |
| 63 | 63 | @RESPATH@/updater.ini
|
| 64 | 64 | #endif
|
| 65 | 65 | #ifdef MOZ_DEFAULT_BROWSER_AGENT
|
| 66 | -@RESPATH@/defaultagent.ini
|
|
| 67 | -@RESPATH@/defaultagent_localized.ini
|
|
| 66 | +; @RESPATH@/defaultagent.ini
|
|
| 67 | +; @RESPATH@/defaultagent_localized.ini
|
|
| 68 | 68 | #endif
|
| 69 | 69 | #if defined(MOZ_UPDATE_AGENT) || defined(MOZ_DEFAULT_BROWSER_AGENT)
|
| 70 | 70 | @RESPATH@/locale.ini
|
| ... | ... | @@ -8,7 +8,6 @@ ac_add_options --enable-strip |
| 8 | 8 | # Bits is Background Intelligent Transfer Service
|
| 9 | 9 | ac_add_options --disable-bits-download
|
| 10 | 10 | ac_add_options --disable-maintenance-service
|
| 11 | -ac_add_options --disable-default-browser-agent
|
|
| 12 | 11 | |
| 13 | 12 | # See bug #13379
|
| 14 | 13 | ac_add_options --enable-nss-mar
|
| 1 | +CXXFLAGS=-Icityhash -DWIN32 -DNDEBUG -D_WINDOWS -D_USRDLL -DCITYHASH_EXPORTS -DUNICODE
|
|
| 2 | +SRCS=Set.cpp
|
|
| 3 | +OBJS=$(subst .cpp,.o,$(SRCS))
|
|
| 4 | +LDFLAGS=-lole32 -lshlwapi -shared -Wl,--no-insert-timestamp
|
|
| 5 | +PLUGIN=ApplicationID.dll
|
|
| 6 | + |
|
| 7 | +all: $(PLUGIN)
|
|
| 8 | + |
|
| 9 | +$(PLUGIN): $(OBJS)
|
|
| 10 | + $(CXX) $(OBJS) $(LDFLAGS) -o $@
|
|
| 11 | + llvm-strip $@
|
|
| 12 | + |
|
| 13 | +clean:
|
|
| 14 | + $(RM) $(OBJS) $(PLUGIN) |
| 1 | +CXXFLAGS=-Icityhash -DWIN32 -DNDEBUG -D_WINDOWS -D_USRDLL -DCITYHASH_EXPORTS -DUNICODE
|
|
| 2 | +SRCS=CityHash.cpp cityhash/city.cpp
|
|
| 3 | +OBJS=$(subst .cpp,.o,$(SRCS))
|
|
| 4 | +LDFLAGS=-shared -Wl,--no-insert-timestamp
|
|
| 5 | +PLUGIN=CityHash.dll
|
|
| 6 | + |
|
| 7 | +all: $(PLUGIN)
|
|
| 8 | + |
|
| 9 | +$(PLUGIN): $(OBJS)
|
|
| 10 | + $(CXX) $(OBJS) $(LDFLAGS) -o $@
|
|
| 11 | + llvm-strip $@
|
|
| 12 | + |
|
| 13 | +clean:
|
|
| 14 | + $(RM) $(OBJS) $(PLUGIN) |
| ... | ... | @@ -7,7 +7,7 @@ |
| 7 | 7 | #ifndef __DEFAULT_BROWSER_AGENT_EVENT_LOG_H__
|
| 8 | 8 | #define __DEFAULT_BROWSER_AGENT_EVENT_LOG_H__
|
| 9 | 9 | |
| 10 | -#include "mozilla/Types.h"
|
|
| 10 | +#include <cwchar>
|
|
| 11 | 11 | |
| 12 | 12 | MOZ_BEGIN_EXTERN_C
|
| 13 | 13 | |
| ... | ... | @@ -15,10 +15,21 @@ extern MOZ_EXPORT const wchar_t* gWinEventLogSourceName; |
| 15 | 15 | |
| 16 | 16 | MOZ_END_EXTERN_C
|
| 17 | 17 | |
| 18 | -#include "mozilla/WindowsEventLog.h"
|
|
| 19 | - |
|
| 20 | -#define LOG_ERROR(hr) MOZ_WIN_EVENT_LOG_ERROR(gWinEventLogSourceName, hr)
|
|
| 21 | -#define LOG_ERROR_MESSAGE(format, ...) \
|
|
| 22 | - MOZ_WIN_EVENT_LOG_ERROR_MESSAGE(gWinEventLogSourceName, format, __VA_ARGS__)
|
|
| 18 | +#ifdef LOG_ERRORS_FILE
|
|
| 19 | +extern FILE* gLogFile;
|
|
| 20 | +# define LOG_ERROR(hr) \
|
|
| 21 | + if (gLogFile) { \
|
|
| 22 | + fprintf(gLogFile, "Error in %s:%d: 0x%X\r\n", __FILE__, __LINE__, \
|
|
| 23 | + (unsigned int)hr); \
|
|
| 24 | + }
|
|
| 25 | +# define LOG_ERROR_MESSAGE(format, ...) \
|
|
| 26 | + if (gLogFile) { \
|
|
| 27 | + fwprintf(gLogFile, format __VA_OPT__(, ) __VA_ARGS__); \
|
|
| 28 | + fputs("\r\n", gLogFile); \
|
|
| 29 | + }
|
|
| 30 | +#else
|
|
| 31 | +# define LOG_ERROR(hr)
|
|
| 32 | +# define LOG_ERROR_MESSAGE(format, ...)
|
|
| 33 | +#endif
|
|
| 23 | 34 | |
| 24 | 35 | #endif // __DEFAULT_BROWSER_AGENT_EVENT_LOG_H__ |
| ... | ... | @@ -224,19 +224,19 @@ static bool VerifyUserDefault(const wchar_t* aExt, const wchar_t* aProgID) { |
| 224 | 224 | |
| 225 | 225 | HRESULT SetDefaultBrowserUserChoice(
|
| 226 | 226 | const wchar_t* aAumi, const wchar_t* const* aExtraFileExtensions) {
|
| 227 | - auto urlProgID = FormatProgID(L"FirefoxURL", aAumi);
|
|
| 227 | + auto urlProgID = FormatProgID(L"MullvadBrowserURL", aAumi);
|
|
| 228 | 228 | if (!CheckProgIDExists(urlProgID.get())) {
|
| 229 | 229 | LOG_ERROR_MESSAGE(L"ProgID %s not found", urlProgID.get());
|
| 230 | 230 | return MOZ_E_NO_PROGID;
|
| 231 | 231 | }
|
| 232 | 232 | |
| 233 | - auto htmlProgID = FormatProgID(L"FirefoxHTML", aAumi);
|
|
| 233 | + auto htmlProgID = FormatProgID(L"MullvadBrowserHTML", aAumi);
|
|
| 234 | 234 | if (!CheckProgIDExists(htmlProgID.get())) {
|
| 235 | 235 | LOG_ERROR_MESSAGE(L"ProgID %s not found", htmlProgID.get());
|
| 236 | 236 | return MOZ_E_NO_PROGID;
|
| 237 | 237 | }
|
| 238 | 238 | |
| 239 | - auto pdfProgID = FormatProgID(L"FirefoxPDF", aAumi);
|
|
| 239 | + auto pdfProgID = FormatProgID(L"MullvadBrowserPDF", aAumi);
|
|
| 240 | 240 | if (!CheckProgIDExists(pdfProgID.get())) {
|
| 241 | 241 | LOG_ERROR_MESSAGE(L"ProgID %s not found", pdfProgID.get());
|
| 242 | 242 | return MOZ_E_NO_PROGID;
|
| ... | ... | @@ -363,3 +363,41 @@ HRESULT SetDefaultExtensionHandlersUserChoiceImpl( |
| 363 | 363 | |
| 364 | 364 | return S_OK;
|
| 365 | 365 | }
|
| 366 | + |
|
| 367 | +#ifdef LOG_ERRORS_FILE
|
|
| 368 | +FILE* gLogFile;
|
|
| 369 | +#endif
|
|
| 370 | + |
|
| 371 | +// Simplified version of wmain that uses only this file from main.cpp.
|
|
| 372 | +int wmain(int argc, wchar_t** argv) {
|
|
| 373 | + if (argc < 3 || !argv[1] || !argv[2]) {
|
|
| 374 | + return E_INVALIDARG;
|
|
| 375 | + }
|
|
| 376 | + |
|
| 377 | +#ifdef LOG_ERRORS_FILE
|
|
| 378 | + std::unique_ptr<FILE, decltype(&fclose)> logFile(fopen(LOG_ERRORS_FILE, "a+"),
|
|
| 379 | + &fclose);
|
|
| 380 | + gLogFile = logFile.get();
|
|
| 381 | +#endif
|
|
| 382 | + |
|
| 383 | + HRESULT hr = CoInitializeEx(nullptr, COINIT_MULTITHREADED);
|
|
| 384 | + if (FAILED(hr)) {
|
|
| 385 | + LOG_ERROR(hr);
|
|
| 386 | + return hr;
|
|
| 387 | + }
|
|
| 388 | + const struct ComUninitializer {
|
|
| 389 | + ~ComUninitializer() { CoUninitialize(); }
|
|
| 390 | + } kCUi;
|
|
| 391 | + |
|
| 392 | + if (!wcscmp(argv[1], L"set-default-browser-user-choice")) {
|
|
| 393 | + // `argv` is itself null-terminated, so we can safely pass the tail of the
|
|
| 394 | + // array here.
|
|
| 395 | + return SetDefaultBrowserUserChoice(argv[2], &argv[3]);
|
|
| 396 | + } else if (!wcscmp(argv[1], L"set-default-extension-handlers-user-choice")) {
|
|
| 397 | + // `argv` is itself null-terminated, so we can safely pass the tail of the
|
|
| 398 | + // array here.
|
|
| 399 | + return SetDefaultExtensionHandlersUserChoice(argv[2], &argv[3]);
|
|
| 400 | + } else {
|
|
| 401 | + return E_INVALIDARG;
|
|
| 402 | + }
|
|
| 403 | +} |
| ... | ... | @@ -6,51 +6,23 @@ |
| 6 | 6 | |
| 7 | 7 | Program("default-browser-agent")
|
| 8 | 8 | |
| 9 | -SPHINX_TREES["default-browser-agent"] = "docs"
|
|
| 10 | - |
|
| 11 | -DIRS += ["rust"]
|
|
| 12 | - |
|
| 13 | 9 | UNIFIED_SOURCES += [
|
| 14 | 10 | "/mfbt/Poison.cpp",
|
| 15 | 11 | "/mfbt/Unused.cpp",
|
| 16 | - "Cache.cpp",
|
|
| 17 | - "common.cpp",
|
|
| 18 | - "DefaultBrowser.cpp",
|
|
| 19 | - "DefaultPDF.cpp",
|
|
| 20 | - "EventLog.cpp",
|
|
| 21 | - "main.cpp",
|
|
| 22 | - "Notification.cpp",
|
|
| 23 | - "Policy.cpp",
|
|
| 24 | - "Registry.cpp",
|
|
| 25 | - "RemoteSettings.cpp",
|
|
| 26 | - "ScheduledTask.cpp",
|
|
| 27 | 12 | "SetDefaultBrowser.cpp",
|
| 28 | - "Telemetry.cpp",
|
|
| 29 | - "UtfConvert.cpp",
|
|
| 30 | 13 | ]
|
| 31 | 14 | |
| 32 | 15 | SOURCES += [
|
| 33 | 16 | "/browser/components/shell/WindowsDefaultBrowser.cpp",
|
| 34 | 17 | "/browser/components/shell/WindowsUserChoice.cpp",
|
| 35 | 18 | "/other-licenses/nsis/Contrib/CityHash/cityhash/city.cpp",
|
| 36 | - "/third_party/WinToast/wintoastlib.cpp",
|
|
| 37 | 19 | "/toolkit/mozapps/update/common/readstrings.cpp",
|
| 38 | 20 | ]
|
| 39 | 21 | |
| 40 | -# Suppress warnings from third-party code.
|
|
| 41 | -SOURCES["/third_party/WinToast/wintoastlib.cpp"].flags += ["-Wno-implicit-fallthrough"]
|
|
| 42 | - |
|
| 43 | -USE_LIBS += [
|
|
| 44 | - "defaultagent-static",
|
|
| 45 | - "jsoncpp",
|
|
| 46 | -]
|
|
| 47 | - |
|
| 48 | 22 | LOCAL_INCLUDES += [
|
| 49 | 23 | "/browser/components/shell/",
|
| 50 | 24 | "/mfbt/",
|
| 51 | 25 | "/other-licenses/nsis/Contrib/CityHash/cityhash",
|
| 52 | - "/third_party/WinToast",
|
|
| 53 | - "/toolkit/components/jsoncpp/include",
|
|
| 54 | 26 | "/toolkit/mozapps/update/common",
|
| 55 | 27 | "/xpcom/build",
|
| 56 | 28 | ]
|
| ... | ... | @@ -58,20 +30,12 @@ LOCAL_INCLUDES += [ |
| 58 | 30 | OS_LIBS += [
|
| 59 | 31 | "advapi32",
|
| 60 | 32 | "bcrypt",
|
| 61 | - "comsupp",
|
|
| 62 | 33 | "crypt32",
|
| 63 | - "kernel32",
|
|
| 64 | 34 | "netapi32",
|
| 65 | 35 | "ole32",
|
| 66 | - "oleaut32",
|
|
| 67 | - "rpcrt4",
|
|
| 68 | 36 | "shell32",
|
| 69 | 37 | "shlwapi",
|
| 70 | - "taskschd",
|
|
| 71 | - "userenv",
|
|
| 72 | - "wininet",
|
|
| 73 | - "ws2_32",
|
|
| 74 | - "ntdll",
|
|
| 38 | + "uuid",
|
|
| 75 | 39 | ]
|
| 76 | 40 | |
| 77 | 41 | DEFINES["NS_NO_XPCOM"] = True
|
| ... | ... | @@ -96,18 +60,3 @@ if CONFIG["CC_TYPE"] == "clang-cl": |
| 96 | 60 | WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"]
|
| 97 | 61 | else:
|
| 98 | 62 | WIN32_EXE_LDFLAGS += ["-municode"] |
| 99 | - |
|
| 100 | -GENERATED_FILES += ["defaultagent.ini"]
|
|
| 101 | -defaultagentini = GENERATED_FILES["defaultagent.ini"]
|
|
| 102 | -defaultagentini.script = "/browser/locales/generate_ini.py"
|
|
| 103 | -defaultagentini.inputs = [
|
|
| 104 | - "defaultagent.ini",
|
|
| 105 | - "defaultagent_append.ini",
|
|
| 106 | -]
|
|
| 107 | -FINAL_TARGET_FILES += ["!defaultagent.ini"]
|
|
| 108 | - |
|
| 109 | -if CONFIG["ENABLE_TESTS"]:
|
|
| 110 | - DIRS += ["tests/gtest"]
|
|
| 111 | - |
|
| 112 | -with Files("**"):
|
|
| 113 | - BUG_COMPONENT = ("Toolkit", "Default Browser Agent") |
| ... | ... | @@ -209,6 +209,19 @@ bool WinTaskbar::GenerateAppUserModelID(nsAString& aAppUserModelId, |
| 209 | 209 | // If marked as such in prefs, use a hash of the profile path for the id
|
| 210 | 210 | // instead of the install path hash setup by the installer.
|
| 211 | 211 | bool useProfile = Preferences::GetBool("taskbar.grouping.useprofile", false);
|
| 212 | + |
|
| 213 | + {
|
|
| 214 | + // For portable mode, force the AUMID to be based on the profile directory
|
|
| 215 | + // instead of reading it from the registry.
|
|
| 216 | + bool isPortable = true;
|
|
| 217 | + // Do not even check if taskbar.grouping.useprofile is already true.
|
|
| 218 | + if (!useProfile &&
|
|
| 219 | + NS_SUCCEEDED(gDirServiceProvider->GetIsPortableMode(&isPortable)) &&
|
|
| 220 | + isPortable) {
|
|
| 221 | + useProfile = true;
|
|
| 222 | + }
|
|
| 223 | + }
|
|
| 224 | + |
|
| 212 | 225 | if (useProfile) {
|
| 213 | 226 | nsCOMPtr<nsIFile> profileDir;
|
| 214 | 227 | NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR,
|
| ... | ... | @@ -237,7 +250,7 @@ bool WinTaskbar::GenerateAppUserModelID(nsAString& aAppUserModelId, |
| 237 | 250 | nsCString appName;
|
| 238 | 251 | if (appInfo && NS_SUCCEEDED(appInfo->GetName(appName))) {
|
| 239 | 252 | nsAutoString regKey;
|
| 240 | - regKey.AssignLiteral("Software\\Mozilla\\");
|
|
| 253 | + regKey.AssignLiteral("Software\\" MOZ_APP_VENDOR "\\");
|
|
| 241 | 254 | AppendASCIItoUTF16(appName, regKey);
|
| 242 | 255 | regKey.AppendLiteral("\\TaskBarIDs");
|
| 243 | 256 |
| ... | ... | @@ -188,6 +188,7 @@ DEFINES["MOZ_UNICODE"] = True |
| 188 | 188 | DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
|
| 189 | 189 | # Turn `firefox` into `Firefox`.
|
| 190 | 190 | DEFINES["MOZ_TOAST_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"].title()
|
| 191 | +DEFINES["MOZ_APP_VENDOR"] = '"%s"' % CONFIG["MOZ_APP_VENDOR"]
|
|
| 191 | 192 | |
| 192 | 193 | for var in ("MOZ_ENABLE_D3D10_LAYER",):
|
| 193 | 194 | if CONFIG[var]:
|