flutter_flutter/engine/public/web/WebLocalFrame.h
2014-10-23 11:17:19 -07:00

35 lines
1.3 KiB
C++

// 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