<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>193338</bug_id>
          
          <creation_ts>2019-01-10 14:12:05 -0800</creation_ts>
          <short_desc>Leak of WKWebProcessPlugInHitTestResult (160 bytes) in com.apple.WebKit.WebContent running layout tests</short_desc>
          <delta_ts>2019-01-10 15:03:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1493457</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-10 14:12:05 -0800</bug_when>
    <thetext>Leak of WKWebProcessPlugInHitTestResult (160 bytes) in com.apple.WebKit.WebContent running layout tests

STACK OF 1 INSTANCE OF &apos;ROOT LEAK: &lt;WKWebProcessPlugInHitTestResult&gt;&apos;:
[thread 0x11214d5c0]:
112 libdyld.dylib                      0x7fff633ad08d start + 1
111 com.apple.WebKit.WebContent           0x10d77a352 main + 34
110 com.apple.WebKit.WebContent           0x10d77a065 WebKit::XPCServiceMain(int, char const**) + 1333
109 libxpc.dylib                       0x7fff635e39e5 _xpc_copy_xpcservice_dictionary + 0
108 libxpc.dylib                       0x7fff635e3ee6 _xpc_objc_main + 555
107 com.apple.Foundation               0x7fff384b828f -[NSRunLoop(NSRunLoop) run] + 76
106 com.apple.Foundation               0x7fff384b83ba -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
105 com.apple.CoreFoundation           0x7fff36133be6 CFRunLoopRunSpecific + 467
104 com.apple.CoreFoundation           0x7fff36134303 __CFRunLoopRun + 1226
103 com.apple.CoreFoundation           0x7fff36134d5c __CFRunLoopDoSources0 + 195
102 com.apple.CoreFoundation           0x7fff36150eaf __CFRunLoopDoSource0 + 108
101 com.apple.CoreFoundation           0x7fff36150f09 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
100 com.apple.JavaScriptCore              0x3aea67174 WTF::RunLoop::performWork(void*) + 36  RunLoopCF.cpp:38
99  com.apple.JavaScriptCore              0x3aea667e3 WTF::RunLoop::performWork() + 211  RunLoop.cpp:107
98  com.apple.JavaScriptCore              0x3aea00dad WTF::Function&lt;void ()&gt;::operator()() const + 173  Function.h:56
97  com.apple.WebKit                      0x39806d939 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14&gt;::call() + 25  Function.h:101
96  com.apple.WebKit                      0x39806da28 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14::operator()() + 104  Connection.cpp:957
95  com.apple.WebKit                      0x39804ccb7 IPC::Connection::dispatchOneIncomingMessage() + 1607  Connection.cpp:1074
94  com.apple.WebKit                      0x39803e2d1 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 721  Connection.cpp:0
93  com.apple.WebKit                      0x39804beec IPC::Connection::dispatchMessage(IPC::Decoder&amp;) + 476  Connection.cpp:979
92  com.apple.WebKit                      0x398e69a46 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 166  NetworkProcessConnection.cpp:79
91  com.apple.WebKit                      0x3992514dc WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 636  WebResourceLoaderMessageReceiver.cpp:65
90  com.apple.WebKit                      0x399251e28 void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)) + 296  HandleMessage.h:134
89  com.apple.WebKit                      0x399252b20 void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)) + 96  HandleMessage.h:48
88  com.apple.WebKit                      0x399252c9a void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, 0ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;) + 154  HandleMessage.h:42
87  com.apple.WebKit                      0x398e77b49 WebKit::WebResourceLoader::didFinishResourceLoad(WebCore::NetworkLoadMetrics const&amp;) + 457  WebResourceLoader.cpp:154
86  com.apple.WebCore                     0x3a04fe50f WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&amp;) + 799  SubresourceLoader.cpp:636
85  com.apple.WebCore                     0x3a0575096 WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 326  CachedRawResource.cpp:121
84  com.apple.WebCore                     0x3a0575501 WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*) + 49  CachedResource.cpp:366
83  com.apple.WebCore                     0x3a057a6af WebCore::CachedResource::checkNotify() + 127  CachedResource.cpp:348
82  com.apple.WebCore                     0x3a042cc19 WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource&amp;) + 505  DocumentLoader.cpp:385
81  com.apple.WebCore                     0x3a042ce7f WebCore::DocumentLoader::finishedLoading() + 479  DocumentLoader.cpp:435
80  com.apple.WebCore                     0x3a046c91a WebCore::DocumentWriter::end() + 394  DocumentWriter.cpp:284
79  com.apple.WebCore                     0x3a01cc578 WebCore::HTMLDocumentParser::finish() + 72  HTMLDocumentParser.cpp:477
78  com.apple.WebCore                     0x3a01cc49f WebCore::HTMLDocumentParser::attemptToEnd() + 63  HTMLDocumentParser.cpp:449
77  com.apple.WebCore                     0x3a01c91a1 WebCore::HTMLDocumentParser::prepareToStopParsing() + 305  HTMLDocumentParser.cpp:142
76  com.apple.WebCore                     0x3a01c94a5 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() + 325  HTMLDocumentParser.cpp:437
75  com.apple.WebCore                     0x3a01cc438 WebCore::HTMLDocumentParser::end() + 264  HTMLDocumentParser.cpp:428
74  com.apple.WebCore                     0x3a020aa35 WebCore::HTMLTreeBuilder::finished() + 261  HTMLTreeBuilder.cpp:2844
73  com.apple.WebCore                     0x3a01c34b8 WebCore::HTMLConstructionSite::finishedParsing() + 24  HTMLConstructionSite.cpp:420
72  com.apple.WebCore                     0x39fcbf0bf WebCore::Document::finishedParsing() + 623  Document.cpp:5678
71  com.apple.WebCore                     0x3a04893e5 WebCore::FrameLoader::finishedParsing() + 293  FrameLoader.cpp:783
70  com.apple.WebCore                     0x3a048b3c4 WebCore::FrameLoader::checkCompleted() + 532  FrameLoader.cpp:894
69  com.apple.WebCore                     0x3a048b92b WebCore::FrameLoader::checkCallImplicitClose() + 155  FrameLoader.cpp:952
68  com.apple.WebCore                     0x39fca4fd3 WebCore::Document::implicitClose() + 547  Document.cpp:2989
67  com.apple.WebCore                     0x39fcacb68 WebCore::Document::dispatchWindowLoadEvent() + 136  Document.cpp:4566
66  com.apple.WebCore                     0x3a05ed3d5 WebCore::DOMWindow::dispatchLoadEvent() + 309  DOMWindow.cpp:1977
65  com.apple.WebCore                     0x3a05e3171 WebCore::DOMWindow::dispatchEvent(WebCore::Event&amp;, WebCore::EventTarget*) + 449  DOMWindow.cpp:2028
64  com.apple.WebCore                     0x39fd820f2 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase) + 354  EventTarget.cpp:242
63  com.apple.WebCore                     0x39fd8671c WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener, WTF::DumbPtrTraits&lt;WebCore::RegisteredEventListener&gt; &gt;, 1ul, WTF::CrashOnOverflow, 16ul&gt;, WebCore::EventTarget::EventInvokePhase) + 1020  EventTarget.cpp:302
62  com.apple.WebCore                     0x39f7ca884 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;) + 2004  JSEventListener.cpp:175
61  com.apple.WebCore                     0x39f78785b WebCore::JSExecState::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 139  JSExecState.h:74
60  com.apple.JavaScriptCore              0x3afddb70e JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 142  CallData.cpp:69
59  com.apple.JavaScriptCore              0x3afddb41a JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 218  CallData.cpp:48
58  com.apple.JavaScriptCore              0x3afddb32c JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 236  CallData.cpp:41
57  com.apple.JavaScriptCore              0x3afb11929 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1433  Interpreter.cpp:891
56  com.apple.JavaScriptCore              0x3afb1128e JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 206  JITCodeInlines.h:38
55  com.apple.JavaScriptCore              0x3aeebc0f2 vmEntryToJavaScript + 273  LowLevelInterpreter64.asm:295
54  com.apple.JavaScriptCore              0x3aeecf1eb llint_entry + 77442  LowLevelInterpreter.asm:899
53  com.apple.JavaScriptCore              0x3aeecf1eb llint_entry + 77442  LowLevelInterpreter.asm:899
52                                     0x571018c0102d 0x571018c01000 + 45
51  com.apple.JavaScriptCore              0x3aef536b1 long long JSC::APICallbackFunction::call&lt;JSC::JSCallbackFunction&gt;(JSC::ExecState*) + 577  APICallbackFunction.h:63
50  com.apple.WebKitTestRunner.InjectedBundle        0x3b62a02e1 WTR::JSEventSendingController::mouseUp(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 209  JSEventSendingController.cpp:117
49  com.apple.WebKitTestRunner.InjectedBundle        0x3b627998e WTR::EventSendingController::mouseUp(int, OpaqueJSValue const*) + 206  EventSendingController.cpp:235
48  com.apple.WebKit                      0x398e462c9 WKBundlePagePostSynchronousMessageForTesting + 105  WKBundlePage.cpp:706
47  com.apple.WebKit                      0x3991057b5 WebKit::WebPage::postSynchronousMessageForTesting(WTF::String const&amp;, API::Object*, WTF::RefPtr&lt;API::Object, WTF::DumbPtrTraits&lt;API::Object&gt; &gt;&amp;) + 341  WebPage.cpp:6070
46  com.apple.WebKit                      0x3991058e9 bool IPC::MessageSender::sendSync&lt;Messages::WebPageProxy::HandleSynchronousMessage&gt;(Messages::WebPageProxy::HandleSynchronousMessage&amp;&amp;, Messages::WebPageProxy::HandleSynchronousMessage::Reply&amp;&amp;, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;) + 121  MessageSender.h:57
45  com.apple.WebKit                      0x39914099d bool IPC::MessageSender::sendSync&lt;Messages::WebPageProxy::HandleSynchronousMessage&gt;(Messages::WebPageProxy::HandleSynchronousMessage&amp;&amp;, Messages::WebPageProxy::HandleSynchronousMessage::Reply&amp;&amp;, unsigned long long, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;) + 221  MessageSender.h:65
44  com.apple.WebKit                      0x399140d84 bool IPC::Connection::sendSync&lt;Messages::WebPageProxy::HandleSynchronousMessage&gt;(Messages::WebPageProxy::HandleSynchronousMessage&amp;&amp;, Messages::WebPageProxy::HandleSynchronousMessage::Reply&amp;&amp;, unsigned long long, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;) + 948  Connection.h:473
43  com.apple.WebKit                      0x398042ce1 IPC::Connection::sendSyncMessage(unsigned long long, std::__1::unique_ptr&lt;IPC::Encoder, std::__1::default_delete&lt;IPC::Encoder&gt; &gt;, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;) + 1665  Connection.cpp:0
42  com.apple.WebKit                      0x398044d5a IPC::Connection::waitForSyncReply(unsigned long long, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;) + 266  Connection.cpp:592
41  com.apple.WebKit                      0x39803db9f IPC::Connection::SyncMessageState::dispatchMessages(IPC::Connection*) + 943  Connection.cpp:182
40  com.apple.WebKit                      0x39803e292 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 658  Connection.cpp:1003
39  com.apple.WebKit                      0x39804b448 IPC::Connection::dispatchSyncMessage(IPC::Decoder&amp;) + 1720  Connection.cpp:897
38  com.apple.WebKit                      0x39803db9f IPC::Connection::SyncMessageState::dispatchMessages(IPC::Connection*) + 943  Connection.cpp:182
37  com.apple.WebKit                      0x39803e2d1 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 721  Connection.cpp:0
36  com.apple.WebKit                      0x39804beec IPC::Connection::dispatchMessage(IPC::Decoder&amp;) + 476  Connection.cpp:979
35  com.apple.WebKit                      0x398d9565d WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 61  WebProcess.cpp:676
34  com.apple.WebKit                      0x3980b579a IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 490  MessageReceiverMap.cpp:124
33  com.apple.WebKit                      0x3990faa9e WebKit::WebPage::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 510  WebPage.cpp:4265
32  com.apple.WebKit                      0x39914b538 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 1976  WebPageMessageReceiver.cpp:277
31  com.apple.WebKit                      0x3991536e9 void IPC::handleMessage&lt;Messages::WebPage::MouseEvent, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;)) + 281  HandleMessage.h:134
30  com.apple.WebKit                      0x399168300 void IPC::callMemberFunction&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;WebKit::WebMouseEvent&gt;&amp;&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;)) + 96  HandleMessage.h:48
29  com.apple.WebKit                      0x3991683aa void IPC::callMemberFunctionImpl&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;, 0ul&gt;(WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;) + 154  HandleMessage.h:42
28  com.apple.WebKit                      0x3990f2342 WebKit::WebPage::mouseEvent(WebKit::WebMouseEvent const&amp;) + 402  WebPage.cpp:2556
27  com.apple.WebKit                      0x3990f259d WebKit::handleMouseEvent(WebKit::WebMouseEvent const&amp;, WebKit::WebPage*) + 317  WebPage.cpp:2497
26  com.apple.WebCore                     0x3a11082a3 WebCore::UserInputBridge::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const&amp;, WebCore::InputSource) + 51  UserInputBridge.cpp:62
25  com.apple.WebCore                     0x3a063022b WebCore::EventHandler::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const&amp;) + 1707  EventHandler.cpp:2132
24  com.apple.WebCore                     0x3a062d48f WebCore::EventHandler::dispatchMouseEvent(WTF::AtomicString const&amp;, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&amp;, bool) + 223  EventHandler.cpp:2592
23  com.apple.WebCore                     0x39fd51643 WebCore::Element::dispatchMouseEvent(WebCore::PlatformMouseEvent const&amp;, WTF::AtomicString const&amp;, int, WebCore::Element*) + 499  Element.cpp:288
22  com.apple.WebCore                     0x39fde7ffd WebCore::Node::dispatchEvent(WebCore::Event&amp;) + 29  Node.cpp:2385
21  com.apple.WebCore                     0x39fd7d7be WebCore::EventDispatcher::dispatchEvent(WebCore::Node&amp;, WebCore::Event&amp;) + 766  EventDispatcher.cpp:170
20  com.apple.WebCore                     0x39fd7de2c WebCore::callDefaultEventHandlersInBubblingOrder(WebCore::Event&amp;, WebCore::EventPath const&amp;) + 332  EventDispatcher.cpp:70
19  com.apple.WebCore                     0x3a001423d WebCore::HTMLAnchorElement::defaultEventHandler(WebCore::Event&amp;) + 221  HTMLAnchorElement.cpp:181
18  com.apple.WebCore                     0x3a0014ae7 WebCore::HTMLAnchorElement::handleClick(WebCore::Event&amp;) + 1239  HTMLAnchorElement.cpp:441
17  com.apple.WebCore                     0x3a0487ac2 WebCore::FrameLoader::urlSelected(WTF::URL const&amp;, WTF::String const&amp;, WebCore::Event*, WebCore::LockHistory, WebCore::LockBackForwardList, WebCore::ShouldSendReferrer, WebCore::ShouldOpenExternalURLsPolicy, std::optional&lt;WebCore::NewFrameOpenerPolicy&gt;, WTF::AtomicString const&amp;, WebCore::SystemPreviewInfo const&amp;) + 578  FrameLoader.cpp:388
16  com.apple.WebCore                     0x3a0487848 WebCore::FrameLoader::urlSelected(WebCore::FrameLoadRequest&amp;&amp;, WebCore::Event*) + 360  FrameLoader.cpp:404
15  com.apple.WebCore                     0x3a0488121 WebCore::FrameLoader::loadFrameRequest(WebCore::FrameLoadRequest&amp;&amp;, WebCore::Event*, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;) + 1057  FrameLoader.cpp:1280
14  com.apple.WebCore                     0x3a048d956 WebCore::FrameLoader::loadURL(WebCore::FrameLoadRequest&amp;&amp;, WTF::String const&amp;, WebCore::FrameLoadType, WebCore::Event*, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;) + 2694  FrameLoader.cpp:1404
13  com.apple.WebCore                     0x3a049078e WebCore::FrameLoader::loadWithNavigationAction(WebCore::ResourceRequest const&amp;, WebCore::NavigationAction&amp;&amp;, WebCore::LockHistory, WebCore::FrameLoadType, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;, WebCore::AllowNavigationToInvalidURL, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;) + 846  FrameLoader.cpp:1489
12  com.apple.WebCore                     0x3a0491ddd WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;, WebCore::AllowNavigationToInvalidURL, WebCore::ShouldTreatAsContinuingLoad, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;) + 2461  FrameLoader.cpp:1612
11  com.apple.WebCore                     0x3a04d7cf3 WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceResponse const&amp;, WebCore::DocumentLoader*, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;, WTF::CompletionHandler&lt;void (WebCore::ResourceRequest&amp;&amp;, WTF::WeakPtr&lt;WebCore::FormState&gt;&amp;&amp;, WebCore::ShouldContinue)&gt;&amp;&amp;, WebCore::PolicyDecisionMode) + 2563  PolicyChecker.cpp:175
10  com.apple.WebKit                      0x398f5cf7e WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&amp;, WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;, WebCore::FormState*, WebCore::PolicyDecisionMode, WTF::Function&lt;void (WebCore::PolicyAction)&gt;&amp;&amp;) + 430  WebFrameLoaderClient.cpp:837
9   com.apple.WebKit                      0x398e2a521 WebKit::InjectedBundleNavigationAction::create(WebKit::WebFrame*, WebCore::NavigationAction const&amp;, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;) + 97  InjectedBundleNavigationAction.cpp:95
8   com.apple.WebKit                      0x398e2a5ed WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction(WebKit::WebFrame*, WebCore::NavigationAction const&amp;, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;) + 45  InjectedBundleNavigationAction.cpp:115
7   com.apple.WebKit                      0x398e2a7fd WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction(WebKit::WebFrame*, WebCore::NavigationAction const&amp;, WTF::RefPtr&lt;WebCore::FormState, WTF::DumbPtrTraits&lt;WebCore::FormState&gt; &gt;&amp;&amp;) + 509  InjectedBundleNavigationAction.cpp:107
6   com.apple.WebKit                      0x398e29746 WebKit::InjectedBundleHitTestResult::create(WebCore::HitTestResult const&amp;) + 38  InjectedBundleHitTestResult.cpp:48
5   com.apple.WebKit                      0x398e2978a API::ObjectImpl&lt;(API::Object::Type)111&gt;::operator new(unsigned long) + 26  APIObject.h:265
4   com.apple.WebKit                      0x3984027ad API::Object::newObject(unsigned long, API::Object::Type) + 1773  APIObject.mm:358
3   libobjc.A.dylib                    0x7fff622db099 _objc_rootAlloc + 45
2   libobjc.A.dylib                    0x7fff622d73f0 class_createInstance + 83
1   libsystem_malloc.dylib             0x7fff6355ccba calloc + 30
0   libsystem_malloc.dylib             0x7fff6355cd62 malloc_zone_calloc + 139 
====
    1 (160 bytes) ROOT LEAK: &lt;WKWebProcessPlugInHitTestResult 0x7f8ec3d60cf0&gt; [160]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493458</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-10 14:12:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/46664774&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493459</commentid>
    <comment_count>2</comment_count>
      <attachid>358834</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-10 14:14:50 -0800</bug_when>
    <thetext>Created attachment 358834
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493472</commentid>
    <comment_count>3</comment_count>
      <attachid>358834</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-10 14:38:13 -0800</bug_when>
    <thetext>Comment on attachment 358834
