<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[20740] trunk</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/20740">20740</a></dd>
<dt>Author</dt> <dd>kmccullo</dd>
<dt>Date</dt> <dd>2007-04-05 18:05:58 -0700 (Thu, 05 Apr 2007)</dd>
</dl>

<h3>Log Message</h3>
<pre>LayoutTests:

        Reviewed by Darin.

        - Now we add a console message when local resources are blocked.

        * http/tests/security/local-CSS-from-remote-expected.txt:
        * http/tests/security/local-JavaScript-from-remote-expected.txt:
        * http/tests/security/local-iFrame-from-remote-expected.txt:
        * http/tests/security/local-image-from-remote-expected.txt:

WebCore:

        Reviewed by Darin.

        - Added reportLocalLoadFailed to FrameLoader to send an error to the console when
        calls to canLoad fail. 

        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
        (WebCore::FrameLoader::loadPlugin):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::reportLocalLoadFailed):
        * loader/FrameLoader.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):

WebKit:

        Reviewed by Darin.

        - Moved registerURLSchemeAsLocal to the public API.

        * WebView/WebView.h:
        * WebView/WebView.mm:
        (+[WebView registerURLSchemeAsLocal:]):
        * WebView/WebViewPrivate.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritylocalCSSfromremoteexpectedtxt">trunk/LayoutTests/http/tests/security/local-CSS-from-remote-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritylocalJavaScriptfromremoteexpectedtxt">trunk/LayoutTests/http/tests/security/local-JavaScript-from-remote-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritylocaliFramefromremoteexpectedtxt">trunk/LayoutTests/http/tests/security/local-iFrame-from-remote-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritylocalimagefromremoteexpectedtxt">trunk/LayoutTests/http/tests/security/local-image-from-remote-expected.txt</a></li>
