1f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu// Copyright 2014 The Chromium Authors. All rights reserved.
2f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu// Use of this source code is governed by a BSD-style license that can be
3f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu// found in the LICENSE file.
4f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
5f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "config.h"
6f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "web/WebRemoteFrameImpl.h"
7f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)#include "core/frame/FrameOwner.h"
97242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "core/frame/FrameView.h"
10d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)#include "core/frame/RemoteFrame.h"
117242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "core/frame/Settings.h"
12197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "core/page/Page.h"
137242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "platform/heap/Handle.h"
14f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "public/platform/WebFloatRect.h"
15f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "public/platform/WebRect.h"
16f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "public/web/WebDocument.h"
17f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "public/web/WebPerformance.h"
18f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "public/web/WebRange.h"
195d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)#include "web/WebLocalFrameImpl.h"
205d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)#include "web/WebViewImpl.h"
21f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include <v8/include/v8.h>
22f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
23f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liunamespace blink {
24f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
255d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)namespace {
265d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
275d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// Helper class to bridge communication for a local frame with a remote parent.
285d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// Currently, it serves two purposes:
295d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// 1. Allows the local frame's loader to retrieve sandbox flags associated with
305d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)//    its owner element in another process.
315d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// 2. Trigger a load event on its owner element once it finishes a load.
327242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass RemoteBridgeFrameOwner : public NoBaseWillBeGarbageCollectedFinalized<RemoteBridgeFrameOwner>, public FrameOwner {
337242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RemoteBridgeFrameOwner);
345d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)public:
357242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    static PassOwnPtrWillBeRawPtr<RemoteBridgeFrameOwner> create(PassRefPtrWillBeRawPtr<WebLocalFrameImpl> frame)
367242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    {
377242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci        return adoptPtrWillBeNoop(new RemoteBridgeFrameOwner(frame));
387242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    }
395d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
405d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    virtual bool isLocal() const OVERRIDE;
415d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    virtual SandboxFlags sandboxFlags() const OVERRIDE;
425d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    virtual void dispatchLoad() OVERRIDE;
435d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
447242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    virtual void trace(Visitor*);
457242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
465d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)private:
477242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    explicit RemoteBridgeFrameOwner(PassRefPtrWillBeRawPtr<WebLocalFrameImpl>);
487242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
497242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    RefPtrWillBeMember<WebLocalFrameImpl> m_frame;
505d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)};
515d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
527242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciRemoteBridgeFrameOwner::RemoteBridgeFrameOwner(PassRefPtrWillBeRawPtr<WebLocalFrameImpl> frame)
535d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    : m_frame(frame)
545d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
555d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
565d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
577242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccivoid RemoteBridgeFrameOwner::trace(Visitor* visitor)
587242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci{
597242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    visitor->trace(m_frame);
607242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    FrameOwner::trace(visitor);
617242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}
627242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
635d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)bool RemoteBridgeFrameOwner::isLocal() const
645d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
655d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    return false;
665d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
675d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
685d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)SandboxFlags RemoteBridgeFrameOwner::sandboxFlags() const
695d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
705d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // FIXME: Implement. Most likely grab it from m_frame.
715d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    return 0;
725d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
735d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
745d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)void RemoteBridgeFrameOwner::dispatchLoad()
755d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
765d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // FIXME: Implement. Most likely goes through m_frame->client().
775d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
785d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
795d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// FIXME: This is just a placeholder frame owner to supply to RemoteFrame when
805d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// the parent is also a remote frame. Strictly speaking, this shouldn't be
815d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// necessary, since a remote frame shouldn't ever need to communicate with a
825d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// remote parent (there are no sandbox flags to retrieve in this case, nor can
835d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// the RemoteFrame itself load a document). In most circumstances, the check for
845d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// frame->owner() can be replaced with a check for frame->tree().parent(). Once
855d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)// that's done, this class can be removed.
867242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass PlaceholderFrameOwner : public NoBaseWillBeGarbageCollectedFinalized<PlaceholderFrameOwner>, public FrameOwner {
877242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PlaceholderFrameOwner);
885d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)public:
895d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    virtual bool isLocal() const OVERRIDE;
905d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    virtual SandboxFlags sandboxFlags() const OVERRIDE;
915d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    virtual void dispatchLoad() OVERRIDE;
925d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)};
935d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
945d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)bool PlaceholderFrameOwner::isLocal() const
955d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
965d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    return false;
975d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
985d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
995d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)SandboxFlags PlaceholderFrameOwner::sandboxFlags() const
1005d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
1015d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    ASSERT_NOT_REACHED();
1025d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    return 0;
1035d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
1045d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
1055d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)void PlaceholderFrameOwner::dispatchLoad()
1065d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
1075d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    ASSERT_NOT_REACHED();
1085d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
1095d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
1105d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)} // namespace
1115d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
1127242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciWebRemoteFrame* WebRemoteFrame::create(WebRemoteFrameClient* client)
113f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
1147242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    WebRemoteFrameImpl* frame = new WebRemoteFrameImpl(client);
1157242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#if ENABLE(OILPAN)
1167242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    return frame;
1177242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#else
1187242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    return adoptRef(frame).leakRef();
1197242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#endif
120f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
121f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
1227242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciWebRemoteFrameImpl::WebRemoteFrameImpl(WebRemoteFrameClient* client)
123d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)    : m_frameClient(this)
1247242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    , m_client(client)
1257242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#if ENABLE(OILPAN)
1267242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    , m_selfKeepAlive(this)
1277242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#endif
128323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles){
129323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}
130323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
131f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebRemoteFrameImpl::~WebRemoteFrameImpl()
132f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
133f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
134f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
1357242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccivoid WebRemoteFrameImpl::trace(Visitor* visitor)
1367242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci{
1377242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#if ENABLE(OILPAN)
1387242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    visitor->trace(m_frame);
1397242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    visitor->trace(m_ownersForChildren);
1407242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
1417242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    WebFrame::traceChildren(visitor, this);
1427242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#endif
1437242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}
1447242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
145f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::isWebLocalFrame() const
146f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
147f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
148f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
149f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
150f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebLocalFrame* WebRemoteFrameImpl::toWebLocalFrame()
151f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
152f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
153f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
154f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
155f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
156f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::isWebRemoteFrame() const
157f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
158f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return true;
159f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
160f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
161f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebRemoteFrame* WebRemoteFrameImpl::toWebRemoteFrame()
162f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
163f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return this;
164f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
165f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
166f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::close()
167f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
1687242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#if ENABLE(OILPAN)
1697242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    m_selfKeepAlive.clear();
1707242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#else
171197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    deref();
1727242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#endif
173f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
174f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
175f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::uniqueName() const
176f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
177f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
178f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
179f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
180f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
181f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::assignedName() const
182f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
183f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
184f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
185f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
186f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
187f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setName(const WebString&)
188f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
189f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
190f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
191f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
192f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebVector<WebIconURL> WebRemoteFrameImpl::iconURLs(int iconTypesMask) const
193f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
194f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
195f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebVector<WebIconURL>();
196f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
197f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
198f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setIsRemote(bool)
199f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
200f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
201f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
202f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
203197021e6b966cfb06891637935ef33fff06433d1Ben Murdochvoid WebRemoteFrameImpl::setRemoteWebLayer(WebLayer* webLayer)
204f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
205197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    if (!frame())
206197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch        return;
207197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
208197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    frame()->setRemotePlatformLayer(webLayer);
209f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
210f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
211f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setPermissionClient(WebPermissionClient*)
212f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
213f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
214f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
215f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
216f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setSharedWorkerRepositoryClient(WebSharedWorkerRepositoryClient*)
217f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
218f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
219f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
220f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
221f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setCanHaveScrollbars(bool)
222f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
223f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
224f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
225f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
226f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebSize WebRemoteFrameImpl::scrollOffset() const
227f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
228f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
229f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebSize();
230f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
231f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
232f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setScrollOffset(const WebSize&)
233f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
234f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
235f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
236f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
237f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebSize WebRemoteFrameImpl::minimumScrollOffset() const
238f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
239f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
240f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebSize();
241f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
242f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
243f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebSize WebRemoteFrameImpl::maximumScrollOffset() const
244f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
245f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
246f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebSize();
247f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
248f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
249f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebSize WebRemoteFrameImpl::contentsSize() const
250f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
251f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
252f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebSize();
253f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
254f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
255f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::hasVisibleContent() const
256f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
257f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
258f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
259f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
260f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
261f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebRect WebRemoteFrameImpl::visibleContentRect() const
262f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
263f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
264f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebRect();
265f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
266f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
267f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::hasHorizontalScrollbar() const
268f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
269f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
270f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
271f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
272f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
273f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::hasVerticalScrollbar() const
274f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
275f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
276f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
277f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
278f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
279f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebView* WebRemoteFrameImpl::view() const
280f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
281197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    if (!frame())
282197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch        return 0;
283197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    return WebViewImpl::fromPage(frame()->page());
284f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
285f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
2867242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciWebViewImpl* WebRemoteFrameImpl::viewImpl() const
2877242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci{
2887242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    if (!frame())
2897242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci        return 0;
2907242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    return WebViewImpl::fromPage(frame()->page());
2917242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}
2927242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
2935d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)void WebRemoteFrameImpl::removeChild(WebFrame* frame)
2945d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
2955d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    WebFrame::removeChild(frame);
2965d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    m_ownersForChildren.remove(frame);
2975d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
2985d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
299f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebDocument WebRemoteFrameImpl::document() const
300f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
301f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebDocument();
302f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
303f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
304f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebPerformance WebRemoteFrameImpl::performance() const
305f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
306f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
307f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebPerformance();
308f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
309f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
310f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::dispatchBeforeUnloadEvent()
311f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
312f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
313f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
314f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
315f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
316f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::dispatchUnloadEvent()
317f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
318f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
319f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
320f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
321f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuNPObject* WebRemoteFrameImpl::windowObject() const
322f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
323f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
324f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
325f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
326f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
327f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::bindToWindowObject(const WebString& name, NPObject*)
328f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
329f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
330f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
331f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
332f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::bindToWindowObject(const WebString& name, NPObject*, void*)
333f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
334f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
335f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
336f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
337f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::executeScript(const WebScriptSource&)
338f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
339f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
340f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
341f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
342f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::executeScriptInIsolatedWorld(
343f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int worldID, const WebScriptSource* sources, unsigned numSources,
344f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int extensionGroup)
345f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
346f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
347f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
348f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
349f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setIsolatedWorldSecurityOrigin(int worldID, const WebSecurityOrigin&)
350f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
351f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
352f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
353f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
354f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setIsolatedWorldContentSecurityPolicy(int worldID, const WebString&)
355f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
356f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
357f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
358f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
359f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::addMessageToConsole(const WebConsoleMessage&)
360f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
361f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
362f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
363f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
364f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::collectGarbage()
365f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
366f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
367f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
368f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
369f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::checkIfRunInsecureContent(const WebURL&) const
370f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
371f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
372f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
373f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
374f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
375f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuv8::Handle<v8::Value> WebRemoteFrameImpl::executeScriptAndReturnValue(
376f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    const WebScriptSource&)
377f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
378f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
379f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return v8::Handle<v8::Value>();
380f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
381f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
382f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::executeScriptInIsolatedWorld(
383f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int worldID, const WebScriptSource* sourcesIn, unsigned numSources,
384f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int extensionGroup, WebVector<v8::Local<v8::Value> >* results)
385f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
386f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
387f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
388f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
389f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuv8::Handle<v8::Value> WebRemoteFrameImpl::callFunctionEvenIfScriptDisabled(
390f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    v8::Handle<v8::Function>,
391f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    v8::Handle<v8::Value>,
392f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int argc,
393f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    v8::Handle<v8::Value> argv[])
394f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
395f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
396f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return v8::Handle<v8::Value>();
397f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
398f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
399f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuv8::Local<v8::Context> WebRemoteFrameImpl::mainWorldScriptContext() const
400f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
401f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
402f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return v8::Local<v8::Context>();
403f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
404f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
405f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::reload(bool ignoreCache)
406f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
407f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
408f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
409f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
410f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::reloadWithOverrideURL(const WebURL& overrideUrl, bool ignoreCache)
411f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
412f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
413f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
414f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
415f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::loadRequest(const WebURLRequest&)
416f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
417f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
418f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
419f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
420f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::loadHistoryItem(const WebHistoryItem&, WebHistoryLoadType, WebURLRequest::CachePolicy)
421f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
422f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
423f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
424f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
425f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::loadData(
426f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    const WebData&, const WebString& mimeType, const WebString& textEncoding,
427f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    const WebURL& baseURL, const WebURL& unreachableURL, bool replace)
428f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
429f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
430f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
431f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
432f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::loadHTMLString(
433f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    const WebData& html, const WebURL& baseURL, const WebURL& unreachableURL,
434f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    bool replace)
435f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
436f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
437f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
438f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
439f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::stopLoading()
440f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
441f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
442f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
443f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
444f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebDataSource* WebRemoteFrameImpl::provisionalDataSource() const
445f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
446f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
447f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
448f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
449f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
450f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebDataSource* WebRemoteFrameImpl::dataSource() const
451f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
452f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
453f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
454f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
455f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
456f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::enableViewSourceMode(bool enable)
457f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
458f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
459f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
460f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
461f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::isViewSourceModeEnabled() const
462f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
463f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
464f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
465f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
466f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
467f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setReferrerForRequest(WebURLRequest&, const WebURL& referrer)
468f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
469f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
470f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
471f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
472f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::dispatchWillSendRequest(WebURLRequest&)
473f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
474f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
475f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
476f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
477f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebURLLoader* WebRemoteFrameImpl::createAssociatedURLLoader(const WebURLLoaderOptions&)
478f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
479f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
480f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
481f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
482f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
483f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuunsigned WebRemoteFrameImpl::unloadListenerCount() const
484f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
485f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
486f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
487f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
488f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
489f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::replaceSelection(const WebString&)
490f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
491f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
492f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
493f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
494f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::insertText(const WebString&)
495f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
496f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
497f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
498f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
499f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setMarkedText(const WebString&, unsigned location, unsigned length)
500f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
501f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
502f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
503f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
504f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::unmarkText()
505f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
506f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
507f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
508f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
509f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::hasMarkedText() const
510f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
511f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
512f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
513f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
514f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
515f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebRange WebRemoteFrameImpl::markedRange() const
516f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
517f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
518f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebRange();
519f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
520f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
521f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::firstRectForCharacterRange(unsigned location, unsigned length, WebRect&) const
522f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
523f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
524f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
525f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
526f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
527f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liusize_t WebRemoteFrameImpl::characterIndexForPoint(const WebPoint&) const
528f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
529f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
530f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
531f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
532f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
533f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::executeCommand(const WebString&, const WebNode&)
534f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
535f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
536f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
537f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
538f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
539f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::executeCommand(const WebString&, const WebString& value, const WebNode&)
540f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
541f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
542f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
543f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
544f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
545f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::isCommandEnabled(const WebString&) const
546f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
547f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
548f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
549f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
550f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
551f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::enableContinuousSpellChecking(bool)
552f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
553f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
554f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
555f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::isContinuousSpellCheckingEnabled() const
556f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
557f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
558f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
559f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
560f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::requestTextChecking(const WebElement&)
561f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
562f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
563f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
564f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
565f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::replaceMisspelledRange(const WebString&)
566f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
567f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
568f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
569f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
570f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::removeSpellingMarkers()
571f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
572f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
573f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
574f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
575f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::hasSelection() const
576f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
577f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
578f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
579f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
580f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
581f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebRange WebRemoteFrameImpl::selectionRange() const
582f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
583f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
584f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebRange();
585f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
586f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
587f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::selectionAsText() const
588f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
589f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
590f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
591f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
592f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
593f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::selectionAsMarkup() const
594f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
595f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
596f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
597f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
598f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
599f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::selectWordAroundCaret()
600f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
601f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
602f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
603f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
604f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
605f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::selectRange(const WebPoint& base, const WebPoint& extent)
606f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
607f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
608f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
609f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
610f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::selectRange(const WebRange&)
611f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
612f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
613f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
614f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
615f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::moveRangeSelection(const WebPoint& base, const WebPoint& extent)
616f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
617f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
618f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
619f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
620f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::moveCaretSelection(const WebPoint&)
621f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
622f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
623f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
624f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
625f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::setEditableSelectionOffsets(int start, int end)
626f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
627f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
628f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
629f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
630f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
631f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::setCompositionFromExistingText(int compositionStart, int compositionEnd, const WebVector<WebCompositionUnderline>& underlines)
632f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
633f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
634f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
635f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
636f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
637f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::extendSelectionAndDelete(int before, int after)
638f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
639f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
640f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
641f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
642f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setCaretVisible(bool)
643f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
644f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
645f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
646f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
647f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuint WebRemoteFrameImpl::printBegin(const WebPrintParams&, const WebNode& constrainToNode)
648f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
649f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
650f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
651f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
652f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
653f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liufloat WebRemoteFrameImpl::printPage(int pageToPrint, WebCanvas*)
654f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
655f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
656f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0.0;
657f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
658f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
659f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liufloat WebRemoteFrameImpl::getPrintPageShrink(int page)
660f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
661f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
662f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0.0;
663f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
664f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
665f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::printEnd()
666f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
667f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
668f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
669f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
670f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::isPrintScalingDisabledForPlugin(const WebNode&)
671f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
672f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
673f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
674f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
675f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
676c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)int WebRemoteFrameImpl::getPrintCopiesForPlugin(const WebNode&)
677c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles){
678c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)    ASSERT_NOT_REACHED();
679c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)    return 1;
680c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)}
681c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)
682f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::hasCustomPageSizeStyle(int pageIndex)
683f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
684f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
685f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
686f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
687f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
688f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::isPageBoxVisible(int pageIndex)
689f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
690f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
691f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
692f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
693f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
694f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::pageSizeAndMarginsInPixels(
695f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int pageIndex,
696f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    WebSize& pageSize,
697f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int& marginTop,
698f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int& marginRight,
699f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int& marginBottom,
700f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int& marginLeft)
701f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
702f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
703f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
704f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
705f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::pageProperty(const WebString& propertyName, int pageIndex)
706f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
707f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
708f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
709f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
710f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
711f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::printPagesWithBoundaries(WebCanvas*, const WebSize&)
712f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
713f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
714f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
715f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
716f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::find(
717f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int identifier, const WebString& searchText, const WebFindOptions&,
718f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    bool wrapWithinFrame, WebRect* selectionRect)
719f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
720f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
721f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
722f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
723f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
724f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::stopFinding(bool clearSelection)
725f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
726f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
727f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
728f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
729f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::scopeStringMatches(
730f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    int identifier, const WebString& searchText, const WebFindOptions&,
731f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    bool reset)
732f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
733f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
734f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
735f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
736f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::cancelPendingScopingEffort()
737f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
738f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
739f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
740f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
741f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::increaseMatchCount(int count, int identifier)
742f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
743f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
744f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
745f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
746f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::resetMatchCount()
747f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
748f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
749f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
750f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
751f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuint WebRemoteFrameImpl::findMatchMarkersVersion() const
752f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
753f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
754f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
755f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
756f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
757f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebFloatRect WebRemoteFrameImpl::activeFindMatchRect()
758f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
759f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
760f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebFloatRect();
761f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
762f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
763f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::findMatchRects(WebVector<WebFloatRect>&)
764f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
765f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
766f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
767f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
768f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuint WebRemoteFrameImpl::selectNearestFindMatch(const WebFloatPoint&, WebRect* selectionRect)
769f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
770f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
771f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return 0;
772f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
773f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
774f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::setTickmarks(const WebVector<WebRect>&)
775f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
776f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
777f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
778f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
779f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liuvoid WebRemoteFrameImpl::dispatchMessageEventWithOriginCheck(
780f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    const WebSecurityOrigin& intendedTargetOrigin,
781f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    const WebDOMEvent&)
782f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
783f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
784f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
785f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
786f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::contentAsText(size_t maxChars) const
787f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
788f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
789f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
790f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
791f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
792f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::contentAsMarkup() const
793f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
794f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
795f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
796f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
797f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
798f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::renderTreeAsText(RenderAsTextControls toShow) const
799f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
800f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
801f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
802f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
803f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
804f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::markerTextForListItem(const WebElement&) const
805f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
806f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
807f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
808f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
809f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
810f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebRect WebRemoteFrameImpl::selectionBoundsRect() const
811f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
812f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
813f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebRect();
814f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
815f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
816f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liubool WebRemoteFrameImpl::selectionStartHasSpellingMarkerFor(int from, int length) const
817f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
818f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
819f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return false;
820f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
821f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
822f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo LiuWebString WebRemoteFrameImpl::layerTreeAsText(bool showDebugInfo) const
823f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu{
824f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    ASSERT_NOT_REACHED();
825f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu    return WebString();
826f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu}
827f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
8285d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)WebLocalFrame* WebRemoteFrameImpl::createLocalChild(const WebString& name, WebFrameClient* client)
8295d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
8305d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    WebLocalFrameImpl* child = toWebLocalFrameImpl(WebLocalFrame::create(client));
8317242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner> >::AddResult result =
8327242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci        m_ownersForChildren.add(child, RemoteBridgeFrameOwner::create(child));
8335d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    appendChild(child);
8345d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // FIXME: currently this calls LocalFrame::init() on the created LocalFrame, which may
8355d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // result in the browser observing two navigations to about:blank (one from the initial
8365d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // frame creation, and one from swapping it into the remote process). FrameLoader might
8375d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // need a special initialization function for this case to avoid that duplicate navigation.
838e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    child->initializeCoreFrame(frame()->host(), result.storedValue->value.get(), name, nullAtom);
8395d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // Partially related with the above FIXME--the init() call may trigger JS dispatch. However,
8405d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    // if the parent is remote, it should never be detached synchronously...
8415d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    ASSERT(child->frame());
8425d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    return child;
8435d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
8445d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
845e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)void WebRemoteFrameImpl::initializeCoreFrame(FrameHost* host, FrameOwner* owner, const AtomicString& name)
8465d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
847e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    setCoreFrame(RemoteFrame::create(&m_frameClient, host, owner));
848197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    m_frame->tree().setName(name, nullAtom);
8495d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
8505d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
8517242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciWebRemoteFrame* WebRemoteFrameImpl::createRemoteChild(const WebString& name, WebRemoteFrameClient* client)
8525d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
8535d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    WebRemoteFrameImpl* child = toWebRemoteFrameImpl(WebRemoteFrame::create(client));
8547242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner> >::AddResult result =
8557242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci        m_ownersForChildren.add(child, adoptPtrWillBeNoop(new PlaceholderFrameOwner));
8565d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    appendChild(child);
857e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    child->initializeCoreFrame(frame()->host(), result.storedValue->value.get(), name);
8585d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    return child;
8595d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
8605d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
8617242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccivoid WebRemoteFrameImpl::setCoreFrame(PassRefPtrWillBeRawPtr<RemoteFrame> frame)
8625d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles){
8635d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    m_frame = frame;
8645d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)}
8655d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)
86676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)WebRemoteFrameImpl* WebRemoteFrameImpl::fromFrame(RemoteFrame& frame)
86776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles){
86876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)    if (!frame.client())
86976c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)        return 0;
87076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)    return static_cast<RemoteFrameClient*>(frame.client())->webFrame();
87176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)}
87276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)
8737242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccivoid WebRemoteFrameImpl::initializeFromFrame(WebLocalFrame* source) const
8747242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci{
8757242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    ASSERT(source);
8767242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    WebLocalFrameImpl* localFrameImpl = toWebLocalFrameImpl(source);
8777242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    client()->initializeChildFrame(
8787242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci        localFrameImpl->frame()->view()->frameRect(),
8797242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci        localFrameImpl->frame()->view()->visibleContentScaleFactor());
8807242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}
881f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu
8827242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci} // namespace blink
883