blob: a1051c8d370ac2c8c0941c7a718c0123f2015ebd [file] [log] [blame]
// Copyright 2014 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 WebLocalFrame_h
#define WebLocalFrame_h
#include "WebFrame.h"
namespace blink {
// Interface for interacting with in process frames. This contains methods that
// require interacting with a frame's document.
// FIXME: Move lots of methods from WebFrame in here.
class WebLocalFrame : public WebFrame {
public:
// Creates a WebFrame. Delete this WebFrame by calling WebFrame::close().
// It is valid to pass a null client pointer.
BLINK_EXPORT static WebLocalFrame* create(WebFrameClient*);
// Returns the WebFrame associated with the current V8 context. This
// function can return 0 if the context is associated with a Document that
// is not currently being displayed in a Frame.
BLINK_EXPORT static WebLocalFrame* frameForCurrentContext();
// Returns the frame corresponding to the given context. This can return 0
// if the context is detached from the frame, or if the context doesn't
// correspond to a frame (e.g., workers).
BLINK_EXPORT static WebLocalFrame* frameForContext(v8::Handle<v8::Context>);
};
} // namespace blink
#endif // WebLocalFrame_h