<li><a href="#trunkWebCoreChangeLog">trunk/WebCore/ChangeLog</a></li>
<li><a href="#trunkWebCoreloaderCachecpp">trunk/WebCore/loader/Cache.cpp</a></li>
<li><a href="#trunkWebCoreloaderFrameLoadercpp">trunk/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkWebCoreloaderFrameLoaderh">trunk/WebCore/loader/FrameLoader.h</a></li>
<li><a href="#trunkWebCoreloaderSubresourceLoadercpp">trunk/WebCore/loader/SubresourceLoader.cpp</a></li>
<li><a href="#trunkWebKitChangeLog">trunk/WebKit/ChangeLog</a></li>
<li><a href="#trunkWebKitWebViewWebViewh">trunk/WebKit/WebView/WebView.h</a></li>
<li><a href="#trunkWebKitWebViewWebViewmm">trunk/WebKit/WebView/WebView.mm</a></li>
<li><a href="#trunkWebKitWebViewWebViewPrivateh">trunk/WebKit/WebView/WebViewPrivate.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/LayoutTests/ChangeLog        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2007-04-05  Kevin McCullough  &lt;kmccullough@apple.com&gt;
+
+        Reviewed by Darin.
+
+        - Now we add a console message when local resources are blocked.
+
+        * http/tests/security/local-CSS-from-remote-expected.txt:
+        * http/tests/security/local-JavaScript-from-remote-expected.txt:
+        * http/tests/security/local-iFrame-from-remote-expected.txt:
+        * http/tests/security/local-image-from-remote-expected.txt:
+
</ins><span class="cx"> 2007-04-05  Oliver Hunt  &lt;oliver@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Adam.
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritylocalCSSfromremoteexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/local-CSS-from-remote-expected.txt (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/local-CSS-from-remote-expected.txt        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/LayoutTests/http/tests/security/local-CSS-from-remote-expected.txt        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1,3 +1,4 @@
</span><ins>+CONSOLE MESSAGE: line 0: Not allowed to load local resource: file:///tmp/LayoutTests/http/tests/security/resources/cssStyle.css
</ins><span class="cx"> This test is to see if a remote file can include a local CSS style. 
</span><span class="cx"> If the background is yellow then the CSS was loaded.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritylocalJavaScriptfromremoteexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/local-JavaScript-from-remote-expected.txt (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/local-JavaScript-from-remote-expected.txt        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/LayoutTests/http/tests/security/local-JavaScript-from-remote-expected.txt        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1,3 +1,4 @@
</span><ins>+CONSOLE MESSAGE: line 0: Not allowed to load local resource: file:///tmp/LayoutTests/http/tests/security/resources/localScript.js
</ins><span class="cx"> This test is to see if a remote file can run a local script.
</span><span class="cx"> 
</span><span class="cx"> Test Passed.
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritylocaliFramefromremoteexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/local-iFrame-from-remote-expected.txt (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/local-iFrame-from-remote-expected.txt        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/LayoutTests/http/tests/security/local-iFrame-from-remote-expected.txt        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1,3 +1,4 @@
</span><ins>+CONSOLE MESSAGE: line 0: Not allowed to load local resource: file:///tmp/LayoutTests/http/tests/security/resources/localPage.html
</ins><span class="cx"> This test is to see if a remote file can include a local page in an iFrame.
</span><span class="cx"> 
</span><span class="cx"> Test Passed.
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritylocalimagefromremoteexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/local-image-from-remote-expected.txt (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/local-image-from-remote-expected.txt        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/LayoutTests/http/tests/security/local-image-from-remote-expected.txt        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1,3 +1,4 @@
</span><ins>+CONSOLE MESSAGE: line 0: Not allowed to load local resource: file:///tmp/LayoutTests/http/tests/security/resources/compass.jpg
</ins><span class="cx"> This test is to see if a remote file can include a local image.
</span><span class="cx"> 
</span><span class="cx"> Test Passed.
</span></span></pre></div>
<a id="trunkWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/ChangeLog (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/ChangeLog        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebCore/ChangeLog        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2007-04-05  Kevin McCullough  &lt;kmccullough@apple.com&gt;
+
+        Reviewed by Darin.
+
+        - Added reportLocalLoadFailed to FrameLoader to send an error to the console when
+        calls to canLoad fail. 
+
+        * loader/Cache.cpp:
+        (WebCore::Cache::requestResource):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::loadSubframe):
+        (WebCore::FrameLoader::loadPlugin):
+        (WebCore::FrameLoader::load):
+        (WebCore::FrameLoader::reportLocalLoadFailed):
+        * loader/FrameLoader.h:
+        * loader/SubresourceLoader.cpp:
+        (WebCore::SubresourceLoader::create):
+
</ins><span class="cx"> 2007-04-05  Adele Peterson  &lt;adele@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Maciej.
</span></span></pre></div>
<a id="trunkWebCoreloaderCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/loader/Cache.cpp (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/loader/Cache.cpp        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebCore/loader/Cache.cpp        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -91,11 +91,21 @@
</span><span class="cx">     CachedResource* resource = m_resources.get(url.url());
</span><span class="cx"> 
</span><span class="cx">     if (resource) {
</span><del>-        if (!skipCanLoadCheck &amp;&amp; FrameLoader::restrictAccessToLocal() &amp;&amp; !FrameLoader::canLoad(*resource, docLoader-&gt;doc()))
</del><ins>+        if (!skipCanLoadCheck &amp;&amp; FrameLoader::restrictAccessToLocal() &amp;&amp; !FrameLoader::canLoad(*resource, docLoader-&gt;doc())) {
+            Document* doc = docLoader-&gt;doc();
+            if(doc)
+                FrameLoader::reportLocalLoadFailed(doc-&gt;page(), resource-&gt;url());
+
</ins><span class="cx">             return 0;
</span><ins>+        }
</ins><span class="cx">     } else {
</span><del>-        if (!skipCanLoadCheck &amp;&amp; FrameLoader::restrictAccessToLocal() &amp;&amp; !FrameLoader::canLoad(url, docLoader-&gt;doc()))
</del><ins>+        if (!skipCanLoadCheck &amp;&amp; FrameLoader::restrictAccessToLocal() &amp;&amp; !FrameLoader::canLoad(url, docLoader-&gt;doc())) {
+            Document* doc = docLoader-&gt;doc();
+            if(doc)
+                FrameLoader::reportLocalLoadFailed(doc-&gt;page(), url.url());
+
</ins><span class="cx">             return 0;
</span><ins>+        }
</ins><span class="cx"> 
</span><span class="cx">         // The resource does not exist.  Create it.
</span><span class="cx">         resource = createResource(type, docLoader, url, charset, skipCanLoadCheck);
</span></span></pre></div>
<a id="trunkWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/loader/FrameLoader.cpp (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/loader/FrameLoader.cpp        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebCore/loader/FrameLoader.cpp        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -394,8 +394,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool hideReferrer;
</span><del>-    if (!canLoad(url, referrer, hideReferrer))
</del><ins>+    if (!canLoad(url, referrer, hideReferrer)) {
+        FrameLoader::reportLocalLoadFailed(frame()-&gt;page(), url.url());
</ins><span class="cx">         return 0;
</span><ins>+    }
</ins><span class="cx"> 
</span><span class="cx">     Frame* frame = m_client-&gt;createFrame(url, name, ownerElement, hideReferrer ? String() : referrer,
</span><span class="cx">                                          allowsScrolling, marginWidth, marginHeight);
</span><span class="lines">@@ -1387,8 +1389,10 @@
</span><span class="cx">         if (renderer-&gt;node() &amp;&amp; renderer-&gt;node()-&gt;isElementNode())
</span><span class="cx">             pluginElement = static_cast&lt;Element*&gt;(renderer-&gt;node());
</span><span class="cx"> 
</span><del>-        if (!canLoad(url, frame()-&gt;document()))
</del><ins>+        if (!canLoad(url, frame()-&gt;document())) {
+            FrameLoader::reportLocalLoadFailed(frame()-&gt;page(), url.url());
</ins><span class="cx">             return false;
</span><ins>+        }
</ins><span class="cx"> 
</span><span class="cx">         widget = m_client-&gt;createPlugin(pluginElement, url, paramNames, paramValues, mimeType,
</span><span class="cx">                                         m_frame-&gt;document()-&gt;isPluginDocument());
</span><span class="lines">@@ -1719,8 +1723,11 @@
</span><span class="cx">         referrer = m_outgoingReferrer;
</span><span class="cx">  
</span><span class="cx">     bool hideReferrer;
</span><del>-    if (!canLoad(request.resourceRequest().url(), referrer, hideReferrer))
</del><ins>+    if (!canLoad(request.resourceRequest().url(), referrer, hideReferrer)) {
+        FrameLoader::reportLocalLoadFailed(frame()-&gt;page(), request.resourceRequest().url().url());
</ins><span class="cx">         return;
</span><ins>+    }
+
</ins><span class="cx">     if (hideReferrer)
</span><span class="cx">         referrer = String();
</span><span class="cx">     
</span><span class="lines">@@ -1907,6 +1914,7 @@
</span><span class="cx">         callContinueLoadAfterNavigationPolicy, this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: It would be nice if we could collapse these into one or two functions.
</ins><span class="cx"> bool FrameLoader::canLoad(const KURL&amp; url, const String&amp; referrer, bool&amp; hideReferrer)
</span><span class="cx"> {
</span><span class="cx">     hideReferrer = shouldHideReferrer(url, referrer);
</span><span class="lines">@@ -1933,6 +1941,13 @@
</span><span class="cx">     return doc &amp;&amp; doc-&gt;isAllowedToLoadLocalResources();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void FrameLoader::reportLocalLoadFailed(const Page* page, const String&amp; url)
+{
+    ASSERT(!url.isEmpty());
+    if(page)
+        page-&gt;chrome()-&gt;addMessageToConsole(&quot;Not allowed to load local resource: &quot; + url, 0, String());
+}
+
</ins><span class="cx"> bool FrameLoader::shouldHideReferrer(const KURL&amp; url, const String&amp; referrer)
</span><span class="cx"> {
</span><span class="cx">     bool referrerIsSecureURL = referrer.startsWith(&quot;https:&quot;, false);
</span></span></pre></div>
<a id="trunkWebCoreloaderFrameLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/loader/FrameLoader.h (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/loader/FrameLoader.h        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebCore/loader/FrameLoader.h        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -65,6 +65,7 @@
</span><span class="cx">     class IntSize;
</span><span class="cx">     class NavigationAction;
</span><span class="cx">     class Node;
</span><ins>+    class Page;
</ins><span class="cx">     class PageCache;
</span><span class="cx">     class PageState;
</span><span class="cx">     class RenderPart;
</span><span class="lines">@@ -151,6 +152,7 @@
</span><span class="cx">         static bool canLoad(const KURL&amp;, const String&amp; referrer, bool&amp; hideReferrer);
</span><span class="cx">         static bool canLoad(const KURL&amp;, const Document*);
</span><span class="cx">         static bool canLoad(const CachedResource&amp;, const Document*);
</span><ins>+        static void reportLocalLoadFailed(const Page*, const String&amp; url);
</ins><span class="cx"> 
</span><span class="cx">         static bool shouldHideReferrer(const KURL&amp; url, const String&amp; referrer);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebCoreloaderSubresourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/loader/SubresourceLoader.cpp (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/loader/SubresourceLoader.cpp        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebCore/loader/SubresourceLoader.cpp        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -95,8 +95,10 @@
</span><span class="cx"> 
</span><span class="cx">     if (!skipCanLoadCheck
</span><span class="cx">     &amp;&amp; FrameLoader::restrictAccessToLocal()
</span><del>-    &amp;&amp; !FrameLoader::canLoad(request.url(), frame-&gt;document()))
</del><ins>+    &amp;&amp; !FrameLoader::canLoad(request.url(), frame-&gt;document())) {
+        FrameLoader::reportLocalLoadFailed(frame-&gt;page(), request.url().url());
</ins><span class="cx">         return 0;
</span><ins>+    }
</ins><span class="cx">     
</span><span class="cx">     if (FrameLoader::shouldHideReferrer(request.url(), fl-&gt;outgoingReferrer()))
</span><span class="cx">         newRequest.clearHTTPReferrer();
</span></span></pre></div>
<a id="trunkWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/ChangeLog (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/ChangeLog        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebKit/ChangeLog        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2007-04-05  Kevin McCullough  &lt;kmccullough@apple.com&gt;
+
+        Reviewed by Darin.
+
+        - Moved registerURLSchemeAsLocal to the public API.
+
+        * WebView/WebView.h:
+        * WebView/WebView.mm:
+        (+[WebView registerURLSchemeAsLocal:]):
+        * WebView/WebViewPrivate.h:
+
</ins><span class="cx"> 2007-04-04  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by John.
</span></span></pre></div>
<a id="trunkWebKitWebViewWebViewh"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/WebView/WebView.h (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/WebView/WebView.h        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebKit/WebView/WebView.h        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -171,6 +171,13 @@
</span><span class="cx"> + (NSString *)URLTitleFromPasteboard:(NSPasteboard *)pasteboard;
</span><span class="cx"> 
</span><span class="cx"> /*!
</span><ins>+    @method registerURLSchemeAsLocal:
+    @abstract Adds the scheme to the list of schemes to be treated as local.
+    @param scheme The scheme to register
+*/
++ (void)registerURLSchemeAsLocal:(NSString *)scheme;
+
+/*!
</ins><span class="cx">     @method initWithFrame:frameName:groupName:
</span><span class="cx">     @abstract The designated initializer for WebView.
</span><span class="cx">     @discussion Initialize a WebView with the supplied parameters. This method will 
</span></span></pre></div>
<a id="trunkWebKitWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/WebView/WebView.mm (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/WebView/WebView.mm        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebKit/WebView/WebView.mm        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -1604,6 +1604,11 @@
</span><span class="cx">     return [pasteboard stringForType:WebURLNamePboardType];
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>++ (void)registerURLSchemeAsLocal:(NSString *)protocol
+{
+    FrameLoader::registerURLSchemeAsLocal(protocol);
+}
+
</ins><span class="cx"> - (void)_registerDraggedTypes
</span><span class="cx"> {
</span><span class="cx">     NSArray *editableTypes = [WebHTMLView _insertablePasteboardTypes];
</span><span class="lines">@@ -2864,11 +2869,6 @@
</span><span class="cx">     _private-&gt;allowsUndo = flag;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-+ (void)registerURLSchemeAsLocal:(NSString *)protocol
-{
-    FrameLoader::registerURLSchemeAsLocal(protocol);
-}
-
</del><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> @implementation WebView (WebViewPrintingPrivate)
</span></span></pre></div>
<a id="trunkWebKitWebViewWebViewPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/WebView/WebViewPrivate.h (20739 => 20740)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/WebView/WebViewPrivate.h        2007-04-06 00:42:03 UTC (rev 20739)
+++ trunk/WebKit/WebView/WebViewPrivate.h        2007-04-06 01:05:58 UTC (rev 20740)
</span><span class="lines">@@ -171,8 +171,6 @@
</span><span class="cx"> - (BOOL)allowsUndo;
</span><span class="cx"> - (void)setAllowsUndo:(BOOL)flag;
</span><span class="cx"> 
</span><del>-+ (void)registerURLSchemeAsLocal:(NSString *)scheme;
-
</del><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> @interface WebView (WebPrivate)
</span></span></pre>
</div>
</div>

</body>
</html>