зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1552714 - Refactor constructors. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32956 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
319ed7e3c9
Коммит
49972af017
|
@ -52,7 +52,14 @@ dictionary L10nKey {
|
|||
* - translateRoots - translate all attached roots
|
||||
*
|
||||
*/
|
||||
[ChromeOnly, Constructor]
|
||||
|
||||
/**
|
||||
* Constructor arguments:
|
||||
* - aResourceids - a list of localization resource URIs
|
||||
* which will provide messages for this
|
||||
* Localization instance.
|
||||
/
|
||||
[ChromeOnly, Constructor(optional sequence<DOMString> aResourceIds)]
|
||||
interface DOMLocalization {
|
||||
/**
|
||||
* Localization API
|
||||
|
|
|
@ -50,19 +50,6 @@ NS_INTERFACE_MAP_END
|
|||
DOMLocalization::DOMLocalization(nsIGlobalObject* aGlobal) : mGlobal(aGlobal) {
|
||||
mMutations = new mozilla::dom::l10n::Mutations(this);
|
||||
}
|
||||
|
||||
already_AddRefed<DOMLocalization> DOMLocalization::Constructor(
|
||||
const GlobalObject& aGlobal, ErrorResult& aRv) {
|
||||
nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(aGlobal.GetAsSupports());
|
||||
if (!global) {
|
||||
aRv.Throw(NS_ERROR_FAILURE);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
RefPtr<DOMLocalization> loc = new DOMLocalization(global);
|
||||
return loc.forget();
|
||||
}
|
||||
|
||||
void DOMLocalization::Init(nsTArray<nsString>& aResourceIds, ErrorResult& aRv) {
|
||||
nsCOMPtr<mozILocalizationJSM> jsm =
|
||||
do_ImportModule("resource://gre/modules/Localization.jsm");
|
||||
|
@ -88,6 +75,30 @@ void DOMLocalization::Init(nsTArray<nsString>& aResourceIds, ErrorResult& aRv) {
|
|||
RegisterObservers();
|
||||
}
|
||||
|
||||
already_AddRefed<DOMLocalization> DOMLocalization::Constructor(
|
||||
const GlobalObject& aGlobal,
|
||||
const Optional<Sequence<nsString>>& aResourceIds, ErrorResult& aRv) {
|
||||
nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(aGlobal.GetAsSupports());
|
||||
if (!global) {
|
||||
aRv.Throw(NS_ERROR_FAILURE);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
RefPtr<DOMLocalization> loc = new DOMLocalization(global);
|
||||
nsTArray<nsString> resourceIds;
|
||||
|
||||
if (aResourceIds.WasPassed()) {
|
||||
resourceIds = aResourceIds.Value();
|
||||
}
|
||||
|
||||
loc->Init(resourceIds, aRv);
|
||||
if (NS_WARN_IF(aRv.Failed())) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return loc.forget();
|
||||
}
|
||||
|
||||
nsIGlobalObject* DOMLocalization::GetParentObject() const { return mGlobal; }
|
||||
|
||||
JSObject* DOMLocalization::WrapObject(JSContext* aCx,
|
||||
|
@ -697,7 +708,7 @@ already_AddRefed<Promise> DOMLocalization::MaybeWrapPromise(
|
|||
|
||||
ErrorResult result;
|
||||
RefPtr<Promise> docPromise = Promise::Create(mGlobal, result);
|
||||
if (result.Failed()) {
|
||||
if (NS_WARN_IF(result.Failed())) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,10 +29,11 @@ class DOMLocalization : public nsIObserver,
|
|||
NS_DECL_NSIOBSERVER
|
||||
|
||||
explicit DOMLocalization(nsIGlobalObject* aGlobal);
|
||||
void Init(nsTArray<nsString>& aResourceIds, ErrorResult& aRv);
|
||||
|
||||
static already_AddRefed<DOMLocalization> Constructor(
|
||||
const GlobalObject& aGlobal, ErrorResult& aRv);
|
||||
void Init(nsTArray<nsString>& aResourceIds, ErrorResult& aRv);
|
||||
const GlobalObject& aGlobal,
|
||||
const Optional<Sequence<nsString>>& aResourceIds, ErrorResult& aRv);
|
||||
|
||||
nsIGlobalObject* GetParentObject() const;
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ class DocumentL10n final : public l10n::DOMLocalization {
|
|||
explicit DocumentL10n(Document* aDocument);
|
||||
void Init(nsTArray<nsString>& aResourceIds, ErrorResult& aRv);
|
||||
|
||||
protected:
|
||||
protected:
|
||||
virtual ~DocumentL10n() = default;
|
||||
|
||||
RefPtr<Document> mDocument;
|
||||
|
|
Загрузка…
Ссылка в новой задаче