Resource Load Statistics: Add alternate classification method
[WebKit-https.git] / Source / WebCore / ChangeLog
index 87ca91d..5caa6ae 100644 (file)
@@ -1,3 +1,173 @@
+2017-02-21  John Wilander  <wilander@apple.com>
+
+        Resource Load Statistics: Add alternate classification method
+        https://bugs.webkit.org/show_bug.cgi?id=168347
+        <rdar://problem/30352793>
+
+        Reviewed by Alex Christensen.
+
+        This patch only adds test infrastructure in WebCore.
+
+        Tests: http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html
+               http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html
+               http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html
+               http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html
+               http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html
+               http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html
+               http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html
+               http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html
+
+        * loader/ResourceLoadObserver.cpp:
+        (WebCore::ResourceLoadObserver::setSubframeUnderTopFrameOrigin):
+        (WebCore::ResourceLoadObserver::setSubresourceUnderTopFrameOrigin):
+        (WebCore::ResourceLoadObserver::setSubresourceUniqueRedirectTo):
+        * loader/ResourceLoadObserver.h:
+
+2017-02-21  Alex Christensen  <achristensen@webkit.org>
+
+        Fix CMake build.
+
+        * PlatformMac.cmake:
+
+2017-02-21  Simon Fraser  <simon.fraser@apple.com>
+
+        Add Media Streams and Capture to features.json.
+
+        * features.json:
+
+2017-02-21  Jiewen Tan  <jiewen_tan@apple.com>
+
+        Clarify the status of 'webkitSubtle' and 'subtle' attributes on the WebCrypto API.
+
+        * features.json:
+
+2017-02-21  Romain Bellessort  <romain.bellessort@crf.canon.fr>
+
+        [Readable Streams API] Add ReadableStreamBYOBRequest view getter
+        https://bugs.webkit.org/show_bug.cgi?id=168652
+
+        Reviewed by Youenn Fablet.
+
+        Implemented getter for ReadableStreamBYOBRequest view attribute.
+        
+        Added 1 test checking that view length corresponds to autoAllocateChunkSize.
+        Also updated test expectations for W3C imported tests.
+
+        * Modules/streams/ReadableByteStreamInternals.js:
+        (isReadableStreamBYOBRequest): Added.
+        * Modules/streams/ReadableStreamBYOBRequest.js:
+        (view): Added.
+
+2017-02-21  Simon Fraser  <simon.fraser@apple.com>
+
+        Clarify the status of 'webkitSubtle' and 'subtle' attributes on the WebCrypto API.
+
+        * features.json:
+
+2017-02-21  Youenn Fablet  <youenn@apple.com>
+
+        [WebRTC] ICE candidates should be filtered according a policy
+        https://bugs.webkit.org/show_bug.cgi?id=168348
+
+        Reviewed by Alex Christensen.
+
+        Covered by manual tests. Should be covered in the future by layout tests with dedicated internals API.
+
+        Adding support for ICE candidate filtering at RTCPeerConnection level.
+        If ICE candidate filtering is on (by default), host candidates are stored and not sent immediately.
+        Reflexive candidates are purged from raddr information to not leak the host IP address.
+
+        Stored candidates may be advertised to the JS layer if RTCController is notified of a change of filtering policy.
+        To implement that, PeerConnectionBackend stores all filtered out candidates and RTCPeerConnection register
+        themselves to RTCController to get notifications of filtering policy changes.
+
+        Making RTCPeerConnection use setPendingActivity throughout its lifetime.
+        This ensures it does not get collected until the page is off or close() is called on the object.
+
+        Adding support for enumerating or not all interfaces at libwebrtc level.
+        This choice is done at creation of the peer connection.
+
+        * Modules/mediastream/PeerConnectionBackend.cpp:
+        (WebCore::PeerConnectionBackend::enableICECandidateFiltering):
+        (WebCore::PeerConnectionBackend::disableICECandidateFiltering):
+        (WebCore::filterICECandidate):
+        (WebCore::PeerConnectionBackend::newICECandidate):
+        * Modules/mediastream/PeerConnectionBackend.h:
+        * Modules/mediastream/RTCController.cpp: Added.
+        (WebCore::RTCController::remove):
+        (WebCore::RTCController::add):
+        (WebCore::RTCController::disableICECandidateFiltering):
+        (WebCore::RTCController::enableICECandidateFiltering):
+        * Modules/mediastream/RTCController.h: Added.
+        * Modules/mediastream/RTCPeerConnection.cpp:
+        (WebCore::RTCPeerConnection::create):
+        (WebCore::RTCPeerConnection::close):
+        (WebCore::RTCPeerConnection::rtcController):
+        (WebCore::RTCPeerConnection::registerToController):
+        (WebCore::RTCPeerConnection::unregisterFromController):
+        * Modules/mediastream/RTCPeerConnection.h:
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+        (WebCore::LibWebRTCMediaEndpoint::OnIceCandidate):
+        * WebCore.xcodeproj/project.pbxproj:
+        * page/Page.h:
+        (WebCore::Page::rtcController):
+        * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
+        (WebCore::LibWebRTCProvider::createPeerConnection):
+        * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
+
+2017-02-21  Jiewen Tan  <jiewen_tan@apple.com>
+
+        Unreviewed, update WebCrypto API feature status.
+
+        * features.json:
+
+2017-02-21  Simon Fraser  <simon.fraser@apple.com>
+
+        Fix the bad JSON.
+
+        * features.json:
+
+2017-02-21  Andreas Kling  <akling@apple.com>
+
+        [iOS] WebKit1 should use shared memory pressure handler code.
+        <https://webkit.org/b/168653>
+
+        Reviewed by Antti Koivisto.
+
+        Remove iOS WebKit1 specific members and code from MemoryPressureHandler in favor
+        of using the same code that iOS WebKit2 and macOS WebKit uses.
+
+        * page/cocoa/MemoryReleaseCocoa.mm:
+        (WebCore::platformReleaseMemory): Add two cleanup calls that were only in the iOS WebView code.
+        * platform/MemoryPressureHandler.h:
+        (WebCore::MemoryPressureHandler::m_releaseMemoryBlock): Deleted.
+        * platform/cocoa/MemoryPressureHandlerCocoa.mm:
+        (WebCore::respondToMemoryPressureCallback): Deleted.
+        (WebCore::MemoryPressureHandler::installMemoryReleaseBlock): Deleted.
+        (WebCore::MemoryPressureHandler::setReceivedMemoryPressure): Deleted.
+        (WebCore::MemoryPressureHandler::clearMemoryPressure): Deleted.
+        (WebCore::MemoryPressureHandler::shouldWaitForMemoryClearMessage): Deleted.
+        (WebCore::MemoryPressureHandler::respondToMemoryPressureIfNeeded): Deleted.
+
+2017-02-21  Anders Carlsson  <andersca@apple.com>
+
+        Fix two failing WebKit legacy tests
+        https://bugs.webkit.org/show_bug.cgi?id=168667
+
+        Reviewed by Tim Horton.
+
+        Handle the NSPasteboardTypeString type.
+
+        * platform/mac/PasteboardMac.mm:
+        (WebCore::Pasteboard::read):
+        (WebCore::addHTMLClipboardTypesForCocoaType):
+
+2017-02-21  Simon Fraser  <simon.fraser@apple.com>
+
+        Add Web Audio and Web MIDI to features.json.
+
+        * features.json:
+
 2017-02-21  Antti Koivisto  <antti@apple.com>
 
         REGRESSION(r207669): Crash after mutating selector text