// Copyright 2013 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 "ppapi/tests/test_output_protection_private.h" #include "ppapi/tests/testing_instance.h" REGISTER_TEST_CASE(OutputProtectionPrivate); TestOutputProtectionPrivate::TestOutputProtectionPrivate( TestingInstance* instance) : TestCase(instance) { } bool TestOutputProtectionPrivate::Init() { output_protection_interface_ = static_cast( pp::Module::Get()->GetBrowserInterface( PPB_OUTPUTPROTECTION_PRIVATE_INTERFACE_0_1)); return output_protection_interface_ && CheckTestingInterface(); } void TestOutputProtectionPrivate::RunTests(const std::string& filter) { RUN_TEST(QueryStatus, filter); RUN_TEST(EnableProtection, filter); } std::string TestOutputProtectionPrivate::TestQueryStatus() { TestCompletionCallback callback(instance_->pp_instance(), callback_type()); PP_Resource output_protection_resource = output_protection_interface_-> Create(instance_->pp_instance()); uint32_t link_mask; uint32_t protection_mask; callback.WaitForResult( output_protection_interface_->QueryStatus( output_protection_resource, &link_mask, &protection_mask, callback.GetCallback().pp_completion_callback())); CHECK_CALLBACK_BEHAVIOR(callback); PASS(); } std::string TestOutputProtectionPrivate::TestEnableProtection() { TestCompletionCallback callback(instance_->pp_instance(), callback_type()); PP_Resource output_protection_resource = output_protection_interface_-> Create(instance_->pp_instance()); callback.WaitForResult( output_protection_interface_->EnableProtection( output_protection_resource, PP_OUTPUT_PROTECTION_METHOD_PRIVATE_NONE, callback.GetCallback().pp_completion_callback())); CHECK_CALLBACK_BEHAVIOR(callback); PASS(); }