gecko/js/xpconnect/tests/chrome/test_cows.xul
Bobby Holley 31a5711dcb Bug 691411 - Move js/src/xpconnect to js/xpconnect and rename source files while we're at it. r=khuey, sr=mrbkap
--HG--
rename : js/src/xpconnect/Makefile.in => js/xpconnect/Makefile.in
rename : js/src/xpconnect/crashtests/117307-1.html => js/xpconnect/crashtests/117307-1.html
rename : js/src/xpconnect/crashtests/193710.html => js/xpconnect/crashtests/193710.html
rename : js/src/xpconnect/crashtests/290162-1.html => js/xpconnect/crashtests/290162-1.html
rename : js/src/xpconnect/crashtests/326615-1.html => js/xpconnect/crashtests/326615-1.html
rename : js/src/xpconnect/crashtests/328553-1.html => js/xpconnect/crashtests/328553-1.html
rename : js/src/xpconnect/crashtests/346258-1.html => js/xpconnect/crashtests/346258-1.html
rename : js/src/xpconnect/crashtests/346512-1-frame1.xhtml => js/xpconnect/crashtests/346512-1-frame1.xhtml
rename : js/src/xpconnect/crashtests/346512-1-frame2.xhtml => js/xpconnect/crashtests/346512-1-frame2.xhtml
rename : js/src/xpconnect/crashtests/346512-1.xhtml => js/xpconnect/crashtests/346512-1.xhtml
rename : js/src/xpconnect/crashtests/382133-1.html => js/xpconnect/crashtests/382133-1.html
rename : js/src/xpconnect/crashtests/386680-1.html => js/xpconnect/crashtests/386680-1.html
rename : js/src/xpconnect/crashtests/394810-1.html => js/xpconnect/crashtests/394810-1.html
rename : js/src/xpconnect/crashtests/400349-1.html => js/xpconnect/crashtests/400349-1.html
rename : js/src/xpconnect/crashtests/403356-1.html => js/xpconnect/crashtests/403356-1.html
rename : js/src/xpconnect/crashtests/418139-1.svg => js/xpconnect/crashtests/418139-1.svg
rename : js/src/xpconnect/crashtests/420513-1.html => js/xpconnect/crashtests/420513-1.html
rename : js/src/xpconnect/crashtests/453935-1.html => js/xpconnect/crashtests/453935-1.html
rename : js/src/xpconnect/crashtests/462926.html => js/xpconnect/crashtests/462926.html
rename : js/src/xpconnect/crashtests/467693-1.html => js/xpconnect/crashtests/467693-1.html
rename : js/src/xpconnect/crashtests/468552-1.html => js/xpconnect/crashtests/468552-1.html
rename : js/src/xpconnect/crashtests/471366-1.html => js/xpconnect/crashtests/471366-1.html
rename : js/src/xpconnect/crashtests/475185-1.html => js/xpconnect/crashtests/475185-1.html
rename : js/src/xpconnect/crashtests/475291-1.html => js/xpconnect/crashtests/475291-1.html
rename : js/src/xpconnect/crashtests/503286-1.html => js/xpconnect/crashtests/503286-1.html
rename : js/src/xpconnect/crashtests/504000-1.html => js/xpconnect/crashtests/504000-1.html
rename : js/src/xpconnect/crashtests/509075-1.html => js/xpconnect/crashtests/509075-1.html
rename : js/src/xpconnect/crashtests/512815-1.html => js/xpconnect/crashtests/512815-1.html
rename : js/src/xpconnect/crashtests/515726-1.html => js/xpconnect/crashtests/515726-1.html
rename : js/src/xpconnect/crashtests/545291-1.html => js/xpconnect/crashtests/545291-1.html
rename : js/src/xpconnect/crashtests/558979.html => js/xpconnect/crashtests/558979.html
rename : js/src/xpconnect/crashtests/582649.html => js/xpconnect/crashtests/582649.html
rename : js/src/xpconnect/crashtests/601284-1.html => js/xpconnect/crashtests/601284-1.html
rename : js/src/xpconnect/crashtests/603146-1.html => js/xpconnect/crashtests/603146-1.html
rename : js/src/xpconnect/crashtests/603858-1.html => js/xpconnect/crashtests/603858-1.html
rename : js/src/xpconnect/crashtests/608963.html => js/xpconnect/crashtests/608963.html
rename : js/src/xpconnect/crashtests/616930-1.html => js/xpconnect/crashtests/616930-1.html
rename : js/src/xpconnect/crashtests/639737-1.html => js/xpconnect/crashtests/639737-1.html
rename : js/src/xpconnect/crashtests/648206-1.html => js/xpconnect/crashtests/648206-1.html
rename : js/src/xpconnect/crashtests/crashtests.list => js/xpconnect/crashtests/crashtests.list
rename : js/src/xpconnect/idl/Makefile.in => js/xpconnect/idl/Makefile.in
rename : js/src/xpconnect/idl/mozIJSSubScriptLoader.idl => js/xpconnect/idl/mozIJSSubScriptLoader.idl
rename : js/src/xpconnect/idl/nsIJSContextStack.idl => js/xpconnect/idl/nsIJSContextStack.idl
rename : js/src/xpconnect/idl/nsIJSEngineTelemetryStats.idl => js/xpconnect/idl/nsIJSEngineTelemetryStats.idl
rename : js/src/xpconnect/idl/nsIJSRuntimeService.idl => js/xpconnect/idl/nsIJSRuntimeService.idl
rename : js/src/xpconnect/idl/nsIScriptError.idl => js/xpconnect/idl/nsIScriptError.idl
rename : js/src/xpconnect/idl/nsIXPCScriptNotify.idl => js/xpconnect/idl/nsIXPCScriptNotify.idl
rename : js/src/xpconnect/idl/nsIXPCScriptable.idl => js/xpconnect/idl/nsIXPCScriptable.idl
rename : js/src/xpconnect/idl/nsIXPCSecurityManager.idl => js/xpconnect/idl/nsIXPCSecurityManager.idl
rename : js/src/xpconnect/idl/nsIXPConnect.idl => js/xpconnect/idl/nsIXPConnect.idl
rename : js/src/xpconnect/idl/xpcIJSGetFactory.idl => js/xpconnect/idl/xpcIJSGetFactory.idl
rename : js/src/xpconnect/idl/xpcIJSModuleLoader.idl => js/xpconnect/idl/xpcIJSModuleLoader.idl
rename : js/src/xpconnect/idl/xpcIJSWeakReference.idl => js/xpconnect/idl/xpcIJSWeakReference.idl
rename : js/src/xpconnect/idl/xpccomponents.idl => js/xpconnect/idl/xpccomponents.idl
rename : js/src/xpconnect/idl/xpcexception.idl => js/xpconnect/idl/xpcexception.idl
rename : js/src/xpconnect/idl/xpcjsid.idl => js/xpconnect/idl/xpcjsid.idl
rename : js/src/xpconnect/loader/Makefile.in => js/xpconnect/loader/Makefile.in
rename : js/src/xpconnect/loader/XPCOMUtils.jsm => js/xpconnect/loader/XPCOMUtils.jsm
rename : js/src/xpconnect/loader/mozJSComponentLoader.cpp => js/xpconnect/loader/mozJSComponentLoader.cpp
rename : js/src/xpconnect/loader/mozJSComponentLoader.h => js/xpconnect/loader/mozJSComponentLoader.h
rename : js/src/xpconnect/loader/mozJSLoaderUtils.cpp => js/xpconnect/loader/mozJSLoaderUtils.cpp
rename : js/src/xpconnect/loader/mozJSLoaderUtils.h => js/xpconnect/loader/mozJSLoaderUtils.h
rename : js/src/xpconnect/loader/mozJSSubScriptLoader.cpp => js/xpconnect/loader/mozJSSubScriptLoader.cpp
rename : js/src/xpconnect/loader/mozJSSubScriptLoader.h => js/xpconnect/loader/mozJSSubScriptLoader.h
rename : js/src/xpconnect/public/Makefile.in => js/xpconnect/public/Makefile.in
rename : js/src/xpconnect/public/nsAXPCNativeCallContext.h => js/xpconnect/public/nsAXPCNativeCallContext.h
rename : js/src/xpconnect/public/nsAutoJSValHolder.h => js/xpconnect/public/nsAutoJSValHolder.h
rename : js/src/xpconnect/public/xpc_map_end.h => js/xpconnect/public/xpc_map_end.h
rename : js/src/xpconnect/shell/Makefile.in => js/xpconnect/shell/Makefile.in
rename : js/src/xpconnect/shell/jsshell.msg => js/xpconnect/shell/jsshell.msg
rename : js/src/xpconnect/shell/xpcshell.cpp => js/xpconnect/shell/xpcshell.cpp
rename : js/src/xpconnect/shell/xpcshellMacUtils.h => js/xpconnect/shell/xpcshellMacUtils.h
rename : js/src/xpconnect/shell/xpcshellMacUtils.mm => js/xpconnect/shell/xpcshellMacUtils.mm
rename : js/src/xpconnect/src/Makefile.in => js/xpconnect/src/Makefile.in
rename : js/src/xpconnect/src/README => js/xpconnect/src/README
rename : js/src/xpconnect/src/xpccallcontext.cpp => js/xpconnect/src/XPCCallContext.cpp
rename : js/src/xpconnect/src/xpccomponents.cpp => js/xpconnect/src/XPCComponents.cpp
rename : js/src/xpconnect/src/xpccontext.cpp => js/xpconnect/src/XPCContext.cpp
rename : js/src/xpconnect/src/xpcconvert.cpp => js/xpconnect/src/XPCConvert.cpp
rename : js/src/xpconnect/src/xpcdebug.cpp => js/xpconnect/src/XPCDebug.cpp
rename : js/src/xpconnect/src/xpcexception.cpp => js/xpconnect/src/XPCException.cpp
rename : js/src/xpconnect/src/xpcforwards.h => js/xpconnect/src/XPCForwards.h
rename : js/src/xpconnect/src/xpcinlines.h => js/xpconnect/src/XPCInlines.h
rename : js/src/xpconnect/src/xpcjsid.cpp => js/xpconnect/src/XPCJSID.cpp
rename : js/src/xpconnect/src/xpcjsruntime.cpp => js/xpconnect/src/XPCJSRuntime.cpp
rename : js/src/xpconnect/src/xpcJSWeakReference.cpp => js/xpconnect/src/XPCJSWeakReference.cpp
rename : js/src/xpconnect/src/xpcJSWeakReference.h => js/xpconnect/src/XPCJSWeakReference.h
rename : js/src/xpconnect/src/xpclocale.cpp => js/xpconnect/src/XPCLocale.cpp
rename : js/src/xpconnect/src/xpclog.cpp => js/xpconnect/src/XPCLog.cpp
rename : js/src/xpconnect/src/xpclog.h => js/xpconnect/src/XPCLog.h
rename : js/src/xpconnect/src/xpcmaps.cpp => js/xpconnect/src/XPCMaps.cpp
rename : js/src/xpconnect/src/xpcmaps.h => js/xpconnect/src/XPCMaps.h
rename : js/src/xpconnect/src/xpcmodule.cpp => js/xpconnect/src/XPCModule.cpp
rename : js/src/xpconnect/src/xpcmodule.h => js/xpconnect/src/XPCModule.h
rename : js/src/xpconnect/src/xpcquickstubs.cpp => js/xpconnect/src/XPCQuickStubs.cpp
rename : js/src/xpconnect/src/xpcquickstubs.h => js/xpconnect/src/XPCQuickStubs.h
rename : js/src/xpconnect/src/xpcruntimesvc.cpp => js/xpconnect/src/XPCRuntimeService.cpp
rename : js/src/xpconnect/src/xpcstack.cpp => js/xpconnect/src/XPCStack.cpp
rename : js/src/xpconnect/src/xpcstring.cpp => js/xpconnect/src/XPCString.cpp
rename : js/src/xpconnect/src/xpcthreadcontext.cpp => js/xpconnect/src/XPCThreadContext.cpp
rename : js/src/xpconnect/src/xpcthrower.cpp => js/xpconnect/src/XPCThrower.cpp
rename : js/src/xpconnect/src/xpcvariant.cpp => js/xpconnect/src/XPCVariant.cpp
rename : js/src/xpconnect/src/xpcwrappedjs.cpp => js/xpconnect/src/XPCWrappedJS.cpp
rename : js/src/xpconnect/src/xpcwrappedjsclass.cpp => js/xpconnect/src/XPCWrappedJSClass.cpp
rename : js/src/xpconnect/src/xpcwrappednative.cpp => js/xpconnect/src/XPCWrappedNative.cpp
rename : js/src/xpconnect/src/xpcwrappednativeinfo.cpp => js/xpconnect/src/XPCWrappedNativeInfo.cpp
rename : js/src/xpconnect/src/xpcwrappednativejsops.cpp => js/xpconnect/src/XPCWrappedNativeJSOps.cpp
rename : js/src/xpconnect/src/xpcwrappednativeproto.cpp => js/xpconnect/src/XPCWrappedNativeProto.cpp
rename : js/src/xpconnect/src/xpcwrappednativescope.cpp => js/xpconnect/src/XPCWrappedNativeScope.cpp
rename : js/src/xpconnect/src/XPCWrapper.cpp => js/xpconnect/src/XPCWrapper.cpp
rename : js/src/xpconnect/src/XPCWrapper.h => js/xpconnect/src/XPCWrapper.h
rename : js/src/xpconnect/src/codegen.py => js/xpconnect/src/codegen.py
rename : js/src/xpconnect/src/dom_quickstubs.qsconf => js/xpconnect/src/dom_quickstubs.qsconf
rename : js/src/xpconnect/src/dombindings.conf => js/xpconnect/src/dombindings.conf
rename : js/src/xpconnect/src/dombindings.cpp => js/xpconnect/src/dombindings.cpp
rename : js/src/xpconnect/src/dombindings.h => js/xpconnect/src/dombindings.h
rename : js/src/xpconnect/src/dombindingsgen.py => js/xpconnect/src/dombindingsgen.py
rename : js/src/xpconnect/src/nsCSSPropertiesQS.h => js/xpconnect/src/nsCSSPropertiesQS.h
rename : js/src/xpconnect/src/nsDOMQS.h => js/xpconnect/src/nsDOMQS.h
rename : js/src/xpconnect/src/nsScriptError.cpp => js/xpconnect/src/nsScriptError.cpp
rename : js/src/xpconnect/src/nsXPConnect.cpp => js/xpconnect/src/nsXPConnect.cpp
rename : js/src/xpconnect/src/qsWinUndefs.h => js/xpconnect/src/qsWinUndefs.h
rename : js/src/xpconnect/src/qsgen.py => js/xpconnect/src/qsgen.py
rename : js/src/xpconnect/src/xpc.msg => js/xpconnect/src/xpc.msg
rename : js/src/xpconnect/src/xpcprivate.h => js/xpconnect/src/xpcprivate.h
rename : js/src/xpconnect/src/xpcpublic.h => js/xpconnect/src/xpcpublic.h
rename : js/src/xpconnect/tests/Makefile.in => js/xpconnect/tests/Makefile.in
rename : js/src/xpconnect/tests/chrome/Makefile.in => js/xpconnect/tests/chrome/Makefile.in
rename : js/src/xpconnect/tests/chrome/bug503926.xul => js/xpconnect/tests/chrome/bug503926.xul
rename : js/src/xpconnect/tests/chrome/file_bug618176.xul => js/xpconnect/tests/chrome/file_bug618176.xul
rename : js/src/xpconnect/tests/chrome/file_evalInSandbox.html => js/xpconnect/tests/chrome/file_evalInSandbox.html
rename : js/src/xpconnect/tests/chrome/test_APIExposer.xul => js/xpconnect/tests/chrome/test_APIExposer.xul
rename : js/src/xpconnect/tests/chrome/test_bug448587.xul => js/xpconnect/tests/chrome/test_bug448587.xul
rename : js/src/xpconnect/tests/chrome/test_bug484459.xul => js/xpconnect/tests/chrome/test_bug484459.xul
rename : js/src/xpconnect/tests/chrome/test_bug500931.xul => js/xpconnect/tests/chrome/test_bug500931.xul
rename : js/src/xpconnect/tests/chrome/test_bug503926.xul => js/xpconnect/tests/chrome/test_bug503926.xul
rename : js/src/xpconnect/tests/chrome/test_bug517163.xul => js/xpconnect/tests/chrome/test_bug517163.xul
rename : js/src/xpconnect/tests/chrome/test_bug533596.xul => js/xpconnect/tests/chrome/test_bug533596.xul
rename : js/src/xpconnect/tests/chrome/test_bug571849.xul => js/xpconnect/tests/chrome/test_bug571849.xul
rename : js/src/xpconnect/tests/chrome/test_bug596580.xul => js/xpconnect/tests/chrome/test_bug596580.xul
rename : js/src/xpconnect/tests/chrome/test_bug601803.xul => js/xpconnect/tests/chrome/test_bug601803.xul
rename : js/src/xpconnect/tests/chrome/test_bug610390.xul => js/xpconnect/tests/chrome/test_bug610390.xul
rename : js/src/xpconnect/tests/chrome/test_bug614757.xul => js/xpconnect/tests/chrome/test_bug614757.xul
rename : js/src/xpconnect/tests/chrome/test_bug616992.xul => js/xpconnect/tests/chrome/test_bug616992.xul
rename : js/src/xpconnect/tests/chrome/test_bug618176.xul => js/xpconnect/tests/chrome/test_bug618176.xul
rename : js/src/xpconnect/tests/chrome/test_bug654370.xul => js/xpconnect/tests/chrome/test_bug654370.xul
rename : js/src/xpconnect/tests/chrome/test_bug658560.xul => js/xpconnect/tests/chrome/test_bug658560.xul
rename : js/src/xpconnect/tests/chrome/test_bug664689.xul => js/xpconnect/tests/chrome/test_bug664689.xul
rename : js/src/xpconnect/tests/chrome/test_bug679861.xul => js/xpconnect/tests/chrome/test_bug679861.xul
rename : js/src/xpconnect/tests/chrome/test_cows.xul => js/xpconnect/tests/chrome/test_cows.xul
rename : js/src/xpconnect/tests/chrome/test_doublewrappedcompartments.xul => js/xpconnect/tests/chrome/test_doublewrappedcompartments.xul
rename : js/src/xpconnect/tests/chrome/test_evalInSandbox.xul => js/xpconnect/tests/chrome/test_evalInSandbox.xul
rename : js/src/xpconnect/tests/chrome/test_getweakmapkeys.xul => js/xpconnect/tests/chrome/test_getweakmapkeys.xul
rename : js/src/xpconnect/tests/chrome/test_nodelists.xul => js/xpconnect/tests/chrome/test_nodelists.xul
rename : js/src/xpconnect/tests/chrome/test_precisegc.xul => js/xpconnect/tests/chrome/test_precisegc.xul
rename : js/src/xpconnect/tests/chrome/test_sandboxImport.xul => js/xpconnect/tests/chrome/test_sandboxImport.xul
rename : js/src/xpconnect/tests/chrome/test_wrappers-2.xul => js/xpconnect/tests/chrome/test_wrappers-2.xul
rename : js/src/xpconnect/tests/chrome/test_wrappers.xul => js/xpconnect/tests/chrome/test_wrappers.xul
rename : js/src/xpconnect/tests/components/js/Makefile.in => js/xpconnect/tests/components/js/Makefile.in
rename : js/src/xpconnect/tests/components/js/xpctest.manifest => js/xpconnect/tests/components/js/xpctest.manifest
rename : js/src/xpconnect/tests/components/js/xpctest_attributes.js => js/xpconnect/tests/components/js/xpctest_attributes.js
rename : js/src/xpconnect/tests/components/js/xpctest_params.js => js/xpconnect/tests/components/js/xpctest_params.js
rename : js/src/xpconnect/tests/components/native/Makefile.in => js/xpconnect/tests/components/native/Makefile.in
rename : js/src/xpconnect/tests/components/native/xpctest.manifest => js/xpconnect/tests/components/native/xpctest.manifest
rename : js/src/xpconnect/tests/components/native/xpctest_attributes.cpp => js/xpconnect/tests/components/native/xpctest_attributes.cpp
rename : js/src/xpconnect/tests/components/native/xpctest_module.cpp => js/xpconnect/tests/components/native/xpctest_module.cpp
rename : js/src/xpconnect/tests/components/native/xpctest_params.cpp => js/xpconnect/tests/components/native/xpctest_params.cpp
rename : js/src/xpconnect/tests/components/native/xpctest_private.h => js/xpconnect/tests/components/native/xpctest_private.h
rename : js/src/xpconnect/tests/idl/Makefile.in => js/xpconnect/tests/idl/Makefile.in
rename : js/src/xpconnect/tests/idl/xpctest_attributes.idl => js/xpconnect/tests/idl/xpctest_attributes.idl
rename : js/src/xpconnect/tests/idl/xpctest_params.idl => js/xpconnect/tests/idl/xpctest_params.idl
rename : js/src/xpconnect/tests/mochitest/Makefile.in => js/xpconnect/tests/mochitest/Makefile.in
rename : js/src/xpconnect/tests/mochitest/bug500931_helper.html => js/xpconnect/tests/mochitest/bug500931_helper.html
rename : js/src/xpconnect/tests/mochitest/bug504877_helper.html => js/xpconnect/tests/mochitest/bug504877_helper.html
rename : js/src/xpconnect/tests/mochitest/bug571849_helper.html => js/xpconnect/tests/mochitest/bug571849_helper.html
rename : js/src/xpconnect/tests/mochitest/bug589028_helper.html => js/xpconnect/tests/mochitest/bug589028_helper.html
rename : js/src/xpconnect/tests/mochitest/bug657267.jar => js/xpconnect/tests/mochitest/bug657267.jar
rename : js/src/xpconnect/tests/mochitest/bug92773_helper.html => js/xpconnect/tests/mochitest/bug92773_helper.html
rename : js/src/xpconnect/tests/mochitest/chrome_wrappers_helper.html => js/xpconnect/tests/mochitest/chrome_wrappers_helper.html
rename : js/src/xpconnect/tests/mochitest/file1_bug629227.html => js/xpconnect/tests/mochitest/file1_bug629227.html
rename : js/src/xpconnect/tests/mochitest/file2_bug629227.html => js/xpconnect/tests/mochitest/file2_bug629227.html
rename : js/src/xpconnect/tests/mochitest/file_bug505915.html => js/xpconnect/tests/mochitest/file_bug505915.html
rename : js/src/xpconnect/tests/mochitest/file_bug650273.html => js/xpconnect/tests/mochitest/file_bug650273.html
rename : js/src/xpconnect/tests/mochitest/file_bug658560.html => js/xpconnect/tests/mochitest/file_bug658560.html
rename : js/src/xpconnect/tests/mochitest/file_doublewrappedcompartments.html => js/xpconnect/tests/mochitest/file_doublewrappedcompartments.html
rename : js/src/xpconnect/tests/mochitest/file_evalInSandbox.html => js/xpconnect/tests/mochitest/file_evalInSandbox.html
rename : js/src/xpconnect/tests/mochitest/file_nodelists.html => js/xpconnect/tests/mochitest/file_nodelists.html
rename : js/src/xpconnect/tests/mochitest/file_wrappers-2.html => js/xpconnect/tests/mochitest/file_wrappers-2.html
rename : js/src/xpconnect/tests/mochitest/inner.html => js/xpconnect/tests/mochitest/inner.html
rename : js/src/xpconnect/tests/mochitest/test1_bug629331.html => js/xpconnect/tests/mochitest/test1_bug629331.html
rename : js/src/xpconnect/tests/mochitest/test2_bug629331.html => js/xpconnect/tests/mochitest/test2_bug629331.html
rename : js/src/xpconnect/tests/mochitest/test_bug361111.xul => js/xpconnect/tests/mochitest/test_bug361111.xul
rename : js/src/xpconnect/tests/mochitest/test_bug384632.html => js/xpconnect/tests/mochitest/test_bug384632.html
rename : js/src/xpconnect/tests/mochitest/test_bug390488.html => js/xpconnect/tests/mochitest/test_bug390488.html
rename : js/src/xpconnect/tests/mochitest/test_bug393269.html => js/xpconnect/tests/mochitest/test_bug393269.html
rename : js/src/xpconnect/tests/mochitest/test_bug396851.html => js/xpconnect/tests/mochitest/test_bug396851.html
rename : js/src/xpconnect/tests/mochitest/test_bug428021.html => js/xpconnect/tests/mochitest/test_bug428021.html
rename : js/src/xpconnect/tests/mochitest/test_bug446584.html => js/xpconnect/tests/mochitest/test_bug446584.html
rename : js/src/xpconnect/tests/mochitest/test_bug462428.html => js/xpconnect/tests/mochitest/test_bug462428.html
rename : js/src/xpconnect/tests/mochitest/test_bug478438.html => js/xpconnect/tests/mochitest/test_bug478438.html
rename : js/src/xpconnect/tests/mochitest/test_bug484107.html => js/xpconnect/tests/mochitest/test_bug484107.html
rename : js/src/xpconnect/tests/mochitest/test_bug500691.html => js/xpconnect/tests/mochitest/test_bug500691.html
rename : js/src/xpconnect/tests/mochitest/test_bug502959.html => js/xpconnect/tests/mochitest/test_bug502959.html
rename : js/src/xpconnect/tests/mochitest/test_bug503926.html => js/xpconnect/tests/mochitest/test_bug503926.html
rename : js/src/xpconnect/tests/mochitest/test_bug504877.html => js/xpconnect/tests/mochitest/test_bug504877.html
rename : js/src/xpconnect/tests/mochitest/test_bug505915.html => js/xpconnect/tests/mochitest/test_bug505915.html
rename : js/src/xpconnect/tests/mochitest/test_bug553407.html => js/xpconnect/tests/mochitest/test_bug553407.html
rename : js/src/xpconnect/tests/mochitest/test_bug560351.html => js/xpconnect/tests/mochitest/test_bug560351.html
rename : js/src/xpconnect/tests/mochitest/test_bug564330.html => js/xpconnect/tests/mochitest/test_bug564330.html
rename : js/src/xpconnect/tests/mochitest/test_bug585745.html => js/xpconnect/tests/mochitest/test_bug585745.html
rename : js/src/xpconnect/tests/mochitest/test_bug589028.html => js/xpconnect/tests/mochitest/test_bug589028.html
rename : js/src/xpconnect/tests/mochitest/test_bug601299.html => js/xpconnect/tests/mochitest/test_bug601299.html
rename : js/src/xpconnect/tests/mochitest/test_bug605167.html => js/xpconnect/tests/mochitest/test_bug605167.html
rename : js/src/xpconnect/tests/mochitest/test_bug618017.html => js/xpconnect/tests/mochitest/test_bug618017.html
rename : js/src/xpconnect/tests/mochitest/test_bug623437.html => js/xpconnect/tests/mochitest/test_bug623437.html
rename : js/src/xpconnect/tests/mochitest/test_bug628410.html => js/xpconnect/tests/mochitest/test_bug628410.html
rename : js/src/xpconnect/tests/mochitest/test_bug628794.html => js/xpconnect/tests/mochitest/test_bug628794.html
rename : js/src/xpconnect/tests/mochitest/test_bug629227.html => js/xpconnect/tests/mochitest/test_bug629227.html
rename : js/src/xpconnect/tests/mochitest/test_bug629331.html => js/xpconnect/tests/mochitest/test_bug629331.html
rename : js/src/xpconnect/tests/mochitest/test_bug636097.html => js/xpconnect/tests/mochitest/test_bug636097.html
rename : js/src/xpconnect/tests/mochitest/test_bug650273.html => js/xpconnect/tests/mochitest/test_bug650273.html
rename : js/src/xpconnect/tests/mochitest/test_bug655297.html => js/xpconnect/tests/mochitest/test_bug655297.html
rename : js/src/xpconnect/tests/mochitest/test_bug657267.html => js/xpconnect/tests/mochitest/test_bug657267.html
rename : js/src/xpconnect/tests/mochitest/test_bug661980.html => js/xpconnect/tests/mochitest/test_bug661980.html
rename : js/src/xpconnect/tests/mochitest/test_bug691059.html => js/xpconnect/tests/mochitest/test_bug691059.html
rename : js/src/xpconnect/tests/mochitest/test_bug92773.html => js/xpconnect/tests/mochitest/test_bug92773.html
rename : js/src/xpconnect/tests/mochitest/test_frameWrapping.html => js/xpconnect/tests/mochitest/test_frameWrapping.html
rename : js/src/xpconnect/tests/unit/CatRegistrationComponents.manifest => js/xpconnect/tests/unit/CatRegistrationComponents.manifest
rename : js/src/xpconnect/tests/unit/bogus_element_type.jsm => js/xpconnect/tests/unit/bogus_element_type.jsm
rename : js/src/xpconnect/tests/unit/bogus_exports_type.jsm => js/xpconnect/tests/unit/bogus_exports_type.jsm
rename : js/src/xpconnect/tests/unit/bug451678_subscript.js => js/xpconnect/tests/unit/bug451678_subscript.js
rename : js/src/xpconnect/tests/unit/bug596580_versioned.js => js/xpconnect/tests/unit/bug596580_versioned.js
rename : js/src/xpconnect/tests/unit/component-file.js => js/xpconnect/tests/unit/component-file.js
rename : js/src/xpconnect/tests/unit/component-file.manifest => js/xpconnect/tests/unit/component-file.manifest
rename : js/src/xpconnect/tests/unit/component_import.js => js/xpconnect/tests/unit/component_import.js
rename : js/src/xpconnect/tests/unit/component_import.manifest => js/xpconnect/tests/unit/component_import.manifest
rename : js/src/xpconnect/tests/unit/recursive_importA.jsm => js/xpconnect/tests/unit/recursive_importA.jsm
rename : js/src/xpconnect/tests/unit/recursive_importB.jsm => js/xpconnect/tests/unit/recursive_importB.jsm
rename : js/src/xpconnect/tests/unit/syntax_error.jsm => js/xpconnect/tests/unit/syntax_error.jsm
rename : js/src/xpconnect/tests/unit/test_attributes.js => js/xpconnect/tests/unit/test_attributes.js
rename : js/src/xpconnect/tests/unit/test_bogus_files.js => js/xpconnect/tests/unit/test_bogus_files.js
rename : js/src/xpconnect/tests/unit/test_bug408412.js => js/xpconnect/tests/unit/test_bug408412.js
rename : js/src/xpconnect/tests/unit/test_bug451678.js => js/xpconnect/tests/unit/test_bug451678.js
rename : js/src/xpconnect/tests/unit/test_bug596580.js => js/xpconnect/tests/unit/test_bug596580.js
rename : js/src/xpconnect/tests/unit/test_bug604362.js => js/xpconnect/tests/unit/test_bug604362.js
rename : js/src/xpconnect/tests/unit/test_bug608142.js => js/xpconnect/tests/unit/test_bug608142.js
rename : js/src/xpconnect/tests/unit/test_bug641378.js => js/xpconnect/tests/unit/test_bug641378.js
rename : js/src/xpconnect/tests/unit/test_bug677864.js => js/xpconnect/tests/unit/test_bug677864.js
rename : js/src/xpconnect/tests/unit/test_bug_442086.js => js/xpconnect/tests/unit/test_bug_442086.js
rename : js/src/xpconnect/tests/unit/test_file.js => js/xpconnect/tests/unit/test_file.js
rename : js/src/xpconnect/tests/unit/test_import.js => js/xpconnect/tests/unit/test_import.js
rename : js/src/xpconnect/tests/unit/test_js_weak_references.js => js/xpconnect/tests/unit/test_js_weak_references.js
rename : js/src/xpconnect/tests/unit/test_localeCompare.js => js/xpconnect/tests/unit/test_localeCompare.js
rename : js/src/xpconnect/tests/unit/test_params.js => js/xpconnect/tests/unit/test_params.js
rename : js/src/xpconnect/tests/unit/test_recursive_import.js => js/xpconnect/tests/unit/test_recursive_import.js
rename : js/src/xpconnect/tests/unit/test_reflect_parse.js => js/xpconnect/tests/unit/test_reflect_parse.js
rename : js/src/xpconnect/tests/unit/test_unload.js => js/xpconnect/tests/unit/test_unload.js
rename : js/src/xpconnect/tests/unit/test_xpcomutils.js => js/xpconnect/tests/unit/test_xpcomutils.js
rename : js/src/xpconnect/tests/unit/xpcshell.ini => js/xpconnect/tests/unit/xpcshell.ini
rename : js/src/xpconnect/wrappers/AccessCheck.cpp => js/xpconnect/wrappers/AccessCheck.cpp
rename : js/src/xpconnect/wrappers/AccessCheck.h => js/xpconnect/wrappers/AccessCheck.h
rename : js/src/xpconnect/wrappers/CrossOriginWrapper.cpp => js/xpconnect/wrappers/CrossOriginWrapper.cpp
rename : js/src/xpconnect/wrappers/CrossOriginWrapper.h => js/xpconnect/wrappers/CrossOriginWrapper.h
rename : js/src/xpconnect/wrappers/FilteringWrapper.cpp => js/xpconnect/wrappers/FilteringWrapper.cpp
rename : js/src/xpconnect/wrappers/FilteringWrapper.h => js/xpconnect/wrappers/FilteringWrapper.h
rename : js/src/xpconnect/wrappers/Makefile.in => js/xpconnect/wrappers/Makefile.in
rename : js/src/xpconnect/wrappers/WrapperFactory.cpp => js/xpconnect/wrappers/WrapperFactory.cpp
rename : js/src/xpconnect/wrappers/WrapperFactory.h => js/xpconnect/wrappers/WrapperFactory.h
rename : js/src/xpconnect/wrappers/XrayWrapper.cpp => js/xpconnect/wrappers/XrayWrapper.cpp
rename : js/src/xpconnect/wrappers/XrayWrapper.h => js/xpconnect/wrappers/XrayWrapper.h
2011-10-14 10:52:47 -07:00

