[webkit-changes] [238728] trunk

2018-11-29 Thread wenson_hsieh
Title: [238728] trunk








Revision 238728
Author wenson_hs...@apple.com
Date 2018-11-29 23:22:00 -0800 (Thu, 29 Nov 2018)


Log Message
REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
https://bugs.webkit.org/show_bug.cgi?id=192165


Reviewed by Daniel Bates.

Source/WebKit:

Fixes a bug in PageClientImpl::isViewFocused. Consider the following scenario:
1. WKWebView is hosted within the view hierarchy
2. First responder is *not* WKContentView
3. The active focus retain count is nonzero

Before r238635, we would return true, due to condition (3). However, after r238635, we only consider whether the
first responder is WKContentView, since the web view is in the view hierarchy. This breaks scenarios where
WebKit or UIKit attempts to retain focus and later restore the content view to be the first responder (an
example of this is dragging a text selection between editable elements in the same web view).

To fix this, simply bail early and return true if focus is being retained.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewFocused):

Tools:

Fixes 11 API tests that started failing or timing out after r238635. See below for more details.

* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
(TestWebKitAPI::webViewForEditActionTesting):
(TestWebKitAPI::webViewForEditActionTestingWithPageNamed):

Ensure that the web view becomes first responder before executing edit actions.

* TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
* TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html:

Tweak these tests to allow selected content to overflow the width of the web view. Without this change,
ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes
the body to scroll horizontally, so we miss the drop destination.

* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(loadTestPageAndEnsureInputSession):

Add a new helper to load a test page with a given name, become first responder, and wait until an input session
starts. Use this in various drag and drop tests to reduce code duplication.

* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator initWithWebView:]):
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator _advanceProgress]):

To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear
the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that
regressed with r238635.

(-[DragAndDropSimulator ensureInputSession]):
(-[DragAndDropSimulator _webView:didStartInputSession:]):
(-[DragAndDropSimulator waitForInputSession]): Deleted.

Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply
wait for an input session to start if needed.

* TestWebKitAPI/ios/UIKitSPI.h:

Add a new SPI declaration.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html
trunk/Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm
trunk/Tools/TestWebKitAPI/cocoa/DragAndDropSimulator.h
trunk/Tools/TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm
trunk/Tools/TestWebKitAPI/ios/UIKitSPI.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (238727 => 238728)

--- trunk/Source/WebKit/ChangeLog	2018-11-30 06:35:36 UTC (rev 238727)
+++ trunk/Source/WebKit/ChangeLog	2018-11-30 07:22:00 UTC (rev 238728)
@@ -1,3 +1,26 @@
+2018-11-29  Wenson Hsieh  
+
+REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
+https://bugs.webkit.org/show_bug.cgi?id=192165
+
+
+Reviewed by Daniel Bates.
+
+Fixes a bug in PageClientImpl::isViewFocused. Consider the following scenario:
+1. WKWebView is hosted within the view hierarchy
+2. First responder is *not* WKContentView
+3. The active focus retain count is nonzero
+
+Before r238635, we would return true, due to condition (3). However, after r238635, we only consider whether the
+first responder is WKContentView, since the web view is in the view hierarchy. This breaks scenarios where
+WebKit or UIKit attempts to retain focus and later restore the content view to be the first responder (an
+example of this is dragging a text selection between editable elements in the same web view).
+
+To fix this, simply bail early and return true if focus is being retained.
+
+* 

[webkit-changes] [238727] trunk

2018-11-29 Thread commit-queue
Title: [238727] trunk








Revision 238727
Author commit-qu...@webkit.org
Date 2018-11-29 22:35:36 -0800 (Thu, 29 Nov 2018)


Log Message
Separate paint and scroll offsets for RenderLayerBacking::m_scrollingContentsLayer
https://bugs.webkit.org/show_bug.cgi?id=183040

Source/WebCore:

