docshell/base/nsDocShellTransferableHooks.cpp

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:584e00a1f0a1
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5 #include "nsDocShellTransferableHooks.h"
6 #include "nsIClipboardDragDropHooks.h"
7 #include "nsIClipboardDragDropHookList.h"
8 #include "nsArrayEnumerator.h"
9
10 nsTransferableHookData::nsTransferableHookData()
11 {
12 }
13
14
15 nsTransferableHookData::~nsTransferableHookData()
16 {
17 }
18
19 //*****************************************************************************
20 // nsIClipboardDragDropHookList
21 //*****************************************************************************
22
23 NS_IMPL_ISUPPORTS(nsTransferableHookData, nsIClipboardDragDropHookList)
24
25 NS_IMETHODIMP
26 nsTransferableHookData::AddClipboardDragDropHooks(
27 nsIClipboardDragDropHooks *aOverrides)
28 {
29 NS_ENSURE_ARG(aOverrides);
30
31 // don't let a hook be added more than once
32 if (mHookList.IndexOfObject(aOverrides) == -1)
33 {
34 if (!mHookList.AppendObject(aOverrides))
35 return NS_ERROR_FAILURE;
36 }
37
38 return NS_OK;
39 }
40
41 NS_IMETHODIMP
42 nsTransferableHookData::RemoveClipboardDragDropHooks(
43 nsIClipboardDragDropHooks *aOverrides)
44 {
45 NS_ENSURE_ARG(aOverrides);
46 if (!mHookList.RemoveObject(aOverrides))
47 return NS_ERROR_FAILURE;
48
49 return NS_OK;
50 }
51
52 NS_IMETHODIMP
53 nsTransferableHookData::GetHookEnumerator(nsISimpleEnumerator **aResult)
54 {
55 return NS_NewArrayEnumerator(aResult, mHookList);
56 }

mercurial