mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
56 lines
1.1 KiB
C++
56 lines
1.1 KiB
C++
#include "ContentProcessParent.h"
|
|
#include "TabParent.h"
|
|
|
|
#include "mozilla/ipc/GeckoThread.h"
|
|
|
|
using mozilla::ipc::BrowserProcessSubThread;
|
|
using mozilla::dom::TabParent;
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
ContentProcessParent* ContentProcessParent::gSingleton;
|
|
|
|
ContentProcessParent*
|
|
ContentProcessParent::GetSingleton()
|
|
{
|
|
if (!gSingleton)
|
|
gSingleton = new ContentProcessParent();
|
|
|
|
return gSingleton;
|
|
}
|
|
|
|
TabParent*
|
|
ContentProcessParent::CreateTab(const MagicWindowHandle& hwnd)
|
|
{
|
|
return static_cast<TabParent*>(SendIFrameEmbeddingConstructor(hwnd));
|
|
}
|
|
|
|
ContentProcessParent::ContentProcessParent()
|
|
: mSubprocess(GeckoChildProcess_Tab)
|
|
{
|
|
// TODO: async launching!
|
|
mSubprocess.SyncLaunch();
|
|
Open(mSubprocess.GetChannel());
|
|
}
|
|
|
|
ContentProcessParent::~ContentProcessParent()
|
|
{
|
|
}
|
|
|
|
IFrameEmbeddingProtocolParent*
|
|
ContentProcessParent::IFrameEmbeddingConstructor(const MagicWindowHandle& parentWidget)
|
|
{
|
|
return new TabParent();
|
|
}
|
|
|
|
nsresult
|
|
ContentProcessParent::IFrameEmbeddingDestructor(IFrameEmbeddingProtocolParent* frame)
|
|
{
|
|
delete frame;
|
|
return NS_OK;
|
|
}
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|