Currently, scroll offset of RenderLayerBacking::m_scrollingContentsLayer is stored in the
GraphicsLayer::m_offsetFromRenderer member used for paint offset. This patch separates these
two concept by introducing a new GraphicsLayer::m_scrollOffset for the scroll offset. This
makes the API a little bit cleaner, the code easier to understand and might avoid unnecessary
repaints in composited scroll.

Patch by Frederic Wang  on 2018-11-29
Reviewed by Simon Fraser.

No new tests, already covered by existing tests.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setScrollOffset): Setter function to update the scroll offset
of the content layer inside its scrolling parent layer. Ask a repaint if it has changed and
is requested by the caller.
(WebCore::GraphicsLayer::paintGraphicsLayerContents): Take into account the scroll offset
when painting.
(WebCore::GraphicsLayer::dumpProperties const): Dump the scroll offset property.
* platform/graphics/GraphicsLayer.h: Include ScrollableArea for the ScrollOffset typedef.
Add member for the scroll offset of the content layer inside its scrolling parent layer.
(WebCore::GraphicsLayer::scrollOffset const): Getter function.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry): Do not include the scroll offset in the
paint offset of m_scrollingContentsLayer since it is now taken into account in
paintGraphicsLayerContents. Update the scroll offset of m_scrollingContentsLayer separately.
Leave the paint offset of m_foregroundLayer unchanged.
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Take into account the scroll
offset of m_scrollingContentsLayer when calculating the dirty rect.

LayoutTests:

Patch by Frederic Wang  on 2018-11-29
Reviewed by Simon Fraser.

Update expectations containing layer trees of RenderLayerBacking::m_scrollingContentsLayer, to separate offsetFromRenderer and
scrollOffset. We have OLD offsetFromRenderer = NEW offsetFromRenderer - scrollOffset.

* compositing/ios/overflow-scroll-touch-tiles-expected.txt:
* fast/scrolling/ios/overflow-scroll-touch-expected.txt:
* fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt:
* platform/ios/compositing/overflow/scrolling-without-painting-expected.txt:
* platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/ios/compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
* platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt:
* platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt:
* platform/ios/fast/scrolling/ios/textarea-scroll-touch-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/compositing/ios/overflow-scroll-touch-tiles-expected.txt
trunk/LayoutTests/fast/scrolling/ios/overflow-scroll-touch-expected.txt
trunk/LayoutTests/fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt
trunk/LayoutTests/platform/ios/compositing/overflow/scrolling-without-painting-expected.txt
trunk/LayoutTests/platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt
trunk/LayoutTests/platform/ios/compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt
trunk/LayoutTests/platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt
trunk/LayoutTests/platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt
trunk/LayoutTests/platform/ios/fast/scrolling/ios/textarea-scroll-touch-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp
trunk/Source/WebCore/platform/graphics/GraphicsLayer.h
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (238726 => 238727)

--- trunk/LayoutTests/ChangeLog	2018-11-30 06:31:04 UTC (rev 238726)
+++ trunk/LayoutTests/ChangeLog	2018-11-30 06:35:36 UTC (rev 238727)
@@ -1,3 +1,23 @@
+2018-11-29  Frederic Wang  
+
+Separate paint and scroll offsets for RenderLayerBacking::m_scrollingContentsLayer
+https://bugs.webkit.org/show_bug.cgi?id=183040
+
+Reviewed by Simon Fraser.
+
+Update expectations containing layer trees of RenderLayerBacking::m_scrollingContentsLayer, to separate offsetFromRenderer and
+scrollOffset. We have OLD offsetFromRenderer = NEW offsetFromRenderer - scrollOffset.
+
+* compositing/ios/overflow-scroll-touch-tiles-expected.txt:
+* fast/scrolling/ios/overflow-scroll-touch-expected.txt:
+* fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt:
+* platform/ios/compositing/overflow/scrolling-without-painting-expected.txt:
+* 

[webkit-changes] [238726] trunk

