tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

xpctest_utils.idl (1404B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 /**
      6 * Utility interfaces for testing.
      7 */
      8 
      9 #include "nsISupports.idl"
     10 
     11 [scriptable, function, uuid(d58a82ab-d8f7-4ca9-9273-b3290d42a0cf)]
     12 interface nsIXPCTestFunctionInterface : nsISupports {
     13  string echo(in string arg);
     14 };
     15 
     16 [scriptable, uuid(1e9cddeb-510d-449a-b152-3c1b5b31d41d)]
     17 interface nsIXPCTestUtils : nsISupports {
     18  nsIXPCTestFunctionInterface doubleWrapFunction(in nsIXPCTestFunctionInterface f);
     19 };
     20 
     21 /**
     22 * TypeScript bindings specific tests.
     23 */
     24 
     25 // Typedefs with a TSNoncompat underlying type are not defined.
     26 typedef voidPtr Noncompat;
     27 
     28 // Not [scriptable] interfaces are not generated.
     29 [uuid(ddf64cfb-668a-4571-a900-0fe2babb6249)]
     30 interface nsIXPCTestNotScriptable : nsISupports {
     31  // Empty.
     32 };
     33 
     34 [scriptable, uuid(1bbfe703-c67d-4995-b061-564c8a1c39d7)]
     35 interface nsIXPCTestTypeScript : nsISupports {
     36  attribute long exposedProp;
     37  void exposedMethod(in long arg);
     38 
     39  // Members referencing TSNoncompat typedefs are not exposed.
     40  [noscript] attribute Noncompat noncompatProp;
     41  [noscript] void noncompatMethod(in Noncompat arg);
     42 
     43  // [noscript] attributes and methods are not exposed.
     44  [noscript] attribute long noscriptProp;
     45  [noscript] void noscriptMethod(in long arg);
     46 };