Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / frame / FrameClient.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 FrameClient_h
6 #define FrameClient_h
7
8 namespace blink {
9
10 class Frame;
11 class LocalFrame;
12 class MessageEvent;
13 class SecurityOrigin;
14
15 class FrameClient {
16 public:
17     virtual void detached() = 0;
18
19     virtual Frame* opener() const = 0;
20     virtual void setOpener(Frame*) = 0;
21
22     virtual Frame* parent() const = 0;
23     virtual Frame* top() const = 0;
24     virtual Frame* previousSibling() const = 0;
25     virtual Frame* nextSibling() const = 0;
26     virtual Frame* firstChild() const = 0;
27     virtual Frame* lastChild() const = 0;
28
29     // Returns true if the embedder intercepted the postMessage call
30     virtual bool willCheckAndDispatchMessageEvent(SecurityOrigin* /*target*/, MessageEvent*, LocalFrame* /*sourceFrame*/) const { return false; }
31
32     virtual ~FrameClient() { }
33 };
34
35 } // namespace blink
36
37 #endif // FrameClient_h