OLD | NEW |
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 CONTENT_TEST_WEB_CONTENTS_OBSERVER_SANITY_CHECKER_H_ | 5 #ifndef CONTENT_TEST_WEB_CONTENTS_OBSERVER_SANITY_CHECKER_H_ |
6 #define CONTENT_TEST_WEB_CONTENTS_OBSERVER_SANITY_CHECKER_H_ | 6 #define CONTENT_TEST_WEB_CONTENTS_OBSERVER_SANITY_CHECKER_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 // checks are test-only code designed to find bugs in the implementation of the | 23 // checks are test-only code designed to find bugs in the implementation of the |
24 // content layer by validating the contract between WebContents and its | 24 // content layer by validating the contract between WebContents and its |
25 // observers. | 25 // observers. |
26 // | 26 // |
27 // For example, WebContentsObserver::RenderFrameCreated announces the existence | 27 // For example, WebContentsObserver::RenderFrameCreated announces the existence |
28 // of a new RenderFrameHost, so that method call must occur before the | 28 // of a new RenderFrameHost, so that method call must occur before the |
29 // RenderFrameHost is referenced by some other WebContentsObserver method. | 29 // RenderFrameHost is referenced by some other WebContentsObserver method. |
30 class WebContentsObserverSanityChecker : public WebContentsObserver, | 30 class WebContentsObserverSanityChecker : public WebContentsObserver, |
31 public base::SupportsUserData::Data { | 31 public base::SupportsUserData::Data { |
32 public: | 32 public: |
| 33 ~WebContentsObserverSanityChecker() override; |
| 34 |
33 // Enables these checks on |web_contents|. Usually ContentBrowserSanityChecker | 35 // Enables these checks on |web_contents|. Usually ContentBrowserSanityChecker |
34 // should call this for you. | 36 // should call this for you. |
35 static void Enable(WebContents* web_contents); | 37 static void Enable(WebContents* web_contents); |
36 | 38 |
37 // WebContentsObserver implementation. | 39 // WebContentsObserver implementation. |
38 void RenderFrameCreated(RenderFrameHost* render_frame_host) override; | 40 void RenderFrameCreated(RenderFrameHost* render_frame_host) override; |
39 void RenderFrameDeleted(RenderFrameHost* render_frame_host) override; | 41 void RenderFrameDeleted(RenderFrameHost* render_frame_host) override; |
40 void RenderFrameForInterstitialPageCreated( | 42 void RenderFrameForInterstitialPageCreated( |
41 RenderFrameHost* render_frame_host) override; | 43 RenderFrameHost* render_frame_host) override; |
42 void RenderFrameHostChanged(RenderFrameHost* old_host, | 44 void RenderFrameHostChanged(RenderFrameHost* old_host, |
(...skipping 26 matching lines...) Expand all Loading... |
69 void MediaStoppedPlaying(const MediaPlayerInfo& media_info, | 71 void MediaStoppedPlaying(const MediaPlayerInfo& media_info, |
70 const MediaPlayerId& id) override; | 72 const MediaPlayerId& id) override; |
71 bool OnMessageReceived(const IPC::Message& message, | 73 bool OnMessageReceived(const IPC::Message& message, |
72 RenderFrameHost* render_frame_host) override; | 74 RenderFrameHost* render_frame_host) override; |
73 void WebContentsDestroyed() override; | 75 void WebContentsDestroyed() override; |
74 void DidStartLoading() override; | 76 void DidStartLoading() override; |
75 void DidStopLoading() override; | 77 void DidStopLoading() override; |
76 | 78 |
77 private: | 79 private: |
78 explicit WebContentsObserverSanityChecker(WebContents* web_contents); | 80 explicit WebContentsObserverSanityChecker(WebContents* web_contents); |
79 ~WebContentsObserverSanityChecker() override; | |
80 | 81 |
81 std::string Format(RenderFrameHost* render_frame_host); | 82 std::string Format(RenderFrameHost* render_frame_host); |
82 void AssertRenderFrameExists(RenderFrameHost* render_frame_host); | 83 void AssertRenderFrameExists(RenderFrameHost* render_frame_host); |
83 void AssertMainFrameExists(); | 84 void AssertMainFrameExists(); |
84 | 85 |
85 bool NavigationIsOngoing(NavigationHandle* navigation_handle); | 86 bool NavigationIsOngoing(NavigationHandle* navigation_handle); |
86 | 87 |
87 void EnsureStableParentValue(RenderFrameHost* render_frame_host); | 88 void EnsureStableParentValue(RenderFrameHost* render_frame_host); |
88 bool HasAnyChildren(RenderFrameHost* render_frame_host); | 89 bool HasAnyChildren(RenderFrameHost* render_frame_host); |
89 | 90 |
(...skipping 10 matching lines...) Expand all Loading... |
100 bool is_loading_; | 101 bool is_loading_; |
101 | 102 |
102 bool web_contents_destroyed_; | 103 bool web_contents_destroyed_; |
103 | 104 |
104 DISALLOW_COPY_AND_ASSIGN(WebContentsObserverSanityChecker); | 105 DISALLOW_COPY_AND_ASSIGN(WebContentsObserverSanityChecker); |
105 }; | 106 }; |
106 | 107 |
107 } // namespace content | 108 } // namespace content |
108 | 109 |
109 #endif // CONTENT_TEST_WEB_CONTENTS_OBSERVER_SANITY_CHECKER_H_ | 110 #endif // CONTENT_TEST_WEB_CONTENTS_OBSERVER_SANITY_CHECKER_H_ |
OLD | NEW |