WebKit Bugzilla
Attachment 342381 Details for
Bug 186471
: MediaTrackCapabilities.deviceId and groupId are not hashed.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186471-20180610165201.patch (text/plain), 3.99 KB, created by
jianjun.zhu
on 2018-06-10 01:52:03 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
jianjun.zhu
Created:
2018-06-10 01:52:03 PDT
Size:
3.99 KB
patch
obsolete
>Subversion Revision: 232569 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 34c421c0a208775539879e7e4dc721d2434ad810..c28a2a55aea503742f5278c12c1fbdc4da14f64b 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2018-06-10 Jianjun Zhu <jianjun.zhu@intel.com> >+ >+ Hash deviceId and groupId of MediaTrackCapabilities. >+ https://bugs.webkit.org/show_bug.cgi?id=186471 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This change makes the identifier for the source of the MediaStreamTrack >+ has the same value returned by enumerateDevices(). It also prevents real >+ device ID being leaked. >+ >+ No new tests because device ID and group ID change when page is >+ refreshed. >+ >+ * Modules/mediastream/MediaStreamTrack.cpp: >+ (WebCore::MediaStreamTrack::getCapabilities const): >+ * Modules/mediastream/MediaStreamTrack.h: >+ * Modules/mediastream/MediaStreamTrack.idl: >+ > 2018-06-06 Per Arne Vollan <pvollan@apple.com> > > Display links are sometimes not notifying WebCore when fired. >diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp >index 86769425f75ed5d51a6de721ab75d28ee5618512..3e509135941f867b682c652f2344c49197638b7d 100644 >--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp >+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp >@@ -234,7 +234,7 @@ static Vector<bool> capabilityBooleanVector(RealtimeMediaSourceCapabilities::Ech > return result; > } > >-MediaStreamTrack::TrackCapabilities MediaStreamTrack::getCapabilities() const >+MediaStreamTrack::TrackCapabilities MediaStreamTrack::getCapabilities(Document& document) const > { > auto capabilities = m_private->capabilities(); > TrackCapabilities result; >@@ -257,9 +257,9 @@ MediaStreamTrack::TrackCapabilities MediaStreamTrack::getCapabilities() const > if (capabilities.supportsEchoCancellation()) > result.echoCancellation = capabilityBooleanVector(capabilities.echoCancellation()); > if (capabilities.supportsDeviceId()) >- result.deviceId = capabilities.deviceId(); >+ result.deviceId = RealtimeMediaSourceCenter::singleton().hashStringWithSalt(capabilities.deviceId(), document.deviceIDHashSalt()); > if (capabilities.supportsGroupId()) >- result.groupId = capabilities.groupId(); >+ result.groupId = RealtimeMediaSourceCenter::singleton().hashStringWithSalt(capabilities.groupId(), document.deviceIDHashSalt()); > return result; > } > >diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >index da1b1c0607b87a199c633a29bdc4d44dce727483..345382bba4f9bf46ea6fcac4207d5ef440aa552f 100644 >--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >@@ -115,7 +115,7 @@ public: > String deviceId; > String groupId; > }; >- TrackCapabilities getCapabilities() const; >+ TrackCapabilities getCapabilities(Document&) const; > > const MediaTrackConstraints& getConstraints() const { return m_constraints; } > void applyConstraints(const std::optional<MediaTrackConstraints>&, DOMPromiseDeferred<void>&&); >diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl b/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl >index 9b7c48933c7f1bffc7865776a41da331e87fceb7..6559436fa6f2e43a1feb1ea3f663ab7d3619c25d 100644 >--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl >+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl >@@ -46,7 +46,7 @@ enum MediaStreamTrackState { "live", "ended" }; > MediaStreamTrack clone(); > [ImplementedAs=stopTrack] void stop(); > >- MediaTrackCapabilities getCapabilities(); >+ [CallWith=Document] MediaTrackCapabilities getCapabilities(); > MediaTrackConstraints getConstraints(); > [CallWith=Document] MediaTrackSettings getSettings(); > Promise<void> applyConstraints(optional MediaTrackConstraints constraints);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186471
:
342381
|
342412
|
342500