Plug RemoteFrame leak in WebFrameTest.SwapMainFrameWhileLoading.

R=haraken
BUG=526423

Review URL: https://codereview.chromium.org/1414193002

Cr-Commit-Position: refs/heads/master@{#355029}
diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
index 581120e4..5fe0cd64 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
@@ -7078,14 +7078,26 @@
 
 class SwapMainFrameWhenTitleChangesWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
 public:
-    SwapMainFrameWhenTitleChangesWebFrameClient() {}
-    ~SwapMainFrameWhenTitleChangesWebFrameClient() override {}
+    SwapMainFrameWhenTitleChangesWebFrameClient()
+        : m_remoteFrame(nullptr)
+    {
+    }
+
+    ~SwapMainFrameWhenTitleChangesWebFrameClient() override
+    {
+        if (m_remoteFrame)
+            m_remoteFrame->close();
+    }
 
     void didReceiveTitle(WebLocalFrame* frame, const WebString&, WebTextDirection) override
     {
-        if (!frame->parent())
-            frame->swap(WebRemoteFrame::create(WebTreeScopeType::Document, nullptr));
+        if (!frame->parent()) {
+            m_remoteFrame = WebRemoteFrame::create(WebTreeScopeType::Document, nullptr);
+            frame->swap(m_remoteFrame);
+        }
     }
+private:
+    WebRemoteFrame* m_remoteFrame;
 };
 
 } // anonymous namespace