OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 16 matching lines...) Expand all Loading... |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #ifndef FrameTestHelpers_h | 31 #ifndef FrameTestHelpers_h |
32 #define FrameTestHelpers_h | 32 #define FrameTestHelpers_h |
33 | 33 |
34 #include "core/frame/Settings.h" | 34 #include "core/frame/Settings.h" |
35 #include "platform/RuntimeEnabledFeatures.h" | 35 #include "platform/RuntimeEnabledFeatures.h" |
36 #include "platform/scroll/ScrollbarTheme.h" | 36 #include "platform/scroll/ScrollbarTheme.h" |
| 37 #include "public/platform/WebString.h" |
37 #include "public/platform/WebURLRequest.h" | 38 #include "public/platform/WebURLRequest.h" |
38 #include "public/web/WebFrameClient.h" | 39 #include "public/web/WebFrameClient.h" |
| 40 #include "public/web/WebFrameOwnerProperties.h" |
39 #include "public/web/WebHistoryItem.h" | 41 #include "public/web/WebHistoryItem.h" |
40 #include "public/web/WebRemoteFrameClient.h" | 42 #include "public/web/WebRemoteFrameClient.h" |
41 #include "public/web/WebViewClient.h" | 43 #include "public/web/WebViewClient.h" |
42 #include "web/WebViewImpl.h" | 44 #include "web/WebViewImpl.h" |
43 #include "wtf/PassOwnPtr.h" | 45 #include "wtf/PassOwnPtr.h" |
44 #include <gmock/gmock.h> | 46 #include <gmock/gmock.h> |
45 #include <gtest/gtest.h> | 47 #include <gtest/gtest.h> |
46 #include <string> | 48 #include <string> |
47 | 49 |
48 namespace blink { | 50 namespace blink { |
49 | 51 |
| 52 class WebFrame; |
50 class WebFrameWidget; | 53 class WebFrameWidget; |
| 54 class WebLocalFrame; |
| 55 class WebRemoteFrame; |
51 class WebRemoteFrameImpl; | 56 class WebRemoteFrameImpl; |
52 | 57 |
53 namespace FrameTestHelpers { | 58 namespace FrameTestHelpers { |
54 | 59 |
55 class TestWebFrameClient; | 60 class TestWebFrameClient; |
56 | 61 |
57 // Loads a url into the specified WebFrame for testing purposes. Pumps any | 62 // Loads a url into the specified WebFrame for testing purposes. Pumps any |
58 // pending resource requests, as well as waiting for the threaded parser to | 63 // pending resource requests, as well as waiting for the threaded parser to |
59 // finish, before returning. | 64 // finish, before returning. |
60 void loadFrame(WebFrame*, const std::string& url); | 65 void loadFrame(WebFrame*, const std::string& url); |
61 // Same as above, but for WebFrame::loadHTMLString(). | 66 // Same as above, but for WebFrame::loadHTMLString(). |
62 void loadHTMLString(WebFrame*, const std::string& html, const WebURL& baseURL); | 67 void loadHTMLString(WebFrame*, const std::string& html, const WebURL& baseURL); |
63 // Same as above, but for WebFrame::loadHistoryItem(). | 68 // Same as above, but for WebFrame::loadHistoryItem(). |
64 void loadHistoryItem(WebFrame*, const WebHistoryItem&, WebHistoryLoadType, WebUR
LRequest::CachePolicy); | 69 void loadHistoryItem(WebFrame*, const WebHistoryItem&, WebHistoryLoadType, WebUR
LRequest::CachePolicy); |
65 // Same as above, but for WebFrame::reload(). | 70 // Same as above, but for WebFrame::reload(). |
66 void reloadFrame(WebFrame*); | 71 void reloadFrame(WebFrame*); |
67 void reloadFrameIgnoringCache(WebFrame*); | 72 void reloadFrameIgnoringCache(WebFrame*); |
68 | 73 |
69 // Pumps pending resource requests while waiting for a frame to load. Don't use | 74 // Pumps pending resource requests while waiting for a frame to load. Don't use |
70 // this. Use one of the above helpers. | 75 // this. Use one of the above helpers. |
71 void pumpPendingRequestsDoNotUse(WebFrame*); | 76 void pumpPendingRequestsDoNotUse(WebFrame*); |
72 | 77 |
| 78 // Calls WebRemoteFrame::createLocalChild, but with some arguments prefilled |
| 79 // with default test values (i.e. with a default |client| or |properties| and/or |
| 80 // with a precalculated |uniqueName|). |
| 81 WebLocalFrame* createLocalChild(WebRemoteFrame* parent, const WebString& name =
WebString::fromUTF8("frameName"), WebFrameClient* = nullptr, WebFrame* previousS
ibling = nullptr, const WebFrameOwnerProperties& = WebFrameOwnerProperties()); |
| 82 |
73 class SettingOverrider { | 83 class SettingOverrider { |
74 public: | 84 public: |
75 virtual void overrideSettings(WebSettings*) = 0; | 85 virtual void overrideSettings(WebSettings*) = 0; |
76 }; | 86 }; |
77 | 87 |
78 // Forces to use mocked overlay scrollbars instead of the default native theme s
crollbars to avoid | 88 // Forces to use mocked overlay scrollbars instead of the default native theme s
crollbars to avoid |
79 // crash in Chromium code when it tries to load UI resources that are not availa
ble when running | 89 // crash in Chromium code when it tries to load UI resources that are not availa
ble when running |
80 // blink unit tests, and to ensure consistent layout regardless of differences b
etween scrollbar themes. | 90 // blink unit tests, and to ensure consistent layout regardless of differences b
etween scrollbar themes. |
81 // WebViewHelper includes this, so this is only needed if a test doesn't use Web
ViewHelper or the test | 91 // WebViewHelper includes this, so this is only needed if a test doesn't use Web
ViewHelper or the test |
82 // needs a bigger scope of mock scrollbar settings than the scope of WebViewHelp
er. | 92 // needs a bigger scope of mock scrollbar settings than the scope of WebViewHelp
er. |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 UseMockScrollbarSettings m_mockScrollbarSettings; | 158 UseMockScrollbarSettings m_mockScrollbarSettings; |
149 TestWebViewClient* m_testWebViewClient; | 159 TestWebViewClient* m_testWebViewClient; |
150 }; | 160 }; |
151 | 161 |
152 // Minimal implementation of WebFrameClient needed for unit tests that load fram
es. Tests that load | 162 // Minimal implementation of WebFrameClient needed for unit tests that load fram
es. Tests that load |
153 // frames and need further specialization of WebFrameClient behavior should subc
lass this. | 163 // frames and need further specialization of WebFrameClient behavior should subc
lass this. |
154 class TestWebFrameClient : public WebFrameClient { | 164 class TestWebFrameClient : public WebFrameClient { |
155 public: | 165 public: |
156 TestWebFrameClient(); | 166 TestWebFrameClient(); |
157 | 167 |
158 WebFrame* createChildFrame(WebLocalFrame* parent, WebTreeScopeType, const We
bString& frameName, WebSandboxFlags, const WebFrameOwnerProperties&) override; | 168 WebFrame* createChildFrame(WebLocalFrame* parent, WebTreeScopeType, const We
bString& name, const WebString& uniqueName, WebSandboxFlags, const WebFrameOwner
Properties&) override; |
159 void frameDetached(WebFrame*, DetachType) override; | 169 void frameDetached(WebFrame*, DetachType) override; |
160 void didStartLoading(bool) override; | 170 void didStartLoading(bool) override; |
161 void didStopLoading() override; | 171 void didStopLoading() override; |
162 | 172 |
163 bool isLoading() { return m_loadsInProgress > 0; } | 173 bool isLoading() { return m_loadsInProgress > 0; } |
164 void waitForLoadToComplete(); | 174 void waitForLoadToComplete(); |
165 | 175 |
166 private: | 176 private: |
167 int m_loadsInProgress; | 177 int m_loadsInProgress; |
168 }; | 178 }; |
(...skipping 15 matching lines...) Expand all Loading... |
184 WebDOMMessageEvent) override { } | 194 WebDOMMessageEvent) override { } |
185 | 195 |
186 private: | 196 private: |
187 RawPtrWillBePersistent<WebRemoteFrameImpl> const m_frame; | 197 RawPtrWillBePersistent<WebRemoteFrameImpl> const m_frame; |
188 }; | 198 }; |
189 | 199 |
190 } // namespace FrameTestHelpers | 200 } // namespace FrameTestHelpers |
191 } // namespace blink | 201 } // namespace blink |
192 | 202 |
193 #endif // FrameTestHelpers_h | 203 #endif // FrameTestHelpers_h |
OLD | NEW |