Title: [164426] trunk/Source/WebCore
Revision
164426
Author
[email protected]
Date
2014-02-20 05:52:24 -0800 (Thu, 20 Feb 2014)

Log Message

Unreviewed, rolling out r164422.
http://trac.webkit.org/changeset/164422
https://bugs.webkit.org/show_bug.cgi?id=129102

Causes assertions in
ScriptExecutionContext::canSuspendActiveDOMObjects()
(Requested by zdobersek on #webkit).

* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
* dom/KeyboardEvent.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::publicURLManager):
* dom/ScriptExecutionContext.h:
* dom/ScriptRunner.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (164425 => 164426)


--- trunk/Source/WebCore/ChangeLog	2014-02-20 12:29:53 UTC (rev 164425)
+++ trunk/Source/WebCore/ChangeLog	2014-02-20 13:52:24 UTC (rev 164426)
@@ -1,3 +1,22 @@
+2014-02-20  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r164422.
+        http://trac.webkit.org/changeset/164422
+        https://bugs.webkit.org/show_bug.cgi?id=129102
+
+        Causes assertions in
+        ScriptExecutionContext::canSuspendActiveDOMObjects()
+        (Requested by zdobersek on #webkit).
+
+        * dom/KeyboardEvent.cpp:
+        (WebCore::KeyboardEvent::KeyboardEvent):
+        * dom/KeyboardEvent.h:
+        * dom/ScriptExecutionContext.cpp:
+        (WebCore::ScriptExecutionContext::reportException):
+        (WebCore::ScriptExecutionContext::publicURLManager):
+        * dom/ScriptExecutionContext.h:
+        * dom/ScriptRunner.h:
+
 2014-02-20  Zan Dobersek  <[email protected]>
 
         Move to using std::unique_ptr for VisitedLinkState, CheckedRadioButtons

Modified: trunk/Source/WebCore/dom/KeyboardEvent.cpp (164425 => 164426)


--- trunk/Source/WebCore/dom/KeyboardEvent.cpp	2014-02-20 12:29:53 UTC (rev 164425)
+++ trunk/Source/WebCore/dom/KeyboardEvent.cpp	2014-02-20 13:52:24 UTC (rev 164426)
@@ -108,7 +108,7 @@
 KeyboardEvent::KeyboardEvent(const PlatformKeyboardEvent& key, AbstractView* view)
     : UIEventWithKeyState(eventTypeForKeyboardEventType(key.type()),
                           true, true, key.timestamp(), view, 0, key.ctrlKey(), key.altKey(), key.shiftKey(), key.metaKey())
-    , m_keyEvent(std::make_unique<PlatformKeyboardEvent>(key))
+    , m_keyEvent(adoptPtr(new PlatformKeyboardEvent(key)))
     , m_keyIdentifier(key.keyIdentifier())
     , m_location(keyLocationCode(key))
     , m_altGraphKey(false)

Modified: trunk/Source/WebCore/dom/KeyboardEvent.h (164425 => 164426)


--- trunk/Source/WebCore/dom/KeyboardEvent.h	2014-02-20 12:29:53 UTC (rev 164425)
+++ trunk/Source/WebCore/dom/KeyboardEvent.h	2014-02-20 13:52:24 UTC (rev 164426)
@@ -25,7 +25,6 @@
 #define KeyboardEvent_h
 
 #include "UIEventWithKeyState.h"
-#include <memory>
 #include <wtf/Vector.h>
 
 namespace WebCore {
@@ -114,7 +113,7 @@
     KeyboardEvent(const PlatformKeyboardEvent&, AbstractView*);
     KeyboardEvent(const AtomicString&, const KeyboardEventInit&);
 
-    std::unique_ptr<PlatformKeyboardEvent> m_keyEvent;
+    OwnPtr<PlatformKeyboardEvent> m_keyEvent;
     String m_keyIdentifier;
     unsigned m_location;
     bool m_altGraphKey : 1;

Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (164425 => 164426)


--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp	2014-02-20 12:29:53 UTC (rev 164425)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp	2014-02-20 13:52:24 UTC (rev 164426)
@@ -299,8 +299,8 @@
 {
     if (m_inDispatchErrorEvent) {
         if (!m_pendingExceptions)
-            m_pendingExceptions = std::make_unique<Vector<std::unique_ptr<PendingException>>>();
-        m_pendingExceptions->append(std::make_unique<PendingException>(errorMessage, lineNumber, columnNumber, sourceURL, callStack));
+            m_pendingExceptions = adoptPtr(new Vector<OwnPtr<PendingException>>());
+        m_pendingExceptions->append(adoptPtr(new PendingException(errorMessage, lineNumber, columnNumber, sourceURL, callStack)));
         return;
     }
 
@@ -311,9 +311,11 @@
     if (!m_pendingExceptions)
         return;
 
-    for (auto& exception : *m_pendingExceptions)
-        logExceptionToConsole(exception->m_errorMessage, exception->m_sourceURL, exception->m_lineNumber, exception->m_columnNumber, exception->m_callStack);
-    m_pendingExceptions.reset();
+    for (size_t i = 0; i < m_pendingExceptions->size(); i++) {
+        PendingException* e = m_pendingExceptions->at(i).get();
+        logExceptionToConsole(e->m_errorMessage, e->m_sourceURL, e->m_lineNumber, e->m_columnNumber, e->m_callStack);
+    }
+    m_pendingExceptions.clear();
 }
 
 void ScriptExecutionContext::addConsoleMessage(MessageSource source, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, unsigned columnNumber, JSC::ExecState* state, unsigned long requestIdentifier)
@@ -361,7 +363,7 @@
 PublicURLManager& ScriptExecutionContext::publicURLManager()
 {
     if (!m_publicURLManager)
-        m_publicURLManager = std::make_unique<PublicURLManager>(this);
+        m_publicURLManager = PublicURLManager::create(this);
     return *m_publicURLManager;
 }
 #endif

Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.h (164425 => 164426)


--- trunk/Source/WebCore/dom/ScriptExecutionContext.h	2014-02-20 12:29:53 UTC (rev 164425)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.h	2014-02-20 13:52:24 UTC (rev 164426)
@@ -208,7 +208,7 @@
 
     bool m_inDispatchErrorEvent;
     class PendingException;
-    std::unique_ptr<Vector<std::unique_ptr<PendingException>>> m_pendingExceptions;
+    OwnPtr<Vector<OwnPtr<PendingException>>> m_pendingExceptions;
 
     bool m_activeDOMObjectsAreSuspended;
     ActiveDOMObject::ReasonForSuspension m_reasonForSuspendingActiveDOMObjects;

Modified: trunk/Source/WebCore/dom/ScriptRunner.h (164425 => 164426)


--- trunk/Source/WebCore/dom/ScriptRunner.h	2014-02-20 12:29:53 UTC (rev 164425)
+++ trunk/Source/WebCore/dom/ScriptRunner.h	2014-02-20 13:52:24 UTC (rev 164426)
@@ -30,6 +30,7 @@
 #include "Timer.h"
 #include <wtf/HashMap.h>
 #include <wtf/Noncopyable.h>
+#include <wtf/PassOwnPtr.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/Vector.h>
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to