1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/shell/renderer/test_runner/mock_web_midi_accessor.h"
7 #include "content/shell/renderer/test_runner/test_interfaces.h"
8 #include "content/shell/renderer/test_runner/test_runner.h"
9 #include "content/shell/renderer/test_runner/web_test_delegate.h"
10 #include "content/shell/renderer/test_runner/web_test_runner.h"
11 #include "third_party/WebKit/public/platform/WebMIDIAccessorClient.h"
17 class DidStartSessionTask : public WebMethodTask<MockWebMIDIAccessor> {
19 DidStartSessionTask(MockWebMIDIAccessor* object,
20 blink::WebMIDIAccessorClient* client,
22 : WebMethodTask<MockWebMIDIAccessor>(object),
26 virtual void RunIfValid() OVERRIDE {
27 client_->didStartSession(result_, "InvalidStateError", "");
31 blink::WebMIDIAccessorClient* client_;
34 DISALLOW_COPY_AND_ASSIGN(DidStartSessionTask);
39 MockWebMIDIAccessor::MockWebMIDIAccessor(blink::WebMIDIAccessorClient* client,
40 TestInterfaces* interfaces)
41 : client_(client), interfaces_(interfaces) {
44 MockWebMIDIAccessor::~MockWebMIDIAccessor() {
47 void MockWebMIDIAccessor::startSession() {
48 // Add a mock input and output port.
49 client_->didAddInputPort("MockInputID",
50 "MockInputManufacturer",
53 client_->didAddOutputPort("MockOutputID",
54 "MockOutputManufacturer",
57 interfaces_->GetDelegate()->PostTask(new DidStartSessionTask(
58 this, client_, interfaces_->GetTestRunner()->midiAccessorResult()));
61 } // namespace content