Changeset 95369 in webkit
- Timestamp:
- Sep 16, 2011 10:52:07 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 7 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r95366 r95369 1 2011-09-16 Jochen Eisinger <jochen@chromium.org> 2 3 Add tests for FrameLoaderClient::allowImage. 4 https://bugs.webkit.org/show_bug.cgi?id=68071 5 6 Reviewed by Adam Barth. 7 8 * http/tests/permissionclient/resources/bostin.gif: 9 * http/tests/permissionclient/resources/redir.php: 10 * platform/chromium/permissionclient/image-permissions-expected.txt: 11 * platform/chromium/permissionclient/image-permissions.html: 12 * platform/http/tests/permissionclient/image-permissions-expected.txt: 13 * platform/http/tests/permissionclient/image-permissions.html: 14 1 15 2011-09-16 Tom Sepez <tsepez@chromium.org> 2 16 -
trunk/LayoutTests/platform/chromium/permissionclient/image-permissions-expected.txt
r87860 r95369 1 PERMISSION CLIENT: allowImage((file test):platform/chromium/permissionclient/resources/boston.gif): true 2 PERMISSION CLIENT: allowImage((file test):platform/chromium/permissionclient/resources/boston.gif?nocache): false 3 PERMISSION CLIENT: allowImage((file test):platform/chromium/permissionclient/resources/boston.gif): false 4 PERMISSION CLIENT: allowImage((file test):platform/chromium/permissionclient/resources/boston.gif): false 1 5 2 6 -
trunk/LayoutTests/platform/chromium/permissionclient/image-permissions.html
r87860 r95369 2 2 <head> 3 3 <script> 4 if (window.layoutTestController) 4 if (window.layoutTestController) { 5 5 layoutTestController.dumpAsText(); 6 layoutTestController.dumpPermissionClientCallbacks(); 7 } 6 8 7 9 function log(a) -
trunk/Source/WebCore/ChangeLog
r95366 r95369 1 2011-09-16 Jochen Eisinger <jochen@chromium.org> 2 3 Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter 4 https://bugs.webkit.org/show_bug.cgi?id=68071 5 6 This will allow embedders to block images based on where the image is loaded from, instead of just blocking all images in a given frame. 7 8 Reviewed by Adam Barth. 9 10 * html/ImageDocument.cpp: 11 (WebCore::ImageDocumentParser::appendBytes): 12 * loader/FrameLoaderClient.h: 13 (WebCore::FrameLoaderClient::allowImage): 14 * loader/cache/CachedResourceLoader.cpp: 15 (WebCore::CachedResourceLoader::requestImage): 16 1 17 2011-09-16 Tom Sepez <tsepez@chromium.org> 2 18 -
trunk/Source/WebCore/html/ImageDocument.cpp
r93279 r95369 129 129 Frame* frame = document()->frame(); 130 130 Settings* settings = frame->settings(); 131 if (!frame->loader()->client()->allowImage s(!settings || settings->areImagesEnabled()))131 if (!frame->loader()->client()->allowImage(!settings || settings->areImagesEnabled(), document()->url())) 132 132 return; 133 133 -
trunk/Source/WebCore/loader/FrameLoaderClient.h
r93066 r95369 303 303 virtual bool allowJavaScript(bool enabledPerSettings) { return enabledPerSettings; } 304 304 virtual bool allowPlugins(bool enabledPerSettings) { return enabledPerSettings; } 305 virtual bool allowImage s(bool enabledPerSettings) { return enabledPerSettings; }305 virtual bool allowImage(bool enabledPerSettings, const KURL&) { return enabledPerSettings; } 306 306 virtual bool allowDisplayingInsecureContent(bool enabledPerSettings, SecurityOrigin*, const KURL&) { return enabledPerSettings; } 307 307 virtual bool allowRunningInsecureContent(bool enabledPerSettings, SecurityOrigin*, const KURL&) { return enabledPerSettings; } -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp
r94003 r95369 127 127 { 128 128 if (Frame* f = frame()) { 129 Settings* settings = f->settings();130 if (!f->loader()->client()->allowImages(!settings || settings->areImagesEnabled()))131 return 0;132 133 129 if (f->loader()->pageDismissalEventBeingDispatched() != FrameLoader::NoDismissal) { 134 130 KURL requestURL = request.url(); … … 296 292 if (!m_document->contentSecurityPolicy()->allowImageFromSource(url)) 297 293 return false; 294 295 if (frame()) { 296 Settings* settings = frame()->settings(); 297 if (!frame()->loader()->client()->allowImage(!settings || settings->areImagesEnabled(), url)) 298 return false; 299 } 298 300 break; 299 301 case CachedResource::FontResource: { -
trunk/Source/WebKit/chromium/ChangeLog
r95368 r95369 1 2011-09-16 Jochen Eisinger <jochen@chromium.org> 2 3 Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter 4 https://bugs.webkit.org/show_bug.cgi?id=68071 5 6 Reviewed by Adam Barth. 7 8 * public/WebPermissionClient.h: 9 (WebKit::WebPermissionClient::allowImage): 10 * src/FrameLoaderClientImpl.cpp: 11 (WebKit::FrameLoaderClientImpl::allowImage): 12 * src/FrameLoaderClientImpl.h: 13 1 14 2011-09-16 Dmitry Lomov <dslomov@google.com> 2 15 -
trunk/Source/WebKit/chromium/public/WebPermissionClient.h
r88377 r95369 48 48 49 49 // Controls whether images are allowed for this frame. 50 virtual bool allowImage(WebFrame* frame, bool enabledPerSettings, const WebURL& imageURL) { return allowImages(frame, enabledPerSettings); } 51 // FIXME: remove once chromium side has landed. 50 52 virtual bool allowImages(WebFrame*, bool enabledPerSettings) { return enabledPerSettings; } 51 53 -
trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
r95204 r95369 203 203 } 204 204 205 bool FrameLoaderClientImpl::allowImage s(bool enabledPerSettings)205 bool FrameLoaderClientImpl::allowImage(bool enabledPerSettings, const KURL& imageURL) 206 206 { 207 207 WebViewImpl* webview = m_webFrame->viewImpl(); 208 208 if (webview && webview->permissionClient()) 209 return webview->permissionClient()->allowImage s(m_webFrame, enabledPerSettings);209 return webview->permissionClient()->allowImage(m_webFrame, enabledPerSettings, imageURL); 210 210 211 211 return enabledPerSettings; -
trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.h
r93066 r95369 208 208 virtual bool allowJavaScript(bool enabledPerSettings); 209 209 virtual bool allowPlugins(bool enabledPerSettings); 210 virtual bool allowImage s(bool enabledPerSettings);210 virtual bool allowImage(bool enabledPerSettings, const WebCore::KURL& imageURL); 211 211 virtual bool allowDisplayingInsecureContent(bool enabledPerSettings, WebCore::SecurityOrigin*, const WebCore::KURL&); 212 212 virtual bool allowRunningInsecureContent(bool enabledPerSettings, WebCore::SecurityOrigin*, const WebCore::KURL&); -
trunk/Tools/ChangeLog
r95363 r95369 1 2011-09-16 Jochen Eisinger <jochen@chromium.org> 2 3 Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter 4 https://bugs.webkit.org/show_bug.cgi?id=68071 5 6 Reviewed by Adam Barth. 7 8 * DumpRenderTree/chromium/WebPermissions.cpp: 9 (WebPermissions::allowImage): 10 * DumpRenderTree/chromium/WebPermissions.h: 11 1 12 2011-09-16 Tom Zakrajsek <tomz@codeaurora.org> 2 13 -
trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp
r94862 r95369 112 112 bindMethod("dumpStatusCallbacks", &LayoutTestController::dumpWindowStatusChanges); 113 113 bindMethod("dumpTitleChanges", &LayoutTestController::dumpTitleChanges); 114 bindMethod("dumpPermissionClientCallbacks", &LayoutTestController::dumpPermissionClientCallbacks); 114 115 bindMethod("elementDoesAutoCompleteForElementWithId", &LayoutTestController::elementDoesAutoCompleteForElementWithId); 115 116 bindMethod("evaluateInWebInspector", &LayoutTestController::evaluateInWebInspector); … … 378 379 } 379 380 381 void LayoutTestController::dumpPermissionClientCallbacks(const CppArgumentList&, CppVariant* result) 382 { 383 m_dumpPermissionClientCallbacks = true; 384 result->setNull(); 385 } 386 380 387 void LayoutTestController::setAcceptsEditing(const CppArgumentList& arguments, CppVariant* result) 381 388 { … … 600 607 m_dumpSelectionRect = false; 601 608 m_dumpTitleChanges = false; 609 m_dumpPermissionClientCallbacks = false; 602 610 m_generatePixelResults = true; 603 611 m_acceptsEditing = true; -
trunk/Tools/DumpRenderTree/chromium/LayoutTestController.h
r94779 r95369 392 392 void setStorageAllowed(const CppArgumentList&, CppVariant*); 393 393 void setPluginsAllowed(const CppArgumentList&, CppVariant*); 394 void dumpPermissionClientCallbacks(const CppArgumentList&, CppVariant*); 394 395 395 396 // Enable or disable plugins. … … 431 432 bool shouldDumpBackForwardList() { return m_dumpBackForwardList; } 432 433 bool shouldDumpTitleChanges() { return m_dumpTitleChanges; } 434 bool shouldDumpPermissionClientCallbacks() { return m_dumpPermissionClientCallbacks; } 433 435 bool shouldDumpChildFrameScrollPositions() { return m_dumpChildFrameScrollPositions; } 434 436 bool shouldDumpChildFramesAsText() { return m_dumpChildFramesAsText; } … … 588 590 bool m_dumpTitleChanges; 589 591 592 // If true, output a descriptive line each time a permission client 593 // callback is invoked. Currently only implemented for allowImage. 594 bool m_dumpPermissionClientCallbacks; 595 590 596 // If true, the test_shell will generate pixel results in dumpAsText mode 591 597 bool m_generatePixelResults; -
trunk/Tools/DumpRenderTree/chromium/TestShell.cpp
r95180 r95369 122 122 WebRuntimeFeatures::enableWebAudio(true); 123 123 124 m_webPermissions = adoptPtr(new WebPermissions( ));124 m_webPermissions = adoptPtr(new WebPermissions(this)); 125 125 m_accessibilityController = adoptPtr(new AccessibilityController(this)); 126 126 m_layoutTestController = adoptPtr(new LayoutTestController(this)); -
trunk/Tools/DumpRenderTree/chromium/WebPermissions.cpp
r92219 r95369 32 32 #include "WebPermissions.h" 33 33 34 WebPermissions::WebPermissions() 34 #include "LayoutTestController.h" 35 #include "TestShell.h" 36 #include "WebCString.h" 37 #include "WebURL.h" 38 39 WebPermissions::WebPermissions(TestShell* shell) 40 : m_shell(shell) 35 41 { 36 42 reset(); … … 41 47 } 42 48 43 bool WebPermissions::allowImage s(WebKit::WebFrame*, bool enabledPerSettings)49 bool WebPermissions::allowImage(WebKit::WebFrame*, bool enabledPerSettings, const WebKit::WebURL& imageURL) 44 50 { 45 return enabledPerSettings && m_imagesAllowed; 51 bool allowed = enabledPerSettings && m_imagesAllowed; 52 if (layoutTestController()->shouldDumpPermissionClientCallbacks()) 53 fprintf(stdout, "PERMISSION CLIENT: allowImage(%s): %s\n", m_shell->normalizeLayoutTestURL(imageURL.spec()).c_str(), allowed ? "true" : "false"); 54 return allowed; 46 55 } 47 56 … … 61 70 return enabledPerSettings || m_displayingInsecureContentAllowed; 62 71 } 63 72 64 73 bool WebPermissions::allowRunningInsecureContent(WebKit::WebFrame*, bool enabledPerSettings, 65 74 const WebKit::WebSecurityOrigin&, const WebKit::WebURL&) … … 101 110 m_runningInsecureContentAllowed = false; 102 111 } 112 113 // Private functions ---------------------------------------------------------- 114 115 LayoutTestController* WebPermissions::layoutTestController() const 116 { 117 return m_shell->layoutTestController(); 118 } -
trunk/Tools/DumpRenderTree/chromium/WebPermissions.h
r92219 r95369 34 34 #include "WebPermissionClient.h" 35 35 36 class LayoutTestController; 37 class TestShell; 38 36 39 class WebPermissions : public WebKit::WebPermissionClient { 37 40 public: 38 WebPermissions( );41 WebPermissions(TestShell*); 39 42 virtual ~WebPermissions(); 40 43 41 44 // Override WebPermissionClient methods. 42 virtual bool allowImage s(WebKit::WebFrame*, bool enabledPerSettings);45 virtual bool allowImage(WebKit::WebFrame*, bool enabledPerSettings, const WebKit::WebURL& imageURL); 43 46 virtual bool allowStorage(WebKit::WebFrame*, bool local); 44 47 virtual bool allowPlugins(WebKit::WebFrame*, bool enabledPerSettings); … … 59 62 60 63 private: 64 LayoutTestController* layoutTestController() const; 65 66 // Non-owning pointer. The WebPermissions instance is owned by this TestShell instance. 67 TestShell* m_shell; 68 61 69 bool m_imagesAllowed; 62 70 bool m_storageAllowed;
Note: See TracChangeset
for help on using the changeset viewer.