2018-11-29 Thread timothy_horton
Title: [238726] trunk








Revision 238726
Author timothy_hor...@apple.com
Date 2018-11-29 22:31:04 -0800 (Thu, 29 Nov 2018)


Log Message
Inform clients when editable image attachment backing data changes
https://bugs.webkit.org/show_bug.cgi?id=192206


Reviewed by Wenson Hsieh.

Source/WebKit:

* UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
(API::Attachment::invalidateGeneratedFileWrapper):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didInvalidateDataForAttachment:]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/Cocoa/PageClientImplCocoa.h:
* UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::didInvalidateDataForAttachment):
* UIProcess/PageClient.h:
(WebKit::PageClient::didInvalidateDataForAttachment):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didInvalidateDataForAttachment):
* UIProcess/WebPageProxy.h:
Plumb file-wrapper-invalidation through from APIAttachment to WKUIDelegate.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[AttachmentUpdateObserver init]):
(-[AttachmentUpdateObserver dataInvalidated]):
(-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation):
(webViewForTestingAttachments):
(TestWebKitAPI::forEachViewInHierarchy):
(TestWebKitAPI::findEditableImageCanvas):
(TestWebKitAPI::drawSquareInEditableImage):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/PencilKitTestSPI.h: Added.
Add a test ensuring that we get an invalidation callback when an editable image is changed.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h
trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm
trunk/Source/WebKit/UIProcess/PageClient.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm


Added Paths

trunk/Tools/TestWebKitAPI/ios/PencilKitTestSPI.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (238725 => 238726)

--- trunk/Source/WebKit/ChangeLog	2018-11-30 03:47:59 UTC (rev 238725)
+++ trunk/Source/WebKit/ChangeLog	2018-11-30 06:31:04 UTC (rev 238726)
@@ -1,3 +1,27 @@
+2018-11-29  Tim Horton  
+
+Inform clients when editable image attachment backing data changes
+https://bugs.webkit.org/show_bug.cgi?id=192206
+
+
+Reviewed by Wenson Hsieh.
+
+* UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
+(API::Attachment::invalidateGeneratedFileWrapper):
+* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+* UIProcess/API/Cocoa/WKWebView.mm:
+(-[WKWebView _didInvalidateDataForAttachment:]):
+* UIProcess/API/Cocoa/WKWebViewInternal.h:
+* UIProcess/Cocoa/PageClientImplCocoa.h:
+* UIProcess/Cocoa/PageClientImplCocoa.mm:
+(WebKit::PageClientImplCocoa::didInvalidateDataForAttachment):
+* UIProcess/PageClient.h:
+(WebKit::PageClient::didInvalidateDataForAttachment):
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::didInvalidateDataForAttachment):
+* UIProcess/WebPageProxy.h:
+Plumb file-wrapper-invalidation through from APIAttachment to WKUIDelegate.
+
 2018-11-29  Eric Carlson  
 
 [MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm (238725 => 238726)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm	2018-11-30 03:47:59 UTC (rev 238725)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm	2018-11-30 06:31:04 UTC (rev 238726)
@@ -64,6 +64,7 @@
 {
 ASSERT(m_fileWrapperGenerator);
 m_fileWrapper = nil;
+m_webPage->didInvalidateDataForAttachment(*this);
 }
 
 WTF::String Attachment::mimeType() const
@@ -193,6 +194,7 @@
 {
 m_fileWrapperGenerator = WTFMove(fileWrapperGenerator);
 m_fileWrapper = nil;
+m_webPage->didInvalidateDataForAttachment(*this);
 }
 
 } // namespace API


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h (238725 => 238726)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2018-11-30 03:47:59 UTC (rev 238725)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2018-11-30 06:31:04 UTC (rev 238726)
@@ -116,6 +116,7 @@
 
 - (void)_webView:(WKWebView *)webView didRemoveAttachment:(_WKAttachment *)attachment WK_API_AVAILABLE(macosx(10.13.4), ios(11.3));
 - (void)_webView:(WKWebView *)webView 

