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>