Title: [143861] trunk/Source/WebCore
- Revision
- 143861
- Author
- [email protected]
- Date
- 2013-02-23 23:29:13 -0800 (Sat, 23 Feb 2013)
Log Message
ResourceRequestBase unnecessarily updates when nothing changes
https://bugs.webkit.org/show_bug.cgi?id=110665
Reviewed by Dan Bernstein.
Don't mark platform data for update if nothing really changed. This avoids ever doing
doUpdatePlatformRequest() in NetworkProcess during normal browsing for me, which is
good for performance.
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::removeCredentials):
(WebCore::ResourceRequestBase::setCachePolicy):
(WebCore::ResourceRequestBase::setTimeoutInterval):
(WebCore::ResourceRequestBase::setFirstPartyForCookies):
(WebCore::ResourceRequestBase::setHTTPMethod):
(WebCore::ResourceRequestBase::clearHTTPAuthorization):
(WebCore::ResourceRequestBase::setAllowCookies):
(WebCore::ResourceRequestBase::setPriority):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (143860 => 143861)
--- trunk/Source/WebCore/ChangeLog 2013-02-24 07:24:12 UTC (rev 143860)
+++ trunk/Source/WebCore/ChangeLog 2013-02-24 07:29:13 UTC (rev 143861)
@@ -1,3 +1,24 @@
+2013-02-23 Alexey Proskuryakov <[email protected]>
+
+ ResourceRequestBase unnecessarily updates when nothing changes
+ https://bugs.webkit.org/show_bug.cgi?id=110665
+
+ Reviewed by Dan Bernstein.
+
+ Don't mark platform data for update if nothing really changed. This avoids ever doing
+ doUpdatePlatformRequest() in NetworkProcess during normal browsing for me, which is
+ good for performance.
+
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::removeCredentials):
+ (WebCore::ResourceRequestBase::setCachePolicy):
+ (WebCore::ResourceRequestBase::setTimeoutInterval):
+ (WebCore::ResourceRequestBase::setFirstPartyForCookies):
+ (WebCore::ResourceRequestBase::setHTTPMethod):
+ (WebCore::ResourceRequestBase::clearHTTPAuthorization):
+ (WebCore::ResourceRequestBase::setAllowCookies):
+ (WebCore::ResourceRequestBase::setPriority):
+
2013-02-23 Philip Rogers <[email protected]>
Prevent crash in animated transform lists
Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp (143860 => 143861)
--- trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp 2013-02-24 07:24:12 UTC (rev 143860)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp 2013-02-24 07:29:13 UTC (rev 143861)
@@ -136,6 +136,9 @@
{
updateResourceRequest();
+ if (m_url.user().isEmpty() && m_url.pass().isEmpty())
+ return;
+
m_url.setUser(String());
m_url.setPass(String());
@@ -152,6 +155,9 @@
void ResourceRequestBase::setCachePolicy(ResourceRequestCachePolicy cachePolicy)
{
updateResourceRequest();
+
+ if (m_cachePolicy == cachePolicy)
+ return;
m_cachePolicy = cachePolicy;
@@ -170,7 +176,10 @@
{
updateResourceRequest();
- m_timeoutInterval = timeoutInterval;
+ if (m_timeoutInterval == timeoutInterval)
+ return;
+
+ m_timeoutInterval = timeoutInterval;
if (url().protocolIsInHTTPFamily())
m_platformRequestUpdated = false;
@@ -186,7 +195,10 @@
void ResourceRequestBase::setFirstPartyForCookies(const KURL& firstPartyForCookies)
{
updateResourceRequest();
-
+
+ if (m_firstPartyForCookies == firstPartyForCookies)
+ return;
+
m_firstPartyForCookies = firstPartyForCookies;
m_platformRequestUpdated = false;
@@ -203,6 +215,9 @@
{
updateResourceRequest();
+ if (m_httpMethod == httpMethod)
+ return;
+
m_httpMethod = httpMethod;
if (url().protocolIsInHTTPFamily())
@@ -249,8 +264,12 @@
{
updateResourceRequest();
- m_httpHeaderFields.remove("Authorization");
+ HTTPHeaderMap::iterator iter = m_httpHeaderFields.find("Authorization");
+ if (iter == m_httpHeaderFields.end())
+ return;
+ m_httpHeaderFields.remove(iter);
+
if (url().protocolIsInHTTPFamily())
m_platformRequestUpdated = false;
}
@@ -349,7 +368,10 @@
void ResourceRequestBase::setAllowCookies(bool allowCookies)
{
updateResourceRequest();
-
+
+ if (m_allowCookies == allowCookies)
+ return;
+
m_allowCookies = allowCookies;
if (url().protocolIsInHTTPFamily())
@@ -367,6 +389,9 @@
{
updateResourceRequest();
+ if (m_priority == priority)
+ return;
+
m_priority = priority;
if (url().protocolIsInHTTPFamily())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes