WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-110097-20130701114401.patch (text/plain), 18.40 KB, created by
Kwang Yul Seo
on 2013-06-30 19:46:22 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Kwang Yul Seo
Created:
2013-06-30 19:46:22 PDT
Size:
18.40 KB
patch
obsolete
>Subversion Revision: 152155 >diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog >index 5b6a6794074c36a6cb39463b5ccb057d7194beae..729670eec8841a3a1cecfb4c95c69cfc4227ce90 100644 >--- a/Source/WebKit2/ChangeLog >+++ b/Source/WebKit2/ChangeLog >@@ -1,3 +1,38 @@ >+2013-06-30 Kwang Yul Seo <skyul@company100.net> >+ >+ [WK2] Port RemoteNetworkingContext for Soup >+ https://bugs.webkit.org/show_bug.cgi?id=110097 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Original patch by Balazs Kelemen <kbalazs@webkit.org>. >+ >+ This should be a cross-platform interface so I lifted the header from >+ the mac directory. Removed mac specific arguments from constructor, >+ added setters instead. Moved platform things behind ifdefs and added >+ Soup specific bits. >+ >+ * NetworkProcess/NetworkResourceLoader.cpp: >+ (WebKit::NetworkResourceLoader::start): >+ * NetworkProcess/RemoteNetworkingContext.h: Renamed from Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h. >+ (WebKit::RemoteNetworkingContext::create): >+ (WebKit::RemoteNetworkingContext::RemoteNetworkingContext): >+ (WebKit::RemoteNetworkingContext::setNeedsSiteSpecificQuirks): >+ (WebKit::RemoteNetworkingContext::setLocalFileContentSniffingEnabled): >+ * NetworkProcess/SyncNetworkResourceLoader.cpp: >+ (WebKit::SyncNetworkResourceLoader::start): >+ * NetworkProcess/mac/RemoteNetworkingContext.mm: >+ * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Added. >+ (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): >+ (WebKit::RemoteNetworkingContext::isValid): >+ (WebKit::RemoteNetworkingContext::initiatingPageID): >+ (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase): >+ (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): >+ (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession): >+ (WebKit::RemoteNetworkingContext::storageSession): >+ (WebKit::RemoteNetworkingContext::privateBrowsingSession): >+ * WebKit2.xcodeproj/project.pbxproj: >+ > 2013-06-28 Andres Gomez <agomez@igalia.com> > > [GTK] MiniBrowser doesn't solve the saving location when there are no XDG settings >diff --git a/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp b/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp >index 4c37e4770ad7d7b302883fdd2626ea5f8655df93..ac3008b6911d6840122b2c64b4d122f6791d0aa0 100644 >--- a/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp >+++ b/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp >@@ -71,9 +71,9 @@ void NetworkResourceLoader::start() > > // Explicit ref() balanced by a deref() in NetworkResourceLoader::resourceHandleStopped() > ref(); >- >- // FIXME (NetworkProcess): Create RemoteNetworkingContext with actual settings. >- m_networkingContext = RemoteNetworkingContext::create(false, false, inPrivateBrowsingMode(), shouldClearReferrerOnHTTPSToHTTPRedirect()); >+ >+ // FIXME (NetworkProcess): Set platform specific settings. >+ m_networkingContext = RemoteNetworkingContext::create(inPrivateBrowsingMode(), shouldClearReferrerOnHTTPSToHTTPRedirect()); > > consumeSandboxExtensions(); > >diff --git a/Source/WebKit2/NetworkProcess/RemoteNetworkingContext.h b/Source/WebKit2/NetworkProcess/RemoteNetworkingContext.h >new file mode 100644 >index 0000000000000000000000000000000000000000..38bbdb45b700ce3dee81f636fcdb8a26cea44c1f >--- /dev/null >+++ b/Source/WebKit2/NetworkProcess/RemoteNetworkingContext.h >@@ -0,0 +1,84 @@ >+/* >+ * Copyright (C) 2012 Apple Inc. All rights reserved. >+ * Copyright (C) 2013 University of Szeged. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#ifndef RemoteNetworkingContext_h >+#define RemoteNetworkingContext_h >+ >+#include <WebCore/NetworkingContext.h> >+ >+namespace WebKit { >+ >+class RemoteNetworkingContext : public WebCore::NetworkingContext { >+public: >+ static PassRefPtr<RemoteNetworkingContext> create(bool privateBrowsingEnabled, bool shouldClearReferrerOnHTTPSToHTTPRedirect) >+ { >+ return adoptRef(new RemoteNetworkingContext(privateBrowsingEnabled, shouldClearReferrerOnHTTPSToHTTPRedirect)); >+ } >+ virtual ~RemoteNetworkingContext(); >+ >+ static void setPrivateBrowsingStorageSessionIdentifierBase(const String&); >+ static void ensurePrivateBrowsingSession(); >+ static void destroyPrivateBrowsingSession(); >+ >+ static WebCore::NetworkStorageSession* privateBrowsingSession(); >+ >+ virtual bool shouldClearReferrerOnHTTPSToHTTPRedirect() const OVERRIDE { return m_shouldClearReferrerOnHTTPSToHTTPRedirect; } >+ >+private: >+ RemoteNetworkingContext(bool privateBrowsingEnabled, bool shouldClearReferrerOnHTTPSToHTTPRedirect) >+ : m_privateBrowsingEnabled(privateBrowsingEnabled) >+ , m_shouldClearReferrerOnHTTPSToHTTPRedirect(shouldClearReferrerOnHTTPSToHTTPRedirect) >+ { } >+ >+ virtual bool isValid() const OVERRIDE; >+ virtual WebCore::NetworkStorageSession& storageSession() const OVERRIDE; >+ >+#if PLATFORM(MAC) >+ void setNeedsSiteSpecificQuirks(bool value) { m_needsSiteSpecificQuirks = value; } >+ virtual bool needsSiteSpecificQuirks() const OVERRIDE; >+ void setLocalFileContentSniffingEnabled(bool value) { m_localFileContentSniffingEnabled = value; } >+ virtual bool localFileContentSniffingEnabled() const OVERRIDE; >+ virtual WebCore::NetworkStorageSession& storageSession() const OVERRIDE; >+ virtual RetainPtr<CFDataRef> sourceApplicationAuditData() const OVERRIDE; >+ virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const OVERRIDE; >+#endif >+ >+#if USE(SOUP) >+ virtual uint64_t initiatingPageID() const; >+#endif >+ >+#if PLATFORM(MAC) >+ bool m_needsSiteSpecificQuirks; >+ bool m_localFileContentSniffingEnabled; >+#endif >+ >+ bool m_privateBrowsingEnabled; >+ bool m_shouldClearReferrerOnHTTPSToHTTPRedirect; >+}; >+ >+} >+ >+#endif // RemoteNetworkingContext_h >diff --git a/Source/WebKit2/NetworkProcess/SyncNetworkResourceLoader.cpp b/Source/WebKit2/NetworkProcess/SyncNetworkResourceLoader.cpp >index 02b05ed7d5f8ea358365c88b52a63f141984f45c..4d4f3b3139b68b3daf03922dd6c025bb3a8753fe 100644 >--- a/Source/WebKit2/NetworkProcess/SyncNetworkResourceLoader.cpp >+++ b/Source/WebKit2/NetworkProcess/SyncNetworkResourceLoader.cpp >@@ -58,9 +58,9 @@ void SyncNetworkResourceLoader::start() > ResourceError error; > ResourceResponse response; > Vector<char> data; >- >- // FIXME (NetworkProcess): Create RemoteNetworkingContext with actual settings. >- RefPtr<RemoteNetworkingContext> networkingContext = RemoteNetworkingContext::create(false, false, inPrivateBrowsingMode(), shouldClearReferrerOnHTTPSToHTTPRedirect()); >+ >+ // FIXME (NetworkProcess): Set platform specific settings. >+ RefPtr<RemoteNetworkingContext> networkingContext = RemoteNetworkingContext::create(inPrivateBrowsingMode(), shouldClearReferrerOnHTTPSToHTTPRedirect()); > > consumeSandboxExtensions(); > >diff --git a/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h b/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h >deleted file mode 100644 >index d0402246b6c50e6f45b0ca15d33fc7d48bf66831..0000000000000000000000000000000000000000 >--- a/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h >+++ /dev/null >@@ -1,68 +0,0 @@ >-/* >- * Copyright (C) 2012 Apple Inc. All rights reserved. >- * >- * Redistribution and use in source and binary forms, with or without >- * modification, are permitted provided that the following conditions >- * are met: >- * 1. Redistributions of source code must retain the above copyright >- * notice, this list of conditions and the following disclaimer. >- * 2. Redistributions in binary form must reproduce the above copyright >- * notice, this list of conditions and the following disclaimer in the >- * documentation and/or other materials provided with the distribution. >- * >- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >- * THE POSSIBILITY OF SUCH DAMAGE. >- */ >- >-#ifndef RemoteNetworkingContext_h >-#define RemoteNetworkingContext_h >- >-#include <WebCore/NetworkingContext.h> >- >-namespace WebKit { >- >-class RemoteNetworkingContext : public WebCore::NetworkingContext { >-public: >- static PassRefPtr<RemoteNetworkingContext> create(bool needsSiteSpecificQuirks, bool localFileContentSniffingEnabled, bool privateBrowsingEnabled, bool shouldClearReferrerOnHTTPSToHTTPRedirect) >- { >- return adoptRef(new RemoteNetworkingContext(needsSiteSpecificQuirks, localFileContentSniffingEnabled, privateBrowsingEnabled, shouldClearReferrerOnHTTPSToHTTPRedirect)); >- } >- virtual ~RemoteNetworkingContext(); >- >- static void setPrivateBrowsingStorageSessionIdentifierBase(const String&); >- static void ensurePrivateBrowsingSession(); >- static void destroyPrivateBrowsingSession(); >- >- static WebCore::NetworkStorageSession* privateBrowsingSession(); >- >- virtual bool shouldClearReferrerOnHTTPSToHTTPRedirect() const OVERRIDE; >- >-private: >- RemoteNetworkingContext(bool needsSiteSpecificQuirks, bool localFileContentSniffingEnabled, bool privateBrowsingEnabled, bool m_shouldClearReferrerOnHTTPSToHTTPRedirect); >- >- virtual bool isValid() const OVERRIDE; >- >- virtual bool needsSiteSpecificQuirks() const OVERRIDE; >- virtual bool localFileContentSniffingEnabled() const OVERRIDE; >- virtual WebCore::NetworkStorageSession& storageSession() const OVERRIDE; >- virtual RetainPtr<CFDataRef> sourceApplicationAuditData() const OVERRIDE; >- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const OVERRIDE; >- >- bool m_needsSiteSpecificQuirks; >- bool m_localFileContentSniffingEnabled; >- bool m_privateBrowsingEnabled; >- bool m_shouldClearReferrerOnHTTPSToHTTPRedirect; >-}; >- >-} >- >-#endif // RemoteNetworkingContext_h >diff --git a/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm b/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm >index 53ec91c5dd4525e410bedd9f7c2df910fc6d0fae..5d342a135b52ac3f01f86d7a97b3854310c25ca1 100644 >--- a/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm >+++ b/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm >@@ -43,19 +43,6 @@ static OwnPtr<NetworkStorageSession>& privateBrowsingStorageSession() > return session; > } > >-bool RemoteNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect() const >-{ >- return m_shouldClearReferrerOnHTTPSToHTTPRedirect; >-} >- >-RemoteNetworkingContext::RemoteNetworkingContext(bool needsSiteSpecificQuirks, bool localFileContentSniffingEnabled, bool privateBrowsingEnabled, bool shouldClearReferrerOnHTTPSToHTTPRedirect) >- : m_needsSiteSpecificQuirks(needsSiteSpecificQuirks) >- , m_localFileContentSniffingEnabled(localFileContentSniffingEnabled) >- , m_privateBrowsingEnabled(privateBrowsingEnabled) >- , m_shouldClearReferrerOnHTTPSToHTTPRedirect(shouldClearReferrerOnHTTPSToHTTPRedirect) >-{ >-} >- > RemoteNetworkingContext::~RemoteNetworkingContext() > { > } >diff --git a/Source/WebKit2/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp b/Source/WebKit2/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..3bef564beee2ea4b2dde3f03cce033fa6c63d50e >--- /dev/null >+++ b/Source/WebKit2/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp >@@ -0,0 +1,82 @@ >+/* >+ * Copyright (C) 2013 Apple Inc. All rights reserved. >+ * Copyright (C) 2013 University of Szeged. All rights reserved. >+ * Copyright (C) 2013 Company 100 Inc. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#if ENABLE(NETWORK_PROCESS) >+#include "RemoteNetworkingContext.h" >+ >+#include <WebCore/NetworkStorageSession.h> >+#include <WebCore/NotImplemented.h> >+#include <WebCore/ResourceHandle.h> >+ >+using namespace WebCore; >+ >+namespace WebKit { >+ >+RemoteNetworkingContext::~RemoteNetworkingContext() >+{ >+} >+ >+bool RemoteNetworkingContext::isValid() const >+{ >+ return true; >+} >+ >+uint64_t RemoteNetworkingContext::initiatingPageID() const >+{ >+ notImplemented(); >+ return 0; >+} >+ >+void RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase(const String&) >+{ >+ notImplemented(); >+} >+ >+void RemoteNetworkingContext::ensurePrivateBrowsingSession() >+{ >+ notImplemented(); >+} >+ >+void RemoteNetworkingContext::destroyPrivateBrowsingSession() >+{ >+} >+ >+NetworkStorageSession& RemoteNetworkingContext::storageSession() const >+{ >+ return NetworkStorageSession::defaultStorageSession(); >+} >+ >+NetworkStorageSession* RemoteNetworkingContext::privateBrowsingSession() >+{ >+ notImplemented(); >+ return &NetworkStorageSession::defaultStorageSession(); >+} >+ >+} >+ >+#endif // ENABLE(NETWORK_PROCESS) >diff --git a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj >index 3f73970097fc788fe0e3bc9d9938933c5bf85436..5eb52ccf47f0abcb6249f3f2ed9928933861f4ab 100644 >--- a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj >+++ b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj >@@ -2701,7 +2701,7 @@ > E1A31734134CEA80007C9A4F /* AttributedString.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AttributedString.mm; sourceTree = "<group>"; }; > E1AEA22D14687BDB00804569 /* WKFullKeyboardAccessWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFullKeyboardAccessWatcher.h; sourceTree = "<group>"; }; > E1AEA22E14687BDB00804569 /* WKFullKeyboardAccessWatcher.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKFullKeyboardAccessWatcher.mm; sourceTree = "<group>"; }; >- E1B78470163F24690007B692 /* RemoteNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteNetworkingContext.h; sourceTree = "<group>"; }; >+ E1B78470163F24690007B692 /* RemoteNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RemoteNetworkingContext.h; path = NetworkProcess/RemoteNetworkingContext.h; sourceTree = "<group>"; }; > E1B78472163F253E0007B692 /* RemoteNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteNetworkingContext.mm; sourceTree = "<group>"; }; > E1CC1B8E12D7EADF00625838 /* PrintInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintInfo.h; sourceTree = "<group>"; }; > E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PrintInfoMac.mm; sourceTree = "<group>"; }; >@@ -3656,6 +3656,7 @@ > E1525517170109FB003D7ADB /* NetworkResourceLoader.messages.in */, > 51829DA31637C70C000953D6 /* NetworkResourceLoadScheduler.cpp */, > 51829DA41637C70C000953D6 /* NetworkResourceLoadScheduler.h */, >+ E1B78470163F24690007B692 /* RemoteNetworkingContext.h */, > 519B4FF216A9EA970066874D /* SchedulableLoader.cpp */, > 519B4FF316A9EA970066874D /* SchedulableLoader.h */, > 51815B9D16A622210054501F /* SyncNetworkResourceLoader.cpp */, >@@ -3673,7 +3674,6 @@ > 51A8A6151627F3F9000D90E9 /* NetworkProcessMac.mm */, > 51E3B67E16F266B3009968DC /* NetworkResourceLoaderMac.mm */, > 512C068F16390E6900ABB911 /* NetworkResourceLoadSchedulerMac.mm */, >- E1B78470163F24690007B692 /* RemoteNetworkingContext.h */, > E1B78472163F253E0007B692 /* RemoteNetworkingContext.mm */, > ); > name = mac;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 110097
:
188871
|
205782
|
205795
|
209650
|
212710
|
212794
|
212796