summaryrefslogtreecommitdiffstats
path: root/gfx
diff options
context:
space:
mode:
Diffstat (limited to 'gfx')
-rw-r--r--gfx/gl/GLContextProviderGLX.cpp1
-rw-r--r--gfx/gl/GLLibraryEGL.cpp15
-rw-r--r--gfx/gl/GLTextureImage.cpp3
-rw-r--r--gfx/gl/GLUploadHelpers.cpp31
-rw-r--r--gfx/gl/GLUploadHelpers.h2
-rw-r--r--gfx/gl/TextureImageEGL.cpp4
-rw-r--r--gfx/ipc/GPUChild.cpp12
-rw-r--r--gfx/layers/Layers.cpp3
-rw-r--r--gfx/layers/apz/src/AsyncPanZoomController.cpp21
-rw-r--r--gfx/layers/apz/src/InputBlockState.cpp3
-rw-r--r--gfx/layers/apz/src/PotentialCheckerboardDurationTracker.cpp8
-rw-r--r--gfx/layers/composite/TextureHost.cpp3
-rw-r--r--gfx/layers/ipc/CompositorBridgeParent.cpp21
-rw-r--r--gfx/layers/opengl/TextureHostOGL.cpp4
-rw-r--r--gfx/src/DriverCrashGuard.cpp16
-rw-r--r--gfx/thebes/DeviceManagerDx.cpp6
-rw-r--r--gfx/thebes/gfxDWriteFontList.cpp12
-rw-r--r--gfx/thebes/gfxFont.cpp7
-rw-r--r--gfx/thebes/gfxGDIFontList.cpp2
-rw-r--r--gfx/thebes/gfxGradientCache.cpp2
-rw-r--r--gfx/thebes/gfxMacPlatformFontList.mm7
-rw-r--r--gfx/thebes/gfxPlatform.cpp35
-rw-r--r--gfx/thebes/gfxPlatformFontList.cpp12
-rw-r--r--gfx/thebes/gfxPrefs.h1
-rw-r--r--gfx/thebes/gfxUserFontSet.cpp14
-rwxr-xr-xgfx/thebes/gfxWindowsPlatform.cpp14
26 files changed, 20 insertions, 239 deletions
diff --git a/gfx/gl/GLContextProviderGLX.cpp b/gfx/gl/GLContextProviderGLX.cpp
index 5560357e1..539520a8c 100644
--- a/gfx/gl/GLContextProviderGLX.cpp
+++ b/gfx/gl/GLContextProviderGLX.cpp
@@ -80,7 +80,6 @@ GLXLibrary::EnsureInitialized()
if (!mOGLLibrary) {
const char* libGLfilename = nullptr;
- bool forceFeatureReport = false;
// see e.g. bug 608526: it is intrinsically interesting to know whether we have dynamically linked to libGL.so.1
// because at least the NVIDIA implementation requires an executable stack, which causes mprotect calls,
diff --git a/gfx/gl/GLLibraryEGL.cpp b/gfx/gl/GLLibraryEGL.cpp
index 3d8da3085..75f40f13f 100644
--- a/gfx/gl/GLLibraryEGL.cpp
+++ b/gfx/gl/GLLibraryEGL.cpp
@@ -9,7 +9,6 @@
#include "gfxUtils.h"
#include "mozilla/Preferences.h"
#include "mozilla/Assertions.h"
-#include "mozilla/Telemetry.h"
#include "mozilla/Tokenizer.h"
#include "mozilla/ScopeExit.h"
#include "mozilla/Unused.h"
@@ -472,20 +471,6 @@ GLLibraryEGL::EnsureInitialized(bool forceAccel, nsACString* const out_failureId
chosenDisplay = GetAndInitDisplayForAccelANGLE(*this, out_failureId);
}
- // Report the acceleration status to telemetry
- if (!chosenDisplay) {
- if (accelAngleFailureId.IsEmpty()) {
- Telemetry::Accumulate(Telemetry::CANVAS_WEBGL_ACCL_FAILURE_ID,
- NS_LITERAL_CSTRING("FEATURE_FAILURE_ACCL_ANGLE_UNKNOWN"));
- } else {
- Telemetry::Accumulate(Telemetry::CANVAS_WEBGL_ACCL_FAILURE_ID,
- accelAngleFailureId);
- }
- } else {
- Telemetry::Accumulate(Telemetry::CANVAS_WEBGL_ACCL_FAILURE_ID,
- NS_LITERAL_CSTRING("SUCCESS"));
- }
-
// Fallback to a WARP display if ANGLE fails, or if WARP is forced
if (!chosenDisplay && shouldTryWARP) {
chosenDisplay = GetAndInitWARPDisplay(*this, EGL_DEFAULT_DISPLAY);
diff --git a/gfx/gl/GLTextureImage.cpp b/gfx/gl/GLTextureImage.cpp
index 65678432d..c91d558af 100644
--- a/gfx/gl/GLTextureImage.cpp
+++ b/gfx/gl/GLTextureImage.cpp
@@ -149,9 +149,6 @@ BasicTextureImage::DirectUpdate(gfx::DataSourceSurface* aSurf, const nsIntRegion
&uploadSize,
needInit,
aFrom);
- if (mTextureFormat == SurfaceFormat::UNKNOWN) {
- return false;
- }
if (uploadSize > 0) {
UpdateUploadSize(uploadSize);
diff --git a/gfx/gl/GLUploadHelpers.cpp b/gfx/gl/GLUploadHelpers.cpp
index ca1c890a4..75165eedf 100644
--- a/gfx/gl/GLUploadHelpers.cpp
+++ b/gfx/gl/GLUploadHelpers.cpp
@@ -27,23 +27,6 @@ DataOffset(const IntPoint& aPoint, int32_t aStride, SurfaceFormat aFormat)
return data;
}
-static bool
-CheckUploadBounds(const IntSize& aDst, const IntSize& aSrc, const IntPoint& aOffset)
-{
- if (aOffset.x < 0 || aOffset.y < 0 ||
- aOffset.x >= aSrc.width ||
- aOffset.y >= aSrc.height) {
- MOZ_ASSERT_UNREACHABLE("Offset outside source bounds");
- return false;
- }
- if (aDst.width > (aSrc.width - aOffset.x) ||
- aDst.height > (aSrc.height - aOffset.y)) {
- MOZ_ASSERT_UNREACHABLE("Source has insufficient data");
- return false;
- }
- return true;
-}
-
static GLint GetAddressAlignment(ptrdiff_t aAddress)
{
if (!(aAddress & 0x7)) {
@@ -392,7 +375,6 @@ TexImage2DHelper(GLContext* gl,
SurfaceFormat
UploadImageDataToTexture(GLContext* gl,
unsigned char* aData,
- const gfx::IntSize& aDataSize,
int32_t aStride,
SurfaceFormat aFormat,
const nsIntRegion& aDstRegion,
@@ -516,10 +498,6 @@ UploadImageDataToTexture(GLContext* gl,
// Upload each rect in the region to the texture
for (auto iter = aDstRegion.RectIter(); !iter.Done(); iter.Next()) {
const IntRect& rect = iter.Get();
- if (!CheckUploadBounds(rect.Size(), aDataSize, rect.TopLeft())) {
- return SurfaceFormat::UNKNOWN;
- }
-
const unsigned char* rectData =
aData + DataOffset(rect.TopLeft(), aStride, aFormat);
@@ -556,17 +534,10 @@ UploadSurfaceToTexture(GLContext* gl,
int32_t stride = aSurface->Stride();
SurfaceFormat format = aSurface->GetFormat();
- gfx::IntSize size = aSurface->GetSize();
- if (!CheckUploadBounds(aSize, size, aSrcPoint)) {
- return SurfaceFormat::UNKNOWN;
- }
-
unsigned char* data = aSurface->GetData() +
DataOffset(aSrcPoint, stride, format);
- size.width -= aSrcPoint.x;
- size.height -= aSrcPoint.y;
- return UploadImageDataToTexture(gl, data, size, stride, format,
+ return UploadImageDataToTexture(gl, data, stride, format,
aDstRegion, aTexture, aSize,
aOutUploadSize, aNeedInit,
aTextureUnit, aTextureTarget);
diff --git a/gfx/gl/GLUploadHelpers.h b/gfx/gl/GLUploadHelpers.h
index f732d2b38..866d44adb 100644
--- a/gfx/gl/GLUploadHelpers.h
+++ b/gfx/gl/GLUploadHelpers.h
@@ -28,7 +28,6 @@ class GLContext;
* \param gl The GL Context to use.
* \param aData Start of image data of surface to upload.
* Corresponds to the first pixel of the texture.
- * \param aDataSize The image data's size.
* \param aStride The image data's stride.
* \param aFormat The image data's format.
* \param aDstRegion Region of the texture to upload.
@@ -47,7 +46,6 @@ class GLContext;
gfx::SurfaceFormat
UploadImageDataToTexture(GLContext* gl,
unsigned char* aData,
- const gfx::IntSize& aDataSize,
int32_t aStride,
gfx::SurfaceFormat aFormat,
const nsIntRegion& aDstRegion,
diff --git a/gfx/gl/TextureImageEGL.cpp b/gfx/gl/TextureImageEGL.cpp
index 3bb2987d1..87a547c26 100644
--- a/gfx/gl/TextureImageEGL.cpp
+++ b/gfx/gl/TextureImageEGL.cpp
@@ -119,10 +119,6 @@ TextureImageEGL::DirectUpdate(gfx::DataSourceSurface* aSurf, const nsIntRegion&
&uploadSize,
needInit,
aFrom);
- if (mTextureFormat == SurfaceFormat::UNKNOWN) {
- return false;
- }
-
if (uploadSize > 0) {
UpdateUploadSize(uploadSize);
}
diff --git a/gfx/ipc/GPUChild.cpp b/gfx/ipc/GPUChild.cpp
index a075716e3..bfe2d56f7 100644
--- a/gfx/ipc/GPUChild.cpp
+++ b/gfx/ipc/GPUChild.cpp
@@ -8,7 +8,6 @@
#include "gfxPrefs.h"
#include "GPUProcessHost.h"
#include "GPUProcessManager.h"
-#include "mozilla/Telemetry.h"
#include "mozilla/dom/CheckerboardReportService.h"
#include "mozilla/gfx/gfxVars.h"
#if defined(XP_WIN)
@@ -80,7 +79,6 @@ GPUChild::EnsureGPUReady()
SendGetDeviceStatus(&data);
gfxPlatform::GetPlatform()->ImportGPUDeviceData(data);
- Telemetry::AccumulateTimeDelta(Telemetry::GPU_PROCESS_LAUNCH_TIME_MS, mHost->GetLaunchTime());
mGPUReady = true;
}
@@ -93,7 +91,6 @@ GPUChild::RecvInitComplete(const GPUDeviceData& aData)
}
gfxPlatform::GetPlatform()->ImportGPUDeviceData(aData);
- Telemetry::AccumulateTimeDelta(Telemetry::GPU_PROCESS_LAUNCH_TIME_MS, mHost->GetLaunchTime());
mGPUReady = true;
return true;
}
@@ -131,14 +128,14 @@ GPUChild::RecvNotifyUiObservers(const nsCString& aTopic)
bool
GPUChild::RecvAccumulateChildHistogram(InfallibleTArray<Accumulation>&& aAccumulations)
{
- Telemetry::AccumulateChild(GeckoProcessType_GPU, aAccumulations);
+ /* Telemetry STUB */
return true;
}
bool
GPUChild::RecvAccumulateChildKeyedHistogram(InfallibleTArray<KeyedAccumulation>&& aAccumulations)
{
- Telemetry::AccumulateChildKeyed(GeckoProcessType_GPU, aAccumulations);
+ /* Telemetry STUB */
return true;
}
@@ -152,11 +149,6 @@ GPUChild::RecvNotifyDeviceReset()
void
GPUChild::ActorDestroy(ActorDestroyReason aWhy)
{
- if (aWhy == AbnormalShutdown) {
- Telemetry::Accumulate(Telemetry::SUBPROCESS_ABNORMAL_ABORT,
- nsDependentCString(XRE_ChildProcessTypeToString(GeckoProcessType_GPU), 1));
- }
-
gfxVars::RemoveReceiver(this);
mHost->OnChannelClosed();
}
diff --git a/gfx/layers/Layers.cpp b/gfx/layers/Layers.cpp
index ff5ab9b50..482d809a1 100644
--- a/gfx/layers/Layers.cpp
+++ b/gfx/layers/Layers.cpp
@@ -22,7 +22,6 @@
#include "gfxUtils.h" // for gfxUtils, etc
#include "gfx2DGlue.h"
#include "mozilla/DebugOnly.h" // for DebugOnly
-#include "mozilla/Telemetry.h" // for Accumulate
#include "mozilla/ToString.h"
#include "mozilla/dom/Animation.h" // for ComputedTimingFunction
#include "mozilla/gfx/2D.h" // for DrawTarget
@@ -1621,8 +1620,6 @@ void
LayerManager::PostPresent()
{
if (!mTabSwitchStart.IsNull()) {
- Telemetry::Accumulate(Telemetry::FX_TAB_SWITCH_TOTAL_MS,
- uint32_t((TimeStamp::Now() - mTabSwitchStart).ToMilliseconds()));
mTabSwitchStart = TimeStamp();
}
}
diff --git a/gfx/layers/apz/src/AsyncPanZoomController.cpp b/gfx/layers/apz/src/AsyncPanZoomController.cpp
index 102f282f3..e7574eeb7 100644
--- a/gfx/layers/apz/src/AsyncPanZoomController.cpp
+++ b/gfx/layers/apz/src/AsyncPanZoomController.cpp
@@ -904,9 +904,6 @@ nsEventStatus AsyncPanZoomController::HandleDragEvent(const MouseInput& aEvent,
return nsEventStatus_eConsumeNoDefault;
}
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::SCROLL_INPUT_METHODS,
- (uint32_t) ScrollInputMethod::ApzScrollbarDrag);
-
ReentrantMonitorAutoEnter lock(mMonitor);
CSSPoint scrollFramePoint = aEvent.mLocalOrigin / GetFrameMetrics().GetZoom();
// The scrollbar can be transformed with the frame but the pres shell
@@ -1731,10 +1728,6 @@ nsEventStatus AsyncPanZoomController::OnScrollWheel(const ScrollWheelInput& aEve
return nsEventStatus_eIgnore;
}
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::SCROLL_INPUT_METHODS,
- (uint32_t) ScrollInputMethodForWheelDeltaType(aEvent.mDeltaType));
-
-
switch (aEvent.mScrollMode) {
case ScrollWheelInput::SCROLLMODE_INSTANT: {
@@ -1934,9 +1927,6 @@ nsEventStatus AsyncPanZoomController::OnPan(const PanGestureInput& aEvent, bool
HandlePanningUpdate(physicalPanDisplacement);
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::SCROLL_INPUT_METHODS,
- (uint32_t) ScrollInputMethod::ApzPanGesture);
-
ScreenPoint panDistance(fabs(physicalPanDisplacement.x), fabs(physicalPanDisplacement.y));
MOZ_ASSERT(GetCurrentPanGestureBlock());
OverscrollHandoffState handoffState(
@@ -2600,8 +2590,6 @@ void AsyncPanZoomController::TrackTouch(const MultiTouchInput& aEvent) {
UpdateWithTouchAtDevicePoint(aEvent);
if (prevTouchPoint != touchPoint) {
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::SCROLL_INPUT_METHODS,
- (uint32_t) ScrollInputMethod::ApzTouch);
MOZ_ASSERT(GetCurrentTouchBlock());
OverscrollHandoffState handoffState(
*GetCurrentTouchBlock()->GetOverscrollHandoffChain(),
@@ -3260,14 +3248,7 @@ AsyncPanZoomController::UpdateCheckerboardEvent(const MutexAutoLock& aProofOfLoc
uint32_t aMagnitude)
{
if (mCheckerboardEvent && mCheckerboardEvent->RecordFrameInfo(aMagnitude)) {
- // This checkerboard event is done. Report some metrics to telemetry.
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::CHECKERBOARD_SEVERITY,
- mCheckerboardEvent->GetSeverity());
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::CHECKERBOARD_PEAK,
- mCheckerboardEvent->GetPeak());
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::CHECKERBOARD_DURATION,
- (uint32_t)mCheckerboardEvent->GetDuration().ToMilliseconds());
-
+ // This checkerboard event is done.
mPotentialCheckerboardTracker.CheckerboardDone();
if (gfxPrefs::APZRecordCheckerboarding()) {
diff --git a/gfx/layers/apz/src/InputBlockState.cpp b/gfx/layers/apz/src/InputBlockState.cpp
index f1310c031..85b4e13ff 100644
--- a/gfx/layers/apz/src/InputBlockState.cpp
+++ b/gfx/layers/apz/src/InputBlockState.cpp
@@ -10,7 +10,6 @@
#include "gfxPrefs.h" // for gfxPrefs
#include "mozilla/MouseEvents.h"
#include "mozilla/SizePrintfMacros.h" // for PRIuSIZE
-#include "mozilla/Telemetry.h" // for Telemetry
#include "mozilla/layers/APZCTreeManager.h" // for AllowedTouchBehavior
#include "OverscrollHandoffState.h"
#include "QueuedInput.h"
@@ -246,8 +245,6 @@ CancelableBlockState::RecordContentResponseTime()
// Not done yet, we'll get called again
return;
}
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::CONTENT_RESPONSE_DURATION,
- (uint32_t)(TimeStamp::Now() - mContentResponseTimer).ToMilliseconds());
mContentResponseTimer = TimeStamp();
}
diff --git a/gfx/layers/apz/src/PotentialCheckerboardDurationTracker.cpp b/gfx/layers/apz/src/PotentialCheckerboardDurationTracker.cpp
index c83b9f45c..e469421ad 100644
--- a/gfx/layers/apz/src/PotentialCheckerboardDurationTracker.cpp
+++ b/gfx/layers/apz/src/PotentialCheckerboardDurationTracker.cpp
@@ -33,9 +33,7 @@ PotentialCheckerboardDurationTracker::CheckerboardDone()
MOZ_ASSERT(Tracking());
mInCheckerboard = false;
if (!Tracking()) {
- mozilla::Telemetry::AccumulateTimeDelta(
- mozilla::Telemetry::CHECKERBOARD_POTENTIAL_DURATION,
- mCurrentPeriodStart);
+ /* Telemetry STUB */
}
}
@@ -63,9 +61,7 @@ PotentialCheckerboardDurationTracker::InTransform(bool aInTransform)
// would have taken the other !Tracking branch above. If it's false now,
// it means we just stopped tracking, so we are ending a potential
// checkerboard period.
- mozilla::Telemetry::AccumulateTimeDelta(
- mozilla::Telemetry::CHECKERBOARD_POTENTIAL_DURATION,
- mCurrentPeriodStart);
+ /* Telemetry STUB */
}
}
diff --git a/gfx/layers/composite/TextureHost.cpp b/gfx/layers/composite/TextureHost.cpp
index e4a2ffd86..b342f1d18 100644
--- a/gfx/layers/composite/TextureHost.cpp
+++ b/gfx/layers/composite/TextureHost.cpp
@@ -890,7 +890,8 @@ BufferTextureHost::Upload(nsIntRegion *aRegion)
mFirstSource = mCompositor->CreateDataTextureSource(mFlags|TextureFlags::RGB_FROM_YCBCR);
mFirstSource->SetOwner(this);
}
- return mFirstSource->Update(surf, aRegion);
+ mFirstSource->Update(surf, aRegion);
+ return true;
}
RefPtr<DataTextureSource> srcY;
diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp
index bf510cd46..00602fab5 100644
--- a/gfx/layers/ipc/CompositorBridgeParent.cpp
+++ b/gfx/layers/ipc/CompositorBridgeParent.cpp
@@ -482,10 +482,6 @@ CompositorVsyncScheduler::Composite(TimeStamp aVsyncTimestamp)
mLastCompose = aVsyncTimestamp;
ComposeToTarget(nullptr);
mVsyncNotificationsSkipped = 0;
-
- TimeDuration compositeFrameTotal = TimeStamp::Now() - aVsyncTimestamp;
- mozilla::Telemetry::Accumulate(mozilla::Telemetry::COMPOSITE_FRAME_ROUNDTRIP_TIME,
- compositeFrameTotal.ToMilliseconds());
} else if (mVsyncNotificationsSkipped++ > gfxPrefs::CompositorUnobserveCount()) {
UnobserveVsync();
}
@@ -1305,7 +1301,6 @@ CompositorBridgeParent::CompositeToTarget(DrawTarget* aTarget, const gfx::IntRec
}
mCompositor->SetCompositionTime(TimeStamp());
- mozilla::Telemetry::AccumulateTimeDelta(mozilla::Telemetry::COMPOSITE_TIME, start);
profiler_tracing("Paint", "Composite", TRACING_INTERVAL_END);
}
@@ -1660,19 +1655,6 @@ CompositorBridgeParent::NewCompositor(const nsTArray<LayersBackend>& aBackendHin
failureReason = "SUCCESS";
}
- // should only report success here
- if (aBackendHints[i] == LayersBackend::LAYERS_OPENGL){
- Telemetry::Accumulate(Telemetry::OPENGL_COMPOSITING_FAILURE_ID, failureReason);
- }
-#ifdef XP_WIN
- else if (aBackendHints[i] == LayersBackend::LAYERS_D3D9){
- Telemetry::Accumulate(Telemetry::D3D9_COMPOSITING_FAILURE_ID, failureReason);
- }
- else if (aBackendHints[i] == LayersBackend::LAYERS_D3D11){
- Telemetry::Accumulate(Telemetry::D3D11_COMPOSITING_FAILURE_ID, failureReason);
- }
-#endif
-
compositor->SetCompositorID(mCompositorID);
return compositor;
}
@@ -1681,18 +1663,15 @@ CompositorBridgeParent::NewCompositor(const nsTArray<LayersBackend>& aBackendHin
if (aBackendHints[i] == LayersBackend::LAYERS_OPENGL){
gfxCriticalNote << "[OPENGL] Failed to init compositor with reason: "
<< failureReason.get();
- Telemetry::Accumulate(Telemetry::OPENGL_COMPOSITING_FAILURE_ID, failureReason);
}
#ifdef XP_WIN
else if (aBackendHints[i] == LayersBackend::LAYERS_D3D9){
gfxCriticalNote << "[D3D9] Failed to init compositor with reason: "
<< failureReason.get();
- Telemetry::Accumulate(Telemetry::D3D9_COMPOSITING_FAILURE_ID, failureReason);
}
else if (aBackendHints[i] == LayersBackend::LAYERS_D3D11){
gfxCriticalNote << "[D3D11] Failed to init compositor with reason: "
<< failureReason.get();
- Telemetry::Accumulate(Telemetry::D3D11_COMPOSITING_FAILURE_ID, failureReason);
}
#endif
}
diff --git a/gfx/layers/opengl/TextureHostOGL.cpp b/gfx/layers/opengl/TextureHostOGL.cpp
index ec6ba9131..02c398b51 100644
--- a/gfx/layers/opengl/TextureHostOGL.cpp
+++ b/gfx/layers/opengl/TextureHostOGL.cpp
@@ -161,7 +161,9 @@ TextureImageTextureSourceOGL::Update(gfx::DataSourceSurface* aSurface,
}
}
- return mTexImage->UpdateFromDataSource(aSurface, aDestRegion, aSrcOffset);
+ mTexImage->UpdateFromDataSource(aSurface, aDestRegion, aSrcOffset);
+
+ return true;
}
void
diff --git a/gfx/src/DriverCrashGuard.cpp b/gfx/src/DriverCrashGuard.cpp
index 4754c26ad..fd616575b 100644
--- a/gfx/src/DriverCrashGuard.cpp
+++ b/gfx/src/DriverCrashGuard.cpp
@@ -11,7 +11,6 @@
#include "nsString.h"
#include "nsXULAppAPI.h"
#include "mozilla/Preferences.h"
-#include "mozilla/Telemetry.h"
#include "mozilla/Services.h"
#include "mozilla/gfx/Logging.h"
#include "mozilla/dom/ContentChild.h"
@@ -469,20 +468,7 @@ D3D11LayersCrashGuard::LogFeatureDisabled()
void
D3D11LayersCrashGuard::RecordTelemetry(TelemetryState aState)
{
- // D3D11LayersCrashGuard is a no-op in the child process.
- if (!XRE_IsParentProcess()) {
- return;
- }
-
- // Since we instantiate this class more than once, make sure we only record
- // the first state (since that is really all we care about).
- static bool sTelemetryStateRecorded = false;
- if (sTelemetryStateRecorded) {
- return;
- }
-
- Telemetry::Accumulate(Telemetry::GRAPHICS_DRIVER_STARTUP_TEST, int32_t(aState));
- sTelemetryStateRecorded = true;
+ /* STUB */
}
D3D9VideoCrashGuard::D3D9VideoCrashGuard(dom::ContentParent* aContentParent)
diff --git a/gfx/thebes/DeviceManagerDx.cpp b/gfx/thebes/DeviceManagerDx.cpp
index 2f2693c76..e1cfc5763 100644
--- a/gfx/thebes/DeviceManagerDx.cpp
+++ b/gfx/thebes/DeviceManagerDx.cpp
@@ -10,7 +10,6 @@
#include "gfxPrefs.h"
#include "gfxWindowsPlatform.h"
#include "mozilla/D3DMessageUtils.h"
-#include "mozilla/Telemetry.h"
#include "mozilla/WindowsVersion.h"
#include "mozilla/gfx/GraphicsMessages.h"
#include "mozilla/gfx/Logging.h"
@@ -589,10 +588,6 @@ DeviceManagerDx::MaybeResetAndReacquireDevices()
return false;
}
- if (resetReason != DeviceResetReason::FORCED_RESET) {
- Telemetry::Accumulate(Telemetry::DEVICE_RESET_REASON, uint32_t(resetReason));
- }
-
bool createCompositorDevice = !!mCompositorDevice;
bool createContentDevice = !!mContentDevice;
@@ -724,7 +719,6 @@ DeviceManagerDx::GetAnyDeviceRemovedReason(DeviceResetReason* aOutReason)
void
DeviceManagerDx::ForceDeviceReset(ForcedDeviceResetReason aReason)
{
- Telemetry::Accumulate(Telemetry::FORCED_DEVICE_RESET_REASON, uint32_t(aReason));
{
MutexAutoLock lock(mDeviceLock);
mDeviceResetReason = Some(DeviceResetReason::FORCED_RESET);
diff --git a/gfx/thebes/gfxDWriteFontList.cpp b/gfx/thebes/gfxDWriteFontList.cpp
index d159fddb1..5cc1fbb92 100644
--- a/gfx/thebes/gfxDWriteFontList.cpp
+++ b/gfx/thebes/gfxDWriteFontList.cpp
@@ -14,7 +14,6 @@
#include "nsCharSeparatedTokenizer.h"
#include "mozilla/Preferences.h"
#include "mozilla/Sprintf.h"
-#include "mozilla/Telemetry.h"
#include "nsDirectoryServiceUtils.h"
#include "nsDirectoryServiceDefs.h"
#include "nsAppDirectoryServiceDefs.h"
@@ -864,8 +863,6 @@ gfxDWriteFontList::InitFontListForPlatform()
hr = gfxWindowsPlatform::GetPlatform()->GetDWriteFactory()->
GetGdiInterop(getter_AddRefs(mGDIInterop));
if (FAILED(hr)) {
- Telemetry::Accumulate(Telemetry::DWRITEFONT_INIT_PROBLEM,
- uint32_t(errGDIInterop));
return NS_ERROR_FAILURE;
}
@@ -878,8 +875,6 @@ gfxDWriteFontList::InitFontListForPlatform()
NS_ASSERTION(SUCCEEDED(hr), "GetSystemFontCollection failed!");
if (FAILED(hr)) {
- Telemetry::Accumulate(Telemetry::DWRITEFONT_INIT_PROBLEM,
- uint32_t(errSystemFontCollection));
return NS_ERROR_FAILURE;
}
@@ -891,8 +886,6 @@ gfxDWriteFontList::InitFontListForPlatform()
NS_ASSERTION(mFontFamilies.Count() != 0,
"no fonts found in the system fontlist -- holy crap batman!");
if (mFontFamilies.Count() == 0) {
- Telemetry::Accumulate(Telemetry::DWRITEFONT_INIT_PROBLEM,
- uint32_t(errNoFonts));
return NS_ERROR_FAILURE;
}
@@ -1001,9 +994,6 @@ gfxDWriteFontList::InitFontListForPlatform()
}
elapsedTime = (t5.QuadPart - t1.QuadPart) * 1000.0 / frequency.QuadPart;
- Telemetry::Accumulate(Telemetry::DWRITEFONT_DELAYEDINITFONTLIST_TOTAL, elapsedTime);
- Telemetry::Accumulate(Telemetry::DWRITEFONT_DELAYEDINITFONTLIST_COUNT,
- mSystemFonts->GetFontFamilyCount());
LOG_FONTINIT((
"(fontinit) Total time in InitFontList: %9.3f ms (families: %d, %s)\n",
elapsedTime, mSystemFonts->GetFontFamilyCount(),
@@ -1013,7 +1003,6 @@ gfxDWriteFontList::InitFontListForPlatform()
LOG_FONTINIT(("(fontinit) --- base/interop obj initialization init: %9.3f ms\n", elapsedTime));
elapsedTime = (t3.QuadPart - t2.QuadPart) * 1000.0 / frequency.QuadPart;
- Telemetry::Accumulate(Telemetry::DWRITEFONT_DELAYEDINITFONTLIST_COLLECT, elapsedTime);
LOG_FONTINIT(("(fontinit) --- GetSystemFontCollection: %9.3f ms\n", elapsedTime));
elapsedTime = (t4.QuadPart - t3.QuadPart) * 1000.0 / frequency.QuadPart;
@@ -1455,7 +1444,6 @@ gfxDWriteFontList::PlatformGlobalFontFallback(const uint32_t aCh,
*aMatchedFamily = family;
return fontEntry;
}
- Telemetry::Accumulate(Telemetry::BAD_FALLBACK_FONT, true);
}
return nullptr;
diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp
index d0b747fff..8ccd721f8 100644
--- a/gfx/thebes/gfxFont.cpp
+++ b/gfx/thebes/gfxFont.cpp
@@ -229,7 +229,6 @@ gfxFontCache::Lookup(const gfxFontEntry* aFontEntry,
Key key(aFontEntry, aStyle, aUnicodeRangeMap);
HashEntry *entry = mFonts.GetEntry(key);
- Telemetry::Accumulate(Telemetry::FONT_CACHE_HIT, entry != nullptr);
if (!entry)
return nullptr;
@@ -2578,9 +2577,6 @@ gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
if (sw) {
sw->ResetAge();
- Telemetry::Accumulate((isContent ? Telemetry::WORD_CACHE_HITS_CONTENT :
- Telemetry::WORD_CACHE_HITS_CHROME),
- aLength);
#ifndef RELEASE_OR_BETA
if (aTextPerf) {
aTextPerf->current.wordCacheHit++;
@@ -2589,9 +2585,6 @@ gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
return sw;
}
- Telemetry::Accumulate((isContent ? Telemetry::WORD_CACHE_MISSES_CONTENT :
- Telemetry::WORD_CACHE_MISSES_CHROME),
- aLength);
#ifndef RELEASE_OR_BETA
if (aTextPerf) {
aTextPerf->current.wordCacheMiss++;
diff --git a/gfx/thebes/gfxGDIFontList.cpp b/gfx/thebes/gfxGDIFontList.cpp
index cc047ef38..f65334fe6 100644
--- a/gfx/thebes/gfxGDIFontList.cpp
+++ b/gfx/thebes/gfxGDIFontList.cpp
@@ -637,8 +637,6 @@ gfxGDIFontList::GetFontSubstitutes()
nsresult
gfxGDIFontList::InitFontListForPlatform()
{
- Telemetry::AutoTimer<Telemetry::GDI_INITFONTLIST_TOTAL> timer;
-
mFontSubstitutes.Clear();
mNonExistingFonts.Clear();
diff --git a/gfx/thebes/gfxGradientCache.cpp b/gfx/thebes/gfxGradientCache.cpp
index fa25bd78c..bfa82685c 100644
--- a/gfx/thebes/gfxGradientCache.cpp
+++ b/gfx/thebes/gfxGradientCache.cpp
@@ -8,7 +8,6 @@
#include "PLDHashTable.h"
#include "nsExpirationTracker.h"
#include "nsClassHashtable.h"
-#include "mozilla/Telemetry.h"
#include "gfxGradientCache.h"
#include <time.h>
@@ -127,7 +126,6 @@ class GradientCache final : public nsExpirationTracker<GradientCacheData,4>
{
srand(time(nullptr));
mTimerPeriod = rand() % MAX_GENERATION_MS + 1;
- Telemetry::Accumulate(Telemetry::GRADIENT_RETENTION_TIME, mTimerPeriod);
}
virtual void NotifyExpired(GradientCacheData* aObject)
diff --git a/gfx/thebes/gfxMacPlatformFontList.mm b/gfx/thebes/gfxMacPlatformFontList.mm
index bf958a90b..4536ab527 100644
--- a/gfx/thebes/gfxMacPlatformFontList.mm
+++ b/gfx/thebes/gfxMacPlatformFontList.mm
@@ -65,7 +65,6 @@
#include "mozilla/MemoryReporting.h"
#include "mozilla/Preferences.h"
#include "mozilla/Sprintf.h"
-#include "mozilla/Telemetry.h"
#include "mozilla/gfx/2D.h"
#include <unistd.h>
@@ -738,8 +737,6 @@ gfxMacPlatformFontList::InitFontListForPlatform()
{
nsAutoreleasePool localPool;
- Telemetry::AutoTimer<Telemetry::MAC_INITFONTLIST_TOTAL> timer;
-
// reset system font list
mSystemFontFamilies.Clear();
@@ -1043,10 +1040,6 @@ gfxMacPlatformFontList::PlatformGlobalFontFallback(const uint32_t aCh,
}
}
- if (cantUseFallbackFont) {
- Telemetry::Accumulate(Telemetry::BAD_FALLBACK_FONT, cantUseFallbackFont);
- }
-
::CFRelease(str);
return fontEntry;
diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
index 171d1bec9..65227a8a7 100644
--- a/gfx/thebes/gfxPlatform.cpp
+++ b/gfx/thebes/gfxPlatform.cpp
@@ -361,7 +361,6 @@ class CrashTelemetryEvent : public Runnable
NS_IMETHOD Run() override {
MOZ_ASSERT(NS_IsMainThread());
- Telemetry::Accumulate(Telemetry::GFX_CRASH, mReason);
return NS_OK;
}
@@ -374,29 +373,7 @@ NS_IMPL_ISUPPORTS_INHERITED0(CrashTelemetryEvent, Runnable);
void
CrashStatsLogForwarder::CrashAction(LogReason aReason)
{
-#ifndef RELEASE_OR_BETA
- // Non-release builds crash by default, but will use telemetry
- // if this environment variable is present.
- static bool useTelemetry = gfxEnv::GfxDevCrashTelemetry();
-#else
- // Release builds use telemetry by default, but will crash instead
- // if this environment variable is present.
- static bool useTelemetry = !gfxEnv::GfxDevCrashMozCrash();
-#endif
-
- if (useTelemetry) {
- // The callers need to assure that aReason is in the range
- // that the telemetry call below supports.
- if (NS_IsMainThread()) {
- Telemetry::Accumulate(Telemetry::GFX_CRASH, (uint32_t)aReason);
- } else {
- nsCOMPtr<nsIRunnable> r1 = new CrashTelemetryEvent((uint32_t)aReason);
- NS_DispatchToMainThread(r1);
- }
- } else {
- // ignoring aReason, we can get the information we need from the stack
- MOZ_CRASH("GFX_CRASH");
- }
+ MOZ_CRASH("GFX_CRASH");
}
NS_IMPL_ISUPPORTS(SRGBOverrideObserver, nsIObserver, nsISupportsWeakReference)
@@ -2403,13 +2380,13 @@ gfxPlatform::AsyncPanZoomEnabled()
{
#if !defined(MOZ_WIDGET_ANDROID) && !defined(MOZ_WIDGET_UIKIT)
// For XUL applications (everything but Firefox on Android) we only want
- // to use APZ when E10S is enabled. If we ever get input events off the
- // main thread we can consider relaxing this requirement.
- if (!BrowserTabsRemoteAutostart()) {
+ // to use APZ when E10S is enabled or when the user explicitly enable it.
+ if (BrowserTabsRemoteAutostart() || gfxPrefs::APZDesktopEnabled()) {
+ return gfxPrefs::AsyncPanZoomEnabledDoNotUseDirectly();
+ } else {
return false;
}
-#endif
-#ifdef MOZ_WIDGET_ANDROID
+#elif defined(MOZ_WIDGET_ANDROID)
return true;
#else
return gfxPrefs::AsyncPanZoomEnabledDoNotUseDirectly();
diff --git a/gfx/thebes/gfxPlatformFontList.cpp b/gfx/thebes/gfxPlatformFontList.cpp
index e12f4e197..59df40666 100644
--- a/gfx/thebes/gfxPlatformFontList.cpp
+++ b/gfx/thebes/gfxPlatformFontList.cpp
@@ -322,8 +322,6 @@ gfxPlatformFontList::InitOtherFamilyNames()
mOtherFamilyNamesInitialized = true;
}
TimeStamp end = TimeStamp::Now();
- Telemetry::AccumulateTimeDelta(Telemetry::FONTLIST_INITOTHERFAMILYNAMES,
- start, end);
if (LOG_FONTINIT_ENABLED()) {
TimeDuration elapsed = end - start;
@@ -370,8 +368,6 @@ gfxPlatformFontList::SearchFamiliesForFaceName(const nsAString& aFaceName)
lookup = FindFaceName(aFaceName);
TimeStamp end = TimeStamp::Now();
- Telemetry::AccumulateTimeDelta(Telemetry::FONTLIST_INITFACENAMELISTS,
- start, end);
if (LOG_FONTINIT_ENABLED()) {
TimeDuration elapsed = end - start;
LOG_FONTINIT(("(fontinit) SearchFamiliesForFaceName took %8.2f ms %s %s",
@@ -587,16 +583,8 @@ gfxPlatformFontList::SystemFindFontForChar(uint32_t aCh, uint32_t aNextCh,
static bool first = true;
int32_t intElapsed = int32_t(first ? elapsed.ToMilliseconds() :
elapsed.ToMicroseconds());
- Telemetry::Accumulate((first ? Telemetry::SYSTEM_FONT_FALLBACK_FIRST :
- Telemetry::SYSTEM_FONT_FALLBACK),
- intElapsed);
first = false;
- // track the script for which fallback occurred (incremented one make it
- // 1-based)
- Telemetry::Accumulate(Telemetry::SYSTEM_FONT_FALLBACK_SCRIPT,
- int(aRunScript) + 1);
-
return fontEntry;
}
diff --git a/gfx/thebes/gfxPrefs.h b/gfx/thebes/gfxPrefs.h
index 359a258c7..1253fdb48 100644
--- a/gfx/thebes/gfxPrefs.h
+++ b/gfx/thebes/gfxPrefs.h
@@ -310,6 +310,7 @@ private:
DECL_GFX_PREF(Live, "apz.y_stationary_size_multiplier", APZYStationarySizeMultiplier, float, 3.5f);
DECL_GFX_PREF(Live, "apz.zoom_animation_duration_ms", APZZoomAnimationDuration, int32_t, 250);
DECL_GFX_PREF(Live, "apz.scale_repaint_delay_ms", APZScaleRepaintDelay, int32_t, 500);
+ DECL_GFX_PREF(Once, "apz.desktop.enabled", APZDesktopEnabled, bool, false);
DECL_GFX_PREF(Live, "browser.ui.zoom.force-user-scalable", ForceUserScalable, bool, false);
DECL_GFX_PREF(Live, "browser.viewport.desktopWidth", DesktopViewportWidth, int32_t, 980);
diff --git a/gfx/thebes/gfxUserFontSet.cpp b/gfx/thebes/gfxUserFontSet.cpp
index 23c26d9fe..72c54d9b5 100644
--- a/gfx/thebes/gfxUserFontSet.cpp
+++ b/gfx/thebes/gfxUserFontSet.cpp
@@ -453,8 +453,6 @@ gfxUserFontEntry::LoadNextSrc()
gfxUserFontData::kUnknownCompression);
mPlatformFontEntry = fe;
SetLoadState(STATUS_LOADED);
- Telemetry::Accumulate(Telemetry::WEBFONT_SRCTYPE,
- currSrc.mSourceType + 1);
return;
} else {
LOG(("userfonts (%p) [src %d] failed local: (%s) for (%s)\n",
@@ -517,8 +515,6 @@ gfxUserFontEntry::LoadNextSrc()
if (NS_SUCCEEDED(rv) &&
LoadPlatformFont(buffer, bufferLength)) {
SetLoadState(STATUS_LOADED);
- Telemetry::Accumulate(Telemetry::WEBFONT_SRCTYPE,
- currSrc.mSourceType + 1);
return;
} else {
mFontSet->LogMessage(this,
@@ -572,8 +568,6 @@ gfxUserFontEntry::LoadNextSrc()
// LoadPlatformFont takes ownership of the buffer, so no need
// to free it here.
SetLoadState(STATUS_LOADED);
- Telemetry::Accumulate(Telemetry::WEBFONT_SRCTYPE,
- currSrc.mSourceType + 1);
return;
} else {
mFontSet->LogMessage(this,
@@ -617,7 +611,6 @@ gfxUserFontEntry::LoadPlatformFont(const uint8_t* aFontData, uint32_t& aLength)
gfxUserFontType fontType =
gfxFontUtils::DetermineFontDataType(aFontData, aLength);
- Telemetry::Accumulate(Telemetry::WEBFONT_FONTTYPE, uint32_t(fontType));
// Unwrap/decompress/sanitize or otherwise munge the downloaded data
// to make a usable sfnt structure.
@@ -650,13 +643,6 @@ gfxUserFontEntry::LoadPlatformFont(const uint8_t* aFontData, uint32_t& aLength)
if (saneData) {
if (saneLen) {
fontCompressionRatio = uint32_t(100.0 * aLength / saneLen + 0.5);
- if (fontType == GFX_USERFONT_WOFF ||
- fontType == GFX_USERFONT_WOFF2) {
- Telemetry::Accumulate(fontType == GFX_USERFONT_WOFF ?
- Telemetry::WEBFONT_COMPRESSION_WOFF :
- Telemetry::WEBFONT_COMPRESSION_WOFF2,
- fontCompressionRatio);
- }
}
// The sanitizer ensures that we have a valid sfnt and a usable
diff --git a/gfx/thebes/gfxWindowsPlatform.cpp b/gfx/thebes/gfxWindowsPlatform.cpp
index a988859eb..b1ede7ad2 100755
--- a/gfx/thebes/gfxWindowsPlatform.cpp
+++ b/gfx/thebes/gfxWindowsPlatform.cpp
@@ -430,10 +430,6 @@ gfxWindowsPlatform::HandleDeviceReset()
return false;
}
- if (resetReason != DeviceResetReason::FORCED_RESET) {
- Telemetry::Accumulate(Telemetry::DEVICE_RESET_REASON, uint32_t(resetReason));
- }
-
// Remove devices and adapters.
DeviceManagerDx::Get()->ResetDevices();
@@ -1442,15 +1438,7 @@ gfxWindowsPlatform::InitializeD3D11Config()
/* static */ void
gfxWindowsPlatform::RecordContentDeviceFailure(TelemetryDeviceCode aDevice)
{
- // If the parent process fails to acquire a device, we record this
- // normally as part of the environment. The exceptional case we're
- // looking for here is when the parent process successfully acquires
- // a device, but the content process fails to acquire the same device.
- // This would not normally be displayed in about:support.
- if (!XRE_IsContentProcess()) {
- return;
- }
- Telemetry::Accumulate(Telemetry::GFX_CONTENT_FAILED_TO_ACQUIRE_DEVICE, uint32_t(aDevice));
+ /* STUB */
}
void