| 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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 | 167 |
| 168 void MIDIAccess::stop() | 168 void MIDIAccess::stop() |
| 169 { | 169 { |
| 170 if (m_state == Stopped) | 170 if (m_state == Stopped) |
| 171 return; | 171 return; |
| 172 m_accessor.clear(); | 172 m_accessor.clear(); |
| 173 m_weakPtrFactory.revokeAll(); | 173 m_weakPtrFactory.revokeAll(); |
| 174 if (m_state == Requesting) { | 174 if (m_state == Requesting) { |
| 175 Document* document = toDocument(executionContext()); | 175 Document* document = toDocument(executionContext()); |
| 176 ASSERT(document); | 176 ASSERT(document); |
| 177 MIDIController* controller = MIDIController::from(document->page()); | 177 MIDIController* controller = MIDIController::from(document->frame()); |
| 178 ASSERT(controller); | 178 ASSERT(controller); |
| 179 controller->cancelSysexPermissionRequest(this); | 179 controller->cancelSysexPermissionRequest(this); |
| 180 } | 180 } |
| 181 m_state = Stopped; | 181 m_state = Stopped; |
| 182 } | 182 } |
| 183 | 183 |
| 184 bool MIDIAccess::hasPendingActivity() const | 184 bool MIDIAccess::hasPendingActivity() const |
| 185 { | 185 { |
| 186 return m_state == Requesting; | 186 return m_state == Requesting; |
| 187 } | 187 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 198 ScriptPromise promise = m_resolver->promise(); | 198 ScriptPromise promise = m_resolver->promise(); |
| 199 promise.then(PostAction::create(scriptState->isolate(), m_weakPtrFactory.cre
ateWeakPtr(), Resolved), | 199 promise.then(PostAction::create(scriptState->isolate(), m_weakPtrFactory.cre
ateWeakPtr(), Resolved), |
| 200 PostAction::create(scriptState->isolate(), m_weakPtrFactory.createWeakPt
r(), Stopped)); | 200 PostAction::create(scriptState->isolate(), m_weakPtrFactory.createWeakPt
r(), Stopped)); |
| 201 | 201 |
| 202 if (!m_options.sysex) { | 202 if (!m_options.sysex) { |
| 203 m_accessor->startSession(); | 203 m_accessor->startSession(); |
| 204 return promise; | 204 return promise; |
| 205 } | 205 } |
| 206 Document* document = toDocument(executionContext()); | 206 Document* document = toDocument(executionContext()); |
| 207 ASSERT(document); | 207 ASSERT(document); |
| 208 MIDIController* controller = MIDIController::from(document->page()); | 208 MIDIController* controller = MIDIController::from(document->frame()); |
| 209 if (controller) { | 209 if (controller) { |
| 210 controller->requestSysexPermission(this); | 210 controller->requestSysexPermission(this); |
| 211 } else { | 211 } else { |
| 212 m_resolver->reject(DOMError::create("SecurityError")); | 212 m_resolver->reject(DOMError::create("SecurityError")); |
| 213 } | 213 } |
| 214 return promise; | 214 return promise; |
| 215 } | 215 } |
| 216 | 216 |
| 217 void MIDIAccess::doPostAction(State state) | 217 void MIDIAccess::doPostAction(State state) |
| 218 { | 218 { |
| 219 ASSERT(m_state == Requesting); | 219 ASSERT(m_state == Requesting); |
| 220 ASSERT(state == Resolved || state == Stopped); | 220 ASSERT(state == Resolved || state == Stopped); |
| 221 if (state == Stopped) { | 221 if (state == Stopped) { |
| 222 m_accessor.clear(); | 222 m_accessor.clear(); |
| 223 } | 223 } |
| 224 m_weakPtrFactory.revokeAll(); | 224 m_weakPtrFactory.revokeAll(); |
| 225 m_state = state; | 225 m_state = state; |
| 226 } | 226 } |
| 227 | 227 |
| 228 void MIDIAccess::trace(Visitor* visitor) | 228 void MIDIAccess::trace(Visitor* visitor) |
| 229 { | 229 { |
| 230 visitor->trace(m_inputs); | 230 visitor->trace(m_inputs); |
| 231 visitor->trace(m_outputs); | 231 visitor->trace(m_outputs); |
| 232 EventTargetWithInlineData::trace(visitor); | 232 EventTargetWithInlineData::trace(visitor); |
| 233 } | 233 } |
| 234 | 234 |
| 235 } // namespace WebCore | 235 } // namespace WebCore |
| OLD | NEW |