WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
190728
[MediaStream] Allow ports to optionally do screen capture in the UI process
https://bugs.webkit.org/show_bug.cgi?id=190728
Summary
[MediaStream] Allow ports to optionally do screen capture in the UI process
Eric Carlson
Reported
2018-10-18 10:54:20 PDT
Allow ports to optionally do screen capture in the UI process
Attachments
Patch
(57.39 KB, patch)
2018-10-18 14:12 PDT
,
Eric Carlson
no flags
Details
Formatted Diff
Diff
Patch for landing
(57.78 KB, patch)
2018-10-18 15:17 PDT
,
Eric Carlson
no flags
Details
Formatted Diff
Diff
Rebased patch for landing
(60.69 KB, patch)
2018-10-18 15:26 PDT
,
Eric Carlson
no flags
Details
Formatted Diff
Diff
Anothher rebased patch for landing
(60.63 KB, patch)
2018-10-18 20:48 PDT
,
Eric Carlson
no flags
Details
Formatted Diff
Diff
Anothher rebased patch for landing
(60.75 KB, patch)
2018-10-18 21:16 PDT
,
Eric Carlson
no flags
Details
Formatted Diff
Diff
Anothher rebased patch for landing
(60.78 KB, patch)
2018-10-18 21:41 PDT
,
Eric Carlson
no flags
Details
Formatted Diff
Diff
Show Obsolete
(5)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2018-10-18 11:09:29 PDT
<
rdar://problem/45376824
>
Eric Carlson
Comment 2
2018-10-18 14:12:50 PDT
Created
attachment 352731
[details]
Patch
EWS Watchlist
Comment 3
2018-10-18 14:15:58 PDT
Attachment 352731
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:170: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:171: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 2 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Tim Horton
Comment 4
2018-10-18 14:25:24 PDT
Comment on
attachment 352731
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=352731&action=review
> Source/WebCore/platform/graphics/RemoteVideoSample.cpp:47 > + WebCore::IOSurface::moveToPool(WTFMove(m_ioSurface));
You should only pool your surfaces if you're sure that everything that you use them for correctly maintains the IsInUse bits (otherwise we might re-use them while still in use). It seems likely that CV does this correctly, but it's good to be sure.
> Source/WebCore/platform/graphics/RemoteVideoSample.h:38 > + RemoteVideoSample() = default;
Should the constructor really be public? Don't you want everyone using the ::create methods?
> Source/WebCore/platform/graphics/RemoteVideoSample.h:41 > +#if HAVE(IOSURFACE)
Or maybe not? You have no `::create`s if !HAVE(IOSURFACE), should the whole class just go away?
> Source/WebCore/platform/graphics/RemoteVideoSample.h:59 > + encoder << WTF::MachSendRight();
This is interesting. Maybe OK to encode an empty send right, but maybe it should just be an optional instead? I'm not sure.
> Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp:400 > + if (!size.isEmpty() && size != roundedIntSize(sample.presentationSize())) {
How did the sample size ever end up non-integer? Is rounding right, or enclosing?
Tim Horton
Comment 5
2018-10-18 14:25:40 PDT
I didn't mean to reset jer's review, sorry jer.
Eric Carlson
Comment 6
2018-10-18 14:57:27 PDT
Comment on
attachment 352731
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=352731&action=review
>> Source/WebCore/platform/graphics/RemoteVideoSample.cpp:47 >> + WebCore::IOSurface::moveToPool(WTFMove(m_ioSurface)); > > You should only pool your surfaces if you're sure that everything that you use them for correctly maintains the IsInUse bits (otherwise we might re-use them while still in use). It seems likely that CV does this correctly, but it's good to be sure.
Removed.
>> Source/WebCore/platform/graphics/RemoteVideoSample.h:38 >> + RemoteVideoSample() = default; > > Should the constructor really be public? Don't you want everyone using the ::create methods?
Nope, made private.
>> Source/WebCore/platform/graphics/RemoteVideoSample.h:59 >> + encoder << WTF::MachSendRight(); > > This is interesting. Maybe OK to encode an empty send right, but maybe it should just be an optional instead? I'm not sure.
I copied this from RemoteLayerBackingStore::encode so I'll leave it for now anyway.
>> Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp:400 >> + if (!size.isEmpty() && size != roundedIntSize(sample.presentationSize())) { > > How did the sample size ever end up non-integer? Is rounding right, or enclosing?
Good point, I'll change it to expandedIntSize()
Eric Carlson
Comment 7
2018-10-18 15:17:03 PDT
Created
attachment 352739
[details]
Patch for landing
Eric Carlson
Comment 8
2018-10-18 15:26:50 PDT
Created
attachment 352740
[details]
Rebased patch for landing
EWS Watchlist
Comment 9
2018-10-18 15:29:14 PDT
Attachment 352740
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:170: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:171: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 2 in 27 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 10
2018-10-18 15:52:25 PDT
Comment on
attachment 352740
[details]
Rebased patch for landing Clearing flags on attachment: 352740 Committed
r237272
: <
https://trac.webkit.org/changeset/237272
>
Truitt Savell
Comment 11
2018-10-18 16:44:09 PDT
Reverted
r237272
for reason: Broke on device iOS builds and Windows builds Committed
r237275
: <
https://trac.webkit.org/changeset/237275
>
Truitt Savell
Comment 12
2018-10-18 16:46:15 PDT
Looks like
https://trac.webkit.org/changeset/237272/webkit
Has caused iOS and Windows build failures on OpenSource iOS:
https://build.webkit.org/builders/Apple%20iOS%2012%20Release%20%28Build%29/builds/657
Windows:
https://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/12538
Eric Carlson
Comment 13
2018-10-18 20:48:49 PDT
Created
attachment 352761
[details]
Anothher rebased patch for landing
EWS Watchlist
Comment 14
2018-10-18 20:59:37 PDT
Attachment 352761
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:170: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:171: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 2 in 27 files If any of these errors are false positives, please file a bug against check-webkit-style.
Eric Carlson
Comment 15
2018-10-18 21:16:50 PDT
Created
attachment 352763
[details]
Anothher rebased patch for landing
EWS Watchlist
Comment 16
2018-10-18 21:19:02 PDT
Attachment 352763
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:170: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:171: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 2 in 27 files If any of these errors are false positives, please file a bug against check-webkit-style.
Eric Carlson
Comment 17
2018-10-18 21:41:49 PDT
Created
attachment 352764
[details]
Anothher rebased patch for landing
EWS Watchlist
Comment 18
2018-10-18 21:43:21 PDT
Attachment 352764
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:170: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSource.h:171: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 2 in 27 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 19
2018-10-18 22:22:23 PDT
Comment on
attachment 352764
[details]
Anothher rebased patch for landing Clearing flags on attachment: 352764 Committed
r237281
: <
https://trac.webkit.org/changeset/237281
>
WebKit Commit Bot
Comment 20
2018-10-18 22:22:25 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