mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 18:55:30 +00:00
e0c61dafa5
Summary: # ignore-this-changeset Reviewers: Ehsan Reviewed By: Ehsan Subscribers: emilio, jandem, bbouvier, jya Bug #: 1519636 Differential Revision: https://phabricator.services.mozilla.com/D20062
43 lines
1.5 KiB
C++
43 lines
1.5 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* 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/. */
|
|
|
|
#ifndef nsFrameLoaderOwner_h_
|
|
#define nsFrameLoaderOwner_h_
|
|
|
|
class nsFrameLoader;
|
|
|
|
// IID for the FrameLoaderOwner interface
|
|
#define NS_FRAMELOADEROWNER_IID \
|
|
{ \
|
|
0x1b4fd25c, 0x2e57, 0x11e9, { \
|
|
0x9e, 0x5a, 0x5b, 0x86, 0xe9, 0x89, 0xa5, 0xc0 \
|
|
} \
|
|
}
|
|
|
|
// Mixin that handles ownership of nsFrameLoader for Frame elements
|
|
// (XULFrameElement, HTMLI/FrameElement, etc...). Manages information when doing
|
|
// FrameLoader swaps.
|
|
//
|
|
// This class is considered an XPCOM mixin. This means that while we inherit
|
|
// from ISupports in order to be QI'able, we expect the classes that inherit
|
|
// nsFrameLoaderOwner to actually implement ISupports for us.
|
|
class nsFrameLoaderOwner : public nsISupports {
|
|
public:
|
|
NS_DECLARE_STATIC_IID_ACCESSOR(NS_FRAMELOADEROWNER_IID)
|
|
|
|
nsFrameLoaderOwner() = default;
|
|
already_AddRefed<nsFrameLoader> GetFrameLoader();
|
|
void SetFrameLoader(nsFrameLoader* aNewFrameLoader);
|
|
|
|
protected:
|
|
virtual ~nsFrameLoaderOwner() = default;
|
|
RefPtr<nsFrameLoader> mFrameLoader;
|
|
};
|
|
|
|
NS_DEFINE_STATIC_IID_ACCESSOR(nsFrameLoaderOwner, NS_FRAMELOADEROWNER_IID)
|
|
|
|
#endif // nsFrameLoaderOwner_h_
|