gecko-dev/dom/base/BarProps.h

139 строки
4.0 KiB
C
Исходник Обычный вид История

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
2012-05-21 15:12:37 +04:00
/* 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/. */
1999-06-09 22:59:04 +04:00
/* BarProps are the collection of little properties of DOM windows whose
only property of their own is "visible". They describe the window
chrome which can be made visible or not through JavaScript by setting
the appropriate property (window.menubar.visible)
*/
#ifndef mozilla_dom_BarProps_h
#define mozilla_dom_BarProps_h
1999-06-09 22:59:04 +04:00
#include "mozilla/Attributes.h"
#include "nsCycleCollectionParticipant.h"
#include "nsWrapperCache.h"
#include "nsPIDOMWindow.h"
#include "mozilla/dom/BindingDeclarations.h"
1999-06-09 22:59:04 +04:00
class nsGlobalWindow;
class nsIWebBrowserChrome;
1999-06-09 22:59:04 +04:00
namespace mozilla {
class ErrorResult;
namespace dom {
1999-06-09 22:59:04 +04:00
// Script "BarProp" object
class BarProp : public nsISupports,
public nsWrapperCache
{
1999-06-09 22:59:04 +04:00
public:
explicit BarProp(nsGlobalWindow *aWindow);
1999-06-09 22:59:04 +04:00
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(BarProp)
1999-06-09 22:59:04 +04:00
nsPIDOMWindowInner* GetParentObject() const;
virtual JSObject*
WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
virtual bool GetVisible(CallerType aCallerType, ErrorResult& aRv) = 0;
virtual void SetVisible(bool aVisible, CallerType aCallerType,
ErrorResult& aRv) = 0;
1999-06-09 22:59:04 +04:00
protected:
virtual ~BarProp();
bool GetVisibleByFlag(uint32_t aChromeFlag, ErrorResult& aRv);
void SetVisibleByFlag(bool aVisible, uint32_t aChromeFlag,
CallerType aCallerType, ErrorResult &aRv);
already_AddRefed<nsIWebBrowserChrome> GetBrowserChrome();
Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat The bulk of this commit was generated with a script, executed at the top level of a typical source code checkout. The only non-machine-generated part was modifying MFBT's moz.build to reflect the new naming. CLOSED TREE makes big refactorings like this a piece of cake. # The main substitution. find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \ xargs perl -p -i -e ' s/nsRefPtr\.h/RefPtr\.h/g; # handle includes s/nsRefPtr ?</RefPtr</g; # handle declarations and variables ' # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h. perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h # Handle nsRefPtr.h itself, a couple places that define constructors # from nsRefPtr, and code generators specially. We do this here, rather # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename # things like nsRefPtrHashtable. perl -p -i -e 's/nsRefPtr/RefPtr/g' \ mfbt/nsRefPtr.h \ xpcom/glue/nsCOMPtr.h \ xpcom/base/OwningNonNull.h \ ipc/ipdl/ipdl/lower.py \ ipc/ipdl/ipdl/builtin.py \ dom/bindings/Codegen.py \ python/lldbutils/lldbutils/utils.py # In our indiscriminate substitution above, we renamed # nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up. find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \ xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g' if [ -d .git ]; then git mv mfbt/nsRefPtr.h mfbt/RefPtr.h else hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h fi --HG-- rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 08:24:48 +03:00
RefPtr<nsGlobalWindow> mDOMWindow;
1999-06-09 22:59:04 +04:00
};
// Script "menubar" object
class MenubarProp final : public BarProp
{
1999-06-09 22:59:04 +04:00
public:
explicit MenubarProp(nsGlobalWindow *aWindow);
virtual ~MenubarProp();
1999-06-09 22:59:04 +04:00
virtual bool GetVisible(CallerType aCallerType, ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, CallerType aCallerType,
ErrorResult& aRv) override;
1999-06-09 22:59:04 +04:00
};
// Script "toolbar" object
class ToolbarProp final : public BarProp
{
1999-06-09 22:59:04 +04:00
public:
explicit ToolbarProp(nsGlobalWindow *aWindow);
virtual ~ToolbarProp();
1999-06-09 22:59:04 +04:00
virtual bool GetVisible(CallerType aCallerType, ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, CallerType aCallerType,
ErrorResult& aRv) override;
1999-06-09 22:59:04 +04:00
};
// Script "locationbar" object
class LocationbarProp final : public BarProp
{
1999-06-09 22:59:04 +04:00
public:
explicit LocationbarProp(nsGlobalWindow *aWindow);
virtual ~LocationbarProp();
1999-06-09 22:59:04 +04:00
virtual bool GetVisible(CallerType aCallerType, ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, CallerType aCallerType,
ErrorResult& aRv) override;
1999-06-09 22:59:04 +04:00
};
// Script "personalbar" object
class PersonalbarProp final : public BarProp
{
1999-06-09 22:59:04 +04:00
public:
explicit PersonalbarProp(nsGlobalWindow *aWindow);
virtual ~PersonalbarProp();
1999-06-09 22:59:04 +04:00
virtual bool GetVisible(CallerType aCallerType, ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, CallerType aCallerType,
ErrorResult& aRv) override;
1999-06-09 22:59:04 +04:00
};
// Script "statusbar" object
class StatusbarProp final : public BarProp
{
1999-06-09 22:59:04 +04:00
public:
explicit StatusbarProp(nsGlobalWindow *aWindow);
virtual ~StatusbarProp();
1999-06-09 22:59:04 +04:00
virtual bool GetVisible(CallerType aCallerType, ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, CallerType aCallerType,
ErrorResult& aRv) override;
1999-06-09 22:59:04 +04:00
};
// Script "scrollbars" object
class ScrollbarsProp final : public BarProp
{
1999-06-09 22:59:04 +04:00
public:
explicit ScrollbarsProp(nsGlobalWindow *aWindow);
virtual ~ScrollbarsProp();
virtual bool GetVisible(CallerType aCallerType, ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, CallerType aCallerType,
ErrorResult& aRv) override;
1999-06-09 22:59:04 +04:00
};
} // namespace dom
} // namespace mozilla
#endif /* mozilla_dom_BarProps_h */