| Index: Source/web/WebViewImpl.cpp
|
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp
|
| index e95907b269308ca85f5c28fa55227995969b5d50..c8b90f1beedfde3828fab4fb6c5a4aaddc8f64f8 100644
|
| --- a/Source/web/WebViewImpl.cpp
|
| +++ b/Source/web/WebViewImpl.cpp
|
| @@ -222,10 +222,10 @@ const double WebView::maxTextSizeMultiplier = 3.0;
|
|
|
| // Used to defer all page activity in cases where the embedder wishes to run
|
| // a nested event loop. Using a stack enables nesting of message loop invocations.
|
| -static WillBeHeapVector<RawPtrWillBeMember<ScopedPageLoadDeferrer>>& pageLoadDeferrerStack()
|
| +static Vector<OwnPtr<ScopedPageLoadDeferrer>>& pageLoadDeferrerStack()
|
| {
|
| - DEFINE_STATIC_LOCAL(OwnPtrWillBePersistent<WillBeHeapVector<RawPtrWillBeMember<ScopedPageLoadDeferrer>>>, deferrerStack, (adoptPtrWillBeNoop(new WillBeHeapVector<RawPtrWillBeMember<ScopedPageLoadDeferrer>>())));
|
| - return *deferrerStack;
|
| + DEFINE_STATIC_LOCAL(Vector<OwnPtr<ScopedPageLoadDeferrer>>, deferrerStack, ());
|
| + return deferrerStack;
|
| }
|
|
|
| // Ensure that the WebDragOperation enum values stay in sync with the original
|
| @@ -356,19 +356,12 @@ void WebView::resetVisitedLinkState()
|
|
|
| void WebView::willEnterModalLoop()
|
| {
|
| - pageLoadDeferrerStack().append(new ScopedPageLoadDeferrer());
|
| + pageLoadDeferrerStack().append(adoptPtr(new ScopedPageLoadDeferrer()));
|
| }
|
|
|
| void WebView::didExitModalLoop()
|
| {
|
| ASSERT(pageLoadDeferrerStack().size());
|
| -
|
| - ScopedPageLoadDeferrer* deferrer = pageLoadDeferrerStack().last();
|
| -#if ENABLE(OILPAN)
|
| - deferrer->dispose();
|
| -#else
|
| - delete deferrer;
|
| -#endif
|
| pageLoadDeferrerStack().removeLast();
|
| }
|
|
|
|
|