Changeset 64070 in webkit
- Timestamp:
- Jul 26, 2010 1:37:56 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r64062 r64070 1 2010-07-26 Brady Eidson <beidson@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 Add ability for WK2 to register a scheme to always be displayed as an empty document 6 https://bugs.webkit.org/show_bug.cgi?id=42995 7 8 No new tests. (Currently not possible to test in WebKit1 DRT, can be testing in future WK2 tester) 9 10 * WebCore.exp.in: 11 12 * loader/MainResourceLoader.cpp: 13 (WebCore::shouldLoadAsEmptyDocument): 14 15 * platform/SchemeRegistry.cpp: 16 (WebCore::emptyDocumentSchemes): 17 (WebCore::SchemeRegistry::registerURLSchemeAsEmptyDocument): 18 (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument): 19 * platform/SchemeRegistry.h: 20 1 21 2010-07-26 Patrick Gansterer <paroga@paroga.com> 2 22 -
trunk/WebCore/WebCore.exp.in
r64049 r64070 313 313 __ZN7WebCore14SchemeRegistry24registerURLSchemeAsLocalERKNS_6StringE 314 314 __ZN7WebCore14SchemeRegistry25registerURLSchemeAsSecureERKNS_6StringE 315 __ZN7WebCore14SchemeRegistry32registerURLSchemeAsEmptyDocumentERKNS_6StringE 315 316 __ZN7WebCore14SecurityOrigin16createFromStringERKNS_6StringE 316 317 __ZN7WebCore14SecurityOrigin18setLocalLoadPolicyENS0_15LocalLoadPolicyE -
trunk/WebCore/loader/MainResourceLoader.cpp
r64051 r64070 45 45 #include "ResourceError.h" 46 46 #include "ResourceHandle.h" 47 #include "SchemeRegistry.h" 47 48 #include "Settings.h" 48 49 #include <wtf/CurrentTime.h> … … 207 208 return url.isEmpty() || (url.protocolIs("about") && equalIgnoringRef(url, blankURL())); 208 209 #else 209 return url.isEmpty() || url.protocolIs("about");210 return url.isEmpty() || SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(url.protocol()); 210 211 #endif 211 212 } -
trunk/WebCore/platform/SchemeRegistry.cpp
r63863 r64070 69 69 70 70 return schemesWithUniqueOrigins; 71 } 72 73 static URLSchemesMap& emptyDocumentSchemes() 74 { 75 DEFINE_STATIC_LOCAL(URLSchemesMap, emptyDocumentSchemes, ()); 76 77 if (emptyDocumentSchemes.isEmpty()) 78 emptyDocumentSchemes.add("about"); 79 80 return emptyDocumentSchemes; 71 81 } 72 82 … … 150 160 } 151 161 162 void SchemeRegistry::registerURLSchemeAsEmptyDocument(const String& scheme) 163 { 164 emptyDocumentSchemes().add(scheme); 165 } 166 167 bool SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(const String& scheme) 168 { 169 return emptyDocumentSchemes().contains(scheme); 170 } 171 152 172 } // namespace WebCore -
trunk/WebCore/platform/SchemeRegistry.h
r63863 r64070 52 52 static void registerURLSchemeAsNoAccess(const String&); 53 53 static bool shouldTreatURLSchemeAsNoAccess(const String&); 54 55 static void registerURLSchemeAsEmptyDocument(const String&); 56 static bool shouldLoadURLSchemeAsEmptyDocument(const String&); 54 57 }; 55 58 -
trunk/WebKit2/ChangeLog
r64068 r64070 1 2010-07-26 Brady Eidson <beidson@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 Add ability for WK2 to register a scheme to always be displayed as an empty document 6 https://bugs.webkit.org/show_bug.cgi?id=42995 7 8 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 9 (WebProcessMessage::): 10 11 * UIProcess/API/C/WKContext.cpp: 12 (_WKContextRegisterURLSchemeAsEmptyDocument): 13 * UIProcess/API/C/WKContextPrivate.h: 14 15 * UIProcess/WebContext.cpp: 16 (WebKit::WebContext::registerURLSchemeAsEmptyDocument): 17 * UIProcess/WebContext.h: 18 19 * WebProcess/WebProcess.cpp: 20 (WebKit::WebProcess::registerURLSchemeAsEmptyDocument): 21 (WebKit::WebProcess::didReceiveMessage): 22 * WebProcess/WebProcess.h: 23 1 24 2010-07-26 Anders Carlsson <andersca@apple.com> 2 25 -
trunk/WebKit2/Shared/CoreIPCSupport/WebProcessMessageKinds.h
r63664 r64070 38 38 Create, 39 39 PostMessage, 40 RegisterURLSchemeAsEmptyDocument, 40 41 #if PLATFORM(MAC) 41 42 SetupAcceleratedCompositingPort -
trunk/WebKit2/UIProcess/API/C/WKContext.cpp
r63621 r64070 99 99 toWK(contextRef)->setAdditionalPluginPath(toWK(pluginPath)); 100 100 } 101 102 void _WKContextRegisterURLSchemeAsEmptyDocument(WKContextRef contextRef, WKStringRef urlScheme) 103 { 104 toWK(contextRef)->registerURLSchemeAsEmptyDocument(toWK(urlScheme)); 105 } -
trunk/WebKit2/UIProcess/API/C/WKContextPrivate.h
r63621 r64070 47 47 WK_EXPORT void _WKContextSetAdditionalPluginPath(WKContextRef context, WKStringRef pluginPath); 48 48 49 WK_EXPORT void _WKContextRegisterURLSchemeAsEmptyDocument(WKContextRef context, WKStringRef urlScheme); 50 49 51 #ifdef __cplusplus 50 52 } -
trunk/WebKit2/UIProcess/WebContext.cpp
r64029 r64070 181 181 } 182 182 183 void WebContext::registerURLSchemeAsEmptyDocument(WebCore::StringImpl* urlScheme) 184 { 185 ensureWebProcess(); 186 187 m_process->send(WebProcessMessage::RegisterURLSchemeAsEmptyDocument, 0, CoreIPC::In(String(urlScheme))); 188 } 189 183 190 } // namespace WebKit -
trunk/WebKit2/UIProcess/WebContext.h
r64029 r64070 86 86 PluginInfoStore* pluginInfoStore() { return &m_pluginInfoStore; } 87 87 WebCore::String applicationCacheDirectory(); 88 89 void registerURLSchemeAsEmptyDocument(WebCore::StringImpl*); 88 90 89 91 private: -
trunk/WebKit2/WebProcess/WebProcess.cpp
r64029 r64070 38 38 #include "WebProcessMessageKinds.h" 39 39 #include <WebCore/ApplicationCacheStorage.h> 40 #include <WebCore/SchemeRegistry.h> 40 41 #include <wtf/PassRefPtr.h> 41 42 … … 108 109 109 110 m_injectedBundle->didReceiveMessage(message); 111 } 112 113 void WebProcess::registerURLSchemeAsEmptyDocument(const WebCore::String& urlScheme) 114 { 115 SchemeRegistry::registerURLSchemeAsEmptyDocument(urlScheme); 110 116 } 111 117 … … 211 217 return; 212 218 } 219 case WebProcessMessage::RegisterURLSchemeAsEmptyDocument: { 220 String message; 221 if (!arguments->decode(CoreIPC::Out(message))) 222 return; 223 224 registerURLSchemeAsEmptyDocument(message); 225 return; 226 } 213 227 #if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC) 214 228 case WebProcessMessage::SetupAcceleratedCompositingPort: { -
trunk/WebKit2/WebProcess/WebProcess.h
r63825 r64070 74 74 void setApplicationCacheDirectory(const WebCore::String&); 75 75 void forwardMessageToInjectedBundle(const WebCore::String&); 76 void registerURLSchemeAsEmptyDocument(const WebCore::String&); 76 77 77 78 // CoreIPC::Connection::Client
Note: See TracChangeset
for help on using the changeset viewer.