| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 | 78 |
| 79 MIDIAccess::~MIDIAccess() | 79 MIDIAccess::~MIDIAccess() |
| 80 { | 80 { |
| 81 } | 81 } |
| 82 | 82 |
| 83 MIDIAccess::MIDIAccess(const MIDIOptions& options, ExecutionContext* context) | 83 MIDIAccess::MIDIAccess(const MIDIOptions& options, ExecutionContext* context) |
| 84 : ActiveDOMObject(context) | 84 : ActiveDOMObject(context) |
| 85 , m_state(Requesting) | 85 , m_state(Requesting) |
| 86 , m_weakPtrFactory(this) | 86 , m_weakPtrFactory(this) |
| 87 , m_options(options) | 87 , m_options(options) |
| 88 , m_sysExEnabled(false) | 88 , m_sysexEnabled(false) |
| 89 , m_asyncResolveRunner(this, &MIDIAccess::resolveNow) | 89 , m_asyncResolveRunner(this, &MIDIAccess::resolveNow) |
| 90 , m_asyncRejectRunner(this, &MIDIAccess::rejectNow) | 90 , m_asyncRejectRunner(this, &MIDIAccess::rejectNow) |
| 91 { | 91 { |
| 92 ScriptWrappable::init(this); | 92 ScriptWrappable::init(this); |
| 93 m_accessor = MIDIAccessor::create(this); | 93 m_accessor = MIDIAccessor::create(this); |
| 94 } | 94 } |
| 95 | 95 |
| 96 void MIDIAccess::setSysExEnabled(bool enable) | 96 void MIDIAccess::setSysexEnabled(bool enable) |
| 97 { | 97 { |
| 98 m_sysExEnabled = enable; | 98 m_sysexEnabled = enable; |
| 99 if (enable) { | 99 if (enable) { |
| 100 m_accessor->startSession(); | 100 m_accessor->startSession(); |
| 101 } else { | 101 } else { |
| 102 reject(DOMError::create("SecurityError")); | 102 reject(DOMError::create("SecurityError")); |
| 103 } | 103 } |
| 104 } | 104 } |
| 105 | 105 |
| 106 void MIDIAccess::didAddInputPort(const String& id, const String& manufacturer, c
onst String& name, const String& version) | 106 void MIDIAccess::didAddInputPort(const String& id, const String& manufacturer, c
onst String& name, const String& version) |
| 107 { | 107 { |
| 108 ASSERT(isMainThread()); | 108 ASSERT(isMainThread()); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 m_error.clear(); | 185 m_error.clear(); |
| 186 m_accessor.clear(); | 186 m_accessor.clear(); |
| 187 m_asyncResolveRunner.stop(); | 187 m_asyncResolveRunner.stop(); |
| 188 m_asyncRejectRunner.stop(); | 188 m_asyncRejectRunner.stop(); |
| 189 m_weakPtrFactory.revokeAll(); | 189 m_weakPtrFactory.revokeAll(); |
| 190 if (m_state == Requesting) { | 190 if (m_state == Requesting) { |
| 191 Document* document = toDocument(executionContext()); | 191 Document* document = toDocument(executionContext()); |
| 192 ASSERT(document); | 192 ASSERT(document); |
| 193 MIDIController* controller = MIDIController::from(document->page()); | 193 MIDIController* controller = MIDIController::from(document->page()); |
| 194 ASSERT(controller); | 194 ASSERT(controller); |
| 195 controller->cancelSysExPermissionRequest(this); | 195 controller->cancelSysexPermissionRequest(this); |
| 196 } | 196 } |
| 197 m_state = Stopped; | 197 m_state = Stopped; |
| 198 } | 198 } |
| 199 | 199 |
| 200 bool MIDIAccess::hasPendingActivity() const | 200 bool MIDIAccess::hasPendingActivity() const |
| 201 { | 201 { |
| 202 return m_state == Requesting; | 202 return m_state == Requesting; |
| 203 } | 203 } |
| 204 | 204 |
| 205 void MIDIAccess::permissionDenied() | 205 void MIDIAccess::permissionDenied() |
| (...skipping 10 matching lines...) Expand all Loading... |
| 216 PostAction::create(toIsolate(executionContext()), m_weakPtrFactory.creat
eWeakPtr(), Stopped)); | 216 PostAction::create(toIsolate(executionContext()), m_weakPtrFactory.creat
eWeakPtr(), Stopped)); |
| 217 | 217 |
| 218 if (!m_options.sysex) { | 218 if (!m_options.sysex) { |
| 219 m_accessor->startSession(); | 219 m_accessor->startSession(); |
| 220 return promise; | 220 return promise; |
| 221 } | 221 } |
| 222 Document* document = toDocument(executionContext()); | 222 Document* document = toDocument(executionContext()); |
| 223 ASSERT(document); | 223 ASSERT(document); |
| 224 MIDIController* controller = MIDIController::from(document->page()); | 224 MIDIController* controller = MIDIController::from(document->page()); |
| 225 if (controller) { | 225 if (controller) { |
| 226 controller->requestSysExPermission(this); | 226 controller->requestSysexPermission(this); |
| 227 } else { | 227 } else { |
| 228 reject(DOMError::create("SecurityError")); | 228 reject(DOMError::create("SecurityError")); |
| 229 } | 229 } |
| 230 return promise; | 230 return promise; |
| 231 } | 231 } |
| 232 | 232 |
| 233 void MIDIAccess::resolve() | 233 void MIDIAccess::resolve() |
| 234 { | 234 { |
| 235 m_asyncResolveRunner.runAsync(); | 235 m_asyncResolveRunner.runAsync(); |
| 236 } | 236 } |
| (...skipping 28 matching lines...) Expand all Loading... |
| 265 } | 265 } |
| 266 | 266 |
| 267 void MIDIAccess::trace(Visitor* visitor) | 267 void MIDIAccess::trace(Visitor* visitor) |
| 268 { | 268 { |
| 269 visitor->trace(m_inputs); | 269 visitor->trace(m_inputs); |
| 270 visitor->trace(m_outputs); | 270 visitor->trace(m_outputs); |
| 271 visitor->trace(m_error); | 271 visitor->trace(m_error); |
| 272 } | 272 } |
| 273 | 273 |
| 274 } // namespace WebCore | 274 } // namespace WebCore |
| OLD | NEW |