| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010, Google Inc. All rights reserved. | 2 * Copyright (C) 2010, 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 | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 continue; | 792 continue; |
| 793 if (handler == &node->handler()) { | 793 if (handler == &node->handler()) { |
| 794 handler->breakConnection(); | 794 handler->breakConnection(); |
| 795 m_finishedSourceNodes.add(node); | 795 m_finishedSourceNodes.add(node); |
| 796 didRemove = true; | 796 didRemove = true; |
| 797 break; | 797 break; |
| 798 } | 798 } |
| 799 } | 799 } |
| 800 } | 800 } |
| 801 if (didRemove) | 801 if (didRemove) |
| 802 Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FR
OM_HERE, threadSafeBind(&AbstractAudioContext::removeFinishedSourceNodes, this))
; | 802 Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FR
OM_HERE, threadSafeBind(&AbstractAudioContext::removeFinishedSourceNodes, wrapCr
ossThreadPersistent(this))); |
| 803 | 803 |
| 804 m_finishedSourceHandlers.clear(); | 804 m_finishedSourceHandlers.clear(); |
| 805 } | 805 } |
| 806 | 806 |
| 807 void AbstractAudioContext::notifySourceNodeStartedProcessing(AudioNode* node) | 807 void AbstractAudioContext::notifySourceNodeStartedProcessing(AudioNode* node) |
| 808 { | 808 { |
| 809 ASSERT(isMainThread()); | 809 ASSERT(isMainThread()); |
| 810 AutoLocker locker(this); | 810 AutoLocker locker(this); |
| 811 | 811 |
| 812 m_activeSourceNodes.append(node); | 812 m_activeSourceNodes.append(node); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 { | 902 { |
| 903 // This runs inside the AbstractAudioContext's lock when handling pre-render
tasks. | 903 // This runs inside the AbstractAudioContext's lock when handling pre-render
tasks. |
| 904 ASSERT(isAudioThread()); | 904 ASSERT(isAudioThread()); |
| 905 ASSERT(isGraphOwner()); | 905 ASSERT(isGraphOwner()); |
| 906 | 906 |
| 907 // Resolve any pending promises created by resume(). Only do this if we have
n't already started | 907 // Resolve any pending promises created by resume(). Only do this if we have
n't already started |
| 908 // resolving these promises. This gets called very often and it takes some t
ime to resolve the | 908 // resolving these promises. This gets called very often and it takes some t
ime to resolve the |
| 909 // promises in the main thread. | 909 // promises in the main thread. |
| 910 if (!m_isResolvingResumePromises && m_resumeResolvers.size() > 0) { | 910 if (!m_isResolvingResumePromises && m_resumeResolvers.size() > 0) { |
| 911 m_isResolvingResumePromises = true; | 911 m_isResolvingResumePromises = true; |
| 912 Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FR
OM_HERE, threadSafeBind(&AbstractAudioContext::resolvePromisesForResumeOnMainThr
ead, this)); | 912 Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FR
OM_HERE, threadSafeBind(&AbstractAudioContext::resolvePromisesForResumeOnMainThr
ead, wrapCrossThreadPersistent(this))); |
| 913 } | 913 } |
| 914 } | 914 } |
| 915 | 915 |
| 916 void AbstractAudioContext::rejectPendingDecodeAudioDataResolvers() | 916 void AbstractAudioContext::rejectPendingDecodeAudioDataResolvers() |
| 917 { | 917 { |
| 918 // Now reject any pending decodeAudioData resolvers | 918 // Now reject any pending decodeAudioData resolvers |
| 919 for (auto& resolver : m_decodeAudioResolvers) | 919 for (auto& resolver : m_decodeAudioResolvers) |
| 920 resolver->reject(DOMException::create(InvalidStateError, "Audio context
is going away")); | 920 resolver->reject(DOMException::create(InvalidStateError, "Audio context
is going away")); |
| 921 m_decodeAudioResolvers.clear(); | 921 m_decodeAudioResolvers.clear(); |
| 922 } | 922 } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 976 | 976 |
| 977 SecurityOrigin* AbstractAudioContext::getSecurityOrigin() const | 977 SecurityOrigin* AbstractAudioContext::getSecurityOrigin() const |
| 978 { | 978 { |
| 979 if (getExecutionContext()) | 979 if (getExecutionContext()) |
| 980 return getExecutionContext()->getSecurityOrigin(); | 980 return getExecutionContext()->getSecurityOrigin(); |
| 981 | 981 |
| 982 return nullptr; | 982 return nullptr; |
| 983 } | 983 } |
| 984 | 984 |
| 985 } // namespace blink | 985 } // namespace blink |
| OLD | NEW |