blob: 3a6cf4000eb503670864139f0079e95a32940f3b [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.#ifndef WebViewBase_h
#ifndef WebRemoteFrameBase_h
#define WebRemoteFrameBase_h
#include "core/CoreExport.h"
#include "public/web/WebRemoteFrame.h"
namespace blink {
class FrameOwner;
class Page;
class RemoteFrame;
class WebRemoteFrameBase : public GarbageCollectedFinalized<WebRemoteFrameBase>,
public WebRemoteFrame {
public:
CORE_EXPORT static WebRemoteFrameBase* FromFrame(RemoteFrame&);
virtual void InitializeCoreFrame(Page&,
FrameOwner*,
const AtomicString& name) = 0;
virtual RemoteFrame* GetFrame() const = 0;
DEFINE_INLINE_VIRTUAL_TRACE() {}
protected:
explicit WebRemoteFrameBase(WebTreeScopeType scope) : WebRemoteFrame(scope) {}
};
DEFINE_TYPE_CASTS(WebRemoteFrameBase,
WebFrame,
frame,
frame->IsWebRemoteFrame(),
frame.IsWebRemoteFrame());
} // namespace blink
#endif // WebRemoteFrameBase_h