[webkit-changes] [238725] trunk

2018-11-29 Thread simon . fraser
Title: [238725] trunk








Revision 238725
Author simon.fra...@apple.com
Date 2018-11-29 19:47:59 -0800 (Thu, 29 Nov 2018)


Log Message
Overflow scrolling layers need to be self-painting
https://bugs.webkit.org/show_bug.cgi?id=192201

Reviewed by Dean Jackson.
Source/WebCore:

Overflow scrolling layers paint their contents, so need to be self-painting in the RenderLayer sense.

Without this change, the overflow in the testcase doesn't get any compositing layers.

Test: compositing/scrolling/overflow-scrolling-layers-are-self-painting.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):

LayoutTests:

* compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt: Added.
* compositing/scrolling/overflow-scrolling-layers-are-self-painting.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayer.cpp


Added Paths

trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt
trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting.html




Diff

Modified: trunk/LayoutTests/ChangeLog (238724 => 238725)

--- trunk/LayoutTests/ChangeLog	2018-11-30 03:15:03 UTC (rev 238724)
+++ trunk/LayoutTests/ChangeLog	2018-11-30 03:47:59 UTC (rev 238725)
@@ -1,3 +1,13 @@
+2018-11-29  Simon Fraser  
+
+Overflow scrolling layers need to be self-painting
+https://bugs.webkit.org/show_bug.cgi?id=192201
+
+Reviewed by Dean Jackson.
+
+* compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt: Added.
+* compositing/scrolling/overflow-scrolling-layers-are-self-painting.html: Added.
+
 2018-11-29  Eric Carlson  
 
 [MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents


Added: trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt (0 => 238725)

--- trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt	(rev 0)
+++ trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt	2018-11-30 03:47:59 UTC (rev 238725)
@@ -0,0 +1,31 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+(GraphicsLayer
+  (bounds 800.00 600.00)
+  (contentsOpaque 1)
+  (children 1
+(GraphicsLayer
+  (position 8.00 8.00)
+  (bounds 302.00 302.00)
+  (drawsContent 1)
+  (children 1
+(GraphicsLayer
+  (offsetFromRenderer width=-1 height=-1)
+  (position 1.00 1.00)
+  (bounds 285.00 285.00)
+  (children 1
+(GraphicsLayer
+  (offsetFromRenderer width=1 height=1)
+  (bounds 285.00 2000.00)
+)
+  )
+)
+  )
+)
+  )
+)
+  )
+)
+


Added: trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting.html (0 => 238725)

--- trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting.html	(rev 0)
+++ trunk/LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting.html	2018-11-30 03:47:59 UTC (rev 238725)
@@ -0,0 +1,34 @@
+
+
+
+
+.scroller {
+overflow: scroll;
+height: 300px;
+width: 300px;
+border: 1px solid black;
+}
+.contents {
+height: 2000px;
+}
+
+
+if (window.testRunner) {
+testRunner.dumpAsText();
+internals.settings.setAsyncOverflowScrollingEnabled(true);
+}
+
+window.addEventListener('load', () => {
+if (window.internals)
+document.getElementById('layer-tree').innerText = window.internals.layerTreeAsText(document);
+
+}, false);
+
+
+
+
+
+
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (238724 => 238725)

--- trunk/Source/WebCore/ChangeLog	2018-11-30 03:15:03 UTC (rev 238724)
+++ trunk/Source/WebCore/ChangeLog	2018-11-30 03:47:59 UTC (rev 238725)
@@ -1,3 +1,19 @@
+2018-11-29  Simon Fraser  
+
+Overflow scrolling layers need to be self-painting
+https://bugs.webkit.org/show_bug.cgi?id=192201
+
+Reviewed by Dean Jackson.
+
+Overflow scrolling layers paint their contents, so need to be self-painting in the RenderLayer sense.
+
+Without this change, the overflow in the testcase doesn't get any compositing layers.
+
+Test: compositing/scrolling/overflow-scrolling-layers-are-self-painting.html
+
+* rendering/RenderLayer.cpp:
+(WebCore::RenderLayer::calculateClipRects const):
+
 2018-11-29  Christopher Reid  
 
 [Win] listDirectory in FileSystemWin.cpp should not skip all directories



