michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: include protocol PContent; michael@0: michael@0: using mozilla::dom::asmjscache::Metadata from "mozilla/dom/asmjscache/AsmJSCache.h"; michael@0: michael@0: namespace mozilla { michael@0: namespace dom { michael@0: namespace asmjscache { michael@0: michael@0: protocol PAsmJSCacheEntry michael@0: { michael@0: manager PContent; michael@0: michael@0: // When the cache is opened to read, the parent process sends over the michael@0: // origin's Metadata so the child process can select the cache entry to open michael@0: // (based on hash) and notify the parent (via SelectCacheFileToRead). michael@0: child: michael@0: OnOpenMetadataForRead(Metadata metadata); michael@0: parent: michael@0: SelectCacheFileToRead(uint32_t moduleIndex); michael@0: CacheMiss(); michael@0: michael@0: child: michael@0: // Once the cache file has been opened, the child is notified and sent an michael@0: // open file descriptor. michael@0: OnOpenCacheFile(int64_t fileSize, FileDescriptor fileDesc); michael@0: michael@0: both: michael@0: __delete__(); michael@0: }; michael@0: michael@0: } // namespace asmjscache michael@0: } // namespace dom michael@0: } // namespace mozilla