dom/base/BarProps.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 /* BarProps are the collection of little properties of DOM windows whose
     7    only property of their own is "visible".  They describe the window
     8    chrome which can be made visible or not through JavaScript by setting
     9    the appropriate property (window.menubar.visible)
    10 */
    12 #ifndef mozilla_dom_BarProps_h
    13 #define mozilla_dom_BarProps_h
    15 #include "mozilla/Attributes.h"
    16 #include "nsCycleCollectionParticipant.h"
    17 #include "nsWrapperCache.h"
    18 #include "nsAutoPtr.h"
    19 #include "nsPIDOMWindow.h"
    21 class nsGlobalWindow;
    22 class nsIWebBrowserChrome;
    24 namespace mozilla {
    26 class ErrorResult;
    28 namespace dom {
    30 // Script "BarProp" object
    31 class BarProp : public nsISupports,
    32                 public nsWrapperCache
    33 {
    34 public:
    35   explicit BarProp(nsGlobalWindow *aWindow);
    36   virtual ~BarProp();
    38   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
    39   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(BarProp)
    41   nsPIDOMWindow* GetParentObject() const;
    43   virtual JSObject*
    44   WrapObject(JSContext* aCx) MOZ_OVERRIDE;
    46   virtual bool GetVisible(ErrorResult& aRv) = 0;
    47   virtual void SetVisible(bool aVisible, ErrorResult& aRv) = 0;
    49 protected:
    50   bool GetVisibleByFlag(uint32_t aChromeFlag, ErrorResult& aRv);
    51   void SetVisibleByFlag(bool aVisible, uint32_t aChromeFlag, ErrorResult &aRv);
    53   already_AddRefed<nsIWebBrowserChrome> GetBrowserChrome();
    55   nsRefPtr<nsGlobalWindow> mDOMWindow;
    56 };
    58 // Script "menubar" object
    59 class MenubarProp MOZ_FINAL : public BarProp
    60 {
    61 public:
    62   explicit MenubarProp(nsGlobalWindow *aWindow);
    63   virtual ~MenubarProp();
    65   virtual bool GetVisible(ErrorResult& aRv) MOZ_OVERRIDE;
    66   virtual void SetVisible(bool aVisible, ErrorResult& aRv) MOZ_OVERRIDE;
    67 };
    69 // Script "toolbar" object
    70 class ToolbarProp MOZ_FINAL : public BarProp
    71 {
    72 public:
    73   explicit ToolbarProp(nsGlobalWindow *aWindow);
    74   virtual ~ToolbarProp();
    76   virtual bool GetVisible(ErrorResult& aRv) MOZ_OVERRIDE;
    77   virtual void SetVisible(bool aVisible, ErrorResult& aRv) MOZ_OVERRIDE;
    78 };
    80 // Script "locationbar" object
    81 class LocationbarProp MOZ_FINAL : public BarProp
    82 {
    83 public:
    84   explicit LocationbarProp(nsGlobalWindow *aWindow);
    85   virtual ~LocationbarProp();
    87   virtual bool GetVisible(ErrorResult& aRv) MOZ_OVERRIDE;
    88   virtual void SetVisible(bool aVisible, ErrorResult& aRv) MOZ_OVERRIDE;
    89 };
    91 // Script "personalbar" object
    92 class PersonalbarProp MOZ_FINAL : public BarProp
    93 {
    94 public:
    95   explicit PersonalbarProp(nsGlobalWindow *aWindow);
    96   virtual ~PersonalbarProp();
    98   virtual bool GetVisible(ErrorResult& aRv) MOZ_OVERRIDE;
    99   virtual void SetVisible(bool aVisible, ErrorResult& aRv) MOZ_OVERRIDE;
   100 };
   102 // Script "statusbar" object
   103 class StatusbarProp MOZ_FINAL : public BarProp
   104 {
   105 public:
   106   explicit StatusbarProp(nsGlobalWindow *aWindow);
   107   virtual ~StatusbarProp();
   109   virtual bool GetVisible(ErrorResult& aRv) MOZ_OVERRIDE;
   110   virtual void SetVisible(bool aVisible, ErrorResult& aRv) MOZ_OVERRIDE;
   111 };
   113 // Script "scrollbars" object
   114 class ScrollbarsProp MOZ_FINAL : public BarProp
   115 {
   116 public:
   117   explicit ScrollbarsProp(nsGlobalWindow *aWindow);
   118   virtual ~ScrollbarsProp();
   120   virtual bool GetVisible(ErrorResult& aRv) MOZ_OVERRIDE;
   121   virtual void SetVisible(bool aVisible, ErrorResult& aRv) MOZ_OVERRIDE;
   122 };
   124 } // namespace dom
   125 } // namespace mozilla
   127 #endif /* mozilla_dom_BarProps_h */

mercurial