[webkit-changes] [238724] trunk

2018-11-29 Thread eric . carlson
Title: [238724] trunk








Revision 238724
Author eric.carl...@apple.com
Date 2018-11-29 19:15:03 -0800 (Thu, 29 Nov 2018)


Log Message
[MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents
https://bugs.webkit.org/show_bug.cgi?id=192182

Reviewed by Youenn Fablet.

Source/WebKit:

* UIProcess/DeviceIdHashSaltStorage.cpp:
(WebKit::DeviceIdHashSaltStorage::deviceIdHashSaltForOrigin): Key off of request and top
level documents.
(WebKit::DeviceIdHashSaltStorage::deleteDeviceIdHashSaltForOrigins): Ditto.
* UIProcess/DeviceIdHashSaltStorage.h:
(WebKit::DeviceIdHashSaltStorage::HashSaltForOrigin::HashSaltForOrigin):

* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Pass both documents.
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Ditto.
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Ditto.

LayoutTests:

* http/tests/media/media-stream/enumerate-devices-source-id-expected.txt:
* http/tests/media/media-stream/enumerate-devices-source-id.html:
* http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-expected.txt
trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id.html
trunk/LayoutTests/http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/DeviceIdHashSaltStorage.cpp
trunk/Source/WebKit/UIProcess/DeviceIdHashSaltStorage.h
trunk/Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (238723 => 238724)

--- trunk/LayoutTests/ChangeLog	2018-11-30 02:16:18 UTC (rev 238723)
+++ trunk/LayoutTests/ChangeLog	2018-11-30 03:15:03 UTC (rev 238724)
@@ -1,3 +1,14 @@
+2018-11-29  Eric Carlson  
+
+[MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents
+https://bugs.webkit.org/show_bug.cgi?id=192182
+
+Reviewed by Youenn Fablet.
+
+* http/tests/media/media-stream/enumerate-devices-source-id-expected.txt:
+* http/tests/media/media-stream/enumerate-devices-source-id.html:
+* http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html:
+
 2018-11-29  Christopher Reid  
 
 [Win] listDirectory in FileSystemWin.cpp should not skip all directories


Modified: trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-expected.txt (238723 => 238724)

--- trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-expected.txt	2018-11-30 02:16:18 UTC (rev 238723)
+++ trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-expected.txt	2018-11-30 03:15:03 UTC (rev 238724)
@@ -1,26 +1,12 @@
  
  
 
-Tests that mediaDevices.enumerateDevices returns the same value for a device ID in all subframes.
+Tests that mediaDevices.enumerateDevices returns the same ids for devices in the same frame/subframe .
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS : device id 1 is not unique
-PASS : device id 2 is not unique
-PASS : device id 3 is not unique
-PASS : device id 4 is not unique
-PASS : device id 5 is not unique
-PASS : device id 6 is not unique
-PASS : device id 7 is not unique
-PASS : device id 8 is not unique
-PASS : device id 9 is not unique
-PASS : device id 10 is not unique
-PASS : device id 11 is not unique
-PASS : device id 12 is not unique
 
-PASS : device IDs are not unique
-
 PASS successfullyParsed is true
 
 TEST COMPLETE


Modified: trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id.html (238723 => 238724)

--- trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id.html	2018-11-30 02:16:18 UTC (rev 238723)
+++ trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id.html	2018-11-30 03:15:03 UTC (rev 238724)
@@ -6,8 +6,6 @@