WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
Bug 233152
Disable experimental web features on platforms without UI to enable them
https://bugs.webkit.org/show_bug.cgi?id=233152
Summary
Disable experimental web features on platforms without UI to enable them
David Kilzer (:ddkilzer)
Reported
2021-11-15 14:58:15 PST
Disable experimental web features on platforms without UI to enable them. Both tvOS and watchOS include WebKit, but they don't have UI to enable or disable experimental web features, so this just ends up being dead code on customer hardware/ The initial version of this patch disables these experimental features (chosen from macros used to enable features in Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml): ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER ENABLE_CSS_PAINTING_API ENABLE_CSS_TYPED_OM ENABLE_MODEL_ELEMENT ENABLE_SEPARATED_MODEL HAVE_CELESTIAL HAVE_CFNETWORK_ALTERNATIVE_SERVICE HAVE_AVSAMPLEBUFFERVIDEOOUTPUT
Attachments
Patch v1
(10.85 KB, patch)
2021-11-15 15:13 PST
,
David Kilzer (:ddkilzer)
no flags
Details
Formatted Diff
Diff
Patch v2
(12.24 KB, patch)
2021-11-15 18:52 PST
,
David Kilzer (:ddkilzer)
no flags
Details
Formatted Diff
Diff
Patch v3
(13.82 KB, patch)
2021-11-16 16:33 PST
,
David Kilzer (:ddkilzer)
no flags
Details
Formatted Diff
Diff
Patch v4
(10.85 KB, patch)
2021-11-18 18:41 PST
,
David Kilzer (:ddkilzer)
bfulgham
: review+
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch v5 for landing
(9.12 KB, patch)
2021-11-29 14:42 PST
,
David Kilzer (:ddkilzer)
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2021-11-15 15:03:51 PST
<
rdar://problem/85430643
>
David Kilzer (:ddkilzer)
Comment 2
2021-11-15 15:13:52 PST
Created
attachment 444311
[details]
Patch v1
David Kilzer (:ddkilzer)
Comment 3
2021-11-15 15:24:59 PST
(In reply to David Kilzer (:ddkilzer) from
comment #2
)
> Created
attachment 444311
[details]
> Patch v1
Curious...this patch built a couple days ago on watchOS just fine.
David Kilzer (:ddkilzer)
Comment 4
2021-11-15 16:44:04 PST
(In reply to David Kilzer (:ddkilzer) from
comment #3
)
> (In reply to David Kilzer (:ddkilzer) from
comment #2
) > > Created
attachment 444311
[details]
> > Patch v1 > > Curious...this patch built a couple days ago on watchOS just fine.
I'm about 80% certain that the issue is that Source/WebCore/DerivedSources-input.xcfilelist doesn't include dependences for Platform.h or the headers it includes (as part of Source/WebCore/DerivedSources.make), so the IDLs are not rebuilt on incremental builds when only a header file changes. I'm trying to figure out how to make Tools/Scripts/generate-xcfilelists include Platform.h header dependencies, but it might be a while. Lots of new-to-me Python code that that wasn't easy to read at first glance.
Alex Christensen
Comment 5
2021-11-15 16:45:18 PST
How much does this reduce binary size?
David Kilzer (:ddkilzer)
Comment 6
2021-11-15 18:52:06 PST
Created
attachment 444327
[details]
Patch v2
David Kilzer (:ddkilzer)
Comment 7
2021-11-15 18:53:37 PST
(In reply to David Kilzer (:ddkilzer) from
comment #6
)
> Created
attachment 444327
[details]
> Patch v2
Manually update Source/WebCore/DerivedSources-input.xcfilelist to include header files from Source/WTF as input dependencies to see if that fixes the tv/watch builds.
David Kilzer (:ddkilzer)
Comment 8
2021-11-15 19:57:00 PST
(In reply to David Kilzer (:ddkilzer) from
comment #7
)
> (In reply to David Kilzer (:ddkilzer) from
comment #6
) > > Created
attachment 444327
[details]
> > Patch v2 > > Manually update Source/WebCore/DerivedSources-input.xcfilelist to include > header files from Source/WTF as input dependencies to see if that fixes the > tv/watch builds.
Need to check what path is being used for WTF headers when pre-processing <wtf/Platform.h>.
David Kilzer (:ddkilzer)
Comment 9
2021-11-16 07:52:50 PST
(In reply to Alex Christensen from
comment #5
)
> How much does this reduce binary size?
Savings in WebCore.framework/WebCore alone are about 1.2% to 1.3% of the total size: - armv7k: (59215528 - 58461164) / 1024 = 737 Kb - arm64_32: (69203584 - 68297120) / 1024 = 885 Kb - arm64e: (72847152 - 71949768) / 1024 = 876 Kb
David Kilzer (:ddkilzer)
Comment 10
2021-11-16 16:33:23 PST
Created
attachment 444449
[details]
Patch v3
David Kilzer (:ddkilzer)
Comment 11
2021-11-16 16:34:59 PST
(In reply to David Kilzer (:ddkilzer) from
comment #10
)
> Created
attachment 444449
[details]
> Patch v3
Add debugging output for Source/WebCore/DerivedSources.make to see which Platform.h headers are used.
David Kilzer (:ddkilzer)
Comment 12
2021-11-16 20:15:18 PST
(In reply to David Kilzer (:ddkilzer) from
comment #11
)
> (In reply to David Kilzer (:ddkilzer) from
comment #10
) > > Created
attachment 444449
[details]
> > Patch v3 > > Add debugging output for Source/WebCore/DerivedSources.make to see which > Platform.h headers are used.
And I probably worked around the missing dependency by modifying DerivedSources.make.
David Kilzer (:ddkilzer)
Comment 13
2021-11-17 07:01:57 PST
Just realized this morning that both the targets in DerivedSources.make and DerivedSources-input.xcfilelist need dependencies on the Platform.h headers for this to work correctly. Also, I’m curious why Keith Rollin didn’t just add a target to DerivedSources.make to regenerate DerivedSources-input.xcfilelist (instead of writing Python scripts) as the Makefile has all the lists of files needed to do so.
David Kilzer (:ddkilzer)
Comment 14
2021-11-17 20:24:01 PST
(In reply to David Kilzer (:ddkilzer) from
comment #13
)
> Also, I’m curious why Keith Rollin didn’t just add a target to > DerivedSources.make to regenerate DerivedSources-input.xcfilelist (instead > of writing Python scripts) as the Makefile has all the lists of files needed > to do so.
Answer: The Python script is doing something like this, as fixing a FIXME about missing header dependencies updates DerivedSources-input.xcfilelist without any Python code changes. Magical!
David Kilzer (:ddkilzer)
Comment 15
2021-11-18 18:41:28 PST
Created
attachment 444770
[details]
Patch v4
Brent Fulgham
Comment 16
2021-11-29 12:39:25 PST
Comment on
attachment 444770
[details]
Patch v4 Nice! r=me
EWS
Comment 17
2021-11-29 13:36:59 PST
Tools/Scripts/svn-apply failed to apply
attachment 444770
[details]
to trunk. Please resolve the conflicts and upload a new patch.
David Kilzer (:ddkilzer)
Comment 18
2021-11-29 14:42:54 PST
Created
attachment 445348
[details]
Patch v5 for landing
David Kilzer (:ddkilzer)
Comment 19
2021-11-29 15:20:41 PST
Comment on
attachment 445348
[details]
Patch v5 for landing Adding cq+ since tvOS and watchOS builds succeeded.
EWS
Comment 20
2021-11-29 16:20:39 PST
Committed
r286272
(
244633@main
): <
https://commits.webkit.org/244633@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 445348
[details]
.
WebKit Commit Bot
Comment 21
2021-11-30 09:06:12 PST
Re-opened since this is blocked by
bug 233641
David Kilzer (:ddkilzer)
Comment 22
2021-11-30 10:50:52 PST
Moving this to RESOLVED/WONTFIX since we need to take a different approach.
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