Index: Source/core/frame/DOMWindow.cpp |
diff --git a/Source/core/frame/DOMWindow.cpp b/Source/core/frame/DOMWindow.cpp |
index 3c7614f1e4c203d0981ea3912ec15411c51996b3..d844bf62a79fd4791f84cfa14e78bfb5d612ee6b 100644 |
--- a/Source/core/frame/DOMWindow.cpp |
+++ b/Source/core/frame/DOMWindow.cpp |
@@ -115,7 +115,7 @@ namespace WebCore { |
class PostMessageTimer FINAL : public SuspendableTimer { |
public: |
- PostMessageTimer(DOMWindow& window, PassRefPtr<SerializedScriptValue> message, const String& sourceOrigin, PassRefPtrWillBeRawPtr<DOMWindow> source, PassOwnPtr<MessagePortChannelArray> channels, SecurityOrigin* targetOrigin, PassRefPtr<ScriptCallStack> stackTrace, UserGestureToken* userGestureToken) |
+ PostMessageTimer(DOMWindow& window, PassRefPtr<SerializedScriptValue> message, const String& sourceOrigin, PassRefPtrWillBeRawPtr<DOMWindow> source, PassOwnPtr<MessagePortChannelArray> channels, SecurityOrigin* targetOrigin, PassRefPtrWillBeRawPtr<ScriptCallStack> stackTrace, UserGestureToken* userGestureToken) |
: SuspendableTimer(window.document()) |
, m_window(window) |
, m_message(message) |
@@ -150,7 +150,7 @@ private: |
RefPtrWillBePersistent<DOMWindow> m_source; |
OwnPtr<MessagePortChannelArray> m_channels; |
RefPtr<SecurityOrigin> m_targetOrigin; |
- RefPtr<ScriptCallStack> m_stackTrace; |
+ RefPtrWillBePersistent<ScriptCallStack> m_stackTrace; |
RefPtr<UserGestureToken> m_userGestureToken; |
}; |
@@ -859,7 +859,7 @@ void DOMWindow::postMessage(PassRefPtr<SerializedScriptValue> message, const Mes |
UseCounter::count(document(), UseCounter::PostMessageFromInsecureToSecure); |
// Capture stack trace only when inspector front-end is loaded as it may be time consuming. |
- RefPtr<ScriptCallStack> stackTrace; |
+ RefPtrWillBeRawPtr<ScriptCallStack> stackTrace = nullptr; |
if (InspectorInstrumentation::consoleAgentEnabled(sourceDocument)) |
stackTrace = createScriptCallStack(ScriptCallStack::maxCallStackSizeToCapture, true); |
@@ -890,7 +890,7 @@ void DOMWindow::postMessageTimerFired(PassOwnPtr<PostMessageTimer> t) |
dispatchMessageEventWithOriginCheck(timer->targetOrigin(), event, timer->stackTrace()); |
} |
-void DOMWindow::dispatchMessageEventWithOriginCheck(SecurityOrigin* intendedTargetOrigin, PassRefPtrWillBeRawPtr<Event> event, PassRefPtr<ScriptCallStack> stackTrace) |
+void DOMWindow::dispatchMessageEventWithOriginCheck(SecurityOrigin* intendedTargetOrigin, PassRefPtrWillBeRawPtr<Event> event, PassRefPtrWillBeRawPtr<ScriptCallStack> stackTrace) |
{ |
if (intendedTargetOrigin) { |
// Check target origin now since the target document may have changed since the timer was scheduled. |