WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
171260
WebCore.framework should restrict allowable_clients
https://bugs.webkit.org/show_bug.cgi?id=171260
Summary
WebCore.framework should restrict allowable_clients
Aakash Jain
Reported
2017-04-24 21:30:10 PDT
On Mac OS X, WebCore.framework is beneath the WebKit umbrella framework, which hides its symbols from other frameworks and apps. We should do something similar on iOS and make WebCore.framework completely private except for linking few specific frameworks and apps. See <
rdar://problem/15145065
>.
Attachments
Proposed patch
(3.27 KB, patch)
2017-04-24 22:16 PDT
,
Aakash Jain
no flags
Details
Formatted Diff
Diff
Proposed patch
(3.27 KB, patch)
2017-04-24 22:18 PDT
,
Aakash Jain
ap
: review-
Details
Formatted Diff
Diff
Updated patch
(3.29 KB, patch)
2017-04-25 11:16 PDT
,
Aakash Jain
ap
: review-
Details
Formatted Diff
Diff
Updated patch
(3.33 KB, patch)
2017-04-25 12:11 PDT
,
Aakash Jain
ap
: review-
Details
Formatted Diff
Diff
Updated patch
(3.39 KB, patch)
2017-04-25 13:29 PDT
,
Aakash Jain
no flags
Details
Formatted Diff
Diff
Updated patch
(3.54 KB, patch)
2017-04-25 14:57 PDT
,
Aakash Jain
ap
: review+
Details
Formatted Diff
Diff
Updated patch
(3.62 KB, patch)
2017-04-25 16:20 PDT
,
Aakash Jain
no flags
Details
Formatted Diff
Diff
Show Obsolete
(6)
View All
Add attachment
proposed patch, testcase, etc.
Aakash Jain
Comment 1
2017-04-24 22:16:47 PDT
Created
attachment 308066
[details]
Proposed patch
Aakash Jain
Comment 2
2017-04-24 22:18:48 PDT
Created
attachment 308067
[details]
Proposed patch
mitz
Comment 3
2017-04-24 22:20:40 PDT
Comment on
attachment 308067
[details]
Proposed patch View in context:
https://bugs.webkit.org/attachment.cgi?id=308067&action=review
> Source/WebCore/Configurations/WebCore.xcconfig:81 > +OTHER_LDFLAGS_BASE = -lsqlite3 -lobjc -lANGLE -framework Metal -allowable_client WebCoreTestSupport -allowable_client WebKit2 -allowable_client WebKitLegacy;
“-allowable_client WebKit2” doesn’t make sense because there’s no client with that name. Perhaps you meant “WebKit”.
Alexey Proskuryakov
Comment 4
2017-04-24 23:14:22 PDT
Comment on
attachment 308067
[details]
Proposed patch View in context:
https://bugs.webkit.org/attachment.cgi?id=308067&action=review
> Source/WebCore/Configurations/WebCore.xcconfig:-85 > -OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = $(OTHER_LDFLAGS_BASE) -sub_library libobjc -umbrella WebKit -allowable_client WebCoreTestSupport -allowable_client WebKit2 -allowable_client WebKitLegacy -framework ApplicationServices -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework DataDetectorsCore -framework IOSurface -framework OpenGL -framework SystemConfiguration $(LIBWEBRTC_LDFLAGS);
Funny that "-allowable_client WebKit2" is existing code!
Alexey Proskuryakov
Comment 5
2017-04-25 11:08:32 PDT
Comment on
attachment 308067
[details]
Proposed patch r- for Dan's comment, lack of TVBooks, and also this is breaking the build.
Aakash Jain
Comment 6
2017-04-25 11:16:21 PDT
Created
attachment 308118
[details]
Updated patch Added WebKit, TVBooks as allowable_client.
Alexey Proskuryakov
Comment 7
2017-04-25 11:48:34 PDT
Comment on
attachment 308118
[details]
Updated patch This is still breaking iOS build.
Aakash Jain
Comment 8
2017-04-25 12:11:04 PDT
Created
attachment 308126
[details]
Updated patch Added DumpRenderTree as allowable_client, still testing the patch on my local machine.
Alexey Proskuryakov
Comment 9
2017-04-25 13:01:19 PDT
Comment on
attachment 308126
[details]
Updated patch Now failing with TestWebKitAPI. I wonder if we even need to link these to WebCore now.
Aakash Jain
Comment 10
2017-04-25 13:29:12 PDT
Created
attachment 308134
[details]
Updated patch Added WebKitTestRunner and TestWebKitAPI as allowable_client. Will check separately if TestWebKitAPI (and other similar projects) really need to link to WebCore. Will track in separate bugs.
Aakash Jain
Comment 11
2017-04-25 14:57:31 PDT
Created
attachment 308151
[details]
Updated patch Removed WebKit from macOS to match previous configuration.
Alexey Proskuryakov
Comment 12
2017-04-25 15:13:52 PDT
Comment on
attachment 308151
[details]
Updated patch View in context:
https://bugs.webkit.org/attachment.cgi?id=308151&action=review
Looks good to me.
> Source/WebCore/Configurations/WebCore.xcconfig:82 > +OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework MobileCoreServices -framework OpenGLES -lMobileGestalt $(WK_IOS_BINCOMPAT_LDFLAGS) -allowable_client WebKit -allowable_client iTunesU -allowable_client Casablanca -allowable_client Remote -allowable_client TVBooks -allowable_client DumpRenderTree -allowable_client WebKitTestRunner -allowable_client TestWebKitAPI;
Could you please add a comment with radar numbers for the ones we expect to remove eventually?
Aakash Jain
Comment 13
2017-04-25 16:20:55 PDT
Created
attachment 308160
[details]
Updated patch Added FIXME.
WebKit Commit Bot
Comment 14
2017-04-25 16:49:17 PDT
Comment on
attachment 308160
[details]
Updated patch Clearing flags on attachment: 308160 Committed
r215769
: <
http://trac.webkit.org/changeset/215769
>
WebKit Commit Bot
Comment 15
2017-04-25 16:49:19 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug