[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
abarth at webkit.org
abarth at webkit.org
Wed Dec 22 12:37:38 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 31f898df3325bdfc840cf46869f6990d615f04e7
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Aug 26 07:27:51 2010 +0000
2010-08-26 Adam Barth <abarth at webkit.org>
Reviewed by Sam Weinig.
Deploy adoptPtr to WebCore/loader
https://bugs.webkit.org/show_bug.cgi?id=44591
This patch covers the easy cases. There are a handful of tougher cases
that I'm leaving to a future patch. I filed one bug about a possible
memory leak and I emailed webkit-dev about some infrastructure we'll
need to tackle some of the harder cases.
* loader/CrossOriginAccessControl.cpp:
(WebCore::createAllowedCrossOriginResponseHeadersSet):
(WebCore::isOnAccessControlResponseHeaderWhitelist):
* loader/DocLoader.cpp:
(WebCore::DocLoader::requestPreload):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::addAllArchiveResources):
(WebCore::DocumentLoader::addArchiveResource):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::incrementProgress):
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleRedirect):
(WebCore::RedirectScheduler::scheduleLocationChange):
(WebCore::RedirectScheduler::scheduleFormSubmission):
(WebCore::RedirectScheduler::scheduleRefresh):
(WebCore::RedirectScheduler::scheduleHistoryNavigation):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
* loader/icon/IconDatabase.cpp:
(WebCore::readySQLiteStatement):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::create):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 046694d..54db900 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,44 @@
+2010-08-26 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Deploy adoptPtr to WebCore/loader
+ https://bugs.webkit.org/show_bug.cgi?id=44591
+
+ This patch covers the easy cases. There are a handful of tougher cases
+ that I'm leaving to a future patch. I filed one bug about a possible
+ memory leak and I emailed webkit-dev about some infrastructure we'll
+ need to tackle some of the harder cases.
+
+ * loader/CrossOriginAccessControl.cpp:
+ (WebCore::createAllowedCrossOriginResponseHeadersSet):
+ (WebCore::isOnAccessControlResponseHeaderWhitelist):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::requestPreload):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::addAllArchiveResources):
+ (WebCore::DocumentLoader::addArchiveResource):
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
+ (WebCore::DocumentThreadableLoader::didReceiveResponse):
+ * loader/PingLoader.cpp:
+ (WebCore::PingLoader::loadImage):
+ * loader/ProgressTracker.cpp:
+ (WebCore::ProgressTracker::incrementProgress):
+ * loader/RedirectScheduler.cpp:
+ (WebCore::RedirectScheduler::scheduleRedirect):
+ (WebCore::RedirectScheduler::scheduleLocationChange):
+ (WebCore::RedirectScheduler::scheduleFormSubmission):
+ (WebCore::RedirectScheduler::scheduleRefresh):
+ (WebCore::RedirectScheduler::scheduleHistoryNavigation):
+ * loader/WorkerThreadableLoader.cpp:
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::readySQLiteStatement):
+ * loader/icon/IconLoader.cpp:
+ (WebCore::IconLoader::create):
+
2010-08-26 Alejandro G. Castro <alex at igalia.com>
Reviewed by Dan Bernstein.
diff --git a/WebCore/loader/CrossOriginAccessControl.cpp b/WebCore/loader/CrossOriginAccessControl.cpp
index 630f2b7..f510704 100644
--- a/WebCore/loader/CrossOriginAccessControl.cpp
+++ b/WebCore/loader/CrossOriginAccessControl.cpp
@@ -71,9 +71,9 @@ bool isSimpleCrossOriginAccessRequest(const String& method, const HTTPHeaderMap&
}
typedef HashSet<String, CaseFoldingHash> HTTPHeaderSet;
-static HTTPHeaderSet* createAllowedCrossOriginResponseHeadersSet()
+static PassOwnPtr<HTTPHeaderSet> createAllowedCrossOriginResponseHeadersSet()
{
- HTTPHeaderSet* headerSet = new HashSet<String, CaseFoldingHash>;
+ OwnPtr<HTTPHeaderSet> headerSet = adoptPtr(new HashSet<String, CaseFoldingHash>);
headerSet->add("cache-control");
headerSet->add("content-language");
@@ -82,12 +82,12 @@ static HTTPHeaderSet* createAllowedCrossOriginResponseHeadersSet()
headerSet->add("last-modified");
headerSet->add("pragma");
- return headerSet;
+ return headerSet.release();
}
bool isOnAccessControlResponseHeaderWhitelist(const String& name)
{
- AtomicallyInitializedStatic(HTTPHeaderSet*, allowedCrossOriginResponseHeaders = createAllowedCrossOriginResponseHeadersSet());
+ AtomicallyInitializedStatic(HTTPHeaderSet*, allowedCrossOriginResponseHeaders = createAllowedCrossOriginResponseHeadersSet().leakPtr());
return allowedCrossOriginResponseHeaders->contains(name);
}
diff --git a/WebCore/loader/DocLoader.cpp b/WebCore/loader/DocLoader.cpp
index 98ed03c..fb12861 100644
--- a/WebCore/loader/DocLoader.cpp
+++ b/WebCore/loader/DocLoader.cpp
@@ -426,7 +426,7 @@ void DocLoader::requestPreload(CachedResource::Type type, const String& url, con
resource->increasePreloadCount();
if (!m_preloads)
- m_preloads.set(new ListHashSet<CachedResource*>);
+ m_preloads = adoptPtr(new ListHashSet<CachedResource*>);
m_preloads->add(resource);
#if PRELOAD_DEBUG
diff --git a/WebCore/loader/DocumentLoader.cpp b/WebCore/loader/DocumentLoader.cpp
index 9798642..cdc711c 100644
--- a/WebCore/loader/DocumentLoader.cpp
+++ b/WebCore/loader/DocumentLoader.cpp
@@ -87,7 +87,7 @@ DocumentLoader::DocumentLoader(const ResourceRequest& req, const SubstituteData&
, m_substituteResourceDeliveryTimer(this, &DocumentLoader::substituteResourceDeliveryTimerFired)
, m_didCreateGlobalHistoryEntry(false)
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
- , m_applicationCacheHost(new ApplicationCacheHost(this))
+ , m_applicationCacheHost(adoptPtr(new ApplicationCacheHost(this)))
#endif
{
}
@@ -404,7 +404,7 @@ bool DocumentLoader::isLoadingInAPISense() const
void DocumentLoader::addAllArchiveResources(Archive* archive)
{
if (!m_archiveResourceCollection)
- m_archiveResourceCollection.set(new ArchiveResourceCollection);
+ m_archiveResourceCollection = adoptPtr(new ArchiveResourceCollection);
ASSERT(archive);
if (!archive)
@@ -418,7 +418,7 @@ void DocumentLoader::addAllArchiveResources(Archive* archive)
void DocumentLoader::addArchiveResource(PassRefPtr<ArchiveResource> resource)
{
if (!m_archiveResourceCollection)
- m_archiveResourceCollection.set(new ArchiveResourceCollection);
+ m_archiveResourceCollection = adoptPtr(new ArchiveResourceCollection);
ASSERT(resource);
if (!resource)
diff --git a/WebCore/loader/DocumentThreadableLoader.cpp b/WebCore/loader/DocumentThreadableLoader.cpp
index 16f114d..a792144 100644
--- a/WebCore/loader/DocumentThreadableLoader.cpp
+++ b/WebCore/loader/DocumentThreadableLoader.cpp
@@ -83,7 +83,7 @@ DocumentThreadableLoader::DocumentThreadableLoader(Document* document, Threadabl
ASSERT(m_options.crossOriginRequestPolicy == UseAccessControl);
- OwnPtr<ResourceRequest> crossOriginRequest(new ResourceRequest(request));
+ OwnPtr<ResourceRequest> crossOriginRequest = adoptPtr(new ResourceRequest(request));
crossOriginRequest->removeCredentials();
crossOriginRequest->setAllowCookies(m_options.allowCredentials);
@@ -195,7 +195,7 @@ void DocumentThreadableLoader::didReceiveResponse(SubresourceLoader* loader, con
return;
}
- OwnPtr<CrossOriginPreflightResultCacheItem> preflightResult(new CrossOriginPreflightResultCacheItem(m_options.allowCredentials));
+ OwnPtr<CrossOriginPreflightResultCacheItem> preflightResult = adoptPtr(new CrossOriginPreflightResultCacheItem(m_options.allowCredentials));
if (!preflightResult->parse(response, accessControlErrorDescription)
|| !preflightResult->allowsCrossOriginMethod(m_actualRequest->httpMethod(), accessControlErrorDescription)
|| !preflightResult->allowsCrossOriginHeaders(m_actualRequest->httpHeaderFields(), accessControlErrorDescription)) {
diff --git a/WebCore/loader/PingLoader.cpp b/WebCore/loader/PingLoader.cpp
index d2c6410..60c6f30 100644
--- a/WebCore/loader/PingLoader.cpp
+++ b/WebCore/loader/PingLoader.cpp
@@ -53,7 +53,7 @@ void PingLoader::loadImage(Frame* frame, const KURL& url)
if (!SecurityOrigin::shouldHideReferrer(request.url(), frame->loader()->outgoingReferrer()))
request.setHTTPReferrer(frame->loader()->outgoingReferrer());
frame->loader()->addExtraFieldsToSubresourceRequest(request);
- OwnPtr<PingLoader> pingLoader(new PingLoader(frame, request));
+ OwnPtr<PingLoader> pingLoader = adoptPtr(new PingLoader(frame, request));
// Leak the ping loader, since it will kill itself as soon as it receives a response.
PingLoader* leakedPingLoader = pingLoader.leakPtr();
diff --git a/WebCore/loader/ProgressTracker.cpp b/WebCore/loader/ProgressTracker.cpp
index 88231c8..7f61cd1 100644
--- a/WebCore/loader/ProgressTracker.cpp
+++ b/WebCore/loader/ProgressTracker.cpp
@@ -169,7 +169,7 @@ void ProgressTracker::incrementProgress(unsigned long identifier, const Resource
item->bytesReceived = 0;
item->estimatedLength = estimatedLength;
} else
- m_progressItems.set(identifier, new ProgressItem(estimatedLength));
+ m_progressItems.set(identifier, adoptPtr(new ProgressItem(estimatedLength)).leakPtr());
}
void ProgressTracker::incrementProgress(unsigned long identifier, const char*, int length)
diff --git a/WebCore/loader/RedirectScheduler.cpp b/WebCore/loader/RedirectScheduler.cpp
index 26d7787..d3b6c53 100644
--- a/WebCore/loader/RedirectScheduler.cpp
+++ b/WebCore/loader/RedirectScheduler.cpp
@@ -250,7 +250,7 @@ void RedirectScheduler::scheduleRedirect(double delay, const String& url)
// We want a new back/forward list item if the refresh timeout is > 1 second.
if (!m_redirect || delay <= m_redirect->delay())
- schedule(new ScheduledRedirect(delay, url, true, delay <= 1, false));
+ schedule(adoptPtr(new ScheduledRedirect(delay, url, true, delay <= 1, false)));
}
bool RedirectScheduler::mustLockBackForwardList(Frame* targetFrame, bool wasUserGesture)
@@ -294,7 +294,7 @@ void RedirectScheduler::scheduleLocationChange(const String& url, const String&
// This may happen when a frame changes the location of another frame.
bool duringLoad = !loader->stateMachine()->committedFirstRealDocumentLoad();
- schedule(new ScheduledLocationChange(url, referrer, lockHistory, lockBackForwardList, wasUserGesture, duringLoad));
+ schedule(adoptPtr(new ScheduledLocationChange(url, referrer, lockHistory, lockBackForwardList, wasUserGesture, duringLoad)));
}
void RedirectScheduler::scheduleFormSubmission(PassRefPtr<FormSubmission> submission)
@@ -314,7 +314,7 @@ void RedirectScheduler::scheduleFormSubmission(PassRefPtr<FormSubmission> submis
bool lockBackForwardList = mustLockBackForwardList(m_frame, UserGestureIndicator::processingUserGesture()) || (submission->state()->formSubmissionTrigger() == SubmittedByJavaScript && m_frame->tree()->parent());
- schedule(new ScheduledFormSubmission(submission, lockBackForwardList, duringLoad));
+ schedule(adoptPtr(new ScheduledFormSubmission(submission, lockBackForwardList, duringLoad)));
}
void RedirectScheduler::scheduleRefresh(bool wasUserGesture)
@@ -325,7 +325,7 @@ void RedirectScheduler::scheduleRefresh(bool wasUserGesture)
if (url.isEmpty())
return;
- schedule(new ScheduledRefresh(url.string(), m_frame->loader()->outgoingReferrer(), wasUserGesture));
+ schedule(adoptPtr(new ScheduledRefresh(url.string(), m_frame->loader()->outgoingReferrer(), wasUserGesture)));
}
void RedirectScheduler::scheduleHistoryNavigation(int steps)
@@ -352,7 +352,7 @@ void RedirectScheduler::scheduleHistoryNavigation(int steps)
#endif
// In all other cases, schedule the history traversal to occur asynchronously.
- schedule(new ScheduledHistoryNavigation(steps));
+ schedule(adoptPtr(new ScheduledHistoryNavigation(steps)));
}
void RedirectScheduler::timerFired(Timer<RedirectScheduler>*)
diff --git a/WebCore/loader/WorkerThreadableLoader.cpp b/WebCore/loader/WorkerThreadableLoader.cpp
index 4789a05..4d18c28 100644
--- a/WebCore/loader/WorkerThreadableLoader.cpp
+++ b/WebCore/loader/WorkerThreadableLoader.cpp
@@ -193,7 +193,7 @@ static void workerContextDidReceiveData(ScriptExecutionContext* context, RefPtr<
void WorkerThreadableLoader::MainThreadBridge::didReceiveData(const char* data, int lengthReceived)
{
- OwnPtr<Vector<char> > vector(new Vector<char>(lengthReceived)); // needs to be an OwnPtr for usage with createCallbackTask.
+ OwnPtr<Vector<char> > vector = adoptPtr(new Vector<char>(lengthReceived)); // needs to be an OwnPtr for usage with createCallbackTask.
memcpy(vector->data(), data, lengthReceived);
m_loaderProxy.postTaskForModeToWorkerContext(createCallbackTask(&workerContextDidReceiveData, m_workerClientWrapper, vector.release()), m_taskMode);
}
diff --git a/WebCore/loader/icon/IconDatabase.cpp b/WebCore/loader/icon/IconDatabase.cpp
index 4899055..7199bb0 100644
--- a/WebCore/loader/icon/IconDatabase.cpp
+++ b/WebCore/loader/icon/IconDatabase.cpp
@@ -1841,7 +1841,7 @@ inline void readySQLiteStatement(OwnPtr<SQLiteStatement>& statement, SQLiteDatab
statement.set(0);
}
if (!statement) {
- statement.set(new SQLiteStatement(db, str));
+ statement = adoptPtr(new SQLiteStatement(db, str));
if (statement->prepare() != SQLResultOk)
LOG_ERROR("Preparing statement %s failed", str.ascii().data());
}
diff --git a/WebCore/loader/icon/IconLoader.cpp b/WebCore/loader/icon/IconLoader.cpp
index 6e2762f..877c80e 100644
--- a/WebCore/loader/icon/IconLoader.cpp
+++ b/WebCore/loader/icon/IconLoader.cpp
@@ -51,7 +51,7 @@ IconLoader::IconLoader(Frame* frame)
PassOwnPtr<IconLoader> IconLoader::create(Frame* frame)
{
- return new IconLoader(frame);
+ return adoptPtr(new IconLoader(frame));
}
IconLoader::~IconLoader()
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list