RemoteDOMWindow.cpp [plain text]
#include "config.h"
#include "RemoteDOMWindow.h"
#include "RemoteFrame.h"
#include <JavaScriptCore/JSCJSValue.h>
#include <JavaScriptCore/JSCJSValueInlines.h>
namespace WebCore {
RemoteDOMWindow::RemoteDOMWindow(Ref<RemoteFrame>&& frame, GlobalWindowIdentifier&& identifier)
: AbstractDOMWindow(WTFMove(identifier))
, m_frame(WTFMove(frame))
{
m_frame->setWindow(this);
}
RemoteDOMWindow::~RemoteDOMWindow()
{
if (m_frame)
m_frame->setWindow(nullptr);
}
WindowProxy* RemoteDOMWindow::self() const
{
if (!m_frame)
return nullptr;
return &m_frame->windowProxy();
}
Location* RemoteDOMWindow::location() const
{
return nullptr;
}
void RemoteDOMWindow::close(Document&)
{
}
bool RemoteDOMWindow::closed() const
{
return !m_frame;
}
void RemoteDOMWindow::focus(DOMWindow& incumbentWindow)
{
UNUSED_PARAM(incumbentWindow);
}
void RemoteDOMWindow::blur()
{
}
unsigned RemoteDOMWindow::length() const
{
return 0;
}
WindowProxy* RemoteDOMWindow::top() const
{
if (!m_frame)
return nullptr;
return &m_frame->windowProxy();
}
WindowProxy* RemoteDOMWindow::opener() const
{
if (!m_frame)
return nullptr;
auto* openerFrame = m_frame->opener();
if (!openerFrame)
return nullptr;
return &openerFrame->windowProxy();
}
WindowProxy* RemoteDOMWindow::parent() const
{
if (!m_frame)
return nullptr;
return &m_frame->windowProxy();
}
void RemoteDOMWindow::postMessage(JSC::ExecState&, DOMWindow& incumbentWindow, JSC::JSValue message, const String& targetOrigin, Vector<JSC::Strong<JSC::JSObject>>&&)
{
UNUSED_PARAM(incumbentWindow);
UNUSED_PARAM(message);
UNUSED_PARAM(targetOrigin);
}
}