Bug 159080 - [WK2] PageConfiguration.m_relatedPage keeps WebPageProxy alive after its WebView has been destroyed
Summary: [WK2] PageConfiguration.m_relatedPage keeps WebPageProxy alive after its WebV...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-06-23 20:07 PDT by Chris Dumez
Modified: 2016-06-24 10:13 PDT (History)
8 users (show)

See Also:


Attachments
Patch (5.89 KB, patch)
2016-06-23 20:11 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (1.88 KB, patch)
2016-06-23 21:48 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2016-06-23 20:07:24 PDT
[WK2] PageConfiguration.m_relatedPage keeps WebPageProxy alive after its WebView has been destroyed. This leads to WebPageProxy object leaks when the client keeps using related views.
Comment 1 Chris Dumez 2016-06-23 20:07:39 PDT
rdar://problem/26982642
Comment 2 Chris Dumez 2016-06-23 20:11:25 PDT
Created attachment 281955 [details]
Patch
Comment 3 WebKit Commit Bot 2016-06-23 20:14:02 PDT
Attachment 281955 [details] did not pass style-queue:


ERROR: Source/WTF/wtf/WeakPtr.h:95:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Anders Carlsson 2016-06-23 20:32:31 PDT
Comment on attachment 281955 [details]
Patch

I think this would break compatibility - the related web view configuration property is not weak. How about just clearing out the page configuration's related page in ::close() ?
Comment 5 Chris Dumez 2016-06-23 20:38:40 PDT
(In reply to comment #4)
> Comment on attachment 281955 [details]
> Patch
> 
> I think this would break compatibility - the related web view configuration
> property is not weak. How about just clearing out the page configuration's
> related page in ::close() ?

Thanks for the suggestion. I'll give this a try. I think we would keep at most 1 extra WebPageProxy alive instead of a chain of them so this would be a big improvement.
Comment 6 Chris Dumez 2016-06-23 21:48:50 PDT
Created attachment 281958 [details]
Patch
Comment 7 WebKit Commit Bot 2016-06-24 10:13:52 PDT
Comment on attachment 281958 [details]
Patch

Clearing flags on attachment: 281958

Committed r202426: <http://trac.webkit.org/changeset/202426>
Comment 8 WebKit Commit Bot 2016-06-24 10:13:58 PDT
All reviewed patches have been landed.  Closing bug.