Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameClient.h

Issue 1447563002: Implement frame attribution (FrameBlamer) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef FrameClient_h 5 #ifndef FrameClient_h
6 #define FrameClient_h 6 #define FrameClient_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "platform/heap/Handle.h" 9 #include "platform/heap/Handle.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 class Frame; 13 class Frame;
14 class LocalFrame; 14 class LocalFrame;
15 class MessageEvent; 15 class MessageEvent;
16 class SecurityOrigin; 16 class SecurityOrigin;
17 class WebBlameContext;
17 enum class FrameDetachType; 18 enum class FrameDetachType;
18 19
19 class CORE_EXPORT FrameClient : public NoBaseWillBeGarbageCollectedFinalized<Fra meClient> { 20 class CORE_EXPORT FrameClient : public NoBaseWillBeGarbageCollectedFinalized<Fra meClient> {
20 USING_FAST_MALLOC_WILL_BE_REMOVED(FrameClient); 21 USING_FAST_MALLOC_WILL_BE_REMOVED(FrameClient);
21 public: 22 public:
22 virtual bool inShadowTree() const = 0; 23 virtual bool inShadowTree() const = 0;
23 24
24 // TODO(dcheng): Move this into FrameLoaderClient, since remote frames don't 25 // TODO(dcheng): Move this into FrameLoaderClient, since remote frames don't
25 // need this. 26 // need this.
26 virtual void willBeDetached() = 0; 27 virtual void willBeDetached() = 0;
27 virtual void detached(FrameDetachType) = 0; 28 virtual void detached(FrameDetachType) = 0;
28 29
29 virtual Frame* opener() const = 0; 30 virtual Frame* opener() const = 0;
30 virtual void setOpener(Frame*) = 0; 31 virtual void setOpener(Frame*) = 0;
31 32
32 virtual Frame* parent() const = 0; 33 virtual Frame* parent() const = 0;
33 virtual Frame* top() const = 0; 34 virtual Frame* top() const = 0;
34 virtual Frame* previousSibling() const = 0; 35 virtual Frame* previousSibling() const = 0;
35 virtual Frame* nextSibling() const = 0; 36 virtual Frame* nextSibling() const = 0;
36 virtual Frame* firstChild() const = 0; 37 virtual Frame* firstChild() const = 0;
37 virtual Frame* lastChild() const = 0; 38 virtual Frame* lastChild() const = 0;
38 39
39 virtual unsigned backForwardLength() = 0; 40 virtual unsigned backForwardLength() = 0;
40 41
41 // Returns true if the embedder intercepted the postMessage call 42 // Returns true if the embedder intercepted the postMessage call
42 virtual bool willCheckAndDispatchMessageEvent(SecurityOrigin* /*target*/, Me ssageEvent*, LocalFrame* /*sourceFrame*/) const { return false; } 43 virtual bool willCheckAndDispatchMessageEvent(SecurityOrigin* /*target*/, Me ssageEvent*, LocalFrame* /*sourceFrame*/) const { return false; }
43 44
44 virtual void frameFocused() const = 0; 45 virtual void frameFocused() const = 0;
45 46
47 virtual WebBlameContext* frameBlameContext() { return nullptr; }
48
46 virtual ~FrameClient() { } 49 virtual ~FrameClient() { }
47 50
48 DEFINE_INLINE_VIRTUAL_TRACE() { } 51 DEFINE_INLINE_VIRTUAL_TRACE() { }
49 }; 52 };
50 53
51 } // namespace blink 54 } // namespace blink
52 55
53 #endif // FrameClient_h 56 #endif // FrameClient_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698