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

Side by Side Diff: third_party/WebKit/Source/modules/vr/VRDisplay.cpp

Issue 2624263003: Add more WebVR layout tests and fix small issues they found (Closed)
Patch Set: Added a few clarifying comments Created 3 years, 11 months 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 unified diff | Download patch
OLDNEW
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/css/StylePropertySet.h" 7 #include "core/css/StylePropertySet.h"
8 #include "core/dom/DOMException.h" 8 #include "core/dom/DOMException.h"
9 #include "core/dom/DocumentUserGestureToken.h" 9 #include "core/dom/DocumentUserGestureToken.h"
10 #include "core/dom/FrameRequestCallback.h" 10 #include "core/dom/FrameRequestCallback.h"
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 // A valid number of layers must be provided in order to present. 317 // A valid number of layers must be provided in order to present.
318 if (layers.size() == 0 || layers.size() > m_capabilities->maxLayers()) { 318 if (layers.size() == 0 || layers.size() > m_capabilities->maxLayers()) {
319 forceExitPresent(); 319 forceExitPresent();
320 DOMException* exception = 320 DOMException* exception =
321 DOMException::create(InvalidStateError, "Invalid number of layers."); 321 DOMException::create(InvalidStateError, "Invalid number of layers.");
322 resolver->reject(exception); 322 resolver->reject(exception);
323 ReportPresentationResult(PresentationResult::InvalidNumberOfLayers); 323 ReportPresentationResult(PresentationResult::InvalidNumberOfLayers);
324 return promise; 324 return promise;
325 } 325 }
326 326
327 m_layer = layers[0]; 327 // If what we were given has an invalid source, need to exit fullscreen with
328 328 // previous, valid source, so delay m_layer reassignment
329 if (!m_layer.source()) { 329 if (!layers[0].source()) {
bsheedy 2017/01/11 22:56:49 Changed to address https://bugs.chromium.org/p/chr
330 forceExitPresent(); 330 forceExitPresent();
331 DOMException* exception = 331 DOMException* exception =
332 DOMException::create(InvalidStateError, "Invalid layer source."); 332 DOMException::create(InvalidStateError, "Invalid layer source.");
333 resolver->reject(exception); 333 resolver->reject(exception);
334 ReportPresentationResult(PresentationResult::InvalidLayerSource); 334 ReportPresentationResult(PresentationResult::InvalidLayerSource);
335 return promise; 335 return promise;
336 } 336 }
337 m_layer = layers[0];
337 338
338 CanvasRenderingContext* renderingContext = 339 CanvasRenderingContext* renderingContext =
339 m_layer.source()->renderingContext(); 340 m_layer.source()->renderingContext();
340 341
341 if (!renderingContext || !renderingContext->is3d()) { 342 if (!renderingContext || !renderingContext->is3d()) {
342 forceExitPresent(); 343 forceExitPresent();
343 DOMException* exception = DOMException::create( 344 DOMException* exception = DOMException::create(
344 InvalidStateError, "Layer source must have a WebGLRenderingContext"); 345 InvalidStateError, "Layer source must have a WebGLRenderingContext");
345 resolver->reject(exception); 346 resolver->reject(exception);
346 ReportPresentationResult( 347 ReportPresentationResult(
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 visitor->trace(m_stageParameters); 769 visitor->trace(m_stageParameters);
769 visitor->trace(m_eyeParametersLeft); 770 visitor->trace(m_eyeParametersLeft);
770 visitor->trace(m_eyeParametersRight); 771 visitor->trace(m_eyeParametersRight);
771 visitor->trace(m_layer); 772 visitor->trace(m_layer);
772 visitor->trace(m_renderingContext); 773 visitor->trace(m_renderingContext);
773 visitor->trace(m_scriptedAnimationController); 774 visitor->trace(m_scriptedAnimationController);
774 visitor->trace(m_pendingPresentResolvers); 775 visitor->trace(m_pendingPresentResolvers);
775 } 776 }
776 777
777 } // namespace blink 778 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698