xpcomcore-rubygem 0.5.3 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +2 -0
 - data/VERSION +1 -1
 - data/ext/stub_runners/darwin/StubApp.app/Contents/Info.plist +32 -0
 - data/ext/stub_runners/darwin/StubApp.app/Contents/MacOS/stub_runner +0 -0
 - data/ext/stub_runners/darwin/StubApp.app/Contents/PkgInfo +1 -0
 - data/ext/stub_runners/darwin/StubApp.app/Contents/Resources/.gitignore +0 -0
 - data/ext/stub_runners/darwin/src/Makefile +7 -0
 - data/ext/stub_runners/darwin/src/stub_runner.c +19 -0
 - data/lib/xpcomcore-rubygem/building/stub_app_helpers.rb +61 -0
 - data/lib/xpcomcore-rubygem/commands/generate/application.rb +17 -1
 - data/lib/xpcomcore-rubygem/commands/launch.rb +98 -49
 - data/lib/xpcomcore-rubygem/tasks/application_task.rb +13 -3
 - data/templates/application/chrome/content/xul/main_window.xul.erb +1 -1
 - data/templates/application/chrome/icons/default/default.png +0 -0
 - data/templates/shared/xultestrunner_test_task.erb +7 -7
 - data/xpcomcore/Rakefile +3 -3
 - data/xpcomcore/build_properties.yml +1 -1
 - data/xpcomcore/components/XPCOMCore.js +1 -1
 - data/xpcomcore/components/XPCOMCoreCLH.js +28 -0
 - data/xpcomcore/doc/files.html +1 -1
 - data/xpcomcore/doc/index.html +1 -1
 - data/xpcomcore/doc/symbols/_global_.html +1 -1
 - data/xpcomcore/doc/symbols/error.html +1 -1
 - data/xpcomcore/doc/symbols/file.html +1 -1
 - data/xpcomcore/doc/symbols/file.nosuchfileerror.html +1 -1
 - data/xpcomcore/doc/symbols/kernel.html +44 -1
 - data/xpcomcore/doc/symbols/loaderror.html +1 -1
 - data/xpcomcore/doc/symbols/selfconcepterror.html +1 -1
 - data/xpcomcore/doc/symbols/src/lib_kernel.js.html +159 -149
 - data/xpcomcore/doc/symbols/sys.html +1 -1
 - data/xpcomcore/doc/symbols/xpcbuiltins.html +1 -1
 - data/xpcomcore/lib/kernel.js +11 -1
 - data/xpcomcore-rubygem.gemspec +17 -2
 - metadata +31 -2
 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -29,6 +29,8 @@ begin 
     | 
|
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
                gem.add_dependency "sys-uname"
         
     | 
| 
       31 
31 
     | 
    
         
             
                gem.add_dependency "cmdparse"
         
     | 
| 
      
 32 
     | 
    
         
            +
                gem.add_dependency "plist"
         
     | 
| 
      
 33 
     | 
    
         
            +
                gem.add_dependency "iniparse"
         
     | 
| 
       32 
34 
     | 
    
         
             
                gem.add_dependency "uuidtools", ">=2.0.0"
         
     | 
| 
       33 
35 
     | 
    
         
             
                gem.add_dependency "jeweler", "=1.2.1"
         
     | 
| 
       34 
36 
     | 
    
         
             
                gem.add_development_dependency "colored"
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.6.0
         
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <?xml version="1.0" encoding="UTF-8"?>
         
     | 
| 
      
 2 
     | 
    
         
            +
            <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
         
     | 
| 
      
 3 
     | 
    
         
            +
            <plist version="1.0">
         
     | 
| 
      
 4 
     | 
    
         
            +
            <dict>
         
     | 
| 
      
 5 
     | 
    
         
            +
            	<key>CFBundleDevelopmentRegion</key>
         
     | 
| 
      
 6 
     | 
    
         
            +
            	<string>English</string>
         
     | 
| 
      
 7 
     | 
    
         
            +
            	<key>CFBundleExecutable</key>
         
     | 
| 
      
 8 
     | 
    
         
            +
            	<string>stub_runner</string>
         
     | 
| 
      
 9 
     | 
    
         
            +
            	<key>CFBundleGetInfoString</key>
         
     | 
| 
      
 10 
     | 
    
         
            +
            	<string>StubApp 1.0.0, © 1998-2009 Contributors</string>
         
     | 
| 
      
 11 
     | 
    
         
            +
            	<key>CFBundleIconFile</key>
         
     | 
| 
      
 12 
     | 
    
         
            +
            	<string>stubapp</string>
         
     | 
| 
      
 13 
     | 
    
         
            +
            	<key>CFBundleIdentifier</key>
         
     | 
| 
      
 14 
     | 
    
         
            +
            	<string>org.conflagrationjs.stubapp</string>
         
     | 
| 
      
 15 
     | 
    
         
            +
            	<key>CFBundleInfoDictionaryVersion</key>
         
     | 
| 
      
 16 
     | 
    
         
            +
            	<string>6.0</string>
         
     | 
| 
      
 17 
     | 
    
         
            +
            	<key>CFBundleName</key>
         
     | 
| 
      
 18 
     | 
    
         
            +
            	<string>StubApp</string>
         
     | 
| 
      
 19 
     | 
    
         
            +
            	<key>CFBundlePackageType</key>
         
     | 
| 
      
 20 
     | 
    
         
            +
            	<string>APPL</string>
         
     | 
| 
      
 21 
     | 
    
         
            +
            	<key>CFBundleShortVersionString</key>
         
     | 
| 
      
 22 
     | 
    
         
            +
            	<string>1.0.0</string>
         
     | 
| 
      
 23 
     | 
    
         
            +
            	<key>CFBundleSignature</key>
         
     | 
| 
      
 24 
     | 
    
         
            +
            	<string>XPCC</string>
         
     | 
| 
      
 25 
     | 
    
         
            +
            	<key>CFBundleVersion</key>
         
     | 
| 
      
 26 
     | 
    
         
            +
            	<string>1.0.0</string>
         
     | 
| 
      
 27 
     | 
    
         
            +
            	<key>NSAppleScriptEnabled</key>
         
     | 
| 
      
 28 
     | 
    
         
            +
            	<true/>
         
     | 
| 
      
 29 
     | 
    
         
            +
            	<key>CGDisableCoalescedUpdates</key>
         
     | 
| 
      
 30 
     | 
    
         
            +
            	<true/>
         
     | 
| 
      
 31 
     | 
    
         
            +
            </dict>
         
     | 
| 
      
 32 
     | 
    
         
            +
            </plist>
         
     | 
| 
         Binary file 
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            APPL????
         
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #include <stdlib.h>
         
     | 
