Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / public / web / WebRemoteFrameClient.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef WebRemoteFrameClient_h
6 #define WebRemoteFrameClient_h
7
8 #include "public/web/WebDOMMessageEvent.h"
9 #include "public/web/WebSecurityOrigin.h"
10
11 namespace blink {
12 class WebInputEvent;
13 class WebLocalFrame;
14 class WebRemoteFrame;
15 struct WebRect;
16
17 class WebRemoteFrameClient {
18 public:
19     // Notify the embedder that it should remove this frame from the frame tree
20     // and release any resources associated with it.
21     virtual void frameDetached() { }
22
23     // Notifies the embedder that a postMessage was issued to a remote frame.
24     virtual void postMessageEvent(
25         WebLocalFrame* sourceFrame,
26         WebRemoteFrame* targetFrame,
27         WebSecurityOrigin targetOrigin,
28         WebDOMMessageEvent) { }
29
30     // Send initial drawing parameters to a child frame that is being rendered
31     // out of process.
32     virtual void initializeChildFrame(
33         const WebRect& frameRect,
34         float scaleFactor) { }
35
36     // A remote frame was asked to start a navigation.
37     virtual void navigate(const WebURLRequest& request, bool shouldReplaceCurrentEntry) { }
38
39     // FIXME: Remove this method once we have input routing in the browser
40     // process. See http://crbug.com/339659.
41     virtual void forwardInputEvent(const WebInputEvent*) { }
42 };
43
44 } // namespace blink
45
46 #endif // WebRemoteFrameClient_h