|  | // 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 SKY_ENGINE_PUBLIC_WEB_WEBLOCALFRAME_H_ | 
|  | #define SKY_ENGINE_PUBLIC_WEB_WEBLOCALFRAME_H_ | 
|  |  | 
|  | #include "sky/engine/public/web/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  // SKY_ENGINE_PUBLIC_WEB_WEBLOCALFRAME_H_ |