gecko/dom/workers/WorkerScope.h
Boris Zbarsky 35fca5eeeb Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00

170 lines
4.1 KiB
C++

/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_dom_workerscope_h__
#define mozilla_dom_workerscope_h__
#include "Workers.h"
#include "mozilla/DOMEventTargetHelper.h"
namespace mozilla {
namespace dom {
class Console;
class Function;
} // namespace dom
} // namespace mozilla
BEGIN_WORKERS_NAMESPACE
class WorkerPrivate;
class WorkerLocation;
class WorkerNavigator;
class WorkerGlobalScope : public DOMEventTargetHelper,
public nsIGlobalObject
{
nsRefPtr<Console> mConsole;
nsRefPtr<WorkerLocation> mLocation;
nsRefPtr<WorkerNavigator> mNavigator;
protected:
WorkerPrivate* mWorkerPrivate;
WorkerGlobalScope(WorkerPrivate* aWorkerPrivate);
virtual ~WorkerGlobalScope();
public:
virtual JSObject*
WrapObject(JSContext* aCx) MOZ_OVERRIDE;
virtual JSObject*
WrapGlobalObject(JSContext* aCx) = 0;
virtual JSObject*
GetGlobalJSObject(void) MOZ_OVERRIDE
{
return GetWrapper();
}
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(WorkerGlobalScope,
DOMEventTargetHelper)
already_AddRefed<WorkerGlobalScope>
Self()
{
return nsRefPtr<WorkerGlobalScope>(this).forget();
}
already_AddRefed<Console>
GetConsole();
already_AddRefed<WorkerLocation>
Location();
already_AddRefed<WorkerNavigator>
Navigator();
already_AddRefed<WorkerNavigator>
GetExistingNavigator() const;
void
Close(JSContext* aCx);
OnErrorEventHandlerNonNull*
GetOnerror();
void
SetOnerror(OnErrorEventHandlerNonNull* aHandler);
void
ImportScripts(JSContext* aCx, const Sequence<nsString>& aScriptURLs,
ErrorResult& aRv);
int32_t
SetTimeout(JSContext* aCx, Function& aHandler, const int32_t aTimeout,
const Sequence<JS::Value>& aArguments, ErrorResult& aRv);
int32_t
SetTimeout(JSContext* /* unused */, const nsAString& aHandler,
const int32_t aTimeout, const Sequence<JS::Value>& /* unused */,
ErrorResult& aRv);
void
ClearTimeout(int32_t aHandle, ErrorResult& aRv);
int32_t
SetInterval(JSContext* aCx, Function& aHandler,
const Optional<int32_t>& aTimeout,
const Sequence<JS::Value>& aArguments, ErrorResult& aRv);
int32_t
SetInterval(JSContext* /* unused */, const nsAString& aHandler,
const Optional<int32_t>& aTimeout,
const Sequence<JS::Value>& /* unused */, ErrorResult& aRv);
void
ClearInterval(int32_t aHandle, ErrorResult& aRv);
void
Atob(const nsAString& aAtob, nsAString& aOutput, ErrorResult& aRv) const;
void
Btoa(const nsAString& aBtoa, nsAString& aOutput, ErrorResult& aRv) const;
IMPL_EVENT_HANDLER(online)
IMPL_EVENT_HANDLER(offline)
IMPL_EVENT_HANDLER(close)
void
Dump(const Optional<nsAString>& aString) const;
};
class DedicatedWorkerGlobalScope MOZ_FINAL : public WorkerGlobalScope
{
~DedicatedWorkerGlobalScope() { }
public:
DedicatedWorkerGlobalScope(WorkerPrivate* aWorkerPrivate);
static bool
Visible(JSContext* aCx, JSObject* aObj);
virtual JSObject*
WrapGlobalObject(JSContext* aCx) MOZ_OVERRIDE;
void
PostMessage(JSContext* aCx, JS::Handle<JS::Value> aMessage,
const Optional<Sequence<JS::Value>>& aTransferable,
ErrorResult& aRv);
IMPL_EVENT_HANDLER(message)
};
class SharedWorkerGlobalScope MOZ_FINAL : public WorkerGlobalScope
{
const nsCString mName;
~SharedWorkerGlobalScope() { }
public:
SharedWorkerGlobalScope(WorkerPrivate* aWorkerPrivate,
const nsCString& aName);
static bool
Visible(JSContext* aCx, JSObject* aObj);
virtual JSObject*
WrapGlobalObject(JSContext* aCx) MOZ_OVERRIDE;
void GetName(DOMString& aName) const {
aName.AsAString() = NS_ConvertUTF8toUTF16(mName);
}
IMPL_EVENT_HANDLER(connect)
};
JSObject*
CreateGlobalScope(JSContext* aCx);
END_WORKERS_NAMESPACE
#endif /* mozilla_dom_workerscope_h__ */