1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/embedding/browser/webBrowser/nsContextMenuInfo.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,67 @@ 1.4 +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- 1.5 + * 1.6 + * This Source Code Form is subject to the terms of the Mozilla Public 1.7 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.8 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.9 + 1.10 +#ifndef nsContextMenuInfo_h__ 1.11 +#define nsContextMenuInfo_h__ 1.12 + 1.13 +#include "nsCOMPtr.h" 1.14 +#include "nsIContextMenuListener2.h" 1.15 +#include "nsIDOMNode.h" 1.16 +#include "nsIDOMEvent.h" 1.17 +#include "imgIContainer.h" 1.18 +#include "imgIRequest.h" 1.19 + 1.20 +class ChromeContextMenuListener; 1.21 +class imgRequestProxy; 1.22 + 1.23 +//***************************************************************************** 1.24 +// class nsContextMenuInfo 1.25 +// 1.26 +// Helper class for implementors of nsIContextMenuListener2 1.27 +//***************************************************************************** 1.28 + 1.29 +class nsContextMenuInfo : public nsIContextMenuInfo 1.30 +{ 1.31 + friend class ChromeContextMenuListener; 1.32 + 1.33 +public: 1.34 + nsContextMenuInfo(); 1.35 + 1.36 + NS_DECL_ISUPPORTS 1.37 + NS_DECL_NSICONTEXTMENUINFO 1.38 + 1.39 +private: 1.40 + virtual ~nsContextMenuInfo(); 1.41 + 1.42 + void SetMouseEvent(nsIDOMEvent *aEvent) 1.43 + { mMouseEvent = aEvent; } 1.44 + 1.45 + void SetDOMNode(nsIDOMNode *aNode) 1.46 + { mDOMNode = aNode; } 1.47 + 1.48 + void SetAssociatedLink(nsIDOMNode *aLink) 1.49 + { mAssociatedLink = aLink; } 1.50 + 1.51 + nsresult GetImageRequest(nsIDOMNode *aDOMNode, 1.52 + imgIRequest **aRequest); 1.53 + 1.54 + bool HasBackgroundImage(nsIDOMNode *aDOMNode); 1.55 + 1.56 + nsresult GetBackgroundImageRequest(nsIDOMNode *aDOMNode, 1.57 + imgRequestProxy **aRequest); 1.58 + 1.59 + nsresult GetBackgroundImageRequestInternal(nsIDOMNode *aDOMNode, 1.60 + imgRequestProxy **aRequest); 1.61 + 1.62 +private: 1.63 + nsCOMPtr<nsIDOMEvent> mMouseEvent; 1.64 + nsCOMPtr<nsIDOMNode> mDOMNode; 1.65 + nsCOMPtr<nsIDOMNode> mAssociatedLink; 1.66 + 1.67 +}; // class nsContextMenuInfo 1.68 + 1.69 + 1.70 +#endif // nsContextMenuInfo_h__