[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
pfeldman at chromium.org
pfeldman at chromium.org
Wed Dec 22 16:10:32 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 044c64ab54e72891cc4fd722a0a0f29064e6f796
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Nov 19 11:14:45 2010 +0000
2010-11-18 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: provide response code and status text as
a part of raw headers data.
https://bugs.webkit.org/show_bug.cgi?id=49668
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceResponse):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype._updateResourceWithResponse):
* platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
(WebCore::ResourceLoadInfo::ResourceLoadInfo):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::resourceLoadInfo):
(WebCore::ResourceResponseBase::setResourceLoadInfo):
* platform/network/ResourceResponseBase.h:
2010-11-18 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: provide response code and status text as a part
of raw headers data.
https://bugs.webkit.org/show_bug.cgi?id=49668
* WebKit.gyp:
* public/WebHTTPLoadInfo.h: Renamed from WebKit/chromium/public/WebResourceRawHeaders.h.
(WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::~WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::operator =):
* public/WebURLResponse.h:
* src/WebHTTPLoadInfo.cpp: Renamed from WebKit/chromium/src/WebResourceRawHeaders.cpp.
(WebKit::WebHTTPLoadInfo::initialize):
(WebKit::WebHTTPLoadInfo::reset):
(WebKit::WebHTTPLoadInfo::assign):
(WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::operator WTF::PassRefPtr<WebCore::ResourceRawHeaders>):
(WebKit::WebHTTPLoadInfo::responseCode):
(WebKit::WebHTTPLoadInfo::setResponseCode):
(WebKit::WebHTTPLoadInfo::statusText):
(WebKit::WebHTTPLoadInfo::setStatusText):
(WebKit::addHeader):
(WebKit::WebHTTPLoadInfo::addRequestHeader):
(WebKit::WebHTTPLoadInfo::addResponseHeader):
* src/WebURLResponse.cpp:
(WebKit::WebURLResponse::httpLoadInfo):
(WebKit::WebURLResponse::setHTTPLoadInfo):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d78c81b..76bd273 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2010-11-18 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: provide response code and status text as
+ a part of raw headers data.
+ https://bugs.webkit.org/show_bug.cgi?id=49668
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForResourceResponse):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
+ * inspector/front-end/ResourceManager.js:
+ (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
+ * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
+ (WebCore::ResourceLoadInfo::ResourceLoadInfo):
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::resourceLoadInfo):
+ (WebCore::ResourceResponseBase::setResourceLoadInfo):
+ * platform/network/ResourceResponseBase.h:
+
2010-11-19 Mike Lawther <mikelawther at chromium.org>
Reviewed by James Robinson.
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index a211c18..bae72a6 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -2434,12 +2434,12 @@ webcore_sources += \
WebCore/platform/network/ResourceHandle.cpp \
WebCore/platform/network/ResourceHandle.h \
WebCore/platform/network/ResourceHandleInternal.h \
+ WebCore/platform/network/ResourceLoadInfo.h \
WebCore/platform/network/ResourceLoadTiming.h \
WebCore/platform/network/ResourceRequestBase.cpp \
WebCore/platform/network/ResourceRequestBase.h \
WebCore/platform/network/ResourceResponseBase.cpp \
WebCore/platform/network/ResourceResponseBase.h \
- WebCore/platform/network/ResourceRawHeaders.h \
WebCore/platform/network/SocketStreamErrorBase.cpp \
WebCore/platform/network/SocketStreamErrorBase.h \
WebCore/platform/network/SocketStreamHandleBase.cpp \
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index d9f1ef3..1dacdf8 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -3076,12 +3076,12 @@
'platform/network/ResourceErrorBase.h',
'platform/network/ResourceHandleClient.h',
'platform/network/ResourceHandleInternal.h',
+ 'platform/network/ResourceLoadInfo.h',
'platform/network/ResourceLoadTiming.h',
'platform/network/ResourceRequestBase.cpp',
'platform/network/ResourceRequestBase.h',
'platform/network/ResourceResponseBase.cpp',
'platform/network/ResourceResponseBase.h',
- 'platform/network/ResourceRawHeaders.h',
'platform/network/SocketStreamErrorBase.cpp',
'platform/network/SocketStreamErrorBase.h',
'platform/network/SocketStreamHandleBase.cpp',
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 12d632c..b4555a6 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -2130,10 +2130,10 @@ HEADERS += \
platform/network/qt/QNetworkReplyHandler.h \
platform/network/ResourceErrorBase.h \
platform/network/ResourceHandle.h \
+ platform/network/ResourceLoadInfo.h \
platform/network/ResourceLoadTiming.h \
platform/network/ResourceRequestBase.h \
platform/network/ResourceResponseBase.h \
- platform/network/ResourceRawHeaders.h \
platform/PlatformTouchEvent.h \
platform/PlatformTouchPoint.h \
platform/PopupMenu.h \
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index e41b55b..1274c9b 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -27986,11 +27986,11 @@
>
</File>
<File
- RelativePath="..\platform\network\ResourceLoadTiming.h"
+ RelativePath="..\platform\network\ResourceLoadInfo.h"
>
</File>
<File
- RelativePath="..\platform\network\ResourceRawHeaders.h"
+ RelativePath="..\platform\network\ResourceLoadTiming.h"
>
</File>
<File
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 29659ac..b9e51e0 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -985,7 +985,7 @@
46F9D5DF0B0D60170028EE36 /* progressCursor.png in Resources */ = {isa = PBXBuildFile; fileRef = 46F9D5DC0B0D60170028EE36 /* progressCursor.png */; };
490707E61219C04300D90E51 /* ANGLEWebKitBridge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 490707E41219C04300D90E51 /* ANGLEWebKitBridge.cpp */; };
490707E71219C04300D90E51 /* ANGLEWebKitBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 490707E51219C04300D90E51 /* ANGLEWebKitBridge.h */; };
- 492863991253B8FC00F792D6 /* ResourceRawHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 492863981253B8FC00F792D6 /* ResourceRawHeaders.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 492863991253B8FC00F792D6 /* ResourceLoadInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 492863981253B8FC00F792D6 /* ResourceLoadInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
49484FC1102CF23C00187DD3 /* CanvasGradient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49484FB3102CF23C00187DD3 /* CanvasGradient.cpp */; };
49484FC2102CF23C00187DD3 /* CanvasGradient.h in Headers */ = {isa = PBXBuildFile; fileRef = 49484FB4102CF23C00187DD3 /* CanvasGradient.h */; };
49484FC4102CF23C00187DD3 /* CanvasPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49484FB6102CF23C00187DD3 /* CanvasPattern.cpp */; };
@@ -7084,7 +7084,7 @@
46F9D5DC0B0D60170028EE36 /* progressCursor.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progressCursor.png; sourceTree = "<group>"; };
490707E41219C04300D90E51 /* ANGLEWebKitBridge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ANGLEWebKitBridge.cpp; sourceTree = "<group>"; };
490707E51219C04300D90E51 /* ANGLEWebKitBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANGLEWebKitBridge.h; sourceTree = "<group>"; };
- 492863981253B8FC00F792D6 /* ResourceRawHeaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceRawHeaders.h; sourceTree = "<group>"; };
+ 492863981253B8FC00F792D6 /* ResourceLoadInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoadInfo.h; sourceTree = "<group>"; };
49484FB3102CF23C00187DD3 /* CanvasGradient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CanvasGradient.cpp; path = canvas/CanvasGradient.cpp; sourceTree = "<group>"; };
49484FB4102CF23C00187DD3 /* CanvasGradient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CanvasGradient.h; path = canvas/CanvasGradient.h; sourceTree = "<group>"; };
49484FB5102CF23C00187DD3 /* CanvasGradient.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = CanvasGradient.idl; path = canvas/CanvasGradient.idl; sourceTree = "<group>"; };
@@ -13109,8 +13109,8 @@
514C76640CE923A1007EF3CD /* ResourceHandle.h */,
514C76650CE923A1007EF3CD /* ResourceHandleClient.h */,
514C76660CE923A1007EF3CD /* ResourceHandleInternal.h */,
+ 492863981253B8FC00F792D6 /* ResourceLoadInfo.h */,
8A81BF8411DCFD9000DA2B98 /* ResourceLoadTiming.h */,
- 492863981253B8FC00F792D6 /* ResourceRawHeaders.h */,
514C76670CE923A1007EF3CD /* ResourceRequestBase.cpp */,
514C76680CE923A1007EF3CD /* ResourceRequestBase.h */,
514C76690CE923A1007EF3CD /* ResourceResponseBase.cpp */,
@@ -20731,8 +20731,8 @@
656D373F0ADBA5DE00A4554D /* ResourceLoader.h in Headers */,
973E325710883B7C005BC493 /* ResourceLoadNotifier.h in Headers */,
D0CE58F9125E4CC200F3F199 /* ResourceLoadScheduler.h in Headers */,
+ 492863991253B8FC00F792D6 /* ResourceLoadInfo.h in Headers */,
8A81BF8511DCFD9000DA2B98 /* ResourceLoadTiming.h in Headers */,
- 492863991253B8FC00F792D6 /* ResourceRawHeaders.h in Headers */,
514C76520CE9234E007EF3CD /* ResourceRequest.h in Headers */,
514C767D0CE923A1007EF3CD /* ResourceRequestBase.h in Headers */,
514C76540CE9234E007EF3CD /* ResourceResponse.h in Headers */,
diff --git a/WebCore/inspector/InspectorResourceAgent.cpp b/WebCore/inspector/InspectorResourceAgent.cpp
index fcdebbc..d1a8181 100644
--- a/WebCore/inspector/InspectorResourceAgent.cpp
+++ b/WebCore/inspector/InspectorResourceAgent.cpp
@@ -193,11 +193,13 @@ static PassRefPtr<InspectorObject> buildObjectForResourceResponse(const Resource
responseObject->setBoolean("wasCached", response.wasCached());
if (response.resourceLoadTiming())
responseObject->setObject("timing", buildObjectForTiming(*response.resourceLoadTiming()));
- if (response.resourceRawHeaders()) {
- RefPtr<InspectorObject> rawHeadersObject = InspectorObject::create();
- rawHeadersObject->setObject("requestHeaders", buildObjectForHeaders(response.resourceRawHeaders()->requestHeaders));
- rawHeadersObject->setObject("responseHeaders", buildObjectForHeaders(response.resourceRawHeaders()->responseHeaders));
- responseObject->setObject("rawHeaders", rawHeadersObject);
+ if (response.resourceLoadInfo()) {
+ RefPtr<InspectorObject> loadInfoObject = InspectorObject::create();
+ loadInfoObject->setNumber("httpStatusCode", response.resourceLoadInfo()->httpStatusCode);
+ loadInfoObject->setString("httpStatusText", response.resourceLoadInfo()->httpStatusText);
+ loadInfoObject->setObject("requestHeaders", buildObjectForHeaders(response.resourceLoadInfo()->requestHeaders));
+ loadInfoObject->setObject("responseHeaders", buildObjectForHeaders(response.resourceLoadInfo()->responseHeaders));
+ loadInfoObject->setObject("loadInfo", loadInfoObject);
}
return responseObject;
}
diff --git a/WebCore/inspector/front-end/NetworkPanel.js b/WebCore/inspector/front-end/NetworkPanel.js
index a695167..8ef1b74 100644
--- a/WebCore/inspector/front-end/NetworkPanel.js
+++ b/WebCore/inspector/front-end/NetworkPanel.js
@@ -1529,6 +1529,14 @@ WebInspector.NetworkDataGridNode.prototype = {
{
this._statusCell.removeChildren();
+ var fromCache = this._resource.cached;
+ if (fromCache) {
+ this._statusCell.textContent = WebInspector.UIString("(from cache)");
+ this._statusCell.addStyleClass("network-dim-cell");
+ return;
+ }
+
+ this._statusCell.removeStyleClass("network-dim-cell");
if (this._resource.statusCode) {
this._statusCell.appendChild(document.createTextNode(this._resource.statusCode));
this._statusCell.removeStyleClass("network-dim-cell");
diff --git a/WebCore/inspector/front-end/ResourceManager.js b/WebCore/inspector/front-end/ResourceManager.js
index 223e435..4baf8f8 100644
--- a/WebCore/inspector/front-end/ResourceManager.js
+++ b/WebCore/inspector/front-end/ResourceManager.js
@@ -170,9 +170,13 @@ WebInspector.ResourceManager.prototype = {
else
resource.timing = response.timing;
- if (response.rawHeaders) {
- resource.requestHeaders = response.rawHeaders.requestHeaders;
- resource.responseHeaders = response.rawHeaders.responseHeaders;
+ if (response.loadInfo) {
+ if (response.loadInfo.httpStatusCode)
+ resource.statusCode = response.loadInfo.httpStatusCode;
+ if (response.loadInfo.httpStatusText)
+ resource.statusText = response.loadInfo.httpStatusText;
+ resource.requestHeaders = response.loadInfo.requestHeaders;
+ resource.responseHeaders = response.loadInfo.responseHeaders;
}
},
diff --git a/WebCore/platform/network/ResourceLoadInfo.h b/WebCore/platform/network/ResourceLoadInfo.h
new file mode 100644
index 0000000..a1b958c
--- /dev/null
+++ b/WebCore/platform/network/ResourceLoadInfo.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2010 Google, 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. ``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
+ * 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 ResourceLoadInfo_h
+#define ResourceLoadInfo_h
+
+#include "HTTPHeaderMap.h"
+
+namespace WebCore {
+
+struct ResourceLoadInfo : RefCounted<ResourceLoadInfo> {
+ ResourceLoadInfo()
+ : httpStatusCode(0) { }
+
+ int httpStatusCode;
+ String httpStatusText;
+ HTTPHeaderMap requestHeaders;
+ HTTPHeaderMap responseHeaders;
+};
+
+}
+
+#endif
diff --git a/WebCore/platform/network/ResourceRawHeaders.h b/WebCore/platform/network/ResourceRawHeaders.h
deleted file mode 100644
index e5f8d99..0000000
--- a/WebCore/platform/network/ResourceRawHeaders.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2010 Google, 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. ``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
- * 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 ResourceRawHeaders_h
-#define ResourceRawHeaders_h
-
-#include "HTTPHeaderMap.h"
-
-namespace WebCore {
-
-struct ResourceRawHeaders : RefCounted<ResourceRawHeaders> {
- HTTPHeaderMap requestHeaders;
- HTTPHeaderMap responseHeaders;
-};
-
-}
-
-#endif
diff --git a/WebCore/platform/network/ResourceResponseBase.cpp b/WebCore/platform/network/ResourceResponseBase.cpp
index a254168..55eac76 100644
--- a/WebCore/platform/network/ResourceResponseBase.cpp
+++ b/WebCore/platform/network/ResourceResponseBase.cpp
@@ -520,18 +520,18 @@ void ResourceResponseBase::setResourceLoadTiming(PassRefPtr<ResourceLoadTiming>
m_resourceLoadTiming = resourceLoadTiming;
}
-PassRefPtr<ResourceRawHeaders> ResourceResponseBase::resourceRawHeaders() const
+PassRefPtr<ResourceLoadInfo> ResourceResponseBase::resourceLoadInfo() const
{
lazyInit();
- return m_resourceRawHeaders.get();
+ return m_resourceLoadInfo.get();
}
-void ResourceResponseBase::setResourceRawHeaders(PassRefPtr<ResourceRawHeaders> headers)
+void ResourceResponseBase::setResourceLoadInfo(PassRefPtr<ResourceLoadInfo> loadInfo)
{
lazyInit();
- m_resourceRawHeaders = headers;
+ m_resourceLoadInfo = loadInfo;
}
void ResourceResponseBase::lazyInit() const
diff --git a/WebCore/platform/network/ResourceResponseBase.h b/WebCore/platform/network/ResourceResponseBase.h
index 4da13bb..9c54bab 100644
--- a/WebCore/platform/network/ResourceResponseBase.h
+++ b/WebCore/platform/network/ResourceResponseBase.h
@@ -29,8 +29,8 @@
#include "HTTPHeaderMap.h"
#include "KURL.h"
+#include "ResourceLoadInfo.h"
#include "ResourceLoadTiming.h"
-#include "ResourceRawHeaders.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
@@ -110,8 +110,8 @@ public:
ResourceLoadTiming* resourceLoadTiming() const;
void setResourceLoadTiming(PassRefPtr<ResourceLoadTiming>);
- PassRefPtr<ResourceRawHeaders> resourceRawHeaders() const;
- void setResourceRawHeaders(PassRefPtr<ResourceRawHeaders>);
+ PassRefPtr<ResourceLoadInfo> resourceLoadInfo() const;
+ void setResourceLoadInfo(PassRefPtr<ResourceLoadInfo>);
// The ResourceResponse subclass may "shadow" this method to provide platform-specific memory usage information
unsigned memoryUsage() const
@@ -147,7 +147,7 @@ protected:
unsigned m_connectionID;
bool m_connectionReused : 1;
RefPtr<ResourceLoadTiming> m_resourceLoadTiming;
- RefPtr<ResourceRawHeaders> m_resourceRawHeaders;
+ RefPtr<ResourceLoadInfo> m_resourceLoadInfo;
bool m_isNull : 1;
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 6967bbb..dff1b5e 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,34 @@
+2010-11-18 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: provide response code and status text as a part
+ of raw headers data.
+ https://bugs.webkit.org/show_bug.cgi?id=49668
+
+ * WebKit.gyp:
+ * public/WebHTTPLoadInfo.h: Renamed from WebKit/chromium/public/WebResourceRawHeaders.h.
+ (WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
+ (WebKit::WebHTTPLoadInfo::~WebHTTPLoadInfo):
+ (WebKit::WebHTTPLoadInfo::operator =):
+ * public/WebURLResponse.h:
+ * src/WebHTTPLoadInfo.cpp: Renamed from WebKit/chromium/src/WebResourceRawHeaders.cpp.
+ (WebKit::WebHTTPLoadInfo::initialize):
+ (WebKit::WebHTTPLoadInfo::reset):
+ (WebKit::WebHTTPLoadInfo::assign):
+ (WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
+ (WebKit::WebHTTPLoadInfo::operator WTF::PassRefPtr<WebCore::ResourceRawHeaders>):
+ (WebKit::WebHTTPLoadInfo::responseCode):
+ (WebKit::WebHTTPLoadInfo::setResponseCode):
+ (WebKit::WebHTTPLoadInfo::statusText):
+ (WebKit::WebHTTPLoadInfo::setStatusText):
+ (WebKit::addHeader):
+ (WebKit::WebHTTPLoadInfo::addRequestHeader):
+ (WebKit::WebHTTPLoadInfo::addResponseHeader):
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::httpLoadInfo):
+ (WebKit::WebURLResponse::setHTTPLoadInfo):
+
2010-11-18 Kent Tamura <tkent at chromium.org>
Reviewed by Tony Chang.
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 71cac22..ad4ab5d 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -180,6 +180,7 @@
'public/WebGraphicsContext3D.h',
'public/WebHistoryItem.h',
'public/WebHTTPBody.h',
+ 'public/WebHTTPLoadInfo.h',
'public/WebImage.h',
'public/WebImageDecoder.h',
'public/WebIDBCallbacks.h',
@@ -236,7 +237,6 @@
'public/WebRange.h',
'public/WebRect.h',
'public/WebRegularExpression.h',
- 'public/WebResourceRawHeaders.h',
'public/WebRuntimeFeatures.h',
'public/WebScrollbar.h',
'public/WebScrollbarClient.h',
@@ -449,6 +449,7 @@
'src/WebGraphicsContext3DDefaultImpl.h',
'src/WebHistoryItem.cpp',
'src/WebHTTPBody.cpp',
+ 'src/WebHTTPLoadInfo.cpp',
'src/WebIDBCallbacksImpl.cpp',
'src/WebIDBCallbacksImpl.h',
'src/WebIDBCursorImpl.cpp',
@@ -506,7 +507,6 @@
'src/WebPopupMenuImpl.h',
'src/WebRange.cpp',
'src/WebRegularExpression.cpp',
- 'src/WebResourceRawHeaders.cpp',
'src/WebRuntimeFeatures.cpp',
'src/WebScriptController.cpp',
'src/WebScrollbarImpl.cpp',
diff --git a/WebKit/chromium/public/WebHTTPLoadInfo.h b/WebKit/chromium/public/WebHTTPLoadInfo.h
new file mode 100644
index 0000000..9ff9153
--- /dev/null
+++ b/WebKit/chromium/public/WebHTTPLoadInfo.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2010 Google 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:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * 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.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 WebHTTPLoadInfo_h
+#define WebHTTPLoadInfo_h
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+struct ResourceLoadInfo;
+}
+
+namespace WebKit {
+class WebString;
+
+class WebHTTPLoadInfo {
+public:
+ WebHTTPLoadInfo() { initialize(); }
+ ~WebHTTPLoadInfo() { reset(); }
+ WebHTTPLoadInfo(const WebHTTPLoadInfo& r) { assign(r); }
+ WebHTTPLoadInfo& operator =(const WebHTTPLoadInfo& r)
+ {
+ assign(r);
+ return *this;
+ }
+
+ WEBKIT_API void initialize();
+ WEBKIT_API void reset();
+ WEBKIT_API void assign(const WebHTTPLoadInfo& r);
+
+ WEBKIT_API int httpStatusCode() const;
+ WEBKIT_API void setHTTPStatusCode(int);
+
+ WEBKIT_API WebString httpStatusText() const;
+ WEBKIT_API void setHTTPStatusText(const WebString&);
+
+ WEBKIT_API void addRequestHeader(const WebString& name, const WebString& value);
+ WEBKIT_API void addResponseHeader(const WebString& name, const WebString& value);
+
+#if WEBKIT_IMPLEMENTATION
+ WebHTTPLoadInfo(WTF::PassRefPtr<WebCore::ResourceLoadInfo>);
+ operator WTF::PassRefPtr<WebCore::ResourceLoadInfo>() const;
+#endif
+
+private:
+ WebPrivatePtr<WebCore::ResourceLoadInfo> m_private;
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebResourceRawHeaders.h b/WebKit/chromium/public/WebResourceRawHeaders.h
deleted file mode 100644
index b91e68b..0000000
--- a/WebKit/chromium/public/WebResourceRawHeaders.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2010 Google 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:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
- * OWNER OR 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 WebResourceRawHeaders_h
-#define WebResourceRawHeaders_h
-
-#include "WebCommon.h"
-#include "WebPrivatePtr.h"
-
-namespace WebCore {
-struct ResourceRawHeaders;
-}
-
-namespace WebKit {
-class WebHTTPHeaderVisitor;
-class WebResourceRawHeadersMapPrivate;
-class WebString;
-
-class WebResourceRawHeaders {
-public:
- WebResourceRawHeaders() { initialize(); }
- ~WebResourceRawHeaders() { reset(); }
- WebResourceRawHeaders(const WebResourceRawHeaders& r) { assign(r); }
- WebResourceRawHeaders& operator =(const WebResourceRawHeaders& r)
- {
- assign(r);
- return *this;
- }
-
- WEBKIT_API void initialize();
- WEBKIT_API void reset();
- WEBKIT_API void assign(const WebResourceRawHeaders& r);
- WEBKIT_API void addRequestHeader(const WebString& name, const WebString& value);
- WEBKIT_API void addResponseHeader(const WebString& name, const WebString& value);
-
-#if WEBKIT_IMPLEMENTATION
- WebResourceRawHeaders(WTF::PassRefPtr<WebCore::ResourceRawHeaders>);
- operator WTF::PassRefPtr<WebCore::ResourceRawHeaders>() const;
-#endif
-
-private:
- WebPrivatePtr<WebCore::ResourceRawHeaders> m_private;
-};
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/public/WebURLResponse.h b/WebKit/chromium/public/WebURLResponse.h
index f78c2db..c50f88e 100644
--- a/WebKit/chromium/public/WebURLResponse.h
+++ b/WebKit/chromium/public/WebURLResponse.h
@@ -42,7 +42,7 @@ namespace WebKit {
class WebCString;
class WebHTTPHeaderVisitor;
-class WebResourceRawHeaders;
+class WebHTTPLoadInfo;
class WebString;
class WebURL;
class WebURLLoadTiming;
@@ -84,8 +84,8 @@ public:
WEBKIT_API WebURLLoadTiming loadTiming();
WEBKIT_API void setLoadTiming(const WebURLLoadTiming&);
- WEBKIT_API WebResourceRawHeaders resourceRawHeaders();
- WEBKIT_API void setResourceRawHeaders(const WebResourceRawHeaders&);
+ WEBKIT_API WebHTTPLoadInfo httpLoadInfo();
+ WEBKIT_API void setHTTPLoadInfo(const WebHTTPLoadInfo&);
WEBKIT_API double responseTime() const;
WEBKIT_API void setResponseTime(double);
diff --git a/WebKit/chromium/src/WebHTTPLoadInfo.cpp b/WebKit/chromium/src/WebHTTPLoadInfo.cpp
new file mode 100644
index 0000000..876a489
--- /dev/null
+++ b/WebKit/chromium/src/WebHTTPLoadInfo.cpp
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2010 Google 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:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * 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.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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"
+#include "WebHTTPLoadInfo.h"
+
+#include "ResourceLoadInfo.h"
+#include "ResourceResponse.h"
+#include "WebHTTPHeaderVisitor.h"
+#include "WebString.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void WebHTTPLoadInfo::initialize()
+{
+ m_private = adoptRef(new ResourceLoadInfo());
+}
+
+void WebHTTPLoadInfo::reset()
+{
+ m_private.reset();
+}
+
+void WebHTTPLoadInfo::assign(const WebHTTPLoadInfo& r)
+{
+ m_private = r.m_private;
+}
+
+WebHTTPLoadInfo::WebHTTPLoadInfo(WTF::PassRefPtr<WebCore::ResourceLoadInfo> value)
+{
+ m_private = value;
+}
+
+WebHTTPLoadInfo::operator WTF::PassRefPtr<WebCore::ResourceLoadInfo>() const
+{
+ return m_private.get();
+}
+
+int WebHTTPLoadInfo::httpStatusCode() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private->httpStatusCode;
+}
+
+void WebHTTPLoadInfo::setHTTPStatusCode(int statusCode)
+{
+ ASSERT(!m_private.isNull());
+ m_private->httpStatusCode = statusCode;
+}
+
+WebString WebHTTPLoadInfo::httpStatusText() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private->httpStatusText;
+}
+
+void WebHTTPLoadInfo::setHTTPStatusText(const WebString& statusText)
+{
+ ASSERT(!m_private.isNull());
+ m_private->httpStatusText = statusText;
+}
+
+static void addHeader(HTTPHeaderMap* map, const WebString& name, const WebString& value)
+{
+ pair<HTTPHeaderMap::iterator, bool> result = map->add(name, value);
+ if (!result.second)
+ result.first->second += String("\n") + value;
+}
+
+void WebHTTPLoadInfo::addRequestHeader(const WebString& name, const WebString& value)
+{
+ ASSERT(!m_private.isNull());
+ addHeader(&m_private->requestHeaders, name, value);
+}
+
+void WebHTTPLoadInfo::addResponseHeader(const WebString& name, const WebString& value)
+{
+ ASSERT(!m_private.isNull());
+ addHeader(&m_private->responseHeaders, name, value);
+}
+
+} // namespace WebKit
diff --git a/WebKit/chromium/src/WebResourceRawHeaders.cpp b/WebKit/chromium/src/WebResourceRawHeaders.cpp
deleted file mode 100644
index 259365e..0000000
--- a/WebKit/chromium/src/WebResourceRawHeaders.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2010 Google 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:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
- * OWNER OR 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"
-#include "WebResourceRawHeaders.h"
-
-#include "ResourceRawHeaders.h"
-#include "ResourceResponse.h"
-#include "WebHTTPHeaderVisitor.h"
-#include "WebString.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-void WebResourceRawHeaders::initialize()
-{
- m_private = adoptRef(new ResourceRawHeaders());
-}
-
-void WebResourceRawHeaders::reset()
-{
- m_private.reset();
-}
-
-void WebResourceRawHeaders::assign(const WebResourceRawHeaders& r)
-{
- m_private = r.m_private;
-}
-
-WebResourceRawHeaders::WebResourceRawHeaders(WTF::PassRefPtr<WebCore::ResourceRawHeaders> value)
-{
- m_private = value;
-}
-
-WebResourceRawHeaders::operator WTF::PassRefPtr<WebCore::ResourceRawHeaders>() const
-{
- return m_private.get();
-}
-
-static void addHeader(HTTPHeaderMap* map, const WebString& name, const WebString& value)
-{
- pair<HTTPHeaderMap::iterator, bool> result = map->add(name, value);
- if (!result.second)
- result.first->second += String("\n") + value;
-}
-
-void WebResourceRawHeaders::addRequestHeader(const WebString& name, const WebString& value)
-{
- ASSERT(!m_private.isNull());
- addHeader(&m_private->requestHeaders, name, value);
-}
-
-void WebResourceRawHeaders::addResponseHeader(const WebString& name, const WebString& value)
-{
- ASSERT(!m_private.isNull());
- addHeader(&m_private->responseHeaders, name, value);
-}
-
-} // namespace WebKit
diff --git a/WebKit/chromium/src/WebURLResponse.cpp b/WebKit/chromium/src/WebURLResponse.cpp
index 5343921..bf3c521 100644
--- a/WebKit/chromium/src/WebURLResponse.cpp
+++ b/WebKit/chromium/src/WebURLResponse.cpp
@@ -35,6 +35,7 @@
#include "ResourceLoadTiming.h"
#include "WebHTTPHeaderVisitor.h"
+#include "WebHTTPLoadInfo.h"
#include "WebString.h"
#include "WebURL.h"
#include "WebURLLoadTiming.h"
@@ -129,14 +130,14 @@ void WebURLResponse::setLoadTiming(const WebURLLoadTiming& timing)
m_private->m_resourceResponse->setResourceLoadTiming(loadTiming.release());
}
-WebResourceRawHeaders WebURLResponse::resourceRawHeaders()
+WebHTTPLoadInfo WebURLResponse::httpLoadInfo()
{
- return WebResourceRawHeaders(m_private->m_resourceResponse->resourceRawHeaders());
+ return WebHTTPLoadInfo(m_private->m_resourceResponse->resourceLoadInfo());
}
-void WebURLResponse::setResourceRawHeaders(const WebResourceRawHeaders& value)
+void WebURLResponse::setHTTPLoadInfo(const WebHTTPLoadInfo& value)
{
- m_private->m_resourceResponse->setResourceRawHeaders(value);
+ m_private->m_resourceResponse->setResourceLoadInfo(value);
}
double WebURLResponse::responseTime() const
diff --git a/WebKit/chromium/src/WebURLResponsePrivate.h b/WebKit/chromium/src/WebURLResponsePrivate.h
index 4181e4c..dc5ce22 100644
--- a/WebKit/chromium/src/WebURLResponsePrivate.h
+++ b/WebKit/chromium/src/WebURLResponsePrivate.h
@@ -31,7 +31,6 @@
#ifndef WebURLResponsePrivate_h
#define WebURLResponsePrivate_h
-#include "WebResourceRawHeaders.h"
#include "WebString.h"
namespace WebCore { class ResourceResponse; }
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list