Files
palemoon27/dom/base/BarProps.h
T
roytam1 c08eaf90ca import change from rmottola/Arctic-Fox:
- Bug 1142761 - Move CallSetter into ScriptedIndirectProxyHandler so it will eventually be deleted along with its only remaining caller. (a5a0b3f6b)
- Bug 1143810 - Remove some XPConnect JSClass::setProperty hooks that are not needed anymore. (4eda6a60b)
- Bug 1142195 - Remove some unused class declarations in the DOM Cache code (afd802623)
- Bug 1145345 - Account for a greater variety of rounding errors when comparing coordinates (6a41f34f3)
- Bug 1145787 - Put a misplaced assertion into its proper place. (7f760a66d)
- Bug 1146059 - Remove Response.finalURL. (230d9fa50)
- Bug 1134324 - Set CORS mode and credentials on Fetch event Request. r=michal (772fcac8f)
- Bug 1136200 - Verify request type is not no-cors if response is opaque (396c9bfb4)
- Bug 1144249 - fix fetch no-cors mode. r=bkelly (af9656291)
- Bug 1144876 - Stop spamming stderr with a warning every time that we encounter a document that is not controlled by a service worker; (0a5c5fbfd)
- Bug 1117172 part 1. Allow passing an optional aGivenProto to binding Wrap methods. (8aea85046)
- Bug 1117172 part 2. Change the non-wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv (13146be83)
- Bug 1117172 part 3. Change the wrappercached WrapObject methods to al low passing in aGivenProto. r=peterv (1621ef48d)
- Bug 1146293 - Fix coding style break (intent and line length) caused by Bug 1117172 and Bug 1145631. (0822709f1)
- Bug 1121298 - Part 1: refactor MozNDEFRecord cstor. (6e57a37ec)
- Bug 1121298 - Part 2: Add Constructor(uri) for MozNDEFRecord. (46f921bcf)
- Bug 1121298 - Part 3. add getAsURI. (e67cad94b)
- Bug 1138886 - Structured Clone for MozNDEFRecord. (With adaptations of Bug 1117172 part 3) (b83b7f684)
- Bug 1143504 - Disconnect the Cache object from its actor when it gets cycle collected. (dae58dcdd)
2019-06-21 11:00:47 +08:00

130 lines
3.4 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/. */
/* 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
#include "mozilla/Attributes.h"
#include "nsCycleCollectionParticipant.h"
#include "nsWrapperCache.h"
#include "nsAutoPtr.h"
#include "nsPIDOMWindow.h"
class nsGlobalWindow;
class nsIWebBrowserChrome;
namespace mozilla {
class ErrorResult;
namespace dom {
// Script "BarProp" object
class BarProp : public nsISupports,
public nsWrapperCache
{
public:
explicit BarProp(nsGlobalWindow *aWindow);
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(BarProp)
nsPIDOMWindow* GetParentObject() const;
virtual JSObject*
WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
virtual bool GetVisible(ErrorResult& aRv) = 0;
virtual void SetVisible(bool aVisible, ErrorResult& aRv) = 0;
protected:
virtual ~BarProp();
bool GetVisibleByFlag(uint32_t aChromeFlag, ErrorResult& aRv);
void SetVisibleByFlag(bool aVisible, uint32_t aChromeFlag, ErrorResult &aRv);
already_AddRefed<nsIWebBrowserChrome> GetBrowserChrome();
nsRefPtr<nsGlobalWindow> mDOMWindow;
};
// Script "menubar" object
class MenubarProp final : public BarProp
{
public:
explicit MenubarProp(nsGlobalWindow *aWindow);
virtual ~MenubarProp();
virtual bool GetVisible(ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, ErrorResult& aRv) override;
};
// Script "toolbar" object
class ToolbarProp final : public BarProp
{
public:
explicit ToolbarProp(nsGlobalWindow *aWindow);
virtual ~ToolbarProp();
virtual bool GetVisible(ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, ErrorResult& aRv) override;
};
// Script "locationbar" object
class LocationbarProp final : public BarProp
{
public:
explicit LocationbarProp(nsGlobalWindow *aWindow);
virtual ~LocationbarProp();
virtual bool GetVisible(ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, ErrorResult& aRv) override;
};
// Script "personalbar" object
class PersonalbarProp final : public BarProp
{
public:
explicit PersonalbarProp(nsGlobalWindow *aWindow);
virtual ~PersonalbarProp();
virtual bool GetVisible(ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, ErrorResult& aRv) override;
};
// Script "statusbar" object
class StatusbarProp final : public BarProp
{
public:
explicit StatusbarProp(nsGlobalWindow *aWindow);
virtual ~StatusbarProp();
virtual bool GetVisible(ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, ErrorResult& aRv) override;
};
// Script "scrollbars" object
class ScrollbarsProp final : public BarProp
{
public:
explicit ScrollbarsProp(nsGlobalWindow *aWindow);
virtual ~ScrollbarsProp();
virtual bool GetVisible(ErrorResult& aRv) override;
virtual void SetVisible(bool aVisible, ErrorResult& aRv) override;
};
} // namespace dom
} // namespace mozilla
#endif /* mozilla_dom_BarProps_h */