330 lines
12 KiB
XML

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
type="text/css"?>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=500931
-->
<window title="Mozilla Bug 522764"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<!-- test results are displayed in the html:body -->
<body xmlns="http://www.w3.org/1999/xhtml">
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=522764 "
target="_blank">Mozilla Bug 522764 </a>
</body>
<!-- test code goes here -->
<script type="application/javascript"><![CDATA[
const Ci = Components.interfaces;
const Cu = Components.utils;
var sandbox = new Cu.Sandbox("about:blank");
var test_utils = window.QueryInterface(Ci.nsIInterfaceRequestor).
getInterface(Ci.nsIDOMWindowUtils);
function getCOW(x) {
var rval = {};
if (typeof x == "function")
rval = eval(uneval(x));
for (var i in x) {
if (x.__lookupGetter__(i))
rval.__defineGetter__(i, eval(uneval(x.__lookupGetter__(i))))
else
rval[i] = x[i];
}
return rval;
}
// Give the sandbox a way to create ChromeObjectWrapped objects.
sandbox.getCOW = getCOW;
// Define test API functions in the sandbox.
const TEST_API = ['is', 'isnot', 'ok', 'todo_is', 'todo_isnot', 'todo'];
TEST_API.forEach(function(name) { sandbox[name] = window[name]; });
sandbox.alienObject = {
__exposedProps__: {funProp: 'r'},
funProp: function foo(x) {
return x + 1;
}
};
sandbox.chromeGet = function (obj, prop) { return obj[prop]; };
function COWTests() {
// This function is actually decompiled and run inside a
// sandbox with content privileges.
// TODO: This could use some refactoring; creating helper
// functions like assertIsWritable(myObj, 'someproperty') might
// be useful.
function isProp(obj, propName, value, desc) {
try {
is(obj[propName], value, "getting " + propName + " on " + desc);
ok(propName in obj,
propName + " on " + desc + " should exist");
//ok(Object.hasOwnProperty.call(obj, propName),
// propName + " on " + desc + " should exist");
} catch (e) {
ok(false, "getting " + propName + " on " + desc + " threw " + e);
}
}
function isPropHidden(obj, propName, desc) {
try {
is(obj[propName], undefined,
"getting " + propName + " on " + desc + " should return undefined");
ok(!(propName in obj),
propName + " on " + desc + " should act as if it doesn't exist");
//ok(!Object.hasOwnProperty.call(obj, propName),
// propName + " on " + desc + " should act as if it doesn't exist");
} catch (e) {
ok(false, "getting " + propName + " on " + desc + " threw " + e);
}
}
//var cow = getCOW({ foo: "fooval", __exposedProps__: {}});
//Math.sin(1);
//is(cow.foo, undefined, "one test to rule them all");
//return;
const PROPS_TO_TEST = ['foo', 'bar', '__proto__', 'prototype', 'constructor'];
var empty = {};
// Once we flip the default for __exposedProps__, this should behave
// the same as for function objects below.
is(getCOW(empty).foo, undefined,
"shouldn't throw when accessing exposed properties that doesn't exist");
// Test function objects without __exposedProps__
var func = function(x) { return 42; };
func.foo = "foo property";
var funcCOW = getCOW(func);
PROPS_TO_TEST.forEach(function(name) {
isPropHidden(funcCOW, name, "function without exposedProps");
});
is([name for (name in funcCOW)].length, 0,
"function without exposedProps shouldn't have any properties");
is(funcCOW(), 42, "COW without exposedProps should still be callable");
// Test function objects with __exposedProps__
var func = function(x) { return 42; };
func.foo = "foo property";
func.__exposedProps__ = { foo: "r" };
var funcCOWr = getCOW(func);
PROPS_TO_TEST.forEach(function(name) {
if (name == "foo") {
isProp(funcCOWr, name, "foo property",
"function with exposedProps");
}
else {
isPropHidden(funcCOWr, name, "function with exposedProps");
}
});
is([name for (name in funcCOWr)].length, 1,
"function with exposedProps should only enumerate exposed props");
is([name for (name in funcCOWr)][0], "foo",
"function with exposedProps should only enumerate exposed props");
is(funcCOWr(), 42, "COW with exposedProps should be callable");
// Test function objects with __exposedProps__
var func = function(x) { return 42; };
func.foo = "foo property";
func.__exposedProps__ = { foo: "r", bar: "r" };
var funcCOWr2 = getCOW(func);
PROPS_TO_TEST.forEach(function(name) {
if (name == "foo") {
isProp(funcCOWr2, name, "foo property",
"function with more exposedProps");
}
else {
isPropHidden(funcCOWr2, name, "function with more exposedProps");
}
});
is([name for (name in funcCOWr2)].length, 1,
"function with exposedProps should only enumerate exposed props");
is([name for (name in funcCOWr2)][0], "foo",
"function with exposedProps should only enumerate exposed props");
// Test object with empty exposedProps
var strict = { __exposedProps__: {}, foo: "foo property" };
var strictCOW = getCOW(strict);
PROPS_TO_TEST.forEach(function(name) {
isPropHidden(strictCOW, name, "object with empty exposedProps");
});
is([name for (name in strictCOW)].length, 0,
"object with empty exposedProps shouldn't have any properties");
// Test object with one exposed property
var strict = { __exposedProps__: { foo: "r" }, foo: "foo property" };
var strictCOWr = getCOW(strict);
PROPS_TO_TEST.forEach(function(name) {
if (name == "foo") {
isProp(strictCOWr, name, "foo property",
"object with exposed 'foo'");
}
else {
isPropHidden(strictCOW, name, "object with exposed 'foo'");
}
});
is([name for (name in strictCOWr)].length, 1,
"object with exposedProps only enumerate exposed props");
is([name for (name in strictCOWr)][0], "foo",
"object with exposedProps only enumerate exposed props");
// Test writable property
var writable = getCOW({ __exposedProps__: {foo: 'w'}});
try {
Math.sin("foo" in writable);
ok(!("foo" in writable),
"non-existing write-only property shouldn't exist");
writable.foo = 5;
is(chromeGet(writable, "foo"), 5, "writing to a write-only exposed prop works");
todo("foo" in writable,
"existing write-only property should exist");
} catch (e) {
ok(false, "writing to a write-only exposed prop shouldn't throw " + e);
}
try {
writable.foo;
todo(false, "reading from a write-only exposed prop should throw");
} catch (e) {
todo(/Permission denied/.test(e),
"reading from a write-only exposed prop should throw");
}
try {
delete writable.foo;
is(chromeGet(writable, "foo"), undefined,
"deleting a write-only exposed prop works");
} catch (e) {
ok(false, "deleting a write-only exposed prop shouldn't throw " + e);
}
// Test readable property
var readable = { __exposedProps__: {foo: 'r'},
foo: 5,
bar: 6 };
try {
isProp(getCOW(readable), "foo", 5,
"reading from a readable exposed prop works");
} catch (e) {
ok(false, "reading from a readable exposed prop shouldn't throw " + e);
}
try {
getCOW(readable).foo = 1;
ok(false, "writing to a read-only exposed prop should fail");
} catch (e) {
ok(/Permission denied/.test(e),
"writing to a read-only exposed prop should fail");
}
try {
delete getCOW(readable).foo;
ok(false, "deleting a read-only exposed prop shouldn't work");
} catch (e) {
ok(/Permission denied/.test(e),
"deleting a read-only exposed prop should throw error");
}
try {
var props = [name for (name in getCOW(readable))];
is(props.length, 1, "COW w/ one exposed prop should enumerate once");
is(props[0], 'foo', "COW w/ one exposed prop should enumerate it");
props = [value for each (value in getCOW(readable))];
is(props[0], 5, "for-each over COWs works");
} catch (e) {
ok(false, "COW w/ a readable prop should not raise exc " +
"on enumeration: " + e);
}
// Test read/write property
var readwrite = getCOW({ __exposedProps__: {foo: 'rw'}});
try {
ok(!("foo" in readwrite),
"non-existing readwrite property shouldn't exist");
readwrite.foo = 5;
is(readwrite.foo, 5, "writing to a readwrite exposed prop looks like it worked");
is(chromeGet(readwrite, "foo"), 5, "writing to a readwrite exposed prop works");
ok("foo" in readwrite,
"existing readwrite property should exist");
} catch (e) {
ok(false, "writing to a readwrite exposed prop shouldn't throw " + e);
}
try {
delete readwrite.foo;
is(readwrite.foo, undefined, "deleting readwrite prop looks like it worked");
ok(!("foo" in readwrite), "deleting readwrite prop looks like it really worked");
is(chromeGet(readwrite, "foo"), undefined,
"deleting a readwrite exposed prop works");
} catch (e) {
ok(false, "deleting a readwrite exposed prop shouldn't throw " + e);
}
// Readables and functions
try {
var COWFunc = getCOW((function() { return 5; }));
is(COWFunc(), 5, "COWed functions should be callable");
} catch (e) {
todo(false, "COWed functions should not raise " + e);
}
try {
var objWithFunc = {__exposedProps__: {foo: 'r'},
foo: function foo() { return 5; }};
is(getCOW((objWithFunc)).foo(), 5,
"Readable function exposed props should be callable");
} catch (e) {
ok(false, "Readable function exposed props should be callable" + e);
}
// Readables with getters
var obj = {
get prop() { return { __exposedProps__: {}, test: "FAIL" } }
};
is(getCOW(obj).prop.test, undefined, "getting prop.test shouldn't return anything");
ok(!("test" in getCOW(obj).prop), "getting prop.test shouldn't return anything");
// Alien objects
try {
is(alienObject.funProp(1), 2,
"COWs wrapping objects from different principals should work");
} catch (e) {
ok(false, "COWs wrapping objs from different principals " +
"shouldn't throw " + e);
}
try {
is(alienObject.funProp(1), 2,
"COWs wrapping objs from different principals should work twice");
} catch (e) {
ok(false, "COWs wrapping objs from different principals " +
"shouldn't throw on second access but not first: " + e);
}
}
// Decompile the COW test suite, re-evaluate it in the sandbox and execute it.
Cu.evalInSandbox('(' + uneval(COWTests) + ')()', sandbox);
// Test that COWed objects passing from content to chrome get unwrapped.
function returnCOW() {
return getCOW({__exposedProps__: {},
bar: 6});
}
var unwrapped = Cu.evalInSandbox(
'(' + uneval(returnCOW) + ')()',
sandbox
);
try {
is(unwrapped.bar, 6,
"COWs should be unwrapped when entering chrome space");
} catch (e) {
todo(false, "COWs should be unwrapped when entering chrome space, " +
"not raise " + e);
}
]]></script>
</window>