WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
208402
[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402
Summary
[GPUP] Implement Legacy EME API in the GPU Process
Jer Noble
Reported
2020-02-28 17:15:48 PST
[GPUP] Implement Legacy EME API in the GPU Process
Attachments
Part 1: WebCore
(22.93 KB, patch)
2020-02-28 17:26 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Part 2: WebKit
(119.62 KB, patch)
2020-02-28 17:30 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Part 1: WebCore
(22.93 KB, patch)
2020-02-29 19:39 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Part 2: WebKit
(117.74 KB, patch)
2020-02-29 19:40 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Part 1: WebCore
(15.91 KB, patch)
2020-03-05 23:00 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Part 2: WebKit
(117.37 KB, patch)
2020-03-05 23:13 PST
,
Jer Noble
eric.carlson
: review+
Details
Formatted Diff
Diff
Part 1: WebCore
(16.43 KB, patch)
2020-03-06 16:28 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch for landing
(118.23 KB, patch)
2020-03-08 12:03 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch for landing
(118.23 KB, patch)
2020-03-08 12:21 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch for landing
(118.23 KB, patch)
2020-03-08 12:24 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch for landing
(118.09 KB, patch)
2020-03-08 12:33 PDT
,
Jer Noble
commit-queue
: commit-queue-
Details
Formatted Diff
Diff
Follow up fix
(1.36 KB, patch)
2020-03-09 11:31 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Show Obsolete
(9)
View All
Add attachment
proposed patch, testcase, etc.
Jer Noble
Comment 1
2020-02-28 17:26:18 PST
Created
attachment 392036
[details]
Part 1: WebCore
Jer Noble
Comment 2
2020-02-28 17:30:52 PST
Created
attachment 392038
[details]
Part 2: WebKit
Jer Noble
Comment 3
2020-02-29 19:39:26 PST
Created
attachment 392087
[details]
Part 1: WebCore
Jer Noble
Comment 4
2020-02-29 19:40:02 PST
Created
attachment 392088
[details]
Part 2: WebKit
Jer Noble
Comment 5
2020-03-05 23:00:33 PST
Created
attachment 392683
[details]
Part 1: WebCore
Jer Noble
Comment 6
2020-03-05 23:13:40 PST
Created
attachment 392684
[details]
Part 2: WebKit
Jer Noble
Comment 7
2020-03-06 16:28:29 PST
Created
attachment 392800
[details]
Part 1: WebCore
Radar WebKit Bug Importer
Comment 8
2020-03-06 18:02:11 PST
<
rdar://problem/60178488
>
WebKit Commit Bot
Comment 9
2020-03-07 21:13:15 PST
Comment on
attachment 392800
[details]
Part 1: WebCore Clearing flags on attachment: 392800 Committed
r258100
: <
https://trac.webkit.org/changeset/258100
>
Eric Carlson
Comment 10
2020-03-08 11:37:13 PDT
Comment on
attachment 392684
[details]
Part 2: WebKit View in context:
https://bugs.webkit.org/attachment.cgi?id=392684&action=review
> Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:82 > + gpuProcessConnection().connection().sendSync(Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem(keySystem, WTF::nullopt), Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem::Reply(supported), { });
It would be good to cache results so we only need to make one sync IPC per key system
> Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:89 > + gpuProcessConnection().connection().sendSync(Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem(keySystem, mimeType), Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem::Reply(supported), { });
Ditto for key system + MIME type
> Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:141 > + > +
Nit: two blanks
> Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:72 > + return { SharedBuffer::create((const char*)array->data(), array->byteLength()) };
Is the cast necessary (you don't have one in convertToOptionalDataReference)?
> Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:131 > + m_factory->gpuProcessConnection().connection().sendSync(Messages::RemoteLegacyCDMSessionProxy::CachedKeyForKeyID(keyId), Messages::RemoteLegacyCDMSessionProxy::CachedKeyForKeyID::Reply(ipcKey), m_identifier);
Can these be cached here so we only need to make one sync IPC per cached key ID?
Jer Noble
Comment 11
2020-03-08 11:49:39 PDT
(In reply to Eric Carlson from
comment #10
)
> Comment on
attachment 392684
[details]
> Part 2: WebKit > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=392684&action=review
> > > Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:82 > > + gpuProcessConnection().connection().sendSync(Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem(keySystem, WTF::nullopt), Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem::Reply(supported), { }); > > It would be good to cache results so we only need to make one sync IPC per > key system > > > Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:89 > > + gpuProcessConnection().connection().sendSync(Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem(keySystem, mimeType), Messages::RemoteLegacyCDMFactoryProxy::SupportsKeySystem::Reply(supported), { }); > > Ditto for key system + MIME type
Okay, will do for both.
> > Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:141 > > + > > + > > Nit: two blanks
Removed.
> > Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:72 > > + return { SharedBuffer::create((const char*)array->data(), array->byteLength()) }; > > Is the cast necessary (you don't have one in convertToOptionalDataReference)?
Looks like it's not necessary. Removed.
> > Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:131 > > + m_factory->gpuProcessConnection().connection().sendSync(Messages::RemoteLegacyCDMSessionProxy::CachedKeyForKeyID(keyId), Messages::RemoteLegacyCDMSessionProxy::CachedKeyForKeyID::Reply(ipcKey), m_identifier); > > Can these be cached here so we only need to make one sync IPC per cached key > ID?
This one is harder than the other two, since it's expected that the cached key will change. We'd need to add invalidation messages when the cached key changes, but I guess we could. Let me try.
Jer Noble
Comment 12
2020-03-08 12:03:45 PDT
Created
attachment 392967
[details]
Patch for landing
Jer Noble
Comment 13
2020-03-08 12:21:21 PDT
Created
attachment 392970
[details]
Patch for landing
Jer Noble
Comment 14
2020-03-08 12:24:23 PDT
Created
attachment 392971
[details]
Patch for landing
Jer Noble
Comment 15
2020-03-08 12:33:20 PDT
Created
attachment 392974
[details]
Patch for landing
Jer Noble
Comment 16
2020-03-08 17:34:53 PDT
Committed
r258122
: <
https://trac.webkit.org/changeset/258122
>
WebKit Commit Bot
Comment 17
2020-03-08 17:35:51 PDT
The commit-queue encountered the following flaky tests while processing
attachment 392974
[details]
: editing/spelling/spellcheck-async-remove-frame.html
bug 160571
(authors:
morrita@google.com
,
rniwa@webkit.org
, and
tony@chromium.org
) The commit-queue is continuing to process your patch.
Jer Noble
Comment 18
2020-03-09 11:31:17 PDT
Reopening to attach new patch.
Jer Noble
Comment 19
2020-03-09 11:31:18 PDT
Created
attachment 393057
[details]
Follow up fix
WebKit Commit Bot
Comment 20
2020-03-09 11:32:31 PDT
Comment on
attachment 392974
[details]
Patch for landing Rejecting
attachment 392974
[details]
from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-03', 'apply-attachment', '--no-update', '--non-interactive', 392974, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 5000 characters of output: hing file Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp patching file Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.h patching file Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.messages.in patching file Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp Hunk #1 succeeded at 212 with fuzz 1 (offset 8 lines). patching file Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h Hunk #1 succeeded at 70 with fuzz 2 (offset 2 lines). patching file Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp Hunk #1 FAILED at 33. Hunk #2 FAILED at 525. Hunk #3 FAILED at 729. 3 out of 3 hunks FAILED -- saving rejects to file Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp.rej patching file Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h Hunk #1 FAILED at 30. Hunk #2 FAILED at 145. Hunk #3 succeeded at 181 with fuzz 2 (offset 4 lines). Hunk #4 FAILED at 301. 3 out of 4 hunks FAILED -- saving rejects to file Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h.rej patching file Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in Hunk #1 FAILED at 80. 1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in.rej patching file Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.cpp Hunk #1 FAILED at 29. 1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.cpp.rej patching file Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.h Hunk #1 FAILED at 32. Hunk #2 FAILED at 57. Hunk #3 FAILED at 74. Hunk #4 FAILED at 88. 4 out of 4 hunks FAILED -- saving rejects to file Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.h.rej patching file Source/WebKit/Scripts/webkit/messages.py Hunk #1 FAILED at 238. Hunk #2 FAILED at 586. 2 out of 2 hunks FAILED -- saving rejects to file Source/WebKit/Scripts/webkit/messages.py.rej patching file Source/WebKit/Sources.txt Hunk #1 FAILED at 33. Hunk #2 FAILED at 558. 2 out of 2 hunks FAILED -- saving rejects to file Source/WebKit/Sources.txt.rej patching file Source/WebKit/WebKit.xcodeproj/project.pbxproj Hunk #1 FAILED at 1747. Hunk #2 FAILED at 5144. Hunk #3 FAILED at 5476. Hunk #4 FAILED at 5534. Hunk #5 FAILED at 9987. Hunk #6 FAILED at 12665. 6 out of 6 hunks FAILED -- saving rejects to file Source/WebKit/WebKit.xcodeproj/project.pbxproj.rej patching file Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp Hunk #1 FAILED at 35. Hunk #2 succeeded at 89 with fuzz 2 (offset 6 lines). Hunk #3 succeeded at 108 (offset 13 lines). 1 out of 3 hunks FAILED -- saving rejects to file Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp.rej patching file Source/WebKit/WebProcess/GPU/GPUProcessConnection.h Hunk #1 FAILED at 41. Hunk #2 FAILED at 63. 2 out of 2 hunks FAILED -- saving rejects to file Source/WebKit/WebProcess/GPU/GPUProcessConnection.h.rej patching file Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp Hunk #1 FAILED at 30. Hunk #2 FAILED at 41. Hunk #3 succeeded at 67 with fuzz 1 (offset 9 lines). Hunk #4 FAILED at 928. 3 out of 4 hunks FAILED -- saving rejects to file Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp.rej patching file Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h Hunk #1 FAILED at 305. 1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h.rej patching file Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in Hunk #1 succeeded at 82 with fuzz 1 (offset 4 lines). patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDM.cpp patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDM.h patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.h patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMIdentifier.h patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.cpp patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.h patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.messages.in patching file Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSessionIdentifier.h patching file Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp Hunk #1 succeeded at 194 with fuzz 2 (offset 11 lines). patching file Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h Hunk #1 succeeded at 71 with fuzz 2 (offset 2 lines). patching file Source/WebKit/WebProcess/WebPage/WebPage.cpp Hunk #1 succeeded at 330 with fuzz 2 (offset 4 lines). patching file Source/WebKit/WebProcess/WebProcess.cpp Hunk #1 FAILED at 43. Hunk #2 succeeded at 2034 with fuzz 2 (offset 8 lines). 1 out of 2 hunks FAILED -- saving rejects to file Source/WebKit/WebProcess/WebProcess.cpp.rej Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit Full output:
https://webkit-queues.webkit.org/results/13337172
WebKit Commit Bot
Comment 21
2020-03-09 13:23:50 PDT
Comment on
attachment 393057
[details]
Follow up fix Clearing flags on attachment: 393057 Committed
r258160
: <
https://trac.webkit.org/changeset/258160
>
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