1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/ipc/PJavaScript.ipdl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,51 @@ 1.4 +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- 1.5 + * vim: set ts=4 sw=4 et tw=80: 1.6 + * 1.7 + * This Source Code Form is subject to the terms of the Mozilla Public 1.8 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.9 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.10 + 1.11 +include protocol PContent; 1.12 +include DOMTypes; 1.13 +include JavaScriptTypes; 1.14 + 1.15 +using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; 1.16 + 1.17 +namespace mozilla { 1.18 +namespace jsipc { 1.19 + 1.20 +intr protocol PJavaScript 1.21 +{ 1.22 + manager PContent; 1.23 + 1.24 +child: 1.25 + // The parent process no longer holds any references to the child object. 1.26 + async DropObject(uint64_t objId); 1.27 + 1.28 + // These roughly map to the ProxyHandler hooks that CPOWs need. 1.29 + rpc PreventExtensions(uint64_t objId) returns (ReturnStatus rs); 1.30 + rpc GetPropertyDescriptor(uint64_t objId, nsString id) returns (ReturnStatus rs, PPropertyDescriptor result); 1.31 + rpc GetOwnPropertyDescriptor(uint64_t objId, nsString id) returns (ReturnStatus rs, PPropertyDescriptor result); 1.32 + rpc DefineProperty(uint64_t objId, nsString id, PPropertyDescriptor descriptor) returns (ReturnStatus rs); 1.33 + rpc Delete(uint64_t objId, nsString id) returns (ReturnStatus rs, bool successful); 1.34 + 1.35 + rpc Has(uint64_t objId, nsString id) returns (ReturnStatus rs, bool has); 1.36 + rpc HasOwn(uint64_t objId, nsString id) returns (ReturnStatus rs, bool has); 1.37 + rpc Get(uint64_t objId, uint64_t receiverId, nsString id) returns (ReturnStatus rs, JSVariant result); 1.38 + rpc Set(uint64_t objId, uint64_t receiverId, nsString id, bool strict, JSVariant value) returns (ReturnStatus rs, JSVariant result); 1.39 + 1.40 + rpc IsExtensible(uint64_t objId) returns (ReturnStatus rs, bool result); 1.41 + rpc Call(uint64_t objId, JSParam[] argv) returns (ReturnStatus rs, JSVariant result, JSParam[] outparams); 1.42 + rpc ObjectClassIs(uint64_t objId, uint32_t classValue) returns (bool result); 1.43 + rpc ClassName(uint64_t objId) returns (nsString name); 1.44 + 1.45 + rpc GetPropertyNames(uint64_t objId, uint32_t flags) returns (ReturnStatus rs, nsString[] names); 1.46 + rpc InstanceOf(uint64_t objId, JSIID iid) returns (ReturnStatus rs, bool instanceof); 1.47 + rpc DOMInstanceOf(uint64_t objId, int prototypeID, int depth) returns (ReturnStatus rs, bool instanceof); 1.48 + 1.49 +parent: 1.50 + async __delete__(); 1.51 +}; 1.52 + 1.53 +} 1.54 +}