OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/vr/VRDisplay.h" | 5 #include "modules/vr/VRDisplay.h" |
6 | 6 |
7 #include "core/dom/DOMException.h" | 7 #include "core/dom/DOMException.h" |
8 #include "core/dom/Fullscreen.h" | 8 #include "core/dom/Fullscreen.h" |
9 #include "core/frame/UseCounter.h" | 9 #include "core/frame/UseCounter.h" |
10 #include "core/inspector/ConsoleMessage.h" | 10 #include "core/inspector/ConsoleMessage.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 return false; | 90 return false; |
91 | 91 |
92 if (m_depthNear == m_depthFar) | 92 if (m_depthNear == m_depthFar) |
93 return false; | 93 return false; |
94 | 94 |
95 return frameData->update(m_framePose, m_eyeParametersLeft, | 95 return frameData->update(m_framePose, m_eyeParametersLeft, |
96 m_eyeParametersRight, m_depthNear, m_depthFar); | 96 m_eyeParametersRight, m_depthNear, m_depthFar); |
97 } | 97 } |
98 | 98 |
99 VRPose* VRDisplay::getPose() { | 99 VRPose* VRDisplay::getPose() { |
100 Document* document = m_navigatorVR->document(); | |
101 if (document) | |
102 UseCounter::count(*document, UseCounter::VRDeprecatedGetPose); | |
103 | |
104 updatePose(); | 100 updatePose(); |
105 | 101 |
106 if (!m_framePose) | 102 if (!m_framePose) |
107 return nullptr; | 103 return nullptr; |
108 | 104 |
109 VRPose* pose = VRPose::create(); | 105 VRPose* pose = VRPose::create(); |
110 pose->setPose(m_framePose); | 106 pose->setPose(m_framePose); |
111 return pose; | 107 return pose; |
112 } | 108 } |
113 | 109 |
(...skipping 28 matching lines...) Expand all Loading... |
142 return 0; | 138 return 0; |
143 } | 139 } |
144 | 140 |
145 void VRDisplay::cancelAnimationFrame(int id) { | 141 void VRDisplay::cancelAnimationFrame(int id) { |
146 if (Document* document = m_navigatorVR->document()) | 142 if (Document* document = m_navigatorVR->document()) |
147 document->cancelAnimationFrame(id); | 143 document->cancelAnimationFrame(id); |
148 } | 144 } |
149 | 145 |
150 ScriptPromise VRDisplay::requestPresent(ScriptState* scriptState, | 146 ScriptPromise VRDisplay::requestPresent(ScriptState* scriptState, |
151 const HeapVector<VRLayer>& layers) { | 147 const HeapVector<VRLayer>& layers) { |
| 148 ExecutionContext* executionContext = scriptState->getExecutionContext(); |
| 149 UseCounter::count(executionContext, UseCounter::VRRequestPresent); |
| 150 String errorMessage; |
| 151 if (!executionContext->isSecureContext(errorMessage)) { |
| 152 UseCounter::count(executionContext, |
| 153 UseCounter::VRRequestPresentInsecureOrigin); |
| 154 } |
| 155 |
152 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState); | 156 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState); |
153 ScriptPromise promise = resolver->promise(); | 157 ScriptPromise promise = resolver->promise(); |
154 | 158 |
155 // If the VRDisplay does not advertise the ability to present reject the | 159 // If the VRDisplay does not advertise the ability to present reject the |
156 // request. | 160 // request. |
157 if (!m_capabilities->canPresent()) { | 161 if (!m_capabilities->canPresent()) { |
158 DOMException* exception = | 162 DOMException* exception = |
159 DOMException::create(InvalidStateError, "VRDisplay cannot present."); | 163 DOMException::create(InvalidStateError, "VRDisplay cannot present."); |
160 resolver->reject(exception); | 164 resolver->reject(exception); |
161 return promise; | 165 return promise; |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 visitor->trace(m_navigatorVR); | 410 visitor->trace(m_navigatorVR); |
407 visitor->trace(m_capabilities); | 411 visitor->trace(m_capabilities); |
408 visitor->trace(m_stageParameters); | 412 visitor->trace(m_stageParameters); |
409 visitor->trace(m_eyeParametersLeft); | 413 visitor->trace(m_eyeParametersLeft); |
410 visitor->trace(m_eyeParametersRight); | 414 visitor->trace(m_eyeParametersRight); |
411 visitor->trace(m_layer); | 415 visitor->trace(m_layer); |
412 visitor->trace(m_renderingContext); | 416 visitor->trace(m_renderingContext); |
413 } | 417 } |
414 | 418 |
415 } // namespace blink | 419 } // namespace blink |
OLD | NEW |