| 
      
 2 
     | 
    
         
            +
            #include <stdio.h>
         
     | 
| 
      
 3 
     | 
    
         
            +
            #include <unistd.h>
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            int main (int argc, const char * argv[]) {
         
     | 
| 
      
 6 
     | 
    
         
            +
              char *executable = NULL;
         
     | 
| 
      
 7 
     | 
    
         
            +
              char *exec_args[argc + 1];
         
     | 
| 
      
 8 
     | 
    
         
            +
              int i;
         
     | 
| 
      
 9 
     | 
    
         
            +
              
         
     | 
| 
      
 10 
     | 
    
         
            +
              executable = getenv("REAL_EXECUTABLE");
         
     | 
| 
      
 11 
     | 
    
         
            +
              exec_args[0] = executable;
         
     | 
| 
      
 12 
     | 
    
         
            +
              
         
     | 
| 
      
 13 
     | 
    
         
            +
              for (i = 1; i < argc; i++) {
         
     | 
| 
      
 14 
     | 
    
         
            +
                exec_args[i] = (char *) argv[i];
         
     | 
| 
      
 15 
     | 
    
         
            +
              }
         
     | 
| 
      
 16 
     | 
    
         
            +
              
         
     | 
| 
      
 17 
     | 
    
         
            +
              exec_args[argc] = NULL;
         
     | 
| 
      
 18 
     | 
    
         
            +
              return execv(executable, exec_args);
         
     | 
| 
      
 19 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,61 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'iniparse'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'plist'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module XPCOMCore
         
     | 
| 
      
 5 
     | 
    
         
            +
              module Building
         
     | 
| 
      
 6 
     | 
    
         
            +
                module StubAppHelpers
         
     | 
| 
      
 7 
     | 
    
         
            +
                  class AppUpdater
         
     | 
| 
      
 8 
     | 
    
         
            +
                    IconPath = "chrome/icons/default/default.png"
         
     | 
| 
      
 9 
     | 
    
         
            +
                    IconConverter = "png2icns"
         
     | 
| 
      
 10 
     | 
    
         
            +
                    
         
     | 
| 
      
 11 
     | 
    
         
            +
                    def initialize(options)
         
     | 
| 
      
 12 
     | 
    
         
            +
                      @xul_app_path = options[:xul_app_path]
         
     | 
| 
      
 13 
     | 
    
         
            +
                      @stub_dir = options[:stub_dir]
         
     | 
| 
      
 14 
     | 
    
         
            +
                    end
         
     | 
| 
      
 15 
     | 
    
         
            +
                    
         
     | 
| 
      
 16 
     | 
    
         
            +
                    def update
         
     | 
| 
      
 17 
     | 
    
         
            +
                      app_ini = IniParse.parse((@xul_app_path + "application.ini").read)
         
     | 
| 
      
 18 
     | 
    
         
            +
                      app_section = app_ini['App']
         
     | 
| 
      
 19 
     | 
    
         
            +
                      check_for_and_set_app_dir(app_section['Name'])
         
     | 
| 
      
 20 
     | 
    
         
            +
                      rewrite_plist(:name => app_section['Name'], :version => app_section['Version'], :id => app_section['ID'], :vendor => app_section['Vendor'])
         
     | 
| 
      
 21 
     | 
    
         
            +
                      generate_icon(:name => app_section['Name'])
         
     | 
| 
      
 22 
     | 
    
         
            +
                    end
         
     | 
| 
      
 23 
     | 
    
         
            +
                    
         
     | 
| 
      
 24 
     | 
    
         
            +
                  private
         
     | 
| 
      
 25 
     | 
    
         
            +
                    
         
     | 
| 
      
 26 
     | 
    
         
            +
                    def check_for_and_set_app_dir(app_name)
         
     | 
| 
      
 27 
     | 
    
         
            +
                      app_dir = (@stub_dir + "#{app_name}.app")
         
     | 
| 
      
 28 
     | 
    
         
            +
                      raise "Stub App dir for #{app_name} does not exist." unless app_dir.exist?
         
     | 
| 
      
 29 
     | 
    
         
            +
                      @app_dir = app_dir
         
     | 
| 
      
 30 
     | 
    
         
            +
                    end
         
     | 
| 
      
 31 
     | 
    
         
            +
                            
         
     | 
| 
      
 32 
     | 
    
         
            +
                    def rewrite_plist(options)
         
     | 
| 
      
 33 
     | 
    
         
            +
                      existing_plist = Plist::parse_xml((@app_dir + "Contents/Info.plist").to_s)
         
     | 
| 
      
 34 
     | 
    
         
            +
                      existing_plist['CFBundleGetInfoString'] = "%s %s © #{Date.today.year} %s" % options.values_at(:name, :version, :vendor)
         
     | 
| 
      
 35 
     | 
    
         
            +
                      existing_plist['CFBundleIconFile'] = options[:name].downcase
         
     | 
| 
      
 36 
     | 
    
         
            +
                      existing_plist['CFBundleIdentifier'] = appleize_id(options[:id])
         
     | 
| 
      
 37 
     | 
    
         
            +
                      existing_plist['CFBundleName'] = options[:name]
         
     | 
| 
      
 38 
     | 
    
         
            +
                      existing_plist['CFBundleShortVersionString'] = options[:version]
         
     | 
| 
      
 39 
     | 
    
         
            +
                      existing_plist['CFBundleVersion'] = options[:version]
         
     | 
| 
      
 40 
     | 
    
         
            +
                      existing_plist.save_plist((@app_dir + "Contents/Info.plist").to_s)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    end
         
     | 
| 
      
 42 
     | 
    
         
            +
                    
         
     | 
| 
      
 43 
     | 
    
         
            +
                    def appleize_id(mozilla_vendor)
         
     | 
| 
      
 44 
     | 
    
         
            +
                      mozilla_vendor.sub('@', '.').split('.').reverse.collect {|p| p.downcase}.join('.')
         
     | 
| 
      
 45 
     | 
    
         
            +
                    end
         
     | 
| 
      
 46 
     | 
    
         
            +
                    
         
     | 
| 
      
 47 
     | 
    
         
            +
                    def generate_icon(options)
         
     | 
| 
      
 48 
     | 
    
         
            +
                      converter_installed = system("which", IconConverter)
         
     | 
| 
      
 49 
     | 
    
         
            +
                      if converter_installed
         
     | 
| 
      
 50 
     | 
    
         
            +
                        icon_file = @xul_app_path + IconPath
         
     | 
| 
      
 51 
     | 
    
         
            +
                        return nil unless icon_file.exist?
         
     | 
| 
      
 52 
     | 
    
         
            +
                        system(IconConverter, (@app_dir + "Contents/Resources" + "#{options[:name].downcase}.icns").expand_path.to_s, icon_file.expand_path.to_s)
         
     | 
| 
      
 53 
     | 
    
         
            +
                      else
         
     | 
| 
      
 54 
     | 
    
         
            +
                        puts "#{IconConverter} is not installed - install it to auto generate icons for Mac users."
         
     | 
| 
      
 55 
     | 
    
         
            +
                      end
         
     | 
| 
      
 56 
     | 
    
         
            +
                    end
         
     | 
| 
      
 57 
     | 
    
         
            +
                    
         
     | 
| 
      
 58 
     | 
    
         
            +
                  end # AppUpdater
         
     | 
| 
      
 59 
     | 
    
         
            +
                end   # StubAppHelpers
         
     | 
| 
      
 60 
     | 
    
         
            +
              end     # Building
         
     | 
| 
      
 61 
     | 
    
         
            +
            end       # XPCOMCore
         
     | 
| 
         @@ -1,12 +1,16 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require "xpcomcore-rubygem/commands/generate/jeweler_builder_command"
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'uuidtools'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'fileutils'
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
5 
     | 
    
         
             
            module XPCOMCore
         
     | 
| 
       5 
6 
     | 
    
         
             
              class CommandParser
         
     | 
| 
       6 
7 
     | 
    
         
             
                class GenerateCommand
         
     | 
| 
       7 
     | 
    
         
            -
                  
         
     | 
| 
      
 8 
     | 
    
         
            +
                  # TODO - move a bunch of stuff like gem_name and project_path to instance vars.
         
     | 
| 
      
 9 
     | 
    
         
            +
                  # Also move out the stub application copying stuff.
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # Really, just clean this up in general.
         
     | 
| 
       8 
11 
     | 
    
         
             
                  class ApplicationCommand < JewelerBuilderCommand
         
     | 
| 
       9 
12 
     | 
    
         
             
                    BuilderTaskCode = "require 'xpcomcore-rubygem/tasks/application_task.rb'\nXPCOMCore::Tasks::ApplicationTask.new"
         
     | 
| 
      
 13 
     | 
    
         
            +
                    StubRoot = XPCOMCore::GemRoot + "ext/stub_runners"
         
     | 
| 
       10 
14 
     | 
    
         | 
| 
       11 
15 
     | 
    
         
             
                    def initialize
         
     | 
| 
       12 
16 
     | 
    
         
             
                      super('application', false) # Doesn't take subcommands
         
     | 
| 
         @@ -23,6 +27,18 @@ module XPCOMCore 
     | 
|
| 
       23 
27 
     | 
    
         
             
                        add_xpcomcore_application_build_task(rakefile)
         
     | 
| 
       24 
28 
     | 
    
         
             
                      end
         
     | 
| 
       25 
29 
     | 
    
         
             
                      copy_template_application(gem_name, project_path)
         
     | 
| 
      
 30 
     | 
    
         
            +
                      copy_stub_application(gem_name, project_path)
         
     | 
| 
      
 31 
     | 
    
         
            +
                    end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                    # FIXME / TODO - we only know how to deal with Darwin stub apps for now.
         
     | 
| 
      
 34 
     | 
    
         
            +
                    # Also, this code is messy and crap.
         
     | 
| 
      
 35 
     | 
    
         
            +
                    def copy_stub_application(gem_name, project_path)
         
     | 
| 
      
 36 
     | 
    
         
            +
                      stub_app_name = gem_name.capitalize
         
     | 
| 
      
 37 
     | 
    
         
            +
                      dest_app = (project_path + "xpcomcore/stub_runners/#{stub_app_name}.app").expand_path
         
     | 
| 
      
 38 
     | 
    
         
            +
                      dest_app.mkpath
         
     | 
| 
      
 39 
     | 
    
         
            +
                      stub_app = (StubRoot + "darwin/StubApp.app").expand_path
         
     | 
| 
      
 40 
     | 
    
         
            +
                      FileUtils.cp_r(stub_app.to_s + "/.", dest_app.expand_path.to_s)
         
     | 
| 
      
 41 
     | 
    
         
            +
                      system(%Q[cd "#{project_path}" && rake version:write && rake xpcomcore:update_app])
         
     | 
| 
       26 
42 
     | 
    
         
             
                    end
         
     | 
| 
       27 
43 
     | 
    
         | 
| 
       28 
44 
     | 
    
         
             
                    def add_xpcomcore_application_build_task(rakefile)
         
     | 
| 
         @@ -2,6 +2,7 @@ require 'rubygems' 
     | 
|
| 
       2 
2 
     | 
    
         
             
            require 'xpcomcore-rubygem/commands'
         
     | 
| 
       3 
3 
     | 
    
         
             
            require 'sys/uname'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'pathname'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'iniparse'
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
7 
     | 
    
         
             
            module XPCOMCore
         
     | 
| 
       7 
8 
     | 
    
         
             
              class CommandParser
         
     | 
| 
         @@ -12,39 +13,102 @@ module XPCOMCore 
     | 
|
| 
       12 
13 
     | 
    
         
             
                    reason 'Application not found'
         
     | 
| 
       13 
14 
     | 
    
         
             
                  end
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
                  class  
     | 
| 
       16 
     | 
    
         
            -
                     
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                   
     | 
| 
      
 16 
     | 
    
         
            +
                  class BaseLauncher
         
     | 
| 
      
 17 
     | 
    
         
            +
                    class XULRunnerNotFoundError < CmdParse::ParseError
         
     | 
| 
      
 18 
     | 
    
         
            +
                      reason 'XULRunner not found'
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
                    
         
     | 
| 
      
 21 
     | 
    
         
            +
                    def initialize(options)
         
     | 
| 
      
 22 
     | 
    
         
            +
                      @options = options
         
     | 
| 
      
 23 
     | 
    
         
            +
                    end
         
     | 
| 
      
 24 
     | 
    
         
            +
                    
         
     | 
| 
      
 25 
     | 
    
         
            +
                    def launch
         
     | 
| 
      
 26 
     | 
    
         
            +
                      ENV['XPCOMCORE'] = ENV['XPCOMCORE'] || XPCOMCore::BootstrapperLocation.to_s
         
     | 
| 
      
 27 
     | 
    
         
            +
                      XPCOMCore::CommandParser.log("Using XPCOMCore bootstrapper at '#{ENV['XPCOMCORE']}'")
         
     | 
| 
      
 28 
     | 
    
         
            +
                    end
         
     | 
| 
      
 29 
     | 
    
         
            +
                    
         
     | 
| 
      
 30 
     | 
    
         
            +
                  private
         
     | 
| 
      
 31 
     | 
    
         
            +
                    
         
     | 
| 
      
 32 
     | 
    
         
            +
                    def launch_xre(xre_location)
         
     | 
| 
      
 33 
     | 
    
         
            +
                      XPCOMCore::CommandParser.log("Launching XUL application using XULRunner '#{xre_location}' from '#{@options[:ini_path].expand_path}'")
         
     | 
| 
      
 34 
     | 
    
         
            +
                      exec(xre_location, *["-app", @options[:ini_path].expand_path.to_s, "-no-remote", *@options[:args]])
         
     | 
| 
      
 35 
     | 
    
         
            +
                    end
         
     | 
| 
      
 36 
     | 
    
         
            +
                    
         
     | 
| 
      
 37 
     | 
    
         
            +
                    def raise_xulrunner_not_found(search_location, runner_type)
         
     | 
| 
      
 38 
     | 
    
         
            +
                      raise(XULRunnerNotFoundError, "Sorry, we couldn't find #{runner_type}. We checked in #{search_location} but it didn't seem to be there.")
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
                    
         
     | 
| 
      
 41 
     | 
    
         
            +
                  end # BaseLauncher
         
     | 
| 
       30 
42 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
                   
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
                  class DarwinLauncher < BaseLauncher
         
     | 
| 
      
 44 
     | 
    
         
            +
                    StubLocationRelativeToIni = "../../stub_runners/%s.app"
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                    def launch
         
     | 
| 
      
 47 
     | 
    
         
            +
                      super
         
     | 
| 
      
 48 
     | 
    
         
            +
                      xre_location = send(:"locate_#{@options[:runner_type]}")
         
     | 
| 
      
 49 
     | 
    
         
            +
                      if stub_location = find_stub
         
     | 
| 
      
 50 
     | 
    
         
            +
                        launch_from_stub(xre_location, stub_location)
         
     | 
| 
      
 51 
     | 
    
         
            +
                      else
         
     | 
| 
      
 52 
     | 
    
         
            +
                        launch_xre(xre_location)
         
     | 
| 
      
 53 
     | 
    
         
            +
                      end
         
     | 
| 
      
 54 
     | 
    
         
            +
                    end
         
     | 
| 
      
 55 
     | 
    
         
            +
                    
         
     | 
| 
      
 56 
     | 
    
         
            +
                  private
         
     | 
| 
      
 57 
     | 
    
         
            +
                    
         
     | 
| 
      
 58 
     | 
    
         
            +
                    def launch_from_stub(xre_location, stub_location)
         
     | 
| 
      
 59 
     | 
    
         
            +
                      ENV['REAL_EXECUTABLE'] = xre_location.to_s
         
     | 
| 
      
 60 
     | 
    
         
            +
                      XPCOMCore::CommandParser.log("Launching XUL application using stub '#{stub_location}' and XULRunner '#{xre_location}' from '#{@options[:ini_path].expand_path}'")
         
     | 
| 
      
 61 
     | 
    
         
            +
                      exec("open", stub_location.to_s, "-W", "--args", *["-app", @options[:ini_path].expand_path.to_s, "-no-remote", *@options[:args]])
         
     | 
| 
      
 62 
     | 
    
         
            +
                    end
         
     | 
| 
      
 63 
     | 
    
         
            +
                    
         
     | 
| 
      
 64 
     | 
    
         
            +
                    def find_stub
         
     | 
| 
      
 65 
     | 
    
         
            +
                      parsed_ini = IniParse.parse(@options[:ini_path].read)
         
     | 
| 
      
 66 
     | 
    
         
            +
                      app_name = parsed_ini['App']['Name']
         
     | 
| 
      
 67 
     | 
    
         
            +
                      stub_path = (@options[:ini_path] + (StubLocationRelativeToIni % app_name)).expand_path
         
     | 
| 
      
 68 
     | 
    
         
            +
                      stub_path.exist? ? stub_path : nil
         
     | 
| 
      
 69 
     | 
    
         
            +
                    end
         
     | 
| 
      
 70 
     | 
    
         
            +
                    
         
     | 
| 
      
 71 
     | 
    
         
            +
                    def locate_firefox
         
     | 
| 
       34 
72 
     | 
    
         
             
                      applications = `osascript -e 'POSIX path of (path to applications folder)'`.strip
         
     | 
| 
       35 
     | 
    
         
            -
                      firefox_bin = Pathname(applications) + "Firefox.app/Contents/MacOS/firefox-bin"
         
     | 
| 
       36 
     | 
    
         
            -
                      firefox_bin.exist? ? firefox_bin. 
     | 
| 
      
 73 
     | 
    
         
            +
                      firefox_bin = (Pathname(applications) + "Firefox.app/Contents/MacOS/firefox-bin").expand_path
         
     | 
| 
      
 74 
     | 
    
         
            +
                      firefox_bin.exist? ? firefox_bin.to_s : raise_xulrunner_not_found(firefox_bin, "Firefox")
         
     | 
| 
       37 
75 
     | 
    
         
             
                    end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                  XULRunnerLocators[:xulrunner][:darwin] = XULRunnerLocators[:xulrunner][:unix] + [
         
     | 
| 
       41 
     | 
    
         
            -
                    lambda do 
         
     | 
| 
      
 76 
     | 
    
         
            +
                        
         
     | 
| 
      
 77 
     | 
    
         
            +
                    def locate_xulrunner
         
     | 
| 
       42 
78 
     | 
    
         
             
                      library = `osascript -e 'POSIX path of (path to library folder)'`.strip
         
     | 
| 
       43 
     | 
    
         
            -
                      xulrunner_bin = Pathname(library) + "Frameworks/XUL.framework/xulrunner-bin"
         
     | 
| 
       44 
     | 
    
         
            -
                      xulrunner_bin.exist? ? xulrunner_bin. 
     | 
| 
      
 79 
     | 
    
         
            +
                      xulrunner_bin = (Pathname(library) + "Frameworks/XUL.framework/xulrunner-bin").expand_path
         
     | 
| 
      
 80 
     | 
    
         
            +
                      xulrunner_bin.exist? ? xulrunner_bin.to_s : raise_xulrunner_not_found(xulrunner_bin, "XULRunner")
         
     | 
| 
       45 
81 
     | 
    
         
             
                    end
         
     | 
| 
       46 
     | 
    
         
            -
                  ]
         
     | 
| 
       47 
82 
     | 
    
         | 
| 
      
 83 
     | 
    
         
            +
                  end # DarwinLauncher
         
     | 
| 
      
 84 
     | 
    
         
            +
                  
         
     | 
| 
      
 85 
     | 
    
         
            +
                  class LinuxLauncher < BaseLauncher
         
     | 
| 
      
 86 
     | 
    
         
            +
                    
         
     | 
| 
      
 87 
     | 
    
         
            +
                    def launch
         
     | 
| 
      
 88 
     | 
    
         
            +
                      xre_location = send(:"locate_#{@options[:runner_type]}")
         
     | 
| 
      
 89 
     | 
    
         
            +
                      launch_xre(xre_location)
         
     | 
| 
      
 90 
     | 
    
         
            +
                    end
         
     | 
| 
      
 91 
     | 
    
         
            +
                    
         
     | 
| 
      
 92 
     | 
    
         
            +
                  private
         
     | 
| 
      
 93 
     | 
    
         
            +
                    
         
     | 
| 
      
 94 
     | 
    
         
            +
                    def locate_firefox
         
     | 
| 
      
 95 
     | 
    
         
            +
                      firefox_bin = [`which firefox-bin`, `which firefox`].detect do |path|
         
     | 
| 
      
 96 
     | 
    
         
            +
                        !path.strip.empty?
         
     | 
| 
      
 97 
     | 
    
         
            +
                      end
         
     | 
| 
      
 98 
     | 
    
         
            +
                      firefox_bin ? firefox_bin.strip : raise_xulrunner_not_found("$PATH", "Firefox")
         
     | 
| 
      
 99 
     | 
    
         
            +
                    end
         
     | 
| 
      
 100 
     | 
    
         
            +
                    
         
     | 
| 
      
 101 
     | 
    
         
            +
                    def locate_xulrunner
         
     | 
| 
      
 102 
     | 
    
         
            +
                      xulrunner_bin = [`which xulrunner-bin`, `which xulrunner`].detect do |path|
         
     | 
| 
      
 103 
     | 
    
         
            +
                        !path.strip.empty?
         
     | 
| 
      
 104 
     | 
    
         
            +
                      end
         
     | 
| 
      
 105 
     | 
    
         
            +
                      xulrunner_bin ? xulrunner_bin.strip : raise_xulrunner_not_found("$PATH", "XULRunner")
         
     | 
| 
      
 106 
     | 
    
         
            +
                    end
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
                  end # LinuxLauncher
         
     | 
| 
      
 109 
     | 
    
         
            +
                  
         
     | 
| 
      
 110 
     | 
    
         
            +
                  GemAppRelativePath = "xpcomcore/app/application.ini"
         
     | 
| 
      
 111 
     | 
    
         
            +
                  CurrentPlatform = Sys::Uname.sysname.downcase.to_sym
         
     | 
| 
       48 
112 
     | 
    
         | 
| 
       49 
113 
     | 
    
         
             
                  def initialize
         
     | 
| 
       50 
114 
     | 
    
         
             
                    super('launch', false, # Doesn't take subcommands
         
     | 
| 
         @@ -69,34 +133,19 @@ module XPCOMCore 
     | 
|
| 
       69 
133 
     | 
    
         
             
                  end
         
     | 
| 
       70 
134 
     | 
    
         | 
| 
       71 
135 
     | 
    
         
             
                  def runner_type
         
     | 
| 
       72 
     | 
    
         
            -
                    use_xulrunner ? :xulrunner : :firefox
         
     | 
| 
      
 136 
     | 
    
         
            +
                    use_xulrunner? ? :xulrunner : :firefox
         
     | 
| 
       73 
137 
     | 
    
         
             
                  end
         
     | 
| 
       74 
138 
     | 
    
         | 
| 
       75 
139 
     | 
    
         
             
                private
         
     | 
| 
       76 
140 
     | 
    
         | 
| 
       77 
141 
     | 
    
         
             
                  def launch_app(application_ini_path, args)
         
     | 
| 
       78 
     | 
    
         
            -
                     
     | 
| 
       79 
     | 
    
         
            -
                     
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
                     
     | 
| 
       83 
     | 
    
         
            -
                      raise(XULRunnerNotFoundError, "A valid XULRunner executable could not be found.")
         
     | 
| 
       84 
     | 
    
         
            -
                    end
         
     | 
| 
       85 
     | 
    
         
            -
                  end
         
     | 
| 
       86 
     | 
    
         
            -
                  
         
     | 
| 
       87 
     | 
    
         
            -
                  def set_env_and_launch(xulrunner_bin, application_ini, args)
         
     | 
| 
       88 
     | 
    
         
            -
                    ENV['XPCOMCORE'] = ENV['XPCOMCORE'] || XPCOMCore::BootstrapperLocation.to_s
         
     | 
| 
       89 
     | 
    
         
            -
                    XPCOMCore::CommandParser.log("Using XPCOMCore bootstrapper at '#{ENV['XPCOMCORE']}'")
         
     | 
| 
       90 
     | 
    
         
            -
                    exec(xulrunner_bin, *["-app", application_ini, *args])
         
     | 
| 
      
 142 
     | 
    
         
            +
                    launcher_class = self.class.const_get(:"#{CurrentPlatform.to_s.capitalize}Launcher")
         
     | 
| 
      
 143 
     | 
    
         
            +
                    launcher = launcher_class.new(:ini_path => application_ini_path, :runner_type => runner_type, :args => args)
         
     | 
| 
      
 144 
     | 
    
         
            +
                    launcher.launch
         
     | 
| 
      
 145 
     | 
    
         
            +
                  rescue NameError => e
         
     | 
| 
      
 146 
     | 
    
         
            +
                    puts "Probably couldn't get a launcher for your platform. Sorry. #{e}"
         
     | 
| 
       91 
147 
     | 
    
         
             
                  end
         
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
                  def find_xulrunner
         
     | 
| 
       94 
     | 
    
         
            -
                    XULRunnerLocators[runner_type][CurrentPlatform].any? do |locator|
         
     | 
| 
       95 
     | 
    
         
            -
                      location = locator.call.strip
         
     | 
| 
       96 
     | 
    
         
            -
                      location.empty? ? nil : (break(location))
         
     | 
| 
       97 
     | 
    
         
            -
                    end
         
     | 
| 
       98 
     | 
    
         
            -
                  end
         
     | 
| 
       99 
     | 
    
         
            -
                  
         
     | 
| 
      
 148 
     | 
    
         
            +
                        
         
     | 
| 
       100 
149 
     | 
    
         
             
                  def find_app(app_path)
         
     | 
| 
       101 
150 
     | 
    
         
             
                    fs_path = Pathname(Dir.pwd) + app_path + "application.ini"
         
     | 
| 
       102 
151 
     | 
    
         
             
                    if fs_path.exist?
         
     | 
| 
         @@ -1,14 +1,17 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'rake'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'xpcomcore-rubygem'
         
     | 
| 
       3 
3 
     | 
    
         
             
            require 'uuidtools'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'xpcomcore-rubygem/building/stub_app_helpers'
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
      
 6 
     | 
    
         
            +
            # TODO - update this to use iniparse.
         
     | 
| 
       5 
7 
     | 
    
         
             
            module XPCOMCore
         
     | 
| 
       6 
8 
     | 
    
         
             
              module Tasks
         
     | 
| 
       7 
9 
     | 
    
         
             
                class ApplicationTask
         
     | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
      
 10 
     | 
    
         
            +
                  AppLocation = "xpcomcore/app"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  IniLocation = "#{AppLocation}/application.ini"
         
     | 
| 
       9 
12 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                  def initialize(task_name = "xpcomcore: 
     | 
| 
       11 
     | 
    
         
            -
                    desc("Updates the embedded XUL application's application.ini file for release.")
         
     | 
| 
      
 13 
     | 
    
         
            +
                  def initialize(task_name = "xpcomcore:update_app")
         
     | 
| 
      
 14 
     | 
    
         
            +
                    desc("Updates the embedded XUL application's application.ini file for release and generates any stub apps necessary.")
         
     | 
| 
       12 
15 
     | 
    
         
             
                    task(task_name) { self.invoke }
         
     | 
| 
       13 
16 
     | 
    
         
             
                    # Adds this as a dependency to gemspec so it updates along with it.
         
     | 
| 
       14 
17 
     | 
    
         
             
                    task(:gemspec => task_name)
         
     | 
| 
         @@ -21,10 +24,17 @@ module XPCOMCore 
     | 
|
| 
       21 
24 
     | 
    
         
             
                      write_build_id(f)
         
     | 
| 
       22 
25 
     | 
    
         
             
                      write_version(f)
         
     | 
| 
       23 
26 
     | 
    
         
             
                    end
         
     | 
| 
      
 27 
     | 
    
         
            +
                    update_stub_app
         
     | 
| 
       24 
28 
     | 
    
         
             
                  end
         
     | 
| 
       25 
29 
     | 
    
         | 
| 
       26 
30 
     | 
    
         
             
                private
         
     | 
| 
       27 
31 
     | 
    
         | 
| 
      
 32 
     | 
    
         
            +
                  def update_stub_app
         
     | 
| 
      
 33 
     | 
    
         
            +
                    updater = XPCOMCore::Building::StubAppHelpers::AppUpdater.new(:xul_app_path => Pathname(AppLocation).expand_path,
         
     | 
| 
      
 34 
     | 
    
         
            +
                                                                                  :stub_dir => Pathname("xpcomcore/stub_runners").expand_path)
         
     | 
| 
      
 35 
     | 
    
         
            +
                    updater.update
         
     | 
| 
      
 36 
     | 
    
         
            +
                  end
         
     | 
| 
      
 37 
     | 
    
         
            +
                  
         
     | 
| 
       28 
38 
     | 
    
         
             
                  def write_build_id(file)
         
     | 
| 
       29 
39 
     | 
    
         
             
                    file.rewind
         
     | 
| 
       30 
40 
     | 
    
         
             
                    contents = file.read
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <?xml version="1.0"?>
         
     | 
| 
       2 
2 
     | 
    
         
             
            <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            <window id=" 
     | 
| 
      
 4 
     | 
    
         
            +
            <window id="main_window" title="My App" width="300" height="300" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
         
     | 
| 
       5 
5 
     | 
    
         
             
              <caption label="Hello World from <%=@app_name%>"/>
         
     | 
| 
       6 
6 
     | 
    
         
             
            </window>
         
     | 
| 
         Binary file 
     | 
| 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            gem 'xultestrunner'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'xultestrunner/test_task'
         
     | 
| 
       3 
     | 
    
         
            -
            XULTestRunner::TestTask.new(<%=@task_name.inspect%>) do |test|
         
     | 
| 
       4 
     | 
    
         
            -
              <% @test_libs.each do |test_lib|%>test.libs << <%=test_lib.inspect%>
         
     | 
| 
       5 
     | 
    
         
            -
              <% end %>
         
     | 
| 
       6 
     | 
    
         
            -
              test.pattern = <%= @test_pattern.inspect %>
         
     | 
| 
       7 
     | 
    
         
            -
            end
         
     | 
| 
      
 1 
     | 
    
         
            +
            #gem 'xultestrunner'
         
     | 
| 
      
 2 
     | 
    
         
            +
            #require 'xultestrunner/test_task'
         
     | 
| 
      
 3 
     | 
    
         
            +
            #XULTestRunner::TestTask.new(<%=@task_name.inspect%>) do |test|
         
     | 
| 
      
 4 
     | 
    
         
            +
            #  <% @test_libs.each do |test_lib|%>test.libs << <%=test_lib.inspect%>
         
     | 
| 
      
 5 
     | 
    
         
            +
            #  <% end %>
         
     | 
| 
      
 6 
     | 
    
         
            +
            #  test.pattern = <%= @test_pattern.inspect %>
         
     | 
| 
      
 7 
     | 
    
         
            +
            #end
         
     | 
    
        data/xpcomcore/Rakefile
    CHANGED
    
    | 
         @@ -8,8 +8,8 @@ require 'english' 
     | 
|
| 
       8 
8 
     | 
    
         
             
            here = (Pathname(__FILE__).parent.expand_path)
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            task :test do
         
     | 
| 
       11 
     | 
    
         
            -
              ENV['XPCOMCORE'] = Pathname(__FILE__).parent.expand_path.to_s
         
     | 
| 
       12 
     | 
    
         
            -
              exec(ENV['XULTEST'] || "xultest", "-testDir", (Pathname(__FILE__).parent + "test/").expand_path.to_s)
         
     | 
| 
      
 11 
     | 
    
         
            +
              ENV['XPCOMCORE'] = (Pathname(__FILE__).parent.expand_path + "bootstrapper.js").to_s
         
     | 
| 
      
 12 
     | 
    
         
            +
              exec(ENV['XULTEST'] || "xultest", "--", "-testDir", (Pathname(__FILE__).parent + "test/").expand_path.to_s)
         
     | 
| 
       13 
13 
     | 
    
         
             
            end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            task :default => :test
         
     | 
| 
         @@ -20,7 +20,7 @@ namespace :docs do 
     | 
|
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              JsDocToolkit::DocTask.new(:build) do |doc|
         
     | 
| 
       22 
22 
     | 
    
         
             
                doc.jsdoc_dir = 'doc'
         
     | 
| 
       23 
     | 
    
         
            -
                doc.jsdoc_files  
     | 
| 
      
 23 
     | 
    
         
            +
                doc.jsdoc_files << 'lib'
         
     | 
| 
       24 
24 
     | 
    
         
             
              end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
              task :clean do
         
     | 
| 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
         
     | 
| 
       2 
     | 
    
         
            -
            var XPCOMCoreVersion = '0.5. 
     | 
| 
      
 2 
     | 
    
         
            +
            var XPCOMCoreVersion = '0.5.2'; // DO NOT REMOVE THIS COMMENT OR MOVE THIS LINE. THIS LINE IS AUTO-GENERATED FROM A RAKE TASK. @XPCOMCORE_VERSION@
         
     | 
| 
       3 
3 
     | 
    
         
             
            const $Cc = Components.classes;
         
     | 
| 
       4 
4 
     | 
    
         
             
            const $Ci = Components.interfaces;
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
         @@ -0,0 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
         
     | 
| 
      
 2 
     | 
    
         
            +
            const Cc = Components.classes;
         
     | 
| 
      
 3 
     | 
    
         
            +
            const Ci = Components.interfaces;
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            var XPCOMCoreCommandLineHandler = function() {
         
     | 
| 
      
 6 
     | 
    
         
            +
              if (arguments.callee.__singletonInstance__) { return arguments.callee.__singletonInstance__; };
         
     | 
| 
      
 7 
     | 
    
         
            +
              this.wrappedJSObject = this;
         
     | 
| 
      
 8 
     | 
    
         
            +
              arguments.callee.__singletonInstance__ = this;
         
     | 
| 
      
 9 
     | 
    
         
            +
            };
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            XPCOMCoreCommandLineHandler.prototype = {
         
     | 
| 
      
 12 
     | 
    
         
            +
              args: [],
         
     | 
| 
      
 13 
     | 
    
         
            +
              classDescription: "XPCOMCore Command Line Handler",
         
     | 
| 
      
 14 
     | 
    
         
            +
              contractID: "@conflagrationjs.org/xpcomcore/generic-command-line-handler-clh;1",
         
     | 
| 
      
 15 
     | 
    
         
            +
              classID: Components.ID("{b5730df0-b859-11de-8a39-0800200c9a66}"),
         
     | 
| 
      
 16 
     | 
    
         
            +
              helpInfo: "",
         
     | 
| 
      
 17 
     | 
    
         
            +
              QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsICommandLineHandler]),
         
     | 
| 
      
 18 
     | 
    
         
            +
              _xpcom_categories: [{category: "command-line-handler", entry: "a-xpcomcore"}],
         
     | 
| 
      
 19 
     | 
    
         
            +
              
         
     | 
| 
      
 20 
     | 
    
         
            +
              handle: function(cmdLine) {
         
     | 
| 
      
 21 
     | 
    
         
            +
                for (var i = 0; i < cmdLine.length; i++) { this.args.push(cmdLine.getArgument(i)); }
         
     | 
| 
      
 22 
     | 
    
         
            +
              }
         
     | 
| 
      
 23 
     | 
    
         
            +
              
         
     | 
| 
      
 24 
     | 
    
         
            +
            };
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            NSGetModule = function(compMgr, fileSpec) {
         
     | 
| 
      
 27 
     | 
    
         
            +
              return XPCOMUtils.generateModule([XPCOMCoreCommandLineHandler]);
         
     | 
| 
      
 28 
     | 
    
         
            +
            };
         
     | 
    
        data/xpcomcore/doc/files.html
    CHANGED
    
    | 
         @@ -269,7 +269,7 @@ This file defines the implementation of our File object. 
     | 
|
| 
       269 
269 
     | 
    
         
             
            		</div>
         
     | 
| 
       270 
270 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       271 
271 
     | 
    
         | 
| 
       272 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 272 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       273 
273 
     | 
    
         
             
            		</div>
         
     | 
| 
       274 
274 
     | 
    
         
             
            	</body>
         
     | 
| 
       275 
275 
     | 
    
         
             
            </html>
         
     | 
    
        data/xpcomcore/doc/index.html
    CHANGED
    
    | 
         @@ -269,7 +269,7 @@ build the rest of XPCOMCore on top of. 
     | 
|
| 
       269 
269 
     | 
    
         
             
            		</div>
         
     | 
| 
       270 
270 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       271 
271 
     | 
    
         | 
| 
       272 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 272 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       273 
273 
     | 
    
         
             
            		</div>
         
     | 
| 
       274 
274 
     | 
    
         
             
            	</body>
         
     | 
| 
       275 
275 
     | 
    
         
             
            </html>
         
     | 
| 
         @@ -259,7 +259,7 @@ ul.inheritsList 
     | 
|
| 
       259 
259 
     | 
    
         
             
            <!-- ============================== footer ================================= -->
         
     | 
| 
       260 
260 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       261 
261 
     | 
    
         | 
| 
       262 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 262 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       263 
263 
     | 
    
         
             
            		</div>
         
     | 
| 
       264 
264 
     | 
    
         
             
            	</body>
         
     | 
| 
       265 
265 
     | 
    
         
             
            </html>
         
     | 
| 
         @@ -259,7 +259,7 @@ ul.inheritsList 
     | 
|
| 
       259 
259 
     | 
    
         
             
            <!-- ============================== footer ================================= -->
         
     | 
| 
       260 
260 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       261 
261 
     | 
    
         | 
| 
       262 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 262 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       263 
263 
     | 
    
         
             
            		</div>
         
     | 
| 
       264 
264 
     | 
    
         
             
            	</body>
         
     | 
| 
       265 
265 
     | 
    
         
             
            </html>
         
     | 
| 
         @@ -446,7 +446,7 @@ from the specified file 
     | 
|
| 
       446 
446 
     | 
    
         
             
            <!-- ============================== footer ================================= -->
         
     | 
| 
       447 
447 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       448 
448 
     | 
    
         | 
| 
       449 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 449 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       450 
450 
     | 
    
         
             
            		</div>
         
     | 
| 
       451 
451 
     | 
    
         
             
            	</body>
         
     | 
| 
       452 
452 
     | 
    
         
             
            </html>
         
     | 
| 
         @@ -329,7 +329,7 @@ ul.inheritsList 
     | 
|
| 
       329 
329 
     | 
    
         
             
            <!-- ============================== footer ================================= -->
         
     | 
| 
       330 
330 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       331 
331 
     | 
    
         | 
| 
       332 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 332 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       333 
333 
     | 
    
         
             
            		</div>
         
     | 
| 
       334 
334 
     | 
    
         
             
            	</body>
         
     | 
| 
       335 
335 
     | 
    
         
             
            </html>
         
     | 
| 
         @@ -363,6 +363,15 @@ have been loaded through <a href="../symbols/kernel.html#require">Kernel#require 
     | 
|
| 
       363 
363 
     | 
    
         
             
            					</thead>
         
     | 
| 
       364 
364 
     | 
    
         
             
            					<tbody>
         
     | 
| 
       365 
365 
     | 
    
         | 
| 
      
 366 
     | 
    
         
            +
            						<tr>
         
     | 
| 
      
 367 
     | 
    
         
            +
            							<td class="attributes"> </td>
         
     | 
| 
      
 368 
     | 
    
         
            +
            							<td class="nameDescription">
         
     | 
| 
      
 369 
     | 
    
         
            +
            								<div class="fixedFont"><b><a href="../symbols/kernel.html#$ARGV">$ARGV</a></b>()
         
     | 
| 
      
 370 
     | 
    
         
            +
            								</div>
         
     | 
| 
      
 371 
     | 
    
         
            +
            								<div class="description">Returns the command line arguments this instance of the GRE was started with.</div>
         
     | 
| 
      
 372 
     | 
    
         
            +
            							</td>
         
     | 
| 
      
 373 
     | 
    
         
            +
            						</tr>
         
     | 
| 
      
 374 
     | 
    
         
            +
            					
         
     | 
| 
       366 
375 
     | 
    
         
             
            						<tr>
         
     | 
| 
       367 
376 
     | 
    
         
             
            							<td class="attributes"> </td>
         
     | 
| 
       368 
377 
     | 
    
         
             
            							<td class="nameDescription">
         
     | 
| 
         @@ -676,6 +685,40 @@ have been loaded through <a href="../symbols/kernel.html#require">Kernel#require 
     | 
|
| 
       676 
685 
     | 
    
         
             
            					Method Detail
         
     | 
| 
       677 
686 
     | 
    
         
             
            				</div>
         
     | 
| 
       678 
687 
     | 
    
         | 
| 
      
 688 
     | 
    
         
            +
            					<a name="$ARGV"> </a>
         
     | 
| 
      
 689 
     | 
    
         
            +
            					<div class="fixedFont">
         
     | 
| 
      
 690 
     | 
    
         
            +
            					
         
     | 
| 
      
 691 
     | 
    
         
            +
            					<span class="light">{Array}</span>
         
     | 
| 
      
 692 
     | 
    
         
            +
            					<b>$ARGV</b>()
         
     | 
| 
      
 693 
     | 
    
         
            +
            					
         
     | 
| 
      
 694 
     | 
    
         
            +
            					</div>
         
     | 
| 
      
 695 
     | 
    
         
            +
            					<div class="description">
         
     | 
| 
      
 696 
     | 
    
         
            +
            						Returns the command line arguments this instance of the GRE was started with.
         
     | 
| 
      
 697 
     | 
    
         
            +
            NOTE: This doesn't play nicely with remoting to existing instances, but for now,
         
     | 
| 
      
 698 
     | 
    
         
            +
            we don't really care about that.
         
     | 
| 
      
 699 
     | 
    
         
            +
            						
         
     | 
| 
      
 700 
     | 
    
         
            +
            						
         
     | 
| 
      
 701 
     | 
    
         
            +
            					</div>
         
     | 
| 
      
 702 
     | 
    
         
            +
            					
         
     | 
| 
      
 703 
     | 
    
         
            +
            					
         
     | 
| 
      
 704 
     | 
    
         
            +
            					
         
     | 
| 
      
 705 
     | 
    
         
            +
            						
         
     | 
| 
      
 706 
     | 
    
         
            +
            						
         
     | 
| 
      
 707 
     | 
    
         
            +
            						
         
     | 
| 
      
 708 
     | 
    
         
            +
            						
         
     | 
| 
      
 709 
     | 
    
         
            +
            						
         
     | 
| 
      
 710 
     | 
    
         
            +
            							<dl class="detailList">
         
     | 
| 
      
 711 
     | 
    
         
            +
            							<dt class="heading">Returns:</dt>
         
     | 
| 
      
 712 
     | 
    
         
            +
            							
         
     | 
| 
      
 713 
     | 
    
         
            +
            								<dd><span class="light fixedFont">{Array}</span> </dd>
         
     | 
| 
      
 714 
     | 
    
         
            +
            							
         
     | 
| 
      
 715 
     | 
    
         
            +
            							</dl>
         
     | 
| 
      
 716 
     | 
    
         
            +
            						
         
     | 
| 
      
 717 
     | 
    
         
            +
            						
         
     | 
| 
      
 718 
     | 
    
         
            +
            						
         
     | 
| 
      
 719 
     | 
    
         
            +
             
     | 
| 
      
 720 
     | 
    
         
            +
            					<hr />
         
     | 
| 
      
 721 
     | 
    
         
            +
            				
         
     | 
| 
       679 
722 
     | 
    
         
             
            					<a name="$CURRENT_DIRECTORY"> </a>
         
     | 
| 
       680 
723 
     | 
    
         
             
            					<div class="fixedFont">
         
     | 
| 
       681 
724 
     | 
    
         | 
| 
         @@ -1093,7 +1136,7 @@ in <a href="../symbols/kernel.html#$LOAD_PATH">Kernel#$LOAD_PATH</a>.</dd> 
     | 
|
| 
       1093 
1136 
     | 
    
         
             
            <!-- ============================== footer ================================= -->
         
     | 
| 
       1094 
1137 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       1095 
1138 
     | 
    
         | 
| 
       1096 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 1139 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       1097 
1140 
     | 
    
         
             
            		</div>
         
     | 
| 
       1098 
1141 
     | 
    
         
             
            	</body>
         
     | 
| 
       1099 
1142 
     | 
    
         
             
            </html>
         
     | 
| 
         @@ -329,7 +329,7 @@ ul.inheritsList 
     | 
|
| 
       329 
329 
     | 
    
         
             
            <!-- ============================== footer ================================= -->
         
     | 
| 
       330 
330 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       331 
331 
     | 
    
         | 
| 
       332 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 332 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       333 
333 
     | 
    
         
             
            		</div>
         
     | 
| 
       334 
334 
     | 
    
         
             
            	</body>
         
     | 
| 
       335 
335 
     | 
    
         
             
            </html>
         
     | 
| 
         @@ -329,7 +329,7 @@ ul.inheritsList 
     | 
|
| 
       329 
329 
     | 
    
         
             
            <!-- ============================== footer ================================= -->
         
     | 
| 
       330 
330 
     | 
    
         
             
            		<div class="fineprint" style="clear:both">
         
     | 
| 
       331 
331 
     | 
    
         | 
| 
       332 
     | 
    
         
            -
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on  
     | 
| 
      
 332 
     | 
    
         
            +
            			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
         
     | 
| 
       333 
333 
     | 
    
         
             
            		</div>
         
     | 
| 
       334 
334 
     | 
    
         
             
            	</body>
         
     | 
| 
       335 
335 
     | 
    
         
             
            </html>
         
     |