Title: [149709] trunk/Source/WebCore
Revision
149709
Author
[email protected]
Date
2013-05-07 19:41:08 -0700 (Tue, 07 May 2013)

Log Message

Use OwnPtr instead of deleteAllValues for requests in PluginView
https://bugs.webkit.org/show_bug.cgi?id=115731

Reviewed by Sam Weinig.

* plugins/PluginView.cpp:
(WebCore::PluginView::~PluginView): Removed the call to deleteAllValues.
(WebCore::PluginView::requestTimerFired): Use release to remove an OwnPtr
from m_requests rather than an explicit delete. Also use !isEmpty instead
of size > 0.
(WebCore::PluginView::scheduleRequest): Changed argument type to PassOwnPtr.
(WebCore::PluginView::load): Use adoptPtr to call scheduleRequest.

* plugins/PluginView.h: Changed argument type of scheduleRequest to
PassOwnPtr, and m_requests to a Vector<OwnPtr>.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (149708 => 149709)


--- trunk/Source/WebCore/ChangeLog	2013-05-08 02:03:29 UTC (rev 149708)
+++ trunk/Source/WebCore/ChangeLog	2013-05-08 02:41:08 UTC (rev 149709)
@@ -1,3 +1,21 @@
+2013-05-07  Darin Adler  <[email protected]>
+
+        Use OwnPtr instead of deleteAllValues for requests in PluginView
+        https://bugs.webkit.org/show_bug.cgi?id=115731
+
+        Reviewed by Sam Weinig.
+
+        * plugins/PluginView.cpp:
+        (WebCore::PluginView::~PluginView): Removed the call to deleteAllValues.
+        (WebCore::PluginView::requestTimerFired): Use release to remove an OwnPtr
+        from m_requests rather than an explicit delete. Also use !isEmpty instead
+        of size > 0.
+        (WebCore::PluginView::scheduleRequest): Changed argument type to PassOwnPtr.
+        (WebCore::PluginView::load): Use adoptPtr to call scheduleRequest.
+
+        * plugins/PluginView.h: Changed argument type of scheduleRequest to
+        PassOwnPtr, and m_requests to a Vector<OwnPtr>.
+
 2013-05-07  Antti Koivisto  <[email protected]>
 
         Remove SelectRuleFeatureSet

Modified: trunk/Source/WebCore/plugins/PluginView.cpp (149708 => 149709)


--- trunk/Source/WebCore/plugins/PluginView.cpp	2013-05-08 02:03:29 UTC (rev 149708)
+++ trunk/Source/WebCore/plugins/PluginView.cpp	2013-05-08 02:41:08 UTC (rev 149709)
@@ -303,8 +303,6 @@
 
     stop();
 
-    deleteAllValues(m_requests);
-
     freeStringArray(m_paramNames, m_paramCount);
     freeStringArray(m_paramValues, m_paramCount);
 
@@ -486,22 +484,21 @@
 void PluginView::requestTimerFired(Timer<PluginView>* timer)
 {
     ASSERT_UNUSED(timer, timer == &m_requestTimer);
-    ASSERT(m_requests.size() > 0);
+    ASSERT(!m_requests.isEmpty());
     ASSERT(!m_isJavaScriptPaused);
 
-    PluginRequest* request = m_requests[0];
+    OwnPtr<PluginRequest> request = m_requests[0].release();
     m_requests.remove(0);
     
     // Schedule a new request before calling performRequest since the call to
     // performRequest can cause the plugin view to be deleted.
-    if (m_requests.size() > 0)
+    if (!m_requests.isEmpty())
         m_requestTimer.startOneShot(0);
 
-    performRequest(request);
-    delete request;
+    performRequest(request.get());
 }
 
-void PluginView::scheduleRequest(PluginRequest* request)
+void PluginView::scheduleRequest(PassOwnPtr<PluginRequest> request)
 {
     m_requests.append(request);
 
@@ -537,8 +534,7 @@
     } else if (!m_parentFrame->document()->securityOrigin()->canDisplay(url))
         return NPERR_GENERIC_ERROR;
 
-    PluginRequest* request = new PluginRequest(frameLoadRequest, sendNotification, notifyData, arePopupsAllowed());
-    scheduleRequest(request);
+    scheduleRequest(adoptPtr(new PluginRequest(frameLoadRequest, sendNotification, notifyData, arePopupsAllowed())));
 
     return NPERR_NO_ERROR;
 }

Modified: trunk/Source/WebCore/plugins/PluginView.h (149708 => 149709)


--- trunk/Source/WebCore/plugins/PluginView.h	2013-05-08 02:03:29 UTC (rev 149708)
+++ trunk/Source/WebCore/plugins/PluginView.h	2013-05-08 02:41:08 UTC (rev 149709)
@@ -308,7 +308,7 @@
         Vector<IntRect> m_invalidRects;
 
         void performRequest(PluginRequest*);
-        void scheduleRequest(PluginRequest*);
+        void scheduleRequest(PassOwnPtr<PluginRequest>);
         void requestTimerFired(Timer<PluginView>*);
         void invalidateTimerFired(Timer<PluginView>*);
         Timer<PluginView> m_requestTimer;
@@ -369,7 +369,7 @@
         Vector<bool, 4> m_popupStateStack;
 
         HashSet<RefPtr<PluginStream> > m_streams;
-        Vector<PluginRequest*> m_requests;
+        Vector<OwnPtr<PluginRequest> > m_requests;
 
         bool m_isWindowed;
         bool m_isTransparent;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to