| 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 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 , m_webViewWidget(nullptr) | 182 , m_webViewWidget(nullptr) |
| 183 , m_settingOverrider(settingOverrider) | 183 , m_settingOverrider(settingOverrider) |
| 184 { | 184 { |
| 185 } | 185 } |
| 186 | 186 |
| 187 WebViewHelper::~WebViewHelper() | 187 WebViewHelper::~WebViewHelper() |
| 188 { | 188 { |
| 189 reset(); | 189 reset(); |
| 190 } | 190 } |
| 191 | 191 |
| 192 WebViewImpl* WebViewHelper::initializeWithOpener(WebFrame* opener, bool enableJa
vascript, TestWebFrameClient* webFrameClient, TestWebViewClient* webViewClient,
void (*updateSettingsFunc)(WebSettings*)) | 192 WebViewImpl* WebViewHelper::initializeWithOpener(WebFrame* opener, bool enableJa
vascript, TestWebFrameClient* webFrameClient, TestWebViewClient* webViewClient,
TestWebWidgetClient* webWidgetClient, void (*updateSettingsFunc)(WebSettings*)) |
| 193 { | 193 { |
| 194 reset(); | 194 reset(); |
| 195 | 195 |
| 196 if (!webFrameClient) | 196 if (!webFrameClient) |
| 197 webFrameClient = defaultWebFrameClient(); | 197 webFrameClient = defaultWebFrameClient(); |
| 198 if (!webViewClient) | 198 if (!webViewClient) |
| 199 webViewClient = defaultWebViewClient(); | 199 webViewClient = defaultWebViewClient(); |
| 200 if (!webWidgetClient) |
| 201 webWidgetClient = webViewClient->widgetClientForTests(); |
| 200 m_webView = WebViewImpl::create(webViewClient); | 202 m_webView = WebViewImpl::create(webViewClient); |
| 201 m_webView->settings()->setJavaScriptEnabled(enableJavascript); | 203 m_webView->settings()->setJavaScriptEnabled(enableJavascript); |
| 202 m_webView->settings()->setPluginsEnabled(true); | 204 m_webView->settings()->setPluginsEnabled(true); |
| 203 // Enable (mocked) network loads of image URLs, as this simplifies | 205 // Enable (mocked) network loads of image URLs, as this simplifies |
| 204 // the completion of resource loads upon test shutdown & helps avoid | 206 // the completion of resource loads upon test shutdown & helps avoid |
| 205 // dormant loads trigger Resource leaks for image loads. | 207 // dormant loads trigger Resource leaks for image loads. |
| 206 // | 208 // |
| 207 // Consequently, all external image resources must be mocked. | 209 // Consequently, all external image resources must be mocked. |
| 208 m_webView->settings()->setLoadsImagesAutomatically(true); | 210 m_webView->settings()->setLoadsImagesAutomatically(true); |
| 209 if (updateSettingsFunc) | 211 if (updateSettingsFunc) |
| 210 updateSettingsFunc(m_webView->settings()); | 212 updateSettingsFunc(m_webView->settings()); |
| 211 else | 213 else |
| 212 m_webView->settings()->setDeviceSupportsMouse(false); | 214 m_webView->settings()->setDeviceSupportsMouse(false); |
| 213 if (m_settingOverrider) | 215 if (m_settingOverrider) |
| 214 m_settingOverrider->overrideSettings(m_webView->settings()); | 216 m_settingOverrider->overrideSettings(m_webView->settings()); |
| 215 m_webView->setDeviceScaleFactor(webViewClient->screenInfo().deviceScaleFacto
r); | 217 m_webView->setDeviceScaleFactor(webViewClient->screenInfo().deviceScaleFacto
r); |
| 216 m_webView->setDefaultPageScaleLimits(1, 4); | 218 m_webView->setDefaultPageScaleLimits(1, 4); |
| 217 WebLocalFrame* frame = WebLocalFrameImpl::create(WebTreeScopeType::Document,
webFrameClient, opener); | 219 WebLocalFrame* frame = WebLocalFrameImpl::create(WebTreeScopeType::Document,
webFrameClient, opener); |
| 218 m_webView->setMainFrame(frame); | 220 m_webView->setMainFrame(frame); |
| 219 // TODO(dcheng): The main frame widget currently has a special case. | 221 // TODO(dcheng): The main frame widget currently has a special case. |
| 220 // Eliminate this once WebView is no longer a WebWidget. | 222 // Eliminate this once WebView is no longer a WebWidget. |
| 221 m_webViewWidget = blink::WebFrameWidget::create(webViewClient, m_webView, fr
ame); | 223 m_webViewWidget = blink::WebFrameWidget::create(webWidgetClient, m_webView,
frame); |
| 222 | 224 |
| 223 m_testWebViewClient = webViewClient; | 225 m_testWebViewClient = webViewClient; |
| 224 | 226 |
| 225 return m_webView; | 227 return m_webView; |
| 226 } | 228 } |
| 227 | 229 |
| 228 WebViewImpl* WebViewHelper::initialize(bool enableJavascript, TestWebFrameClient
* webFrameClient, TestWebViewClient* webViewClient, void (*updateSettingsFunc)(W
ebSettings*)) | 230 WebViewImpl* WebViewHelper::initialize(bool enableJavascript, TestWebFrameClient
* webFrameClient, TestWebViewClient* webViewClient, TestWebWidgetClient* webWidg
etClient, void (*updateSettingsFunc)(WebSettings*)) |
| 229 { | 231 { |
| 230 return initializeWithOpener(nullptr, enableJavascript, webFrameClient, webVi
ewClient, updateSettingsFunc); | 232 return initializeWithOpener(nullptr, enableJavascript, webFrameClient, webVi
ewClient, webWidgetClient, updateSettingsFunc); |
| 231 } | 233 } |
| 232 | 234 |
| 233 WebViewImpl* WebViewHelper::initializeAndLoad(const std::string& url, bool enabl
eJavascript, TestWebFrameClient* webFrameClient, TestWebViewClient* webViewClien
t, void (*updateSettingsFunc)(WebSettings*)) | 235 WebViewImpl* WebViewHelper::initializeAndLoad(const std::string& url, bool enabl
eJavascript, TestWebFrameClient* webFrameClient, TestWebViewClient* webViewClien
t, TestWebWidgetClient* webWidgetClient, void (*updateSettingsFunc)(WebSettings*
)) |
| 234 { | 236 { |
| 235 initialize(enableJavascript, webFrameClient, webViewClient, updateSettingsFu
nc); | 237 initialize(enableJavascript, webFrameClient, webViewClient, webWidgetClient,
updateSettingsFunc); |
| 236 | 238 |
| 237 loadFrame(webView()->mainFrame(), url); | 239 loadFrame(webView()->mainFrame(), url); |
| 238 | 240 |
| 239 return webViewImpl(); | 241 return webViewImpl(); |
| 240 } | 242 } |
| 241 | 243 |
| 242 void WebViewHelper::reset() | 244 void WebViewHelper::reset() |
| 243 { | 245 { |
| 244 if (m_webViewWidget) { | 246 if (m_webViewWidget) { |
| 245 m_webViewWidget->close(); | 247 m_webViewWidget->close(); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 m_frame->close(); | 304 m_frame->close(); |
| 303 } | 305 } |
| 304 | 306 |
| 305 void TestWebViewClient::initializeLayerTreeView() | 307 void TestWebViewClient::initializeLayerTreeView() |
| 306 { | 308 { |
| 307 m_layerTreeView = adoptPtr(new WebLayerTreeViewImplForTesting); | 309 m_layerTreeView = adoptPtr(new WebLayerTreeViewImplForTesting); |
| 308 } | 310 } |
| 309 | 311 |
| 310 } // namespace FrameTestHelpers | 312 } // namespace FrameTestHelpers |
| 311 } // namespace blink | 313 } // namespace blink |
| OLD | NEW |