Index: content/browser/accessibility/browser_accessibility_state_impl.cc |
diff --git a/content/browser/accessibility/browser_accessibility_state_impl.cc b/content/browser/accessibility/browser_accessibility_state_impl.cc |
index 44a8d29d2a54f9e724ef671c7878424f10ff6ada..01ffc2a7913f1c00d1bb06f154f49f46f07e1bfe 100644 |
--- a/content/browser/accessibility/browser_accessibility_state_impl.cc |
+++ b/content/browser/accessibility/browser_accessibility_state_impl.cc |
@@ -49,13 +49,24 @@ BrowserAccessibilityStateImpl::BrowserAccessibilityStateImpl() |
accessibility_mode_ = AccessibilityModeComplete; |
} |
+#if defined(OS_WIN) |
oshima
2012/12/03 22:09:23
From the stack trace, the problem seems to be chro
dmazzoni
2012/12/03 23:32:30
Currently there's no Mac-specific or Linux-specifi
|
+ // On Windows, UpdateHistogram calls some system functions with unknown |
+ // runtime, so call it on the file thread to ensure there's no jank. |
+ // Everything in that method must be safe to call on another thread. |
+ BrowserThread::ID browser_thread = BrowserThread::FILE; |
+#else |
+ // On all other platforms, UpdateHistogram should be called on the main |
+ // thread. |
+ BrowserThread::ID browser_thread = BrowserThread::UI; |
oshima
2012/12/03 22:09:23
the name |browser_thread| doesn't make much sense.
dmazzoni
2012/12/03 23:32:30
Done.
|
+#endif |
+ |
// UpdateHistogram only takes a couple of milliseconds, but run it on |
// the FILE thread to guarantee there's no jank. |
// And we need to AddRef() the leaky singleton so that Bind doesn't |
// delete it prematurely. |
oshima
2012/12/03 22:09:23
update this comment too. May be just move it insid
dmazzoni
2012/12/03 23:32:30
Thanks, meant to do that earlier. Done.
|
AddRef(); |
BrowserThread::PostDelayedTask( |
- BrowserThread::FILE, FROM_HERE, |
+ browser_thread, FROM_HERE, |
base::Bind(&BrowserAccessibilityStateImpl::UpdateHistogram, this), |
base::TimeDelta::FromSeconds(kAccessibilityHistogramDelaySecs)); |
} |