Index: ui/gl/sync_control_vsync_provider.cc |
diff --git a/ui/gl/sync_control_vsync_provider.cc b/ui/gl/sync_control_vsync_provider.cc |
index 16b1e8af9cdd8d453357ea4d2d35aa9c2e373993..66d3734f58e4fd114c671776287400df6014bba2 100644 |
--- a/ui/gl/sync_control_vsync_provider.cc |
+++ b/ui/gl/sync_control_vsync_provider.cc |
@@ -125,16 +125,23 @@ void SyncControlVSyncProvider::GetVSyncParameters( |
if (relative_change < kRelativeIntervalDifferenceThreshold) { |
if (new_interval.InMicroseconds() < kMinVsyncIntervalUs || |
new_interval.InMicroseconds() > kMaxVsyncIntervalUs) { |
- LOG(FATAL) << "Calculated bogus refresh interval of " |
- << new_interval.InMicroseconds() << " us. " |
- << "Last time base of " << last_timebase_.ToInternalValue() |
- << " us. " |
- << "Current time base of " << timebase.ToInternalValue() |
- << " us. " |
- << "Last media stream count of " |
- << last_media_stream_counter_ << ". " |
- << "Current media stream count of " << media_stream_counter |
- << "."; |
+#if defined(USE_ASH) |
+ // On ash platforms (ChromeOS essentially), the real refresh interval is |
+ // queried from XRandR, regardless of the value calculated here, and |
+ // this value is overriden by ui::CompositorVSyncManager. The log |
+ // should not be fatal in this case. Reconsider all this when XRandR |
+ // support is added to non-ash platforms. |
+ // http://crbug.com/340851 |
+ LOG(ERROR) |
+#else |
+ LOG(FATAL) |
+#endif // USE_ASH |
+ << "Calculated bogus refresh interval=" |
+ << new_interval.InMicroseconds() |
+ << " us., last_timebase_=" << last_timebase_.ToInternalValue() |
+ << " us., timebase=" << timebase.ToInternalValue() |
+ << " us., last_media_stream_counter_=" << last_media_stream_counter_ |
+ << ", media_stream_counter=" << media_stream_counter; |
} else { |
last_good_interval_ = new_interval; |
} |