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 #include "mozilla/dom/PaintRequest.h"
8 #include "mozilla/dom/PaintRequestBinding.h"
9 #include "mozilla/dom/PaintRequestListBinding.h"
10 #include "mozilla/dom/DOMRect.h"
15 /******************************************************************************
16 * mozilla::dom::PaintRequest
17 *****************************************************************************/
19 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(PaintRequest
, mParent
)
21 NS_INTERFACE_TABLE_HEAD(PaintRequest
)
22 NS_WRAPPERCACHE_INTERFACE_TABLE_ENTRY
23 NS_INTERFACE_TABLE(PaintRequest
, nsIDOMPaintRequest
)
24 NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(PaintRequest
)
27 NS_IMPL_CYCLE_COLLECTING_ADDREF(PaintRequest
)
28 NS_IMPL_CYCLE_COLLECTING_RELEASE(PaintRequest
)
30 /* virtual */ JSObject
*
31 PaintRequest::WrapObject(JSContext
* aCx
)
33 return PaintRequestBinding::Wrap(aCx
, this);
36 already_AddRefed
<DOMRect
>
37 PaintRequest::ClientRect()
39 nsRefPtr
<DOMRect
> clientRect
= new DOMRect(this);
40 clientRect
->SetLayoutRect(mRequest
.mRect
);
41 return clientRect
.forget();
45 PaintRequest::GetClientRect(nsIDOMClientRect
** aResult
)
47 nsRefPtr
<DOMRect
> clientRect
= ClientRect();
48 clientRect
.forget(aResult
);
53 PaintRequest::GetXPCOMReason(nsAString
& aResult
)
59 /******************************************************************************
60 * mozilla::dom::PaintRequestList
61 *****************************************************************************/
63 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(PaintRequestList
, mParent
)
65 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(PaintRequestList
)
66 NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
67 NS_INTERFACE_MAP_ENTRY(nsISupports
)
70 NS_IMPL_CYCLE_COLLECTING_ADDREF(PaintRequestList
)
71 NS_IMPL_CYCLE_COLLECTING_RELEASE(PaintRequestList
)
74 PaintRequestList::WrapObject(JSContext
* aCx
)
76 return PaintRequestListBinding::Wrap(aCx
, this);
80 } // namespace mozilla