Bug 386473 - XPCOMUtilify SearchService. r=gavin

git-svn-id: svn://10.0.0.236/trunk@230118 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rflint%ryanflint.com
2007-07-17 17:59:41 +00:00
parent 8edc53ad47
commit 1e9f4d6578

View File

@@ -42,6 +42,8 @@ const Ci = Components.interfaces;
const Cc = Components.classes;
const Cr = Components.results;
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
const PERMS_FILE = 0644;
const PERMS_DIRECTORY = 0755;
@@ -285,21 +287,14 @@ loadListener.prototype = {
_engine: null,
_stream: null,
QueryInterface: function SRCH_loadQI(aIID) {
if (aIID.equals(Ci.nsISupports) ||
aIID.equals(Ci.nsIRequestObserver) ||
aIID.equals(Ci.nsIStreamListener) ||
aIID.equals(Ci.nsIChannelEventSink) ||
aIID.equals(Ci.nsIInterfaceRequestor) ||
aIID.equals(Ci.nsIBadCertListener) ||
// See FIXME comment below
aIID.equals(Ci.nsIHttpEventSink) ||
aIID.equals(Ci.nsIProgressEventSink) ||
false)
return this;
throw Cr.NS_ERROR_NO_INTERFACE;
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIRequestObserver,
Ci.nsIStreamListener,
Ci.nsIChannelEventSink,
Ci.nsIInterfaceRequestor,
Ci.nsIBadCertListener,
// See FIXME comment below
Ci.nsIHttpEventSink,
Ci.nsIProgressEventSink]),
// nsIRequestObserver
onStartRequest: function SRCH_loadStartR(aRequest, aContext) {
@@ -2163,12 +2158,7 @@ Engine.prototype = {
},
// nsISupports
QueryInterface: function SRCH_ENG_QI(aIID) {
if (aIID.equals(Ci.nsISearchEngine) ||
aIID.equals(Ci.nsISupports))
return this;
throw Cr.NS_ERROR_NO_INTERFACE;
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsISearchEngine]),
get wrappedJSObject() {
return this;
@@ -2188,12 +2178,7 @@ Submission.prototype = {
get postData() {
return this._postData;
},
QueryInterface: function SRCH_SUBM_QI(aIID) {
if (aIID.equals(Ci.nsISearchSubmission) ||
aIID.equals(Ci.nsISupports))
return this;
throw Cr.NS_ERROR_NO_INTERFACE;
}
QueryInterface: XPCOMUtils.generateQI([Ci.nsISearchSubmission])
}
// nsIBrowserSearchService
@@ -2888,13 +2873,11 @@ SearchService.prototype = {
os.removeObserver(this, QUIT_APPLICATION_TOPIC);
},
QueryInterface: function SRCH_SVC_QI(aIID) {
if (aIID.equals(Ci.nsIBrowserSearchService) ||
aIID.equals(Ci.nsIObserver) ||
aIID.equals(Ci.nsISupports))
return this;
throw Cr.NS_ERROR_NO_INTERFACE;
}
classDescription: "Browser Search Service",
contractID: "@mozilla.org/browser/search-service;1",
classID: Components.ID("{7319788a-fe93-4db3-9f39-818cf08f4256}"),
QueryInterface: XPCOMUtils.generateQI([Ci.nsIBrowserSearchService,
Ci.nsIObserver])
};
var engineMetadataService = {
@@ -3115,49 +3098,8 @@ var engineUpdateService = {
}
};
const kClassID = Components.ID("{7319788a-fe93-4db3-9f39-818cf08f4256}");
const kClassName = "Browser Search Service";
const kContractID = "@mozilla.org/browser/search-service;1";
// nsIFactory
const kFactory = {
createInstance: function (outer, iid) {
if (outer != null)
throw Cr.NS_ERROR_NO_AGGREGATION;
return (new SearchService()).QueryInterface(iid);
}
};
// nsIModule
const gModule = {
registerSelf: function (componentManager, fileSpec, location, type) {
componentManager.QueryInterface(Ci.nsIComponentRegistrar);
componentManager.registerFactoryLocation(kClassID,
kClassName,
kContractID,
fileSpec, location, type);
},
unregisterSelf: function(componentManager, fileSpec, location) {
componentManager.QueryInterface(Ci.nsIComponentRegistrar);
componentManager.unregisterFactoryLocation(kClassID, fileSpec);
},
getClassObject: function (componentManager, cid, iid) {
if (!cid.equals(kClassID))
throw Cr.NS_ERROR_NO_INTERFACE;
if (!iid.equals(Ci.nsIFactory))
throw Cr.NS_ERROR_NOT_IMPLEMENTED;
return kFactory;
},
canUnload: function (componentManager) {
return true;
}
};
function NSGetModule(componentManager, fileSpec) {
return gModule;
return XPCOMUtils.generateModule([SearchService]);
}
#include ../../../toolkit/content/debug.js