[PATCH] Proposed Fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493476</commentid>
    <comment_count>4</comment_count>
      <attachid>358834</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-10 14:42:23 -0800</bug_when>
    <thetext>Comment on attachment 358834
[PATCH] Proposed Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=358834&amp;action=review

&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1379
&gt; -    WKBundleHitTestResultRef hitTestResultRef = WKBundleNavigationActionCopyHitTestResult(navigationAction);
&gt; +    WKRetainPtr&lt;WKBundleHitTestResultRef&gt; hitTestResultRef = adoptWK(WKBundleNavigationActionCopyHitTestResult(navigationAction));
&gt;      if (hitTestResultRef) {
&gt; +        WKRetainPtr&lt;WKBundleNodeHandleRef&gt; nodeHandleRef = adoptWK(WKBundleHitTestResultCopyNodeHandle(hitTestResultRef.get()));
&gt;          stringBuilder.appendLiteral(&quot; originating from &quot;);
&gt; -        stringBuilder.append(dumpPath(m_page, m_world.get(), WKBundleHitTestResultCopyNodeHandle(hitTestResultRef)));
&gt; +        stringBuilder.append(dumpPath(m_page, m_world.get(), nodeHandleRef.get()));

This change is fine, but it would be nice if WKBundleNavigationActionCopyHitTestResult() and WKBundleHitTestResultCopyNodeHandle() both returned a WKRetain&lt;&gt; value instead of raw pointers to make this mistake harder to make!

The clang static analyzer won&apos;t reason about these functions (even though they have &quot;Copy&quot; in the name) because they&apos;re not returning CFTypes.  (I&apos;m not sure labeling them with CF_RETURNS_RETAINED would even work as expected.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493483</commentid>
    <comment_count>5</comment_count>
      <attachid>358834</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-10 14:49:12 -0800</bug_when>
    <thetext>Comment on attachment 358834
[PATCH] Proposed Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=358834&amp;action=review

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1379
&gt;&gt; +        stringBuilder.append(dumpPath(m_page, m_world.get(), nodeHandleRef.get()));
&gt; 
&gt; This change is fine, but it would be nice if WKBundleNavigationActionCopyHitTestResult() and WKBundleHitTestResultCopyNodeHandle() both returned a WKRetain&lt;&gt; value instead of raw pointers to make this mistake harder to make!
&gt; 
&gt; The clang static analyzer won&apos;t reason about these functions (even though they have &quot;Copy&quot; in the name) because they&apos;re not returning CFTypes.  (I&apos;m not sure labeling them with CF_RETURNS_RETAINED would even work as expected.)

Darin may say the second change will be easier to read in one line (vis a vis Bug 192481 and r239050):

        stringBuilder.append(dumpPath(m_page, m_world.get(), adoptWK(WKBundleHitTestResultCopyNodeHandle(hitTestResultRef)).get()));

I think it&apos;s easier to reason about shorter lines of code, though.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493489</commentid>
    <comment_count>6</comment_count>
      <attachid>358834</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-10 14:54:21 -0800</bug_when>
    <thetext>Comment on attachment 358834
[PATCH] Proposed Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=358834&amp;action=review

&gt;&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1379
&gt;&gt;&gt; +        stringBuilder.append(dumpPath(m_page, m_world.get(), nodeHandleRef.get()));
&gt;&gt; 
&gt;&gt; This change is fine, but it would be nice if WKBundleNavigationActionCopyHitTestResult() and WKBundleHitTestResultCopyNodeHandle() both returned a WKRetain&lt;&gt; value instead of raw pointers to make this mistake harder to make!
&gt;&gt; 
&gt;&gt; The clang static analyzer won&apos;t reason about these functions (even though they have &quot;Copy&quot; in the name) because they&apos;re not returning CFTypes.  (I&apos;m not sure labeling them with CF_RETURNS_RETAINED would even work as expected.)
&gt; 
&gt; Darin may say the second change will be easier to read in one line (vis a vis Bug 192481 and r239050):
&gt; 
&gt;         stringBuilder.append(dumpPath(m_page, m_world.get(), adoptWK(WKBundleHitTestResultCopyNodeHandle(hitTestResultRef)).get()));
&gt; 
&gt; I think it&apos;s easier to reason about shorter lines of code, though.  :)

We don&apos;t have any WebKit APIs or SPIs that return a WKRetainPtr that I&apos;m aware of. Only test code.

I agree with shorter lines in this case which is why I went that route.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493497</commentid>
    <comment_count>7</comment_count>
      <attachid>358834</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-10 15:03:56 -0800</bug_when>
    <thetext>Comment on attachment 358834
[PATCH] Proposed Fix

Clearing flags on attachment: 358834

Committed r239848: &lt;https://trac.webkit.org/changeset/239848&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493498</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-10 15:03:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358834</attachid>
            <date>2019-01-10 14:14:50 -0800</date>
            <delta_ts>2019-01-10 15:03:56 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>no-leak-1.patch</filename>
            <type>text/plain</type>
            <size>2034</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNWZi
MGEzMWI2OS4uODc4ZmUyNTI2MTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wMS0xMCAgSm9zZXBoIFBlY29y
YXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIExlYWsgb2YgV0tXZWJQcm9jZXNz
UGx1Z0luSGl0VGVzdFJlc3VsdCAoMTYwIGJ5dGVzKSBpbiBjb20uYXBwbGUuV2ViS2l0LldlYkNv
bnRlbnQgcnVubmluZyBsYXlvdXQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzMzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY2NjQ3
NzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6Cisg
ICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbik6CisKIDIwMTktMDEtMDcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQSBNZWRpYVRpbWUgdGltZXNjYWxlIG11c3QgbmV2ZXIgYmUgemVy
bwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZVBhZ2UuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCmluZGV4IDk2Yzg5ZDVhMThlLi5mNmNlNDk0NGNmOSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2UuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcApAQCAtMTM3MiwxMCArMTM3MiwxMSBAQCBXS0J1bmRs
ZVBhZ2VQb2xpY3lBY3Rpb24gSW5qZWN0ZWRCdW5kbGVQYWdlOjpkZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uKFdLQgogICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiIHdpdGgg
bmF2aWdhdGlvbiB0eXBlIFwnIik7CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQodG9XVEZTdHJp
bmcoTmF2aWdhdGlvblR5cGVUb1N0cmluZyhXS0J1bmRsZU5hdmlnYXRpb25BY3Rpb25HZXROYXZp
Z2F0aW9uVHlwZShuYXZpZ2F0aW9uQWN0aW9uKSkpKTsKICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZExpdGVyYWwoIlwnIik7Ci0gICAgV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1
bHRSZWYgPSBXS0J1bmRsZU5hdmlnYXRpb25BY3Rpb25Db3B5SGl0VGVzdFJlc3VsdChuYXZpZ2F0
aW9uQWN0aW9uKTsKKyAgICBXS1JldGFpblB0cjxXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWY+IGhp
dFRlc3RSZXN1bHRSZWYgPSBhZG9wdFdLKFdLQnVuZGxlTmF2aWdhdGlvbkFjdGlvbkNvcHlIaXRU
ZXN0UmVzdWx0KG5hdmlnYXRpb25BY3Rpb24pKTsKICAgICBpZiAoaGl0VGVzdFJlc3VsdFJlZikg
eworICAgICAgICBXS1JldGFpblB0cjxXS0J1bmRsZU5vZGVIYW5kbGVSZWY+IG5vZGVIYW5kbGVS
ZWYgPSBhZG9wdFdLKFdLQnVuZGxlSGl0VGVzdFJlc3VsdENvcHlOb2RlSGFuZGxlKGhpdFRlc3RS
ZXN1bHRSZWYuZ2V0KCkpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmRMaXRlcmFsKCIg
b3JpZ2luYXRpbmcgZnJvbSAiKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZHVtcFBh
dGgobV9wYWdlLCBtX3dvcmxkLmdldCgpLCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5Tm9kZUhh
bmRsZShoaXRUZXN0UmVzdWx0UmVmKSkpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChk
dW1wUGF0aChtX3BhZ2UsIG1fd29ybGQuZ2V0KCksIG5vZGVIYW5kbGVSZWYuZ2V0KCkpKTsKICAg
ICB9CiAKICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>