Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Unified Diff: third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp

Issue 2502853003: Make OffscreenCanvas histogram thread safe (Closed)
Patch Set: nits Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-multiple-worker-commit.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
diff --git a/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp b/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
index 7555ecdb9ffc8467d4938c236eabc2da6869108c..c9ae4ea51ed5a5bba2e665270fa785d9440b1d21 100644
--- a/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
+++ b/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
@@ -281,9 +281,6 @@ void OffscreenCanvasFrameDispatcherImpl::dispatchFrame(
double elapsedTime = WTF::monotonicallyIncreasingTime() - commitStartTime;
- // TODO(crbug.com/663916): The off-main-thread metrics are commented-out
- // because they cause thread check errors (static variable accessed in many
- // threads)
switch (commitType) {
case CommitGPUCanvasGPUCompositing:
if (isMainThread()) {
@@ -292,13 +289,14 @@ void OffscreenCanvasFrameDispatcherImpl::dispatchFrame(
("Blink.Canvas.OffscreenCommit.GPUCanvasGPUCompositingMain", 0,
10000000, 50));
commitGPUCanvasGPUCompositingMainTimer.count(elapsedTime * 1000000.0);
- } /* else {
- DEFINE_STATIC_LOCAL(
+ } else {
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(
CustomCountHistogram, commitGPUCanvasGPUCompositingWorkerTimer,
- ("Blink.Canvas.OffscreenCommit.GPUCanvasGPUCompositingWorker", 0,
- 10000000, 50));
+ new CustomCountHistogram(
+ "Blink.Canvas.OffscreenCommit.GPUCanvasGPUCompositingWorker", 0,
+ 10000000, 50));
commitGPUCanvasGPUCompositingWorkerTimer.count(elapsedTime * 1000000.0);
- } */
+ }
break;
case CommitGPUCanvasSoftwareCompositing:
if (isMainThread()) {
@@ -308,14 +306,15 @@ void OffscreenCanvasFrameDispatcherImpl::dispatchFrame(
10000000, 50));
commitGPUCanvasSoftwareCompositingMainTimer.count(elapsedTime *
1000000.0);
- } /* else {
- DEFINE_STATIC_LOCAL(
+ } else {
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(
CustomCountHistogram, commitGPUCanvasSoftwareCompositingWorkerTimer,
- ("Blink.Canvas.OffscreenCommit.GPUCanvasSoftwareCompositingWorker",
- 0, 10000000, 50));
+ new CustomCountHistogram("Blink.Canvas.OffscreenCommit."
+ "GPUCanvasSoftwareCompositingWorker",
+ 0, 10000000, 50));
commitGPUCanvasSoftwareCompositingWorkerTimer.count(elapsedTime *
1000000.0);
- } */
+ }
break;
case CommitSoftwareCanvasGPUCompositing:
if (isMainThread()) {
@@ -325,14 +324,15 @@ void OffscreenCanvasFrameDispatcherImpl::dispatchFrame(
10000000, 50));
commitSoftwareCanvasGPUCompositingMainTimer.count(elapsedTime *
1000000.0);
- } /* else {
- DEFINE_STATIC_LOCAL(
+ } else {
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(
CustomCountHistogram, commitSoftwareCanvasGPUCompositingWorkerTimer,
- ("Blink.Canvas.OffscreenCommit.SoftwareCanvasGPUCompositingWorker",
- 0, 10000000, 50));
+ new CustomCountHistogram("Blink.Canvas.OffscreenCommit."
+ "SoftwareCanvasGPUCompositingWorker",
+ 0, 10000000, 50));
commitSoftwareCanvasGPUCompositingWorkerTimer.count(elapsedTime *
1000000.0);
- } */
+ }
break;
case CommitSoftwareCanvasSoftwareCompositing:
if (isMainThread()) {
@@ -343,15 +343,16 @@ void OffscreenCanvasFrameDispatcherImpl::dispatchFrame(
0, 10000000, 50));
commitSoftwareCanvasSoftwareCompositingMainTimer.count(elapsedTime *
1000000.0);
- } /* else {
- DEFINE_STATIC_LOCAL(CustomCountHistogram,
- commitSoftwareCanvasSoftwareCompositingWorkerTimer,
- ("Blink.Canvas.OffscreenCommit."
- "SoftwareCanvasSoftwareCompositingWorker",
- 0, 10000000, 50));
+ } else {
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(
+ CustomCountHistogram,
+ commitSoftwareCanvasSoftwareCompositingWorkerTimer,
+ new CustomCountHistogram("Blink.Canvas.OffscreenCommit."
+ "SoftwareCanvasSoftwareCompositingWorker",
+ 0, 10000000, 50));
commitSoftwareCanvasSoftwareCompositingWorkerTimer.count(elapsedTime *
1000000.0);
- } */
+ }
break;
case OffscreenCanvasCommitTypeCount:
NOTREACHED();
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-multiple-worker-commit.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698