| Index: cc/output/gl_renderer_unittest.cc | 
| diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc | 
| index f23ab4f3630823968cac9636716e5cad8b5ed000..d5556f13d7ba7c9dd541f97e4fceb2092c69c7bb 100644 | 
| --- a/cc/output/gl_renderer_unittest.cc | 
| +++ b/cc/output/gl_renderer_unittest.cc | 
| @@ -2098,11 +2098,25 @@ class GLRendererWithMockContextTest : public ::testing::Test { | 
|  | 
| class MockContextSupport : public TestContextSupport { | 
| public: | 
| +    using VisibilityToken = std::unique_ptr<ScopedVisibility>; | 
| MockContextSupport() {} | 
| -    MOCK_METHOD1(SetAggressivelyFreeResources, | 
| -                 void(bool aggressively_free_resources)); | 
| -    MOCK_METHOD2(SetClientVisible, void(int client_id, bool is_visible)); | 
| +    MOCK_METHOD0(ClientBecameVisible, VisibilityToken()); | 
| +    MOCK_METHOD1(ClientBecameNotVisible_, | 
| +                 void(VisibilityToken& visibility));  // NOLINT | 
| MOCK_CONST_METHOD0(AnyClientsVisible, bool()); | 
| + | 
| +    // Wrapper to allow mocking w/ move-only type. | 
| +    void ClientBecameNotVisible(VisibilityToken visibility) override { | 
| +      ClientBecameNotVisible_(visibility); | 
| +    } | 
| + | 
| +    // Wrappers to allow forwarding to super class implementation. | 
| +    void SuperClientBecameNotVisible(VisibilityToken& visibility) {  // NOLINT | 
| +      TestContextSupport::ClientBecameNotVisible(std::move(visibility)); | 
| +    } | 
| +    VisibilityToken SuperClientBecameVisible() { | 
| +      return TestContextSupport::ClientBecameVisible(); | 
| +    } | 
| }; | 
|  | 
| void SetUp() override { | 
| @@ -2133,18 +2147,21 @@ TEST_F(GLRendererWithMockContextTest, | 
| // Ensure our expectations run in order. | 
| ::testing::InSequence s; | 
|  | 
| -  EXPECT_CALL(*context_support_ptr_, SetClientVisible(0, true)); | 
| +  EXPECT_CALL(*context_support_ptr_, ClientBecameVisible()) | 
| +      .WillOnce(::testing::Invoke( | 
| +          context_support_ptr_, &MockContextSupport::SuperClientBecameVisible)); | 
| EXPECT_CALL(*context_support_ptr_, AnyClientsVisible()) | 
| .WillOnce(Return(true)); | 
| -  EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(false)); | 
| renderer_->SetVisible(true); | 
| Mock::VerifyAndClearExpectations(context_support_ptr_); | 
|  | 
| -  EXPECT_CALL(*context_support_ptr_, SetClientVisible(0, false)); | 
| +  EXPECT_CALL(*context_support_ptr_, ClientBecameNotVisible_(_)) | 
| +      .WillOnce( | 
| +          ::testing::Invoke(context_support_ptr_, | 
| +                            &MockContextSupport::SuperClientBecameNotVisible)); | 
| EXPECT_CALL(*context_support_ptr_, AnyClientsVisible()) | 
| .WillOnce(Return(false)); | 
| EXPECT_CALL(*context_provider_, DeleteCachedResources()); | 
| -  EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(true)); | 
| renderer_->SetVisible(false); | 
| Mock::VerifyAndClearExpectations(context_support_ptr_); | 
| } | 
|  |