|  | // Copyright 2019 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "gpu/command_buffer/service/context_state_test_helpers.h" | 
|  |  | 
|  | #include "gpu/command_buffer/service/feature_info.h" | 
|  | #include "ui/gfx/geometry/size.h" | 
|  | #include "ui/gl/gl_version_info.h" | 
|  |  | 
|  | using ::testing::_; | 
|  |  | 
|  | namespace gpu { | 
|  | // Include the auto-generated part of this file. We split this because it means | 
|  | // we can easily edit the non-auto generated parts right here in this file | 
|  | // instead of having to edit some template or the code generator. | 
|  | #include "gpu/command_buffer/service/context_state_test_helpers_autogen.h" | 
|  |  | 
|  | void ContextStateTestHelpers::SetupInitState(MockGL* gl, | 
|  | gles2::FeatureInfo* feature_info, | 
|  | const gfx::Size& initial_size) { | 
|  | SetupInitCapabilitiesExpectations(gl, feature_info); | 
|  | SetupInitStateExpectations(gl, feature_info, initial_size); | 
|  | } | 
|  |  | 
|  | void ContextStateTestHelpers::SetupInitStateManualExpectations( | 
|  | MockGL* gl, | 
|  | gles2::FeatureInfo* feature_info) { | 
|  | if (feature_info->IsES3Capable()) { | 
|  | EXPECT_CALL(*gl, PixelStorei(GL_PACK_ROW_LENGTH, 0)) | 
|  | .Times(1) | 
|  | .RetiresOnSaturation(); | 
|  | EXPECT_CALL(*gl, PixelStorei(GL_UNPACK_ROW_LENGTH, 0)) | 
|  | .Times(1) | 
|  | .RetiresOnSaturation(); | 
|  | EXPECT_CALL(*gl, PixelStorei(GL_UNPACK_IMAGE_HEIGHT, 0)) | 
|  | .Times(1) | 
|  | .RetiresOnSaturation(); | 
|  | if (feature_info->feature_flags().ext_window_rectangles) { | 
|  | EXPECT_CALL(*gl, WindowRectanglesEXT(GL_EXCLUSIVE_EXT, 0, nullptr)) | 
|  | .Times(1) | 
|  | .RetiresOnSaturation(); | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void ContextStateTestHelpers::SetupInitStateManualExpectationsForDoLineWidth( | 
|  | MockGL* gl, | 
|  | GLfloat width) { | 
|  | EXPECT_CALL(*gl, LineWidth(width)).Times(1).RetiresOnSaturation(); | 
|  | } | 
|  |  | 
|  | void ContextStateTestHelpers::ExpectEnableDisable(MockGL* gl, | 
|  | GLenum cap, | 
|  | bool enable) { | 
|  | if (enable) { | 
|  | EXPECT_CALL(*gl, Enable(cap)).Times(1).RetiresOnSaturation(); | 
|  | } else { | 
|  | EXPECT_CALL(*gl, Disable(cap)).Times(1).RetiresOnSaturation(); | 
|  | } | 
|  | } | 
|  |  | 
|  | }  // namespace gpu |