Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- |
michael@0 | 2 | * vim: set ts=4 sw=4 et tw=80: |
michael@0 | 3 | * |
michael@0 | 4 | * This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 6 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 7 | |
michael@0 | 8 | include protocol PContent; |
michael@0 | 9 | include DOMTypes; |
michael@0 | 10 | include JavaScriptTypes; |
michael@0 | 11 | |
michael@0 | 12 | using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; |
michael@0 | 13 | |
michael@0 | 14 | namespace mozilla { |
michael@0 | 15 | namespace jsipc { |
michael@0 | 16 | |
michael@0 | 17 | intr protocol PJavaScript |
michael@0 | 18 | { |
michael@0 | 19 | manager PContent; |
michael@0 | 20 | |
michael@0 | 21 | child: |
michael@0 | 22 | // The parent process no longer holds any references to the child object. |
michael@0 | 23 | async DropObject(uint64_t objId); |
michael@0 | 24 | |
michael@0 | 25 | // These roughly map to the ProxyHandler hooks that CPOWs need. |
michael@0 | 26 | rpc PreventExtensions(uint64_t objId) returns (ReturnStatus rs); |
michael@0 | 27 | rpc GetPropertyDescriptor(uint64_t objId, nsString id) returns (ReturnStatus rs, PPropertyDescriptor result); |
michael@0 | 28 | rpc GetOwnPropertyDescriptor(uint64_t objId, nsString id) returns (ReturnStatus rs, PPropertyDescriptor result); |
michael@0 | 29 | rpc DefineProperty(uint64_t objId, nsString id, PPropertyDescriptor descriptor) returns (ReturnStatus rs); |
michael@0 | 30 | rpc Delete(uint64_t objId, nsString id) returns (ReturnStatus rs, bool successful); |
michael@0 | 31 | |
michael@0 | 32 | rpc Has(uint64_t objId, nsString id) returns (ReturnStatus rs, bool has); |
michael@0 | 33 | rpc HasOwn(uint64_t objId, nsString id) returns (ReturnStatus rs, bool has); |
michael@0 | 34 | rpc Get(uint64_t objId, uint64_t receiverId, nsString id) returns (ReturnStatus rs, JSVariant result); |
michael@0 | 35 | rpc Set(uint64_t objId, uint64_t receiverId, nsString id, bool strict, JSVariant value) returns (ReturnStatus rs, JSVariant result); |
michael@0 | 36 | |
michael@0 | 37 | rpc IsExtensible(uint64_t objId) returns (ReturnStatus rs, bool result); |
michael@0 | 38 | rpc Call(uint64_t objId, JSParam[] argv) returns (ReturnStatus rs, JSVariant result, JSParam[] outparams); |
michael@0 | 39 | rpc ObjectClassIs(uint64_t objId, uint32_t classValue) returns (bool result); |
michael@0 | 40 | rpc ClassName(uint64_t objId) returns (nsString name); |
michael@0 | 41 | |
michael@0 | 42 | rpc GetPropertyNames(uint64_t objId, uint32_t flags) returns (ReturnStatus rs, nsString[] names); |
michael@0 | 43 | rpc InstanceOf(uint64_t objId, JSIID iid) returns (ReturnStatus rs, bool instanceof); |
michael@0 | 44 | rpc DOMInstanceOf(uint64_t objId, int prototypeID, int depth) returns (ReturnStatus rs, bool instanceof); |
michael@0 | 45 | |
michael@0 | 46 | parent: |
michael@0 | 47 | async __delete__(); |
michael@0 | 48 | }; |
michael@0 | 49 | |
michael@0 | 50 | } |
michael@0 | 51 | } |