Skip to content
Browse files

Re-organized directory structure. Cleaned up scaffold and externs.

  • Loading branch information...
1 parent d9a14f1 commit 0af1077832954d0bd72bf67d6db84b841f15375d @AE9RB committed Feb 27, 2011
Showing with 6,219 additions and 2,071 deletions.
  1. +5 −5 .gitignore
  2. +2 −2 README.md
  3. +18 −10 Rakefile
  4. +3 −9 config.ru
  5. 0 {scripts → }/docs/HAML_REFERENCE.md
  6. 0 {scripts → }/docs/erb.rb
  7. 0 {scripts → }/docs/index.erb
  8. +968 −0 externs/chrome_extensions.externs
  9. +39 −170 scripts/externs/jquery_1_4_2.externs → externs/jquery-1.3.2.externs
  10. +1,289 −0 externs/jquery-1.4.3.externs
  11. +1,302 −0 externs/jquery-1.4.4.externs
  12. +1,697 −0 externs/jquery-1.5.externs
  13. 0 {scripts → }/externs/jquery-ui.externs
  14. +4 −0 externs/jquery.externs
  15. +5 −6 lib/closure.rb
  16. +1 −1 lib/closure/server.rb
  17. 0 scripts/{scaffold → }/config.ru
  18. +0 −5 scripts/demos/compiler.build
  19. +0 −150 scripts/demos/compiler.debug
  20. +0 −30 scripts/demos/compiler.js.erb
  21. +0 −711 scripts/demos/compiler.map
  22. +0 −1 scripts/demos/deps.js.erb
  23. +0 −20 scripts/demos/googly.erb
  24. +0 −25 scripts/demos/googly.js
  25. +0 −20 scripts/demos/helloworld.js
  26. +0 −8 scripts/demos/helloworld.soy
  27. +0 −26 scripts/demos/index.erb
  28. +0 −4 scripts/externs/jquery.externs
  29. 0 scripts/{scaffold → }/hello/compiler.build
  30. 0 scripts/{scaffold → }/hello/compiler.debug
  31. 0 scripts/{scaffold → }/hello/compiler.js.erb
  32. +756 −0 scripts/hello/compiler.map
  33. 0 scripts/{scaffold → }/hello/hello.erb
  34. 0 scripts/{scaffold → }/hello/hello.js
  35. 0 scripts/{scaffold → }/hello/legume.js
  36. 0 scripts/{scaffold → }/hello/legume.soy
  37. +33 −5 scripts/index.erb
  38. +7 −0 scripts/jquery/compiler.js.erb
  39. +1 −0 scripts/jquery/compiler.out
  40. +17 −0 scripts/jquery/index.erb
  41. 0 scripts/{demos/jquery.js → jquery/jquery_1.4.4.js}
  42. +8 −0 scripts/jquery/jquery_test.js
  43. +10 −6 scripts/{demos → rails}/rails_ujs.erb
  44. +0 −40 scripts/{demos → rails}/rails_ujs.js
  45. +0 −756 scripts/scaffold/hello/compiler.map
  46. +0 −37 scripts/scaffold/index.erb
  47. +19 −10 scripts/{scaffold → }/svn.erb
  48. +27 −10 scripts/{scaffold → }/welcome.erb
  49. +1 −1 test/server_test.rb
  50. +7 −3 test/sources_test.rb
View
10 .gitignore
@@ -3,8 +3,8 @@ closure.gemspec
.yardoc*
pkg/*
tmp/*
-scripts/docs/closure/*
-scripts/docs/haml/*
-scripts/docs/rack/*
-scripts/docs/erb/*
-closure-library
+docs/closure/*
+docs/haml/*
+docs/rack/*
+docs/erb/*
+scripts/closure-library
View
4 README.md
@@ -4,10 +4,10 @@ Licensed under the Apache License, Version 2.0 (the "License");
<http://www.apache.org/licenses/LICENSE-2.0>
-Step 1: Download to an empty folder:
+Step 1: Download to a new folder:
<https://github.com/dturnbull/closure-script/downloads>
-Step 2: Run with Java:
+Step 2: Run from the new folder with Java:
```java -jar closure.jar```
Step 3: Open a web browser:
View
28 Rakefile
@@ -61,7 +61,7 @@ gem_spec = Gem::Specification.new do |s|
s.add_dependency 'rack', '>= 1.0.0'
s.files = `git ls-files`.split("\n")
- s.files += FileList['scripts/docs/closure/**/*']
+ s.files += FileList['docs/closure/**/*']
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
s.test_files = `git ls-files`.split("\n").map{|f| f =~ /^(test\/.*_test.rb)$/ ? $1 : nil}.compact
s.require_path = 'lib'
@@ -73,7 +73,7 @@ file "closure.gemspec" => ["Rakefile"] do |t|
end
task 'gem:ensure_closure_docs' do
- unless File.exists? "scripts/docs/closure/index.html"
+ unless File.exists? "docs/closure/index.html"
print "ERROR: Docs for closure not found.\n"
exit 1
end
@@ -93,6 +93,8 @@ war_config = Warbler::Config.new do |config|
closure-templates
lib
scripts
+ docs
+ externs
)
config.gems << Gem::Dependency.new("jruby-jars", JRUBY_JARS_VER)
@@ -115,11 +117,13 @@ war_config = Warbler::Config.new do |config|
else
require 'closure'
ENV["CLOSURE_SCRIPT_WELCOME"] = 'true'
- eval(File.read(File.join Closure.base_path, 'scripts/scaffold/config.ru'), binding, 'config.ru')
+ eval(File.read(File.join Closure.base_path, 'scripts/config.ru'), binding, 'config.ru')
end
EOS
- # Closure::Server is thread-safe so one runtime is plenty
+ # Closure Script is thread-safe and multithreaded by default.
+ # We choose to be bound in a single runtime to allow Scripts easy
+ # access to globals for background processing with Ruby threads.
config.webxml.jruby.min.runtimes = 1
config.webxml.jruby.max.runtimes = 1
@@ -140,7 +144,7 @@ task 'war' do
mkdir_p dir if !File.exist?(dir)
# ensure all docs were built
DOCS.each do |gem_name|
- unless File.exists? "scripts/docs/#{gem_name}/index.html"
+ unless File.exists? "docs/#{gem_name}/index.html"
print "ERROR: Docs for #{gem_name} not found.\n"
exit 1
end
@@ -154,13 +158,17 @@ task 'war:clean' do
# warbler maybe should support autodeploy_dir for this
end
-desc 'Start the project .war server'
+desc 'Start the .war welcome server'
task 'war:server' do
- war_file = File.join war_config.autodeploy_dir, war_config.war_name + '.war'
+ war_file = File.expand_path File.join war_config.autodeploy_dir, war_config.war_name + '.war'
unless File.exist?(war_file)
print "ERROR: Build #{war_file} first.\n"
exit 1
end
+ mkdir_p 'tmp' if !File.exist?('tmp')
+ rm_r Dir.glob 'tmp/*'
+ tmp = File.expand_path 'tmp'
+ chdir tmp
exec "java -jar #{war_file}"
end
@@ -171,7 +179,7 @@ DOCS.each do |gem_name|
base_path = '.'
elsif %w{erb}.include? gem_name
# Where yard won't magically find the wrong README
- base_path = 'scripts/docs'
+ base_path = 'docs'
else
spec = Gem.loaded_specs[gem_name]
unless spec
@@ -187,7 +195,7 @@ DOCS.each do |gem_name|
elsif gem_name == 'haml'
# Haml ships gem with incomplete docs
# https://github.com/nex3/haml/issues/351
- haml_ref_file = File.expand_path("scripts/docs/HAML_REFERENCE.md")
+ haml_ref_file = File.expand_path("docs/HAML_REFERENCE.md")
extra = "- MIT-LICENSE #{haml_ref_file}"
else
extra = ''
@@ -196,7 +204,7 @@ DOCS.each do |gem_name|
task "docs:#{gem_name}" do
db_dir = File.expand_path(".yardoc_#{gem_name}")
rm_rf db_dir # ensure full build
- out_dir = File.expand_path("scripts/docs/#{gem_name}")
+ out_dir = File.expand_path("docs/#{gem_name}")
rm_rf out_dir
save_dir = Dir.getwd
Dir.chdir(base_path)
View
12 config.ru
@@ -4,18 +4,12 @@ closure_lib_path = File.expand_path('lib', File.dirname(__FILE__))
$LOAD_PATH.unshift(closure_lib_path) if !$LOAD_PATH.include?(closure_lib_path)
require 'closure'
-Closure.add_source 'closure-library', '/closure-library'
-Closure.add_source 'scripts/scaffold', '/scaffold'
-Closure.add_source :soy, '/soy'
-Closure.add_source :demos, '/demos'
-Closure.add_source :docs, '/docs'
-Closure.add_source :externs
-
# use Rack::CommonLogger # slow
use Rack::Reloader, 1
use Rack::Lint # slow
-use Closure::Middleware, File.join(Closure.base_path, 'scripts', 'index.html')
-run Rack::File.new File.join(Closure.base_path, 'scripts')
+
+Dir.chdir 'scripts'
+eval(File.read('config.ru'), binding, 'config.ru')
print "Closure Script development server started.\n"
print "http://localhost:8080/\n"
View
0 scripts/docs/HAML_REFERENCE.md → docs/HAML_REFERENCE.md
File renamed without changes.
View
0 scripts/docs/erb.rb → docs/erb.rb
File renamed without changes.
View
0 scripts/docs/index.erb → docs/index.erb
File renamed without changes.
View
968 externs/chrome_extensions.externs
@@ -0,0 +1,968 @@
+/*
+ * Copyright 2009 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+goog.provide('externs.chrome')
+*/
+
+/**
+ * @fileoverview Definitions for the Chromium extensions API.
+ * @externs
+ *
+ */
+
+/** namespace */
+var chrome = {};
+
+/** @see http://code.google.com/chrome/extensions/extension.html */
+chrome.extension = {};
+
+/**
+ * @param {string|Object.<string>=} opt_arg1 Either the extensionId to
+ * to connect to, in which case connectInfo params can be passed in the
+ * next optional argument, or the connectInfo params.
+ * @param {Object.<string>=} opt_connectInfo The connectInfo object,
+ * if arg1 was the extensionId to connect to.
+ * @return {Port} New port.
+ */
+chrome.extension.connect = function(opt_arg1, opt_connectInfo) {};
+
+/**
+ * @return {Window} The global JS object for the background page.
+ */
+chrome.extension.getBackgroundPage = function() {};
+
+/**
+ * @param {number=} opt_windowId An optional windowId.
+ * @return {Array.<Window>} The global JS objects for each content view.
+ */
+chrome.extension.getExtensionTabs = function(opt_windowId) {};
+
+/**
+ * @return {Array.<Window>} The global JS objects for each toolstrip view.
+ */
+chrome.extension.getToolstrips = function() {};
+
+/**
+ * @param {string} path A path to a resource within an extension expressed
+ * relative to it's install directory.
+ * @return {string} The fully-qualified URL to the resource.
+ */
+chrome.extension.getURL = function(path) {};
+
+/**
+ * @param {Object=} fetchProperties An object with optional 'type' and optional
+ * 'windowId' keys.
+ * @return {Array.<Window>} The global JS objects for each content view.
+ */
+chrome.extension.getViews = function(fetchProperties) {};
+
+/**
+ * @param {number|*=} opt_arg1 Either the extensionId to send the request to,
+ * in which case the request is passed as the next arg, or the request.
+ * @param {*=} opt_request The request value, if arg1 was the extensionId.
+ * @param {function(*) : void=} opt_callback The callback function which
+ * takes a JSON response object sent by the handler of the request.
+ */
+chrome.extension.sendRequest = function(opt_arg1, opt_request, opt_callback) {};
+
+/**
+ * @param {string} data
+ */
+chrome.extension.setUpdateUrlData = function(data) {};
+
+/** @type {ChromeEvent} */
+chrome.extension.onConnect;
+/** @type {ChromeEvent} */
+chrome.extension.onConnectExternal;
+/** @type {ChromeEvent} */
+chrome.extension.onRequest;
+/** @type {ChromeEvent} */
+chrome.extension.onRequestExternal;
+
+
+/** @see http://code.google.com/chrome/extensions/tabs.html */
+chrome.tabs = {};
+
+/**
+ * @param {number?} windowId Window Id.
+ * @param {function(string) : void} callback Callback function which accepts
+ * the data URL string of a JPEG encoding of the visible area of the
+ * captured tab. May be assigned to the 'src' property of an HTML Image
+ * element for display.
+ */
+chrome.tabs.captureVisibleTab = function(windowId, callback) {};
+
+/**
+ * @param {number} tabId Tab Id.
+ * @param {Object.<string>=} opt_connectInfo Info Object.
+ */
+chrome.tabs.connect = function(tabId, opt_connectInfo) {};
+
+/**
+ * @param {Object} createProperties Info object.
+ * @param {function(Tab) : void=} opt_callback The callback function.
+ */
+chrome.tabs.create = function(createProperties, opt_callback) {};
+
+/**
+ * @param {number?} tabId Tab id.
+ * @param {function(string) : void} callback Callback function.
+ */
+chrome.tabs.detectLanguage = function(tabId, callback) {};
+
+/**
+ * @param {number?} tabId Tab id.
+ * @param {Object?} details An object which may have 'code', 'file',
+ * or 'allFrames' keys.
+ * @param {function() : void=} opt_callback Callback function.
+ */
+chrome.tabs.executeScript = function(tabId, details, opt_callback) {};
+
+/**
+ * @param {number} tabId Tab id.
+ * @param {function(Array.<Tab>) : void} callback Callback.
+ */
+chrome.tabs.get = function(tabId, callback) {};
+
+/**
+ * @param {number?} windowId Window id.
+ * @param {function(Array.<Tab>) : void} callback Callback.
+ */
+chrome.tabs.getAllInWindow = function(windowId, callback) {};
+
+/**
+ * @param {number?} windowId Window id.
+ * @param {function(Tab) : void} callback Callback.
+ */
+chrome.tabs.getSelected = function(windowId, callback) {};
+
+/**
+ * @param {number?} tabId Tab id.
+ * @param {Object?} details An object which may have 'code', 'file',
+ * or 'allFrames' keys.
+ * @param {function() : void=} opt_callback Callback function.
+ */
+chrome.tabs.insertCSS = function(tabId, details, opt_callback) {};
+
+/**
+ * @param {number} tabId Tab id.
+ * @param {Object.<string, number>} moveProperties An object with 'index'
+ * and optional 'windowId' keys.
+ * @param {function(Tab) : void=} opt_callback Callback.
+ */
+chrome.tabs.move = function(tabId, moveProperties, opt_callback) {};
+
+/**
+ * @param {number} tabId Tab id.
+ * @param {function(Tab) : void=} opt_callback Callback.
+ */
+chrome.tabs.remove = function(tabId, opt_callback) {};
+
+/**
+ * @param {number} tabId Tab id.
+ * @param {*} request The request value of any type.
+ * @param {function(*) : void=} opt_callback The callback function which
+ * takes a JSON response object sent by the handler of the request.
+ */
+chrome.tabs.sendRequest = function(tabId, request, opt_callback) {};
+
+/**
+ * @param {number} tabId Tab id.
+ * @param {Object.<string, (string|boolean)>} updateProperties An object which
+ * may have 'url' or 'selected' key.
+ * @param {function(Tab) : void=} opt_callback Callback.
+ */
+chrome.tabs.update = function(tabId, updateProperties, opt_callback) {};
+
+/** @type {ChromeEvent} */
+chrome.tabs.onAttached;
+/** @type {ChromeEvent} */
+chrome.tabs.onCreated;
+/** @type {ChromeEvent} */
+chrome.tabs.onDetached;
+/** @type {ChromeEvent} */
+chrome.tabs.onMoved;
+/** @type {ChromeEvent} */
+chrome.tabs.onRemoved;
+/** @type {ChromeEvent} */
+chrome.tabs.onSelectionChanged;
+/** @type {ChromeEvent} */
+chrome.tabs.onUpdated;
+
+
+/** @see http://code.google.com/chrome/extensions/windows.html */
+chrome.windows = {};
+
+/**
+ * @param {Object?} createData May have 'url', 'left', 'top',
+ * 'width', or 'height' properties.
+ * @param {function(ChromeWindow) : void=} opt_callback Callback.
+ */
+chrome.windows.create = function(createData, opt_callback) {};
+
+/**
+ * @param {Object.<string, boolean>?} getInfo May have 'populate' key.
+ * @param {function(Array.<ChromeWindow>): void} callback Callback.
+ */
+chrome.windows.getAll = function(getInfo, callback) {};
+
+/**
+ * @param {function(ChromeWindow) : void} callback Callback.
+ */
+chrome.windows.getCurrent = function(callback) {};
+
+/**
+ * @param {function(ChromeWindow) : void} callback Callback.
+ */
+chrome.windows.getLastFocused = function(callback) {};
+
+/**
+ * @param {number} tabId Tab Id.
+ * @param {function() : void=} opt_callback Callback.
+ */
+chrome.windows.remove = function(tabId, opt_callback) {};
+
+/**
+ * @param {number} tabId Tab Id.
+ * @param {Object.<string, number>} updateProperties An object which may
+ * have 'left', 'top', 'width', or 'height' keys.
+ * @param {function() : void=} opt_callback Callback.
+ */
+chrome.windows.update = function(tabId, updateProperties, opt_callback) {};
+
+/** @type {ChromeEvent} */
+chrome.windows.onCreated;
+/** @type {ChromeEvent} */
+chrome.windows.onFocusChanged;
+/** @type {ChromeEvent} */
+chrome.windows.onRemoved;
+
+/**
+ * @see http://code.google.com/chrome/extensions/windows.html#property-WINDOW_ID_NONE
+ * @type {number}
+ */
+chrome.windows.WINDOW_ID_NONE;
+
+/** @see http://code.google.com/chrome/extensions/i18n.html */
+chrome.i18n = {};
+
+/**
+ * @param {function(Array.<string>) : void} callback The callback function which
+ * accepts an array of the accept languages of the browser, such as
+ * 'en-US','en','zh-CN'.
+ */
+chrome.i18n.getAcceptLanguages = function(callback) {};
+
+/**
+ * @param {string} messageName
+ * @param {(string|Array.<string>)=} opt_args
+ * @return {string}
+ */
+chrome.i18n.getMessage = function(messageName, opt_args) {};
+
+
+/** @see http://code.google.com/chrome/extensions/pageAction.html */
+chrome.pageAction = {};
+
+/**
+ * @param {number} tabId Tab Id.
+ */
+chrome.pageAction.hide = function(tabId) {};
+
+/**
+ * @param {number} tabId Tab Id.
+ */
+chrome.pageAction.show = function(tabId) {};
+
+/**
+ * @param {Object} details An object which has 'tabId' and either
+ * 'imageData' or 'path'.
+ */
+chrome.pageAction.setIcon = function(details) {};
+
+/**
+ * @param {Object} details An object which may have 'popup' or 'tabId' as keys.
+ */
+chrome.pageAction.setPopup = function(details) {};
+
+/**
+ * @param {Object} details An object which has 'tabId' and 'title'.
+ */
+chrome.pageAction.setTitle = function(details) {};
+
+/** @type {ChromeEvent} */
+chrome.pageAction.onClicked;
+
+
+/** @see http://code.google.com/chrome/extensions/browserAction.html */
+chrome.browserAction = {};
+
+/**
+ * @param {Object} details An object whose keys are 'color' and
+ * optionally 'tabId'.
+ */
+chrome.browserAction.setBadgeBackgroundColor = function(details) {};
+
+/**
+ * @param {Object} details An object whose keys are 'text' and
+ * optionally 'tabId'.
+ */
+chrome.browserAction.setBadgeText = function(details) {};
+
+/**
+ * @param {Object} details An object which may have 'imageData',
+ * 'path', or 'tabId' as keys.
+ */
+chrome.browserAction.setIcon = function(details) {};
+
+/**
+ * @param {Object} details An object which may have 'popup' or 'tabId' as keys.
+ */
+chrome.browserAction.setPopup = function(details) {};
+
+/**
+ * @param {Object} details An object which has 'title' and optionally
+ * 'tabId'.
+ */
+chrome.browserAction.setTitle = function(details) {};
+
+/** @type {ChromeEvent} */
+chrome.browserAction.onClicked;
+
+
+/** @see http://code.google.com/chrome/extensions/bookmarks.html */
+chrome.bookmarks = {};
+
+/**
+ * @param {Object} bookmark An object which has 'parentId' and
+ * optionally 'index', 'title', and 'url'.
+ * @param {function(BookmarkTreeNode) : void=} opt_callback The
+ * callback function which accepts a BookmarkTreeNode object.
+ * @return {BookmarkTreeNode}
+ */
+chrome.bookmarks.create = function(bookmark, opt_callback) {};
+
+/**
+ * @param {(string|Array.<string>)} idOrIdList
+ * @param {function(Array.<BookmarkTreeNode>) : void} callback The
+ * callback function which accepts an array of BookmarkTreeNode.
+ * @return {Array.<BookmarkTreeNode>}
+ */
+chrome.bookmarks.get = function(idOrIdList, callback) {};
+
+/**
+ * @param {string} id
+ * @param {function(Array.<BookmarkTreeNode>) : void} callback The
+ * callback function which accepts an array of BookmarkTreeNode.
+ * @return {Array.<BookmarkTreeNode>}
+ */
+chrome.bookmarks.getChildren = function(id, callback) {};
+
+/**
+ * @param {function(Array.<BookmarkTreeNode>) : void} callback The
+ * callback function which accepts an array of BookmarkTreeNode.
+ * @return {Array.<BookmarkTreeNode>}
+ */
+chrome.bookmarks.getTree = function(callback) {};
+
+/**
+ * @param {string} id
+ * @param {Object} destination An object which has 'parentId' and
+ * optionally 'index'.
+ * @param {function(Array.<BookmarkTreeNode>) : void=} opt_callback
+ * The callback function which accepts an array of
+ * BookmarkTreeNode.
+ * @return {BookmarkTreeNode}
+ */
+chrome.bookmarks.move = function(id, destination, opt_callback) {};
+
+/**
+ * @param {string} id
+ * @param {function() : void=} opt_callback
+ */
+chrome.bookmarks.remove = function(id, opt_callback) {};
+
+/**
+ * @param {string} id
+ * @param {function() : void=} opt_callback
+ */
+chrome.bookmarks.removeTree = function(id, opt_callback) {};
+
+/**
+ * @param {string} query
+ * @param {function(Array.<BookmarkTreeNode>) : void} callback
+ * @return {Array.<BookmarkTreeNode>}
+ */
+chrome.bookmarks.search = function(query, callback) {};
+
+/**
+ * @param {string} id
+ * @param {Object} changes An object which may have 'title' as a key.
+ * @param {function(BookmarkTreeNode) : void=} opt_callback The
+ * callback function which accepts a BookmarkTreeNode object.
+ * @return {BookmarkTreeNode}
+ */
+chrome.bookmarks.update = function(id, changes, opt_callback) {};
+
+/** @type {ChromeEvent} */
+chrome.bookmarks.onChanged;
+/** @type {ChromeEvent} */
+chrome.bookmarks.onChildrenReordered;
+/** @type {ChromeEvent} */
+chrome.bookmarks.onCreated;
+/** @type {ChromeEvent} */
+chrome.bookmarks.onMoved;
+/** @type {ChromeEvent} */
+chrome.bookmarks.onRemoved;
+
+
+/** @see http://code.google.com/chrome/extensions/dev/contextMenus.html */
+chrome.contextMenus = {};
+
+/**
+ * @param {!Object} createProperties
+ * @param {function()=} opt_callback
+ */
+chrome.contextMenus.create = function(createProperties, opt_callback) {};
+
+/**
+ * @param {number} menuItemId
+ * @param {function()=} opt_callback
+ */
+chrome.contextMenus.remove = function(menuItemId, opt_callback) {};
+
+/**
+ * @param {function()=} opt_callback
+ */
+chrome.contextMenus.removeAll = function(opt_callback) {};
+
+/**
+ * @param {number} id
+ * @param {!Object} updateProperties
+ * @param {function()=} opt_callback
+ */
+chrome.contextMenus.update = function(id, updateProperties, opt_callback) {};
+
+
+/** @see http://code.google.com/chrome/extensions/dev/cookies.html */
+chrome.cookies = {};
+
+/**
+ * @param {Object} details
+ * @param {function(Cookie=) : void} callback
+ */
+chrome.cookies.get = function(details, callback) {};
+
+/**
+ * @param {Object} details
+ * @param {function(Array.<Cookie>) : void} callback
+ */
+chrome.cookies.getAll = function(details, callback) {};
+
+/**
+ * @param {function(Array.<CookieStore>) : void} callback
+ */
+chrome.cookies.getAllCookieStores = function(callback) {};
+
+/**
+ * @param {Object} details
+ */
+chrome.cookies.remove = function(details) {};
+
+/**
+ * @param {Object} details
+ */
+chrome.cookies.set = function(details) {};
+
+/**
+ * @see http://http://code.google.com/chrome/extensions/cookies.html#event-onChanged
+ * @type {ChromeEvent}
+ */
+chrome.cookies.onChanged;
+
+/** @constructor */
+function CookieChangeInfo() {}
+/** @type {boolean} */
+CookieChangeInfo.prototype.removed;
+/** @type {Cookie} */
+CookieChangeInfo.prototype.cookie;
+
+/** @see http://code.google.com/chrome/extensions/experimental.html */
+chrome.experimental = {};
+
+
+/** @see http://code.google.com/chrome/extensions/experimental.clipboard.html */
+chrome.experimental.clipboard = {};
+
+/**
+ * @param {number} tabId
+ * @param {function()=} opt_callback
+ */
+chrome.experimental.clipboard.executeCopy = function(tabId, opt_callback) {};
+
+/**
+ * @param {number} tabId
+ * @param {function()=} opt_callback
+ */
+chrome.experimental.clipboard.executeCut = function(tabId, opt_callback) {};
+
+/**
+ * @param {number} tabId
+ * @param {function()=} opt_callback
+ */
+chrome.experimental.clipboard.executePaste = function(tabId, opt_callback) {};
+
+
+/** @see http://code.google.com/chrome/extensions/experimental.contextMenu.html */
+chrome.experimental.contextMenu = {};
+
+/**
+ * @param {!Object} createProperties
+ * @param {function(number)=} opt_callback
+ */
+chrome.experimental.contextMenu.create =
+ function(createProperties, opt_callback) {};
+
+/**
+ * @param {number} menuItemId
+ * @param {function()=} opt_callback
+ */
+chrome.experimental.contextMenu.remove = function(menuItemId, opt_callback) {};
+
+
+/** @see http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/extension_api.json */
+chrome.experimental.extension = {};
+
+/**
+ * @return {Window}
+ */
+chrome.experimental.extension.getPopupView = function() {};
+
+/** @see http://code.google.com/chrome/extensions/experimental.infobars.html */
+chrome.experimental.infobars = {};
+
+/**
+ * @param {!Object} details
+ * @param {function(Window)=} opt_callback
+ */
+chrome.experimental.infobars.show = function(details, opt_callback) {};
+
+
+/** @see http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/extension_api.json */
+chrome.experimental.metrics = {};
+
+/**
+ * @param {string} metricName
+ */
+chrome.experimental.metrics.recordUserAction = function(metricName) {};
+
+/**
+ * @param {string} metricName
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordPercentage = function(metricName, value) {};
+
+/**
+ * @param {string} metricName
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordCount = function(metricName, value) {};
+
+/**
+ * @param {string} metricName
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordSmallCount = function(metricName, value) {};
+
+/**
+ * @param {string} metricName
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordMediumCount = function(metricName, value) {};
+
+/**
+ * @param {string} metricName
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordTime = function(metricName, value) {};
+
+/**
+ * @param {string} metricName
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordMediumTime = function(metricName, value) {};
+
+/**
+ * @param {string} metricName
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordLongTime = function(metricName, value) {};
+
+/**
+ * @param {MetricType} metric
+ * @param {number} value
+ */
+chrome.experimental.metrics.recordValue = function(metric, value) {};
+
+
+/** @see http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/extension_api.json */
+chrome.experimental.popup = {};
+
+/**
+ * @param {string} url
+ * @param {Object} showDetails
+ * @param {function() : void=} opt_callback
+ */
+chrome.experimental.popup.show = function(url, showDetails, opt_callback) {};
+
+/** @type {ChromeEvent} */
+chrome.experimental.popup.onClosed;
+
+/** @see http://code.google.com/chrome/extensions/experimental.processes.html */
+chrome.experimental.processes = {};
+
+/**
+ * @param {number} tabId
+ * @param {function(Process)} callback
+ */
+chrome.experimental.processes.getProcessForTab = function(tabId, callback) {}
+
+
+chrome.experimental.rlz = {};
+
+/**
+ * @param {string} product
+ * @param {string} accessPoint
+ * @param {string} event
+ */
+chrome.experimental.rlz.recordProductEvent = function(product, accessPoint,
+ event) {};
+
+/**
+ * @param {string} product
+ * @param {Array.<string>} accessPoints
+ */
+chrome.experimental.rlz.clearProductState = function(product, accessPoints) {};
+
+/**
+ * @param {string} product
+ * @param {Array.<string>} accessPoints
+ * @param {string} signature
+ * @param {string} brand
+ * @param {string} id
+ * @param {string} lang
+ * @param {boolean} excludeMachineId
+ * @param {function(boolean): void} callback
+ */
+chrome.experimental.rlz.sendFinancialPing = function(product, accessPoints,
+ signature, brand, id, lang,
+ excludeMachineId,
+ callback) {};
+
+/**
+ * @param {string} accessPoint
+ * @param {function(string): void} callback
+ */
+chrome.experimental.rlz.getAccessPointRlz = function(accessPoint, callback) {};
+
+
+chrome.management = {};
+
+/**
+ * @param {function(Array.<ExtensionInfo>): void} callback
+ */
+chrome.management.getAll = function(callback) {};
+
+/**
+ * @param {string} id
+ * @param {function(ExtensionInfo): void} callback
+ */
+chrome.management.get = function(id, callback) {};
+
+/**
+ * @param {string} id
+ * @param {boolean} enabled
+ * @param {function(): void} callback
+ */
+chrome.management.setEnabled = function(id, enabled, callback) {};
+
+/**
+ * @param {string} id
+ * @param {function(): void} callback
+ */
+chrome.management.uninstall = function(id, callback) {};
+
+/**
+ * @param {string} id
+ * @param {function(): void} callback
+ */
+chrome.management.launchApp = function(id, callback) {};
+
+/** @type {ChromeEvent} */
+chrome.management.onDisabled;
+/** @type {ChromeEvent} */
+chrome.management.onEnabled;
+/** @type {ChromeEvent} */
+chrome.management.onInstalled;
+/** @type {ChromeEvent} */
+chrome.management.onUninstalled;
+
+
+/** @see http://code.google.com/chrome/extensions/idle.html */
+chrome.idle = {};
+
+/**
+ * @param {number} thresholdSeconds Threshold in seconds, used to determine
+ * when a machine is in the idle state.
+ * @param {function(string) : void} callback Callback to handle the state.
+ */
+chrome.idle.queryState = function(thresholdSeconds, callback) {};
+
+/** @type {ChromeEvent} */
+chrome.idle.onStateChanged;
+
+// Classes
+
+/**
+ * @see http://code.google.com/chrome/extensions/management.html
+ * @constructor
+ */
+function ExtensionInfo() {}
+/** @type {string} */
+ExtensionInfo.prototype.id;
+/** @type {string} */
+ExtensionInfo.prototype.name;
+/** @type {string} */
+ExtensionInfo.prototype.version;
+/** @type {boolean} */
+ExtensionInfo.prototype.enabled;
+/** @type {boolean} */
+ExtensionInfo.prototype.isApp;
+/** @type {string} */
+ExtensionInfo.prototype.appLaunchUrl;
+/** @type {string} */
+ExtensionInfo.prototype.optionsUrl;
+/** @type {Array.<IconInfo>} */
+ExtensionInfo.prototype.icons;
+
+/**
+ * @see http://code.google.com/chrome/extensions/management.html
+ * @constructor
+ */
+function IconInfo() {}
+/** @type {number} */
+IconInfo.prototype.size;
+/** @type {string} */
+IconInfo.prototype.url;
+
+/**
+ * @see http://code.google.com/chrome/extensions/tabs.html
+ * @constructor
+ */
+function Tab() {}
+/** @type {number} */
+Tab.prototype.id;
+/** @type {number} */
+Tab.prototype.index;
+/** @type {number} */
+Tab.prototype.windowId;
+/** @type {boolean} */
+Tab.prototype.selected;
+/** @type {string} */
+Tab.prototype.url;
+/** @type {string} */
+Tab.prototype.title;
+/** @type {string} */
+Tab.prototype.favIconUrl;
+/** @type {string} */
+Tab.prototype.status;
+
+/**
+ * @see http://code.google.com/chrome/extensions/windows.html
+ * @constructor
+ */
+function ChromeWindow() {}
+/** @type {number} */
+ChromeWindow.prototype.id;
+/** @type {boolean} */
+ChromeWindow.prototype.focused;
+/** @type {number} */
+ChromeWindow.prototype.top;
+/** @type {number} */
+ChromeWindow.prototype.left;
+/** @type {number} */
+ChromeWindow.prototype.width;
+/** @type {number} */
+ChromeWindow.prototype.height;
+/** @type {Array.<Tab>} */
+ChromeWindow.prototype.tabs;
+/** @type {boolean} */
+ChromeWindow.prototype.incognito;
+/** @type {string} */
+ChromeWindow.prototype.type;
+
+/**
+ * @see http://code.google.com/chrome/extensions/events.html
+ * @constructor
+ */
+function ChromeEvent() {}
+/** @param {Function} callback */
+ChromeEvent.prototype.addListener = function(callback) {};
+/** @param {Function} callback */
+ChromeEvent.prototype.removeListener = function(callback) {};
+/** @param {Function} callback */
+ChromeEvent.prototype.hasListener = function(callback) {};
+/** @param {Function} callback */
+ChromeEvent.prototype.hasListeners = function(callback) {};
+
+/**
+ * @see http://code.google.com/chrome/extensions/extension.html#type-Port
+ * @constructor
+ */
+function Port() {}
+/** @type {string} */
+Port.prototype.name;
+/** @type {Tab} */
+Port.prototype.tab;
+/** @type {MessageSender} */
+Port.prototype.sender;
+/** @type {ChromeEvent} */
+Port.prototype.onMessage;
+/** @type {ChromeEvent} */
+Port.prototype.onDisconnect;
+/**
+ * @param {Object.<string>} obj Message object.
+ */
+Port.prototype.postMessage = function(obj) {};
+Port.prototype.disconnect = function() {};
+
+/**
+ * @see http://code.google.com/chrome/extensions/extension.html#type-MessageSender
+ * @constructor
+ */
+function MessageSender() {}
+/** @type {Tab} */
+MessageSender.prototype.tab;
+/** @type {string} */
+MessageSender.prototype.id;
+
+/**
+ * @see http://code.google.com/chrome/extensions/bookmarks.html#type-BookmarkTreeNode
+ * @constructor
+ */
+function BookmarkTreeNode() {}
+/** @type {string} */
+BookmarkTreeNode.prototype.id;
+/** @type {string} */
+BookmarkTreeNode.prototype.parentId;
+/** @type {number} */
+BookmarkTreeNode.prototype.index;
+/** @type {string} */
+BookmarkTreeNode.prototype.url;
+/** @type {string} */
+BookmarkTreeNode.prototype.title;
+/** @type {number} */
+BookmarkTreeNode.prototype.dateAdded;
+/** @type {number} */
+BookmarkTreeNode.prototype.dateGroupModified;
+/** @type {Array.<BookmarkTreeNode>} */
+BookmarkTreeNode.prototype.children;
+
+/**
+ * @see http://code.google.com/chrome/extensions/dev/cookies.html#type-Cookie
+ * @constructor
+ */
+function Cookie() {}
+/** @type {string} */
+Cookie.prototype.name;
+/** @type {string} */
+Cookie.prototype.value;
+/** @type {string} */
+Cookie.prototype.domain;
+/** @type {boolean} */
+Cookie.prototype.hostOnly;
+/** @type {string} */
+Cookie.prototype.path;
+/** @type {boolean} */
+Cookie.prototype.secure;
+/** @type {boolean} */
+Cookie.prototype.httpOnly;
+/** @type {boolean} */
+Cookie.prototype.session;
+/** @type {number} */
+Cookie.prototype.expirationDate;
+/** @type {string} */
+Cookie.prototype.storeId;
+
+/**
+ * @see http://code.google.com/chrome/extensions/dev/cookies.html#type-CookieStore
+ * @constructor
+ */
+function CookieStore() {}
+/** @type {string} */
+CookieStore.prototype.id;
+/** @type {Array.<number>} */
+CookieStore.prototype.tabIds;
+
+/**
+ * Experimental MetricType
+ * @constructor
+ */
+function MetricType() {}
+/** @type {string} */
+MetricType.prototype.metricName;
+/** @type {string} */
+MetricType.prototype.type;
+/** @type {number} */
+MetricType.prototype.min;
+/** @type {number} */
+MetricType.prototype.max;
+/** @type {number} */
+MetricType.prototype.buckets;
+
+/**
+ * Experimental Process type.
+ * @see http://code.google.com/chrome/extensions/experimental.processes.html#type-Process
+ * @constructor
+ */
+function Process() {}
+/** @type {number} */
+Process.prototype.id;
+
+/**
+ * @see http://code.google.com/chrome/extensions/dev/contextMenus.html#type-OnClickData
+ * @constructor
+ */
+function OnClickData() {}
+/** @type {number} */
+OnClickData.prototype.menuItemId;
+/** @type {number} */
+OnClickData.prototype.parentMenuItemId;
+/** @type {string} */
+OnClickData.prototype.mediaType;
+/** @type {string} */
+OnClickData.prototype.linkUrl;
+/** @type {string} */
+OnClickData.prototype.srcUrl;
+/** @type {string} */
+OnClickData.prototype.pageUrl;
+/** @type {string} */
+OnClickData.prototype.frameUrl;
+/** @type {string} */
+OnClickData.prototype.selectionText;
+/** @type {string} */
+OnClickData.prototype.editable;
View
209 scripts/externs/jquery_1_4_2.externs → externs/jquery-1.3.2.externs
@@ -14,25 +14,24 @@
* limitations under the License.
*/
+/*
+goog.provide('externs.jQuery.v1_3_2')
+*/
+
/**
- * @fileoverview Externs for jQuery 1.4.2.
- * The externs defined here are in the order of the jQuery 1.3.2 (HA HA!) documentation pages.
+ * @fileoverview Externs for jQuery 1.3.2.
+ * The externs defined here are in the order of the jQuery documentation pages.
* Note that some functions use different return types depending on the number
* of parameters passed in. In this cases, you may need to annotate the type
* of the result in your code, so the JSCompiler understands which type you're
* expecting. For example:
* <code>var elt = /** @type {Element} * / (foo.get(0));</code>
* @see http://docs.jquery.com/
-*
*/
-/*
-goog.provide('externs.jQuery.v1_4_2')
-*/
-
/**
- * @param {(string|Node|Element|Array.<Element>|jQueryObject|Function)=} arg
- * @param {(Element|jQueryObject|Document|Object)=} opt_arg
+ * @param {string|Node|Element|Array.<Element>|Function|Window} arg
+ * @param {(jQueryObject|Document)=} opt_arg
* @return {jQueryObject}
*/
var $ = function(arg, opt_arg) {};
@@ -70,7 +69,7 @@ jQueryObject.prototype.context = function() {};
jQueryObject.prototype.get = function(opt_index) {};
/**
- * @param {(string|Element|jQueryObject)=} subject
+ * @param {Element|jQueryObject} subject
* @return {number}
*/
jQueryObject.prototype.index = function(subject) {};
@@ -79,8 +78,8 @@ jQueryObject.prototype.index = function(subject) {};
// http://docs.jquery.com/Core - Data
/**
- * @param {(Object|string)=} name
- * @param {*=} opt_value
+ * @param {string} name
+ * @param {string=} opt_value
* @return {*}
*/
jQueryObject.prototype.data = function(name, opt_value) {};
@@ -124,7 +123,7 @@ jQueryObject.prototype.removeAttr = function(name) {};
// http://docs.jquery.com/Attributes - Class
/**
- * @param {string|function(number, string):string} klass
+ * @param {string} klass
* @return {jQueryObject}
*/
jQueryObject.prototype.addClass = function(klass) {};
@@ -136,35 +135,35 @@ jQueryObject.prototype.addClass = function(klass) {};
jQueryObject.prototype.hasClass = function(klass) {};
/**
- * @param {(string|function(number, string):string)=} opt_klass
+ * @param {string=} opt_klass
* @return {jQueryObject}
*/
jQueryObject.prototype.removeClass = function(opt_klass) {};
/**
- * @param {string|function(number,string):string} klassOrFunction
+ * @param {string} klass
* @param {boolean=} opt_switch
* @return {jQueryObject}
*/
-jQueryObject.prototype.toggleClass = function(klassOrFunction, opt_switch) {};
+jQueryObject.prototype.toggleClass = function(klass, opt_switch) {};
// http://docs.jquery.com/Attributes - HTML, Text, Value
/**
- * @param {(string|function(number, string):string)=} opt_val
+ * @param {string} opt_val
* @return {string|jQueryObject}
*/
jQueryObject.prototype.html = function(opt_val) {};
/**
- * @param {(string|function(number,string):string)=} opt_val
+ * @param {string=} opt_val
* @return {string|jQueryObject}
*/
jQueryObject.prototype.text = function(opt_val) {};
/**
- * @param {(string|Array.<string>|function(number,*))=} opt_val
+ * @param {string|Array.<string>} opt_val
* @return {string|Array|jQueryObject}
*/
jQueryObject.prototype.val = function(opt_val) {};
@@ -197,7 +196,7 @@ jQueryObject.prototype.is = function(expr) {};
jQueryObject.prototype.map = function(callback) {};
/**
- * @param {string|Element|Array.<Element>|function(number):boolean} expr
+ * @param {string} expr
* @return {jQueryObject}
*/
jQueryObject.prototype.not = function(expr) {};
@@ -214,10 +213,9 @@ jQueryObject.prototype.slice = function(start, opt_end) {};
/**
* @param {string|Element|Array.<Element>} expr
- * @param {Element=} context
* @return {jQueryObject}
*/
-jQueryObject.prototype.add = function(expr, context) {};
+jQueryObject.prototype.add = function(expr) {};
/**
* @param {string=} opt_expr
@@ -227,10 +225,9 @@ jQueryObject.prototype.children = function(opt_expr) {};
/**
* @param {string} expr
- * @param {Element=} context
* @return {jQueryObject}
*/
-jQueryObject.prototype.closest = function(expr, context) {};
+jQueryObject.prototype.closest = function(expr) {};
/**
* @return {jQueryObject}
@@ -304,7 +301,7 @@ jQueryObject.prototype.end = function() {};
// http://docs.jquery.com/Manipulation
/**
- * @param {string|Element|jQueryObject|function(number, string):string} content
+ * @param {string|Node|Element|jQueryObject} content
* @return {jQueryObject}
*/
jQueryObject.prototype.append = function(content) {};
@@ -316,7 +313,7 @@ jQueryObject.prototype.append = function(content) {};
jQueryObject.prototype.appendTo = function(selector) {};
/**
- * @param {string|Element|jQueryObject|function(number, string):string} content
+ * @param {string|Node|Element|jQueryObject} content
* @return {jQueryObject}
*/
jQueryObject.prototype.prepend = function(content) {};
@@ -328,13 +325,13 @@ jQueryObject.prototype.prepend = function(content) {};
jQueryObject.prototype.prependTo = function(selector) {};
/**
- * @param {string|Element|jQueryObject|function(number):string } content
+ * @param {string|Node|Element|jQueryObject} content
* @return {jQueryObject}
*/
jQueryObject.prototype.after = function(content) {};
/**
- * @param {string|Element|jQueryObject|function():string} content
+ * @param {string|Node|Element|jQueryObject} content
* @return {jQueryObject}
*/
jQueryObject.prototype.before = function(content) {};
@@ -352,25 +349,25 @@ jQueryObject.prototype.insertAfter = function(selector) {};
jQueryObject.prototype.insertBefore = function(selector) {};
/**
- * @param {string|jQueryObject|Element|Function} arg
+ * @param {string|Element} arg
* @return {jQueryObject}
*/
jQueryObject.prototype.wrap = function(arg) {};
/**
- * @param {string|jQueryObject|Element} arg
+ * @param {string|Element} arg
* @return {jQueryObject}
*/
jQueryObject.prototype.wrapAll = function(arg) {};
/**
- * @param {string|jQueryObject|Element|Function} arg
+ * @param {string|Element} arg
* @return {jQueryObject}
*/
jQueryObject.prototype.wrapInner = function(arg) {};
/**
- * @param {string|Element|jQueryObject|Function} content
+ * @param {string|Node|Element|jQueryObject} content
* @return {jQueryObject}
*/
jQueryObject.prototype.replaceWith = function(content) {};
@@ -409,10 +406,9 @@ jQueryObject.prototype.clone = function(opt_cloneEvents) {};
jQueryObject.prototype.css = function(nameOrProperties, opt_value) {};
/**
- * @param {(Object|function(number, Object):Object)=} objectOrFunction
- * @return {Object|jQueryObject}
+ * @return {Object}
*/
-jQueryObject.prototype.offset = function(objectOrFunction) {};
+jQueryObject.prototype.offset = function() {};
/**
* @return {Object}
@@ -707,143 +703,16 @@ jQueryObject.prototype.animate = function(
*/
jQueryObject.prototype.stop = function(opt_clearQueue, opt_gotoEnd) {};
-/**
- * @param {string|Object} events
- * @param {Object=} eventData
- * @param {Function=} handler
- * @return {jQueryObject}
- */
-jQueryObject.prototype.bind = function(events, eventData, handler) {};
-
-/**
- * @param {string|Object} eventType
- * @param {Function=} handler
- * @return {jQueryObject}
- */
-jQueryObject.prototype.unbind = function(eventType, handler) {};
-
-/**
- * @param {string=} queueName
- * @return {jQueryObject}
- */
-jQueryObject.prototype.clearQueue = function(queueName) {};
-
-/**
- * @param {number} duration
- * @param {string=} queueName
- * @return {jQueryObject}
- */
-jQueryObject.prototype.delay = function(duration, queueName) {};
-
-/**
- * @param {string=} selector
- * @return {jQueryObject}
- */
-jQueryObject.prototype.detach = function(selector) {};
-
-/**
- * @return {jQueryObject}
- */
-jQueryObject.prototype.first = function() {};
-
-/**
- * @param {function(Object)} handler
- * @return {jQueryObject}
- */
-jQueryObject.prototype.focusin = function(handler) {};
-
-/**
- * @param {function(Object)} handler
- * @return {jQueryObject}
- */
-jQueryObject.prototype.focusout = function(handler) {};
-
-/**
- * @param {string|Element} selectorOrElement
- * @return {jQueryObject}
- */
-jQueryObject.prototype.has = function(selectorOrElement) {};
-
-/**
- * @return {jQueryObject}
- */
-jQueryObject.prototype.last = function() {};
-
-/**
- * @param {string=} selector
- * @return {jQueryObject}
- */
-jQueryObject.prototype.nextUntil = function(selector) {};
-
-/**
- * @param {string=} selector
- * @return {jQueryObject}
- */
-jQueryObject.prototype.parentsUntil = function(selector) {};
-
-/**
- * @param {string=} selector
- * @return {jQueryObject}
- */
-jQueryObject.prototype.prevUntil = function(selector) {};
-
-/**
- * @return {Array}
- */
-jQueryObject.prototype.toArray = function() {};
-
-/**
- * @return {jQueryObject}
- */
-jQueryObject.prototype.unwrap = function() {};
-
-/**
- * @param {Element} element
- * @param {string} key
- * @param {*=} value
- * @return {jQueryObject|Object}
- */
-jQuery.data = function(element, key, value) {};
-
-
-/**
- * @param {Object} obj
- * @return {boolean}
- */
-jQuery.isEmptyObject = function(obj) {};
-
-/**
- * @param {Object} obj
- * @return {boolean}
- */
-jQuery.isPlainObject = function(obj) {};
-
-/**
- * @return {Function}
- */
-jQuery.noop = function() {};
+jQuery.fx = {};
-/**
- * @param {Array|Object} arrayOrObject
- * @param {boolean=} traditional
- * @return {string}
- */
-jQuery.param = function(arrayOrObject, traditional) {};
+/** @type {boolean} */
+jQuery.fx.off;
-/**
- * @param {Function|Object} functionOrContext
- * @param {Object|string} contextOrName
- * @return {Function}
- */
-jQuery.proxy = function(functionOrContext, contextOrName) {};
+// http://docs.jquery.com/Utilities
/**
- * @param {string} str
- * @return {string}
+ * @param {number|string|Object} value
+ * @param {Array} array
+ * @return {number}
*/
-jQuery.trim = function(str) {};
-
-jQuery.fx = {};
-
-/** @type {boolean} */
-jQuery.fx.off;
+jQueryObject.prototype.inArray = function(value, array) {};
View
1,289 externs/jquery-1.4.3.externs
@@ -0,0 +1,1289 @@
+/*
+ * Copyright 2010 The Closure Compiler Authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+goog.provide('externs.jQuery.v1_4_3')
+*/
+
+/**
+ * @fileoverview Externs for jQuery 1.4.3.
+ * Note that some functions use different return types depending on the number
+ * of parameters passed in. In these cases, you may need to annotate the type
+ * of the result in your code, so the JSCompiler understands which type you're
+ * expecting. For example:
+ * <code>var elt = /** @type {Element} * / (foo.get(0));</code>
+ * @see http://api.jquery.com/
+ * @externs
+ */
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject|Array|Object|function())=} arg1
+ * @param {(Element|jQueryObject|Document|Object)=} arg2
+ * @return {jQueryObject}
+ */
+function $(arg1, arg2) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject|Array|Object|function())=} arg1
+ * @param {(Element|jQueryObject|Document|Object)=} arg2
+ * @return {jQueryObject}
+ */
+function jQuery(arg1, arg2) {};
+
+/**
+ * @param {Object.<string,*>} settings
+ * @return {XMLHttpRequest}
+ */
+jQuery.ajax = function(settings) {};
+
+/** @param {Object.<string,*>} options */
+jQuery.ajaxSetup = function(options) {};
+
+/** @type {boolean} */
+jQuery.boxModel;
+
+/** @type {Object.<string,*>} */
+jQuery.browser;
+
+/** @type {string} */
+jQuery.browser.version;
+
+/**
+ * @param {Element} container
+ * @param {Element} contained
+ * @return {boolean}
+ */
+jQuery.contains = function(container, contained) {};
+
+/** @type {Object.<string, *>} */
+jQuery.cssHooks;
+
+/**
+ * @param {Element} elem
+ * @param {string=} key
+ * @param {Object=} value
+ * @return {(jQueryObject|Object)}
+ */
+jQuery.data = function(elem, key, value) {};
+
+/**
+ * @param {Element} elem
+ * @param {string=} queueName
+ * @return {jQueryObject}
+ */
+jQuery.dequeue = function(elem, queueName) {};
+
+/**
+ * @param {Object} collection
+ * @param {function(number,*)} callback
+ * @return {Object}
+ */
+jQuery.each = function(collection, callback) {};
+
+/** @param {string} message */
+jQuery.error = function(message) {};
+
+/**
+ * @constructor
+ * @param {string} eventType
+ */
+jQuery.event = function(eventType) {};
+
+/** @type {Element} */
+jQuery.event.prototype.currentTarget;
+
+/** @type {*} */
+jQuery.event.prototype.data;
+
+/**
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.event.prototype.isDefaultPrevented = function() {};
+
+/**
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.event.prototype.isImmediatePropagationStopped = function() {};
+
+/**
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.event.prototype.isPropagationStopped = function() {};
+
+/** @type {string} */
+jQuery.event.prototype.namespace;
+
+/** @type {number} */
+jQuery.event.prototype.pageX;
+
+/** @type {number} */
+jQuery.event.prototype.pageY;
+
+/** @return {undefined} */
+jQuery.event.prototype.preventDefault = function() {};
+
+/** @type {Element} */
+jQuery.event.prototype.relatedTarget;
+
+/** @type {Object} */
+jQuery.event.prototype.result;
+
+/** @return {undefined} */
+jQuery.event.prototype.stopImmediatePropagation = function() {};
+
+/** @return {undefined} */
+jQuery.event.prototype.stopPropagation = function() {};
+
+/** @type {Element} */
+jQuery.event.prototype.target;
+
+/** @type {number} */
+jQuery.event.prototype.timeStamp;
+
+/** @type {string} */
+jQuery.event.prototype.type;
+
+/** @type {string} */
+jQuery.event.prototype.which;
+
+/**
+ * @param {(Object|boolean)=} arg1
+ * @param {Object=} arg2
+ * @param {Object=} arg3
+ * @param {Object=} objectN
+ * @return {Object}
+ */
+jQuery.extend = function(arg1, arg2, arg3, objectN) {};
+
+jQuery.fx = {};
+
+/** @type {number} */
+jQuery.fx.interval;
+
+/** @type {boolean} */
+jQuery.fx.off;
+
+/**
+ * @param {string} url
+ * @param {(Object.<string,*>|string)=} data
+ * @param {function(string,string,XMLHttpRequest)=} callback
+ * @param {string=} dataType
+ * @return {XMLHttpRequest}
+ */
+jQuery.get = function(url, data, callback, dataType) {};
+
+/**
+ * @param {string} url
+ * @param {Object.<string,*>=} data
+ * @param {function(string,string)=} callback
+ * @return {XMLHttpRequest}
+ */
+jQuery.getJSON = function(url, data, callback) {};
+
+/**
+ * @param {string} url
+ * @param {function(string,string)=} success
+ * @return {XMLHttpRequest}
+ */
+jQuery.getScript = function(url, success) {};
+
+/** @param {string} code */
+jQuery.globalEval = function(code) {};
+
+/**
+ * @param {Array} arr
+ * @param {function(*,number)} fnc
+ * @param {boolean=} invert
+ * @return {Array}
+ */
+jQuery.grep = function(arr, fnc, invert) {};
+
+/**
+ * @param {*} value
+ * @param {Array} arr
+ * @return {number}
+ * @nosideeffects
+ */
+jQuery.inArray = function(value, arr) {};
+
+/**
+ * @param {Object} obj
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.isArray = function(obj) {};
+
+/**
+ * @param {Object} obj
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.isEmptyObject = function(obj) {};
+
+/**
+ * @param {Object} obj
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.isFunction = function(obj) {};
+
+/**
+ * @param {Object} obj
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.isPlainObject = function(obj) {};
+
+/**
+ * @param {Object} obj
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.isWindow = function(obj) {};
+
+/**
+ * @param {Element} node
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQuery.isXMLDoc = function(node) {};
+
+/**
+ * @param {Object} obj
+ * @return {Array}
+ */
+jQuery.makeArray = function(obj) {};
+
+/**
+ * @param {Array} arr
+ * @param {function(*,number)} callback
+ * @return {Array}
+ */
+jQuery.map = function(arr, callback) {};
+
+/**
+ * @param {Array} first
+ * @param {Array} second
+ * @return {Array}
+ */
+jQuery.merge = function(first, second) {};
+
+/**
+ * @param {boolean=} removeAll
+ * @return {Object}
+ */
+jQuery.noConflict = function(removeAll) {};
+
+/**
+ * @return {function()}
+ * @nosideeffects
+ */
+jQuery.noop = function() {};
+
+/**
+ * @param {(Array|Object)} obj
+ * @param {boolean=} traditional
+ * @return {string}
+ */
+jQuery.param = function(obj, traditional) {};
+
+/**
+ * @param {string} json
+ * @return {Object}
+ */
+jQuery.parseJSON = function(json) {};
+
+/**
+ * @param {string} url
+ * @param {(Object.<string,*>|string)=} data
+ * @param {function(string,string,XMLHttpRequest)=} success
+ * @param {string=} dataType
+ * @return {XMLHttpRequest}
+ */
+jQuery.post = function(url, data, success, dataType) {};
+
+/**
+ * @param {(function()|Object)} arg1
+ * @param {(Object|string)} arg2
+ * @return {function()}
+ */
+jQuery.proxy = function(arg1, arg2) {};
+
+/**
+ * @param {Element} elem
+ * @param {string=} queueName
+ * @param {(Array|function())=} arg3
+ * @return {(Array|jQueryObject)}
+ */
+jQuery.queue = function(elem, queueName, arg3) {};
+
+/**
+ * @param {Element} elem
+ * @param {string=} name
+ * @return {jQueryObject}
+ */
+jQuery.removeData = function(elem, name) {};
+
+/** @const */
+jQuery.support;
+
+/** @type {boolean} */
+jQuery.support.boxModel;
+
+/** @type {boolean} */
+jQuery.support.changeBubbles;
+
+/** @type {boolean} */
+jQuery.support.cssFloat;
+
+/** @type {boolean} */
+jQuery.support.hrefNormalized;
+
+/** @type {boolean} */
+jQuery.support.htmlSerialize;
+
+/** @type {boolean} */
+jQuery.support.leadingWhitespace;
+
+/** @type {boolean} */
+jQuery.support.noCloneEvent;
+
+/** @type {boolean} */
+jQuery.support.opacity;
+
+/** @type {boolean} */
+jQuery.support.scriptEval;
+
+/** @type {boolean} */
+jQuery.support.style;
+
+/** @type {boolean} */
+jQuery.support.submitBubbles;
+
+/** @type {boolean} */
+jQuery.support.tbody;
+
+/**
+ * @param {string} str
+ * @return {string}
+ * @nosideeffects
+ */
+jQuery.trim = function(str) {};
+
+/**
+ * @param {Object} obj
+ * @return {string}
+ * @nosideeffects
+ */
+jQuery.type = function(obj) {};
+
+/**
+ * @param {Array} arr
+ * @return {Array}
+ */
+jQuery.unique = function(arr) {};
+
+/**
+ * @constructor
+ * @private
+ */
+function jQueryObject() { };
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)} arg1
+ * @param {Element=} context
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.add = function(arg1, context) {};
+
+/**
+ * @param {(string|function(number,string))} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.addClass = function(arg1) {};
+
+/**
+ * @param {(string|Element|jQueryObject|function(number))} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.after = function(arg1) {};
+
+/**
+ * @param {function(jQuery.event,XMLHttpRequest,Object.<string, *>)} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.ajaxComplete = function(handler) {};
+
+/**
+ * @param {function(jQuery.event,XMLHttpRequest,Object.<string, *>,*)} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.ajaxError = function(handler) {};
+
+/**
+ * @param {function(jQuery.event,XMLHttpRequest,Object.<string, *>)} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.ajaxSend = function(handler) {};
+
+/**
+ * @param {function()} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.ajaxStart = function(handler) {};
+
+/**
+ * @param {function()} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.ajaxStop = function(handler) {};
+
+/**
+ * @param {function(jQuery.event,XMLHttpRequest,Object.<string, *>)} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.ajaxSuccess = function(handler) {};
+
+/**
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.andSelf = function() {};
+
+/**
+ * @param {Object.<string,*>} properties
+ * @param {(string|number|Object.<string,*>)=} arg2
+ * @param {string=} easing
+ * @param {function()=} callback
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.animate = function(properties, arg2, easing, callback) {};
+
+/**
+ * @param {(string|Element|jQueryObject|function(number,string))} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.append = function(arg1) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)} target
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.appendTo = function(target) {};
+
+/**
+ * @param {(string|Object.<string,*>)} arg1
+ * @param {(Object|function(number,string))=} arg2
+ * @return {(string|jQueryObject)}
+ */
+jQueryObject.prototype.attr = function(arg1, arg2) {};
+
+/**
+ * @param {(string|Element|jQueryObject|function())} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.before = function(arg1) {};
+
+/**
+ * @param {(string|Object)} arg1
+ * @param {Object=} eventData
+ * @param {(function(jQuery.event)|boolean)=} arg3
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.bind = function(arg1, eventData, arg3) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.blur = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.change = function(arg1, handler) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.children = function(selector) {};
+
+/**
+ * @param {string=} queueName
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.clearQueue = function(queueName) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.click = function(arg1, handler) {};
+
+/**
+ * @param {boolean=} withDataAndEvents
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.clone = function(withDataAndEvents) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject|Array)} arg1
+ * @param {Element=} context
+ * @return {(jQueryObject|Array)}
+ * @nosideeffects
+ */
+jQueryObject.prototype.closest = function(arg1, context) {};
+
+/**
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.contents = function() {};
+
+/** @type {Element} */
+jQueryObject.prototype.context;
+
+/**
+ * @param {(string|Object.<string,*>)} arg1
+ * @param {(string|number|function(number,*))=} arg2
+ * @return {(string|jQueryObject)}
+ */
+jQueryObject.prototype.css = function(arg1, arg2) {};
+
+/**
+ * @param {(string|Object)=} arg1
+ * @param {Object=} value
+ * @return {(jQueryObject|Object)}
+ */
+jQueryObject.prototype.data = function(arg1, value) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.dblclick = function(arg1, handler) {};
+
+/**
+ * @param {number} duration
+ * @param {string=} queueName
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.delay = function(duration, queueName) {};
+
+/**
+ * @param {string} selector
+ * @param {string} eventType
+ * @param {(function()|Object)} arg3
+ * @param {function()=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.delegate = function(selector, eventType, arg3, handler) {};
+
+/**
+ * @param {string=} queueName
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.dequeue = function(queueName) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.detach = function(selector) {};
+
+/**
+ * @param {string=} eventType
+ * @param {string=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.die = function(eventType, handler) {};
+
+/**
+ * @param {function(number,Element)} fnc
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.each = function(fnc) {};
+
+/** @return {jQueryObject} */
+jQueryObject.prototype.empty = function() {};
+
+/**
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.end = function() {};
+
+/**
+ * @param {number} arg1
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.eq = function(arg1) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.error = function(arg1, handler) {};
+
+/**
+ * @param {(string|number)=} duration
+ * @param {(function()|string)=} arg2
+ * @param {function()=} callback
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.fadeIn = function(duration, arg2, callback) {};
+
+/**
+ * @param {(string|number)=} duration
+ * @param {(function()|string)=} arg2
+ * @param {function()=} callback
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.fadeOut = function(duration, arg2, callback) {};
+
+/**
+ * @param {(string|number)=} duration
+ * @param {number=} opacity
+ * @param {(function()|string)=} arg3
+ * @param {function()=} callback
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.fadeTo = function(duration, opacity, arg3, callback) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject|function(number)|Object)} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.filter = function(arg1) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.find = function(selector) {};
+
+/**
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.first = function() {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.focus = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.focusin = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.focusout = function(arg1, handler) {};
+
+/**
+ * @param {number=} index
+ * @return {(Element|Array)}
+ * @nosideeffects
+ */
+jQueryObject.prototype.get = function(index) {};
+
+/**
+ * @param {(string|Element)} arg1
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.has = function(arg1) {};
+
+/**
+ * @param {string} className
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQueryObject.prototype.hasClass = function(className) {};
+
+/**
+ * @param {(string|number|function(number,number))=} arg1
+ * @return {(number|jQueryObject)}
+ */
+jQueryObject.prototype.height = function(arg1) {};
+
+/**
+ * @param {(string|number)=} duration
+ * @param {(function()|string)=} arg2
+ * @param {function()=} callback
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.hide = function(duration, arg2, callback) {};
+
+/**
+ * @param {function(jQuery.event)} arg1
+ * @param {function(jQuery.event)=} handlerOut
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.hover = function(arg1, handlerOut) {};
+
+/**
+ * @param {(string|function(number,string))=} arg1
+ * @return {(string|jQueryObject)}
+ */
+jQueryObject.prototype.html = function(arg1) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} arg1
+ * @return {number}
+ */
+jQueryObject.prototype.index = function(arg1) {};
+
+/**
+ * @return {number}
+ * @nosideeffects
+ */
+jQueryObject.prototype.innerHeight = function() {};
+
+/**
+ * @return {number}
+ * @nosideeffects
+ */
+jQueryObject.prototype.innerWidth = function() {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)} target
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.insertAfter = function(target) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)} target
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.insertBefore = function(target) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)} selector
+ * @return {boolean}
+ * @nosideeffects
+ */
+jQueryObject.prototype.is = function(selector) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.keydown = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.keypress = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.keyup = function(arg1, handler) {};
+
+/**
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.last = function() {};
+
+/** @type {number} */
+jQueryObject.prototype.length;
+
+/**
+ * @param {string} eventType
+ * @param {(function()|Object)} arg2
+ * @param {function()=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.live = function(eventType, arg2, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object|string)=} arg1
+ * @param {(function(jQuery.event)|Object.<string,*>|string)=} arg2
+ * @param {function(string,string,XMLHttpRequest)=} complete
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.load = function(arg1, arg2, complete) {};
+
+/**
+ * @param {function(number,Element)} callback
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.map = function(callback) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.mousedown = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.mouseenter = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.mouseleave = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.mousemove = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.mouseout = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.mouseover = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.mouseup = function(arg1, handler) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.next = function(selector) {};
+
+/**
+ * @param {string=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.nextAll = function(selector) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.nextUntil = function(selector) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject|function(number))} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.not = function(arg1) {};
+
+/**
+ * @param {(Object|function(number,{top:number,left:number}))=} arg1
+ * @return {(Object|jQueryObject)}
+ */
+jQueryObject.prototype.offset = function(arg1) {};
+
+/**
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.offsetParent = function() {};
+
+/**
+ * @param {string} eventType
+ * @param {Object=} eventData
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.one = function(eventType, eventData, handler) {};
+
+/**
+ * @param {boolean=} includeMargin
+ * @return {number}
+ * @nosideeffects
+ */
+jQueryObject.prototype.outerHeight = function(includeMargin) {};
+
+/**
+ * @param {boolean=} includeMargin
+ * @return {number}
+ * @nosideeffects
+ */
+jQueryObject.prototype.outerWidth = function(includeMargin) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.parent = function(selector) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.parents = function(selector) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.parentsUntil = function(selector) {};
+
+/**
+ * @return {Object}
+ * @nosideeffects
+ */
+jQueryObject.prototype.position = function() {};
+
+/**
+ * @param {(string|Element|jQueryObject|function(number,string))} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.prepend = function(arg1) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)} target
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.prependTo = function(target) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.prev = function(selector) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.prevAll = function(selector) {};
+
+/**
+ * @param {(Window|Document|Element|Array.<Element>|string|jQueryObject)=} selector
+ * @return {jQueryObject}
+ * @nosideeffects
+ */
+jQueryObject.prototype.prevUntil = function(selector) {};
+
+/**
+ * @param {Array} elements
+ * @param {string=} name
+ * @param {Array=} args
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.pushStack = function(elements, name, args) {};
+
+/**
+ * @param {string=} queueName
+ * @param {(Array|function(function()))=} arg2
+ * @return {(Array|jQueryObject)}
+ */
+jQueryObject.prototype.queue = function(queueName, arg2) {};
+
+/**
+ * @param {function()} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.ready = function(handler) {};
+
+/**
+ * @param {string=} selector
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.remove = function(selector) {};
+
+/**
+ * @param {string} attributeName
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.removeAttr = function(attributeName) {};
+
+/**
+ * @param {(string|function(number,string))=} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.removeClass = function(arg1) {};
+
+/**
+ * @param {string=} name
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.removeData = function(name) {};
+
+/** @return {jQueryObject} */
+jQueryObject.prototype.replaceAll = function() {};
+
+/**
+ * @param {(string|Element|jQueryObject|function())} arg1
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.replaceWith = function(arg1) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.resize = function(arg1, handler) {};
+
+/**
+ * @param {(function(jQuery.event)|Object)=} arg1
+ * @param {function(jQuery.event)=} handler
+ * @return {jQueryObject}
+ */
+jQueryObject.prototype.scroll = function(arg1, handler) {};
+