OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "modules/screen_orientation/ScreenOrientationController.h" | 5 #include "modules/screen_orientation/ScreenOrientationController.h" |
6 | 6 |
7 #include "core/events/Event.h" | 7 #include "core/events/Event.h" |
8 #include "core/frame/FrameHost.h" | 8 #include "core/frame/FrameHost.h" |
9 #include "core/frame/FrameView.h" | 9 #include "core/frame/FrameView.h" |
10 #include "core/frame/LocalFrame.h" | 10 #include "core/frame/LocalFrame.h" |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 orientationType = computeOrientation(chromeClient.screenInfo().rect, eff
ectiveAngle(chromeClient)); | 99 orientationType = computeOrientation(chromeClient.screenInfo().rect, eff
ectiveAngle(chromeClient)); |
100 } | 100 } |
101 ASSERT(orientationType != WebScreenOrientationUndefined); | 101 ASSERT(orientationType != WebScreenOrientationUndefined); |
102 | 102 |
103 m_orientation->setType(orientationType); | 103 m_orientation->setType(orientationType); |
104 m_orientation->setAngle(effectiveAngle(chromeClient)); | 104 m_orientation->setAngle(effectiveAngle(chromeClient)); |
105 } | 105 } |
106 | 106 |
107 bool ScreenOrientationController::isActiveAndVisible() const | 107 bool ScreenOrientationController::isActiveAndVisible() const |
108 { | 108 { |
109 return m_orientation && frame() && page() && page()->visibilityState() == Pa
geVisibilityStateVisible; | 109 return m_orientation && frame() && page() && page()->isPageVisible(); |
110 } | 110 } |
111 | 111 |
112 void ScreenOrientationController::pageVisibilityChanged() | 112 void ScreenOrientationController::pageVisibilityChanged() |
113 { | 113 { |
114 notifyDispatcher(); | 114 notifyDispatcher(); |
115 | 115 |
116 if (!isActiveAndVisible()) | 116 if (!isActiveAndVisible()) |
117 return; | 117 return; |
118 | 118 |
119 // The orientation type and angle are tied in a way that if the angle has | 119 // The orientation type and angle are tied in a way that if the angle has |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 return true; | 223 return true; |
224 } | 224 } |
225 | 225 |
226 void ScreenOrientationController::willDetachFrameHost() | 226 void ScreenOrientationController::willDetachFrameHost() |
227 { | 227 { |
228 m_client = nullptr; | 228 m_client = nullptr; |
229 } | 229 } |
230 | 230 |
231 void ScreenOrientationController::notifyDispatcher() | 231 void ScreenOrientationController::notifyDispatcher() |
232 { | 232 { |
233 if (m_orientation && page()->visibilityState() == PageVisibilityStateVisible
) | 233 if (m_orientation && page()->isPageVisible()) |
234 startUpdating(); | 234 startUpdating(); |
235 else | 235 else |
236 stopUpdating(); | 236 stopUpdating(); |
237 } | 237 } |
238 | 238 |
239 DEFINE_TRACE(ScreenOrientationController) | 239 DEFINE_TRACE(ScreenOrientationController) |
240 { | 240 { |
241 visitor->trace(m_orientation); | 241 visitor->trace(m_orientation); |
242 LocalFrameLifecycleObserver::trace(visitor); | 242 LocalFrameLifecycleObserver::trace(visitor); |
243 WillBeHeapSupplement<LocalFrame>::trace(visitor); | 243 WillBeHeapSupplement<LocalFrame>::trace(visitor); |
244 PlatformEventController::trace(visitor); | 244 PlatformEventController::trace(visitor); |
245 } | 245 } |
246 | 246 |
247 } // namespace blink | 247 } // namespace blink |
OLD | NEW |