Backed out 9 changesets (bug 1826760, bug 1826758, bug 1826752, bug 1826756, bug 1826759, bug 1826761, bug 1826757, bug 1826753, bug 1826754) for causing bp-hybrid bustages in ClearKeyDecryptionManager.cpp.

CLOSED TREE

Backed out changeset 210012222277 (bug 1826761)
Backed out changeset e364bb149efa (bug 1826760)
Backed out changeset e456e2f9966c (bug 1826759)
Backed out changeset 2b6ff545f4a3 (bug 1826758)
Backed out changeset 95fe1de8ba00 (bug 1826757)
Backed out changeset f8af52d7f2a1 (bug 1826756)
Backed out changeset 2646e773f098 (bug 1826754)
Backed out changeset 58d5d74b1835 (bug 1826753)
Backed out changeset 8567e6595acc (bug 1826752)
This commit is contained in:
Stanca Serban 2023-04-17 13:52:39 +03:00
parent 1c6c622a04
commit cefd926755
60 changed files with 79 additions and 138 deletions

View file

@ -35,6 +35,12 @@
#include "nsPrintfCString.h" #include "nsPrintfCString.h"
#include "nsThreadUtils.h" #include "nsThreadUtils.h"
const CLSID CLSID_VideoProcessorMFT = {
0x88753b26,
0x5b24,
0x49bd,
{0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, 0xc9, 0x82}};
const GUID MF_XVP_PLAYBACK_MODE = { const GUID MF_XVP_PLAYBACK_MODE = {
0x3c5d293f, 0x3c5d293f,
0xad67, 0xad67,
@ -616,10 +622,6 @@ already_AddRefed<IDirectXVideoDecoder> D3D9DXVA2Manager::CreateDecoder(
hr = mDecoderService->CreateVideoDecoder(mDecoderGUID, &aDesc, &configs[i], hr = mDecoderService->CreateVideoDecoder(mDecoderGUID, &aDesc, &configs[i],
&surfaces, 1, &surfaces, 1,
decoder.StartAssignment()); decoder.StartAssignment());
if (FAILED(hr)) {
continue;
}
CoTaskMemFree(configs); CoTaskMemFree(configs);
return decoder.forget(); return decoder.forget();
} }

View file

@ -5,7 +5,6 @@
#ifndef DOM_MEDIA_PLATFORM_WMF_MFCDMPROXY_H #ifndef DOM_MEDIA_PLATFORM_WMF_MFCDMPROXY_H
#define DOM_MEDIA_PLATFORM_WMF_MFCDMPROXY_H #define DOM_MEDIA_PLATFORM_WMF_MFCDMPROXY_H
#include <map>
#include <mfobjects.h> #include <mfobjects.h>
#include <unknwn.h> #include <unknwn.h>
#include <windef.h> #include <windef.h>

View file

@ -8,7 +8,6 @@
#include <winnt.h> #include <winnt.h>
#include "MFMediaEngineUtils.h" #include "MFMediaEngineUtils.h"
#include "WMF.h"
namespace mozilla { namespace mozilla {

View file

@ -4,12 +4,7 @@
#include "MFMediaEngineAudioStream.h" #include "MFMediaEngineAudioStream.h"
#include <mferror.h>
#include <mfapi.h>
#include "MFMediaEngineUtils.h" #include "MFMediaEngineUtils.h"
#include "WMFUtils.h"
#include "mozilla/StaticPrefs_media.h"
namespace mozilla { namespace mozilla {

View file

@ -4,13 +4,11 @@
#include "MFMediaEngineDecoderModule.h" #include "MFMediaEngineDecoderModule.h"
#include "MFTDecoder.h"
#include "VideoUtils.h" #include "VideoUtils.h"
#include "mozilla/MFMediaEngineParent.h" #include "mozilla/MFMediaEngineParent.h"
#include "mozilla/MFMediaEngineUtils.h" #include "mozilla/MFMediaEngineUtils.h"
#include "mozilla/StaticPrefs_media.h" #include "mozilla/StaticPrefs_media.h"
#include "mozilla/WindowsVersion.h" #include "mozilla/WindowsVersion.h"
#include "mozilla/mscom/EnsureMTA.h"
namespace mozilla { namespace mozilla {

View file

@ -4,12 +4,8 @@
#include "MFMediaEngineExtension.h" #include "MFMediaEngineExtension.h"
#include <mfapi.h>
#include <mferror.h>
#include "MFMediaSource.h" #include "MFMediaSource.h"
#include "MFMediaEngineUtils.h" #include "MFMediaEngineUtils.h"
#include "WMF.h"
namespace mozilla { namespace mozilla {

View file

@ -11,8 +11,6 @@
#include "TimeUnits.h" #include "TimeUnits.h"
#include "mozilla/ProfilerLabels.h" #include "mozilla/ProfilerLabels.h"
#include "mozilla/ProfilerMarkerTypes.h" #include "mozilla/ProfilerMarkerTypes.h"
#include "WMF.h"
#include "WMFUtils.h"
namespace mozilla { namespace mozilla {

View file

@ -6,7 +6,6 @@
#include "mozilla/layers/DcompSurfaceImage.h" #include "mozilla/layers/DcompSurfaceImage.h"
#include "MFMediaEngineUtils.h" #include "MFMediaEngineUtils.h"
#include "mozilla/StaticPrefs_media.h"
namespace mozilla { namespace mozilla {

View file

@ -7,9 +7,7 @@
#include "MFTEncoder.h" #include "MFTEncoder.h"
#include "mozilla/Logging.h" #include "mozilla/Logging.h"
#include "mozilla/WindowsProcessMitigations.h" #include "mozilla/WindowsProcessMitigations.h"
#include "mozilla/StaticPrefs_media.h"
#include "mozilla/mscom/Utils.h" #include "mozilla/mscom/Utils.h"
#include "WMFUtils.h"
// Missing from MinGW. // Missing from MinGW.
#ifndef CODECAPI_AVEncAdaptiveMode #ifndef CODECAPI_AVEncAdaptiveMode

View file

@ -12,7 +12,6 @@
#include "PlatformEncoderModule.h" #include "PlatformEncoderModule.h"
#include "TimeUnits.h" #include "TimeUnits.h"
#include "WMFDataEncoderUtils.h" #include "WMFDataEncoderUtils.h"
#include "WMFUtils.h"
namespace mozilla { namespace mozilla {

View file

@ -83,3 +83,5 @@ FINAL_LIBRARY = "xul"
# Add libFuzzer configuration directives # Add libFuzzer configuration directives
include("/tools/fuzzing/libfuzzer-config.mozbuild") include("/tools/fuzzing/libfuzzer-config.mozbuild")
REQUIRES_UNIFIED_BUILD = True

View file

@ -5,11 +5,9 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */ * You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/dom/PWebAuthnTransactionParent.h" #include "mozilla/dom/PWebAuthnTransactionParent.h"
#include "mozilla/dom/WebAuthnCBORUtil.h"
#include "mozilla/MozPromise.h" #include "mozilla/MozPromise.h"
#include "mozilla/ipc/BackgroundParent.h" #include "mozilla/ipc/BackgroundParent.h"
#include "mozilla/ClearOnShutdown.h" #include "mozilla/ClearOnShutdown.h"
#include "mozilla/dom/CryptoBuffer.h"
#include "mozilla/Unused.h" #include "mozilla/Unused.h"
#include "nsTextFormatter.h" #include "nsTextFormatter.h"
#include "nsWindowsHelpers.h" #include "nsWindowsHelpers.h"

View file

@ -85,6 +85,7 @@ if CONFIG["OS_ARCH"] == "WINNT":
] ]
if CONFIG["OS_TARGET"] == "WINNT": if CONFIG["OS_TARGET"] == "WINNT":
REQUIRES_UNIFIED_BUILD = True
EXPORTS.mozilla.dom += [ EXPORTS.mozilla.dom += [
"WinWebAuthnManager.h", "WinWebAuthnManager.h",
] ]

View file

@ -102,7 +102,6 @@
#include "mozilla/StaticPrefs_extensions.h" #include "mozilla/StaticPrefs_extensions.h"
using namespace mozilla; using namespace mozilla;
using namespace mozilla::dom;
using namespace JS; using namespace JS;
using namespace JS::loader; using namespace JS::loader;
using namespace xpc; using namespace xpc;

View file

@ -10,7 +10,6 @@
#include "xpc_make_class.h" #include "xpc_make_class.h"
#include "JSServices.h" #include "JSServices.h"
#include "XPCJSWeakReference.h" #include "XPCJSWeakReference.h"
#include "AccessCheck.h"
#include "WrapperFactory.h" #include "WrapperFactory.h"
#include "nsJSUtils.h" #include "nsJSUtils.h"
#include "mozJSModuleLoader.h" #include "mozJSModuleLoader.h"
@ -37,7 +36,6 @@
#include "mozilla/URLPreloader.h" #include "mozilla/URLPreloader.h"
#include "mozilla/dom/DOMException.h" #include "mozilla/dom/DOMException.h"
#include "mozilla/dom/DOMExceptionBinding.h" #include "mozilla/dom/DOMExceptionBinding.h"
#include "mozilla/dom/Exceptions.h"
#include "mozilla/dom/BindingUtils.h" #include "mozilla/dom/BindingUtils.h"
#include "mozilla/dom/RemoteObjectProxy.h" #include "mozilla/dom/RemoteObjectProxy.h"
#include "mozilla/dom/StructuredCloneTags.h" #include "mozilla/dom/StructuredCloneTags.h"

View file

@ -392,6 +392,7 @@ bool XPCConvert::NativeData2JS(JSContext* cx, MutableHandleValue d,
NS_ERROR("bad type"); NS_ERROR("bad type");
return false; return false;
} }
return true;
} }
/***************************************************************************/ /***************************************************************************/

View file

@ -84,7 +84,6 @@
#endif #endif
using namespace mozilla; using namespace mozilla;
using namespace mozilla::dom;
using namespace xpc; using namespace xpc;
using namespace JS; using namespace JS;

View file

@ -77,21 +77,16 @@
#include "nsAboutProtocolUtils.h" #include "nsAboutProtocolUtils.h"
#include "NodeUbiReporting.h" #include "NodeUbiReporting.h"
#include "ExpandedPrincipal.h"
#include "nsIInputStream.h" #include "nsIInputStream.h"
#include "nsJSPrincipals.h" #include "nsJSPrincipals.h"
#include "nsJSEnvironment.h"
#include "XPCInlines.h"
#ifdef XP_WIN #ifdef XP_WIN
# include <windows.h> # include <windows.h>
#endif #endif
using namespace mozilla; using namespace mozilla;
using namespace mozilla::dom;
using namespace xpc; using namespace xpc;
using namespace JS; using namespace JS;
using namespace js;
using mozilla::dom::PerThreadAtomCache; using mozilla::dom::PerThreadAtomCache;
/***************************************************************************/ /***************************************************************************/

View file

@ -9,18 +9,13 @@
#include "js/LocaleSensitive.h" #include "js/LocaleSensitive.h"
#include "nsIObserver.h" #include "nsIObserver.h"
#include "nsIObserverService.h"
#include "nsComponentManagerUtils.h" #include "nsComponentManagerUtils.h"
#include "nsIPrefService.h"
#include "nsServiceManagerUtils.h" #include "nsServiceManagerUtils.h"
#include "mozilla/Services.h"
#include "mozilla/CycleCollectedJSRuntime.h"
#include "mozilla/CycleCollectedJSContext.h" #include "mozilla/CycleCollectedJSContext.h"
#include "mozilla/intl/LocaleService.h" #include "mozilla/intl/LocaleService.h"
#include "mozilla/Preferences.h" #include "mozilla/Preferences.h"
#include "xpcpublic.h" #include "xpcpublic.h"
#include "xpcprivate.h"
using namespace mozilla; using namespace mozilla;
using mozilla::intl::LocaleService; using mozilla::intl::LocaleService;

View file

@ -9,7 +9,6 @@
#include "mozilla/MathAlgorithms.h" #include "mozilla/MathAlgorithms.h"
#include "mozilla/MemoryReporting.h" #include "mozilla/MemoryReporting.h"
#include "xpcprivate.h" #include "xpcprivate.h"
#include "XPCMaps.h"
#include "js/HashTable.h" #include "js/HashTable.h"

View file

@ -5,7 +5,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "XPCSelfHostedShmem.h" #include "XPCSelfHostedShmem.h"
#include "xpcprivate.h"
// static // static
mozilla::StaticRefPtr<xpc::SelfHostedShmem> mozilla::StaticRefPtr<xpc::SelfHostedShmem>

View file

@ -7,7 +7,6 @@
/* Wrapper object for reflecting native xpcom objects into JavaScript. */ /* Wrapper object for reflecting native xpcom objects into JavaScript. */
#include "xpcprivate.h" #include "xpcprivate.h"
#include "XPCMaps.h"
#include "nsWrapperCacheInlines.h" #include "nsWrapperCacheInlines.h"
#include "XPCLog.h" #include "XPCLog.h"
#include "js/Array.h" // JS::GetArrayLength, JS::IsArrayObject #include "js/Array.h" // JS::GetArrayLength, JS::IsArrayObject

View file

@ -7,7 +7,6 @@
/* Manage the shared info about interfaces for use by wrappedNatives. */ /* Manage the shared info about interfaces for use by wrappedNatives. */
#include "xpcprivate.h" #include "xpcprivate.h"
#include "XPCMaps.h"
#include "js/Wrapper.h" #include "js/Wrapper.h"
#include "mozilla/MemoryReporting.h" #include "mozilla/MemoryReporting.h"

View file

@ -9,7 +9,6 @@
#include "xpcprivate.h" #include "xpcprivate.h"
#include "js/Object.h" // JS::SetReservedSlot #include "js/Object.h" // JS::SetReservedSlot
#include "pratom.h" #include "pratom.h"
#include "XPCMaps.h"
using namespace mozilla; using namespace mozilla;

View file

@ -15,7 +15,6 @@
#include "mozilla/BasePrincipal.h" #include "mozilla/BasePrincipal.h"
#include "mozilla/MemoryReporting.h" #include "mozilla/MemoryReporting.h"
#include "mozilla/Preferences.h" #include "mozilla/Preferences.h"
#include "XPCMaps.h"
#include "mozilla/Unused.h" #include "mozilla/Unused.h"
#include "js/Object.h" // JS::GetCompartment #include "js/Object.h" // JS::GetCompartment
#include "js/PropertyAndElement.h" // JS_DefineProperty, JS_DefinePropertyById #include "js/PropertyAndElement.h" // JS_DefineProperty, JS_DefinePropertyById

View file

@ -77,3 +77,5 @@ LOCAL_INCLUDES += [
if CONFIG["CC_TYPE"] in ("clang", "gcc"): if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += ["-Werror=format"] CXXFLAGS += ["-Werror=format"]
REQUIRES_UNIFIED_BUILD = True

View file

@ -49,11 +49,7 @@
#include "nsJSUtils.h" #include "nsJSUtils.h"
#include "prsystem.h" #include "prsystem.h"
#include "xpcprivate.h" #ifndef XP_WIN
#ifdef XP_WIN
# include "mozilla/WinHeaderOnlyUtils.h"
#else
# include <sys/mman.h> # include <sys/mman.h>
#endif #endif

View file

@ -353,6 +353,8 @@ static bool SkipObject(ParserContext& aCtx) {
} }
EXPECT_SYMBOL(aCtx, ','); EXPECT_SYMBOL(aCtx, ',');
} }
return false;
} }
/** /**
@ -407,6 +409,8 @@ static bool SkipToken(ParserContext& aCtx) {
CK_LOGD("JWK parser skipping literal"); CK_LOGD("JWK parser skipping literal");
return SkipLiteral(aCtx); return SkipLiteral(aCtx);
} }
return false;
} }
static bool GetNextLabel(ParserContext& aCtx, string& aOutLabel) { static bool GetNextLabel(ParserContext& aCtx, string& aOutLabel) {

View file

@ -22,7 +22,6 @@
#include "ClearKeyUtils.h" #include "ClearKeyUtils.h"
#include "ClearKeyDecryptionManager.h" #include "ClearKeyDecryptionManager.h"
#include "VideoDecoder.h" #include "VideoDecoder.h"
#include "content_decryption_module.h"
#include "mozilla/CheckedInt.h" #include "mozilla/CheckedInt.h"
using namespace wmf; using namespace wmf;
@ -86,7 +85,7 @@ cdm::Status VideoDecoder::Decode(const cdm::InputBuffer_2& aInputBuffer,
std::vector<uint8_t>& buffer = data->mBuffer; std::vector<uint8_t>& buffer = data->mBuffer;
if (data->mCrypto.IsValid()) { if (data->mCrypto.IsValid()) {
cdm::Status rv = Status rv =
ClearKeyDecryptionManager::Get()->Decrypt(buffer, data->mCrypto); ClearKeyDecryptionManager::Get()->Decrypt(buffer, data->mCrypto);
if (STATUS_FAILED(rv)) { if (STATUS_FAILED(rv)) {
@ -184,7 +183,7 @@ VideoDecoder::SampleToVideoFrame(IMFSample* aSample, int32_t aPictureWidth,
HRESULT hr; HRESULT hr;
CComPtr<IMFMediaBuffer> mediaBuffer; CComPtr<IMFMediaBuffer> mediaBuffer;
aVideoFrame->SetFormat(cdm::kI420); aVideoFrame->SetFormat(kI420);
// Must convert to contiguous mediaBuffer to use IMD2DBuffer interface. // Must convert to contiguous mediaBuffer to use IMD2DBuffer interface.
hr = aSample->ConvertToContiguousBuffer(&mediaBuffer); hr = aSample->ConvertToContiguousBuffer(&mediaBuffer);
@ -304,7 +303,7 @@ cdm::Status VideoDecoder::Drain(cdm::VideoFrame* aVideoFrame) {
if (!mDecoder) { if (!mDecoder) {
CK_LOGD("Drain failed! Decoder was not initialized"); CK_LOGD("Drain failed! Decoder was not initialized");
return cdm::Status::kDecodeError; return Status::kDecodeError;
} }
mDecoder->Drain(); mDecoder->Drain();

View file

@ -28,7 +28,6 @@
#include <string> #include <string>
#include "VideoLimits.h" #include "VideoLimits.h"
#include "content_decryption_module.h"
#include "gmp-platform.h" #include "gmp-platform.h"
#include "mozilla/Attributes.h" #include "mozilla/Attributes.h"
@ -125,12 +124,8 @@ typedef int64_t Microseconds;
} \ } \
} }
inline bool STATUS_SUCCEEDED(cdm::Status status) { #define STATUS_SUCCEEDED(x) ((x) == Status::kSuccess)
return status == cdm::Status::kSuccess; #define STATUS_FAILED(x) ((x) != Status::kSuccess)
}
inline bool STATUS_FAILED(cdm::Status status) {
return !STATUS_SUCCEEDED(status);
}
#define MFPLAT_FUNC(_func, _dllname) extern decltype(::_func)* _func; #define MFPLAT_FUNC(_func, _dllname) extern decltype(::_func)* _func;
#include "WMFSymbols.h" #include "WMFSymbols.h"

View file

@ -75,3 +75,5 @@ elif CONFIG["CC_TYPE"] == "clang-cl":
"-FI", "-FI",
"stdio.h", # for sprintf() prototype "stdio.h", # for sprintf() prototype
] ]
REQUIRES_UNIFIED_BUILD = True

View file

@ -19,7 +19,6 @@
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include "mozilla/Array.h"
#include "mozilla/Span.h" #include "mozilla/Span.h"
#include "nsString.h" #include "nsString.h"

View file

@ -7,7 +7,6 @@
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include <math.h> #include <math.h>
#include "mozilla/Array.h"
#include "mozilla/Assertions.h" #include "mozilla/Assertions.h"
#include "mozilla/Range.h" #include "mozilla/Range.h"
#include "mozilla/Tainting.h" #include "mozilla/Tainting.h"

View file

@ -30,3 +30,5 @@ if not CONFIG["MOZILLA_OFFICIAL"]:
# ] # ]
FINAL_LIBRARY = "xul-gtest" FINAL_LIBRARY = "xul-gtest"
REQUIRES_UNIFIED_BUILD = True

View file

@ -165,7 +165,7 @@ PRTime RoundToMilliseconds(PRTime aTime);
*/ */
PRTime RoundedPRNow(); PRTime RoundedPRNow();
nsresult HashURL(const nsACString& aSpec, const nsACString& aMode, nsresult HashURL(const nsAString& aSpec, const nsACString& aMode,
uint64_t* _hash); uint64_t* _hash);
class QueryKeyValuePair final { class QueryKeyValuePair final {

View file

@ -26,7 +26,6 @@
#include "mozilla/dom/Link.h" #include "mozilla/dom/Link.h"
#include "nsDocShellCID.h" #include "nsDocShellCID.h"
#include "mozilla/Components.h" #include "mozilla/Components.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsThreadUtils.h" #include "nsThreadUtils.h"
#include "nsNetUtil.h" #include "nsNetUtil.h"
#include "nsIWidget.h" #include "nsIWidget.h"

View file

@ -8,8 +8,6 @@
#include "mozilla/ScopeExit.h" #include "mozilla/ScopeExit.h"
#include "mozilla/Components.h" #include "mozilla/Components.h"
#include "nsFaviconService.h" #include "nsFaviconService.h"
#include "nsStringStream.h"
#include "nsStreamUtils.h"
#include "nsIChannel.h" #include "nsIChannel.h"
#include "nsIFaviconService.h" #include "nsIFaviconService.h"
#include "nsIIOService.h" #include "nsIIOService.h"

View file

@ -6,12 +6,11 @@
#define mozilla_places_PlaceInfo_h__ #define mozilla_places_PlaceInfo_h__
#include "mozIAsyncHistory.h" #include "mozIAsyncHistory.h"
#include "nsCOMPtr.h"
#include "nsIURI.h"
#include "nsString.h" #include "nsString.h"
#include "nsTArray.h" #include "nsTArray.h"
#include "mozilla/Attributes.h" #include "mozilla/Attributes.h"
class nsIURI;
class mozIVisitInfo; class mozIVisitInfo;
namespace mozilla { namespace mozilla {

View file

@ -5,8 +5,6 @@
#include "mozilla/storage.h" #include "mozilla/storage.h"
#include "nsString.h" #include "nsString.h"
#include "nsFaviconService.h"
#include "nsNavBookmarks.h"
#include "nsUnicharUtils.h" #include "nsUnicharUtils.h"
#include "nsWhitespaceTokenizer.h" #include "nsWhitespaceTokenizer.h"
#include "nsEscape.h" #include "nsEscape.h"
@ -1015,7 +1013,7 @@ HashFunction::OnFunctionCall(mozIStorageValueArray* aArguments,
RefPtr<nsVariant> result = new nsVariant(); RefPtr<nsVariant> result = new nsVariant();
uint64_t hash; uint64_t hash;
rv = mozilla::places::HashURL(str, mode, &hash); rv = HashURL(str, mode, &hash);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
rv = result->SetAsInt64((int64_t)hash); rv = result->SetAsInt64((int64_t)hash);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);

View file

@ -4,14 +4,9 @@
#include "Shutdown.h" #include "Shutdown.h"
#include "mozilla/Unused.h" #include "mozilla/Unused.h"
#include "mozilla/Services.h"
#include "mozilla/SimpleEnumerator.h" #include "mozilla/SimpleEnumerator.h"
#include "nsComponentManagerUtils.h"
#include "nsIProperty.h" #include "nsIProperty.h"
#include "nsIObserverService.h"
#include "nsIWritablePropertyBag.h" #include "nsIWritablePropertyBag.h"
#include "nsVariant.h"
#include "Database.h"
namespace mozilla { namespace mozilla {
namespace places { namespace places {

View file

@ -7,7 +7,6 @@
#include "mozIAsyncHistory.h" #include "mozIAsyncHistory.h"
#include "mozilla/Attributes.h" #include "mozilla/Attributes.h"
#include "nsCOMPtr.h"
class nsIURI; class nsIURI;

View file

@ -86,3 +86,5 @@ include("/ipc/chromium/chromium-config.mozbuild")
with Files("**"): with Files("**"):
BUG_COMPONENT = ("Toolkit", "Places") BUG_COMPONENT = ("Toolkit", "Places")
REQUIRES_UNIFIED_BUILD = True

View file

@ -30,7 +30,6 @@
#include "mozilla/Preferences.h" #include "mozilla/Preferences.h"
#include "nsILoadInfo.h" #include "nsILoadInfo.h"
#include "nsIContentPolicy.h" #include "nsIContentPolicy.h"
#include "nsIProtocolHandler.h"
#include "nsIScriptError.h" #include "nsIScriptError.h"
#include "nsContentUtils.h" #include "nsContentUtils.h"
#include "imgICache.h" #include "imgICache.h"

View file

@ -12,12 +12,9 @@
#include "nsAppDirectoryServiceDefs.h" #include "nsAppDirectoryServiceDefs.h"
#include "nsITaggingService.h" #include "nsITaggingService.h"
#include "nsNetUtil.h" #include "nsNetUtil.h"
#include "nsIProtocolHandler.h"
#include "nsIObserverService.h"
#include "nsUnicharUtils.h" #include "nsUnicharUtils.h"
#include "nsPrintfCString.h" #include "nsPrintfCString.h"
#include "nsQueryObject.h" #include "nsQueryObject.h"
#include "mozIStorageValueArray.h"
#include "mozilla/Preferences.h" #include "mozilla/Preferences.h"
#include "mozilla/ProfilerLabels.h" #include "mozilla/ProfilerLabels.h"
#include "mozilla/storage.h" #include "mozilla/storage.h"
@ -38,7 +35,6 @@ const int32_t nsNavBookmarks::kGetChildrenIndex_Type = 20;
const int32_t nsNavBookmarks::kGetChildrenIndex_PlaceID = 21; const int32_t nsNavBookmarks::kGetChildrenIndex_PlaceID = 21;
const int32_t nsNavBookmarks::kGetChildrenIndex_SyncStatus = 22; const int32_t nsNavBookmarks::kGetChildrenIndex_SyncStatus = 22;
using namespace mozilla::dom;
using namespace mozilla::places; using namespace mozilla::places;
extern "C" { extern "C" {

View file

@ -23,7 +23,6 @@
#include "Helpers.h" #include "Helpers.h"
#include "NotifyRankingChanged.h" #include "NotifyRankingChanged.h"
#include "mozIStorageValueArray.h"
#include "nsTArray.h" #include "nsTArray.h"
#include "nsNetUtil.h" #include "nsNetUtil.h"
#include "nsPrintfCString.h" #include "nsPrintfCString.h"

View file

@ -17,7 +17,6 @@
#include "nsCOMArray.h" #include "nsCOMArray.h"
#include "nsNetUtil.h" #include "nsNetUtil.h"
#include "nsTArray.h" #include "nsTArray.h"
#include "nsQueryObject.h"
#include "prprf.h" #include "prprf.h"
#include "nsVariant.h" #include "nsVariant.h"

View file

@ -16,22 +16,17 @@
#include "nsReadableUtils.h" #include "nsReadableUtils.h"
#include "nsUnicharUtils.h" #include "nsUnicharUtils.h"
#include "prtime.h" #include "prtime.h"
#include "mozIStorageRow.h"
#include "mozIStorageResultSet.h"
#include "nsQueryObject.h" #include "nsQueryObject.h"
#include "mozilla/dom/PlacesObservers.h" #include "mozilla/dom/PlacesObservers.h"
#include "mozilla/dom/PlacesVisit.h" #include "mozilla/dom/PlacesVisit.h"
#include "mozilla/dom/PlacesVisitRemoved.h" #include "mozilla/dom/PlacesVisitRemoved.h"
#include "mozilla/dom/PlacesVisitTitle.h" #include "mozilla/dom/PlacesVisitTitle.h"
#include "mozilla/dom/PlacesBookmarkAddition.h"
#include "mozilla/dom/PlacesBookmarkRemoved.h"
#include "mozilla/dom/PlacesBookmarkMoved.h" #include "mozilla/dom/PlacesBookmarkMoved.h"
#include "mozilla/dom/PlacesBookmarkKeyword.h" #include "mozilla/dom/PlacesBookmarkKeyword.h"
#include "mozilla/dom/PlacesBookmarkTags.h" #include "mozilla/dom/PlacesBookmarkTags.h"
#include "mozilla/dom/PlacesBookmarkTime.h" #include "mozilla/dom/PlacesBookmarkTime.h"
#include "mozilla/dom/PlacesBookmarkTitle.h" #include "mozilla/dom/PlacesBookmarkTitle.h"
#include "mozilla/dom/PlacesBookmarkUrl.h" #include "mozilla/dom/PlacesBookmarkUrl.h"
#include "mozilla/dom/PlacesFavicon.h"
#include "nsCycleCollectionParticipant.h" #include "nsCycleCollectionParticipant.h"
@ -76,7 +71,6 @@
#define MAX_PAGE_REMOVES_BEFORE_REFRESH 10 #define MAX_PAGE_REMOVES_BEFORE_REFRESH 10
using namespace mozilla; using namespace mozilla;
using namespace mozilla::dom;
using namespace mozilla::places; using namespace mozilla::places;
namespace { namespace {

View file

@ -149,6 +149,15 @@ static string Basename(const string& file) {
return file; return file;
} }
static string GetDumpLocalID() {
string localId = Basename(gReporterDumpFile);
string::size_type dot = localId.rfind('.');
if (dot == string::npos) return "";
return localId.substr(0, dot);
}
static bool ReadEventFile(const string& aPath, string& aEventVersion, static bool ReadEventFile(const string& aPath, string& aEventVersion,
string& aTime, string& aUuid, Json::Value& aData) { string& aTime, string& aUuid, Json::Value& aData) {
bool res = false; bool res = false;
@ -198,7 +207,7 @@ static void UpdateEventFile(const Json::Value& aExtraData, const string& aHash,
return; return;
} }
string localId = CrashReporter::GetDumpLocalID(); string localId = GetDumpLocalID();
string path = gEventsPath + UI_DIR_SEPARATOR + localId; string path = gEventsPath + UI_DIR_SEPARATOR + localId;
string eventVersion; string eventVersion;
string crashTime; string crashTime;
@ -231,7 +240,7 @@ static void WriteSubmissionEvent(SubmissionResult result,
return; return;
} }
string localId = CrashReporter::GetDumpLocalID(); string localId = GetDumpLocalID();
string fpath = gEventsPath + UI_DIR_SEPARATOR + localId + "-submission"; string fpath = gEventsPath + UI_DIR_SEPARATOR + localId + "-submission";
ofstream* f = UIOpenWrite(fpath, ios::binary); ofstream* f = UIOpenWrite(fpath, ios::binary);
time_t tm; time_t tm;
@ -523,34 +532,6 @@ static string ComputeDumpHash() {
return ""; // If we encountered an error, return an empty hash return ""; // If we encountered an error, return an empty hash
} }
string GetDumpLocalID() {
string localId = Basename(gReporterDumpFile);
string::size_type dot = localId.rfind('.');
if (dot == string::npos) return "";
return localId.substr(0, dot);
}
string GetProgramPath(const string& exename) {
string path = gArgv[0];
size_t pos = path.rfind(UI_CRASH_REPORTER_FILENAME BIN_SUFFIX);
path.erase(pos);
#ifdef XP_MACOSX
// On macOS the crash reporter client is shipped as an application bundle
// contained within Firefox' main application bundle. So when it's invoked
// its current working directory looks like:
// Firefox.app/Contents/MacOS/crashreporter.app/Contents/MacOS/
// The other applications we ship with Firefox are stored in the main bundle
// (Firefox.app/Contents/MacOS/) so we we need to go back three directories
// to reach them.
path.append("../../../");
#endif // XP_MACOSX
path.append(exename + BIN_SUFFIX);
return path;
}
} // namespace CrashReporter } // namespace CrashReporter
using namespace CrashReporter; using namespace CrashReporter;
@ -612,6 +593,25 @@ bool CheckEndOfLifed(const Json::Value& aVersion) {
return UIFileExists(reportPath); return UIFileExists(reportPath);
} }
static string GetProgramPath(const string& exename) {
string path = gArgv[0];
size_t pos = path.rfind(UI_CRASH_REPORTER_FILENAME BIN_SUFFIX);
path.erase(pos);
#ifdef XP_MACOSX
// On macOS the crash reporter client is shipped as an application bundle
// contained within Firefox' main application bundle. So when it's invoked
// its current working directory looks like:
// Firefox.app/Contents/MacOS/crashreporter.app/Contents/MacOS/
// The other applications we ship with Firefox are stored in the main bundle
// (Firefox.app/Contents/MacOS/) so we we need to go back three directories
// to reach them.
path.append("../../../");
#endif // XP_MACOSX
path.append(exename + BIN_SUFFIX);
return path;
}
int main(int argc, char** argv) { int main(int argc, char** argv) {
gArgc = argc; gArgc = argc;
gArgv = argv; gArgv = argv;
@ -645,8 +645,7 @@ int main(int argc, char** argv) {
if (!dumpAllThreadsEnv.empty()) { if (!dumpAllThreadsEnv.empty()) {
args.insert(args.begin(), "--full"); args.insert(args.begin(), "--full");
} }
UIRunProgram(CrashReporter::GetProgramPath(UI_MINIDUMP_ANALYZER_FILENAME), UIRunProgram(GetProgramPath(UI_MINIDUMP_ANALYZER_FILENAME), args,
args,
/* wait */ true); /* wait */ true);
// go ahead with the crash reporter // go ahead with the crash reporter

View file

@ -100,9 +100,6 @@ bool ReadStringsFromFile(const std::string& path, StringTable& strings,
void LogMessage(const std::string& message); void LogMessage(const std::string& message);
void DeleteDump(); void DeleteDump();
std::string GetDumpLocalID();
std::string GetProgramPath(const std::string& exename);
// Telemetry ping // Telemetry ping
bool SendCrashPing(Json::Value& extra, const std::string& hash, bool SendCrashPing(Json::Value& extra, const std::string& hash,
std::string& pingUuid, const std::string& pingDir); std::string& pingUuid, const std::string& pingDir);

View file

@ -89,7 +89,7 @@ static bool RestartApplication() {
} }
// Quit the app, used as a timeout callback // Quit the app, used as a timeout callback
gboolean CloseApp(gpointer data) { static gboolean CloseApp(gpointer data) {
if (!gAutoSubmit) { if (!gAutoSubmit) {
gtk_main_quit(); gtk_main_quit();
} }

View file

@ -37,7 +37,6 @@ extern std::string gSendURL;
extern std::string gURLParameter; extern std::string gURLParameter;
void LoadProxyinfo(); void LoadProxyinfo();
gboolean CloseApp(gpointer data);
gpointer SendThread(gpointer args); gpointer SendThread(gpointer args);
gboolean WindowDeleted(GtkWidget* window, GdkEvent* event, gpointer userData); gboolean WindowDeleted(GtkWidget* window, GdkEvent* event, gpointer userData);
gboolean check_escape(GtkWidget* window, GdkEventKey* event, gpointer data); gboolean check_escape(GtkWidget* window, GdkEventKey* event, gpointer data);

View file

@ -76,7 +76,7 @@ static string Escape(const string& str) {
return ret; return ret;
} }
static bool WriteStrings(std::ostream& out, const string& header, static bool WriteStrings(ostream& out, const string& header,
StringTable& strings, bool escape) { StringTable& strings, bool escape) {
out << "[" << header << "]" << std::endl; out << "[" << header << "]" << std::endl;
for (const auto& iter : strings) { for (const auto& iter : strings) {
@ -95,7 +95,7 @@ static bool WriteStrings(std::ostream& out, const string& header,
static bool WriteStringsToFile(const string& path, const string& header, static bool WriteStringsToFile(const string& path, const string& header,
StringTable& strings, bool escape) { StringTable& strings, bool escape) {
std::ofstream* f = UIOpenWrite(path, ios::trunc); ofstream* f = UIOpenWrite(path, ios::trunc);
bool success = false; bool success = false;
if (f->is_open()) { if (f->is_open()) {
success = WriteStrings(*f, header, strings, escape); success = WriteStrings(*f, header, strings, escape);

View file

@ -5,7 +5,6 @@
#include "crashreporter.h" #include "crashreporter.h"
#include <algorithm> #include <algorithm>
#include <sys/wait.h>
#include <dirent.h> #include <dirent.h>
#include <errno.h> #include <errno.h>

View file

@ -94,3 +94,5 @@ RCINCLUDE = "crashreporter.rc"
DisableStlWrapping() DisableStlWrapping()
include("/toolkit/crashreporter/crashreporter.mozbuild") include("/toolkit/crashreporter/crashreporter.mozbuild")
REQUIRES_UNIFIED_BUILD = True

View file

@ -6,7 +6,6 @@
#include "crashreporter.h" #include "crashreporter.h"
#include <cstring> #include <cstring>
#include <ctime>
#include <string> #include <string>
#if defined(XP_LINUX) #if defined(XP_LINUX)
@ -144,7 +143,7 @@ static Json::Value CreatePayloadNode(const Json::Value& aExtra,
payload["crashDate"] = CurrentDate(kISO8601Date); payload["crashDate"] = CurrentDate(kISO8601Date);
payload["crashTime"] = CurrentDate(kISO8601DateHours); payload["crashTime"] = CurrentDate(kISO8601DateHours);
payload["hasCrashEnvironment"] = true; payload["hasCrashEnvironment"] = true;
payload["crashId"] = CrashReporter::GetDumpLocalID(); payload["crashId"] = GetDumpLocalID();
payload["minidumpSha256Hash"] = aHash; payload["minidumpSha256Hash"] = aHash;
payload["processType"] = "main"; // This is always a main crash payload["processType"] = "main"; // This is always a main crash
if (aExtra.isMember("StackTraces")) { if (aExtra.isMember("StackTraces")) {
@ -246,7 +245,7 @@ string GenerateSubmissionUrl(const string& aUrl, const string& aId,
// //
// Returns true if the ping was written out successfully, false otherwise. // Returns true if the ping was written out successfully, false otherwise.
static bool WritePing(const string& aPath, const string& aPing) { static bool WritePing(const string& aPath, const string& aPing) {
std::ofstream* f = UIOpenWrite(aPath, std::ios::trunc); ofstream* f = UIOpenWrite(aPath, ios::trunc);
bool success = false; bool success = false;
if (f->is_open()) { if (f->is_open()) {
@ -311,9 +310,8 @@ bool SendCrashPing(Json::Value& aExtra, const string& aHash, string& aPingUuid,
} }
// Hand over the ping to the sender // Hand over the ping to the sender
std::vector<string> args = {url, pingPath}; vector<string> args = {url, pingPath};
if (UIRunProgram(CrashReporter::GetProgramPath(UI_PING_SENDER_FILENAME), if (UIRunProgram(GetProgramPath(UI_PING_SENDER_FILENAME), args)) {
args)) {
aPingUuid = uuid; aPingUuid = uuid;
return true; return true;
} else { } else {

View file

@ -41,3 +41,5 @@ if CONFIG["OS_TARGET"] != "WINNT":
DisableStlWrapping() DisableStlWrapping()
include("/toolkit/crashreporter/crashreporter.mozbuild") include("/toolkit/crashreporter/crashreporter.mozbuild")
REQUIRES_UNIFIED_BUILD = True

View file

@ -138,3 +138,5 @@ GeneratedFile(
with Files("**"): with Files("**"):
BUG_COMPONENT = ("Toolkit", "Crash Reporting") BUG_COMPONENT = ("Toolkit", "Crash Reporting")
REQUIRES_UNIFIED_BUILD = True

View file

@ -59,6 +59,8 @@ static Vector<nsString> GetKeyboardLayoutDlls() {
Unused << result.emplaceBack(std::move(ws)); Unused << result.emplaceBack(std::move(ws));
} }
} }
return result;
} }
/* static */ /* static */

View file

@ -17,7 +17,6 @@
#include "mozilla/Unused.h" #include "mozilla/Unused.h"
#include "mozilla/WinDllServices.h" #include "mozilla/WinDllServices.h"
#include "ModuleEvaluator.h" #include "ModuleEvaluator.h"
#include "ModuleVersionInfo.h"
#include "nsCOMPtr.h" #include "nsCOMPtr.h"
#include "nsDebug.h" #include "nsDebug.h"
#include "nsXULAppAPI.h" #include "nsXULAppAPI.h"

View file

@ -41,3 +41,5 @@ TEST_DIRS += [
] ]
include("/ipc/chromium/chromium-config.mozbuild") include("/ipc/chromium/chromium-config.mozbuild")
REQUIRES_UNIFIED_BUILD = True