⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 6, 2017:

10:43 PM Changeset in webkit [216342] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

[Cocoa] CTFontDescriptorCreateMatchingFontDescriptor() is not case insensitive
https://bugs.webkit.org/show_bug.cgi?id=171636
<rdar://problem/30811218>

Reviewed by Dean Jackson.

Source/WebCore:

LastResort is the only name which needs to be looked up case-sensitively. We can handle
this in our existing function which handles special font names (like -apple-system) to
make sure that we always do the right thing.

Test: fast/text/lastResort.html

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::platformFontWithFamilySpecialCase):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::platformFontWithFamilySpecialCase):

  • platform/spi/cocoa/CoreTextSPI.h:

LayoutTests:

  • fast/text/lastResort-expected.html: Added.
  • fast/text/lastResort.html: Added.
10:18 PM Changeset in webkit [216341] by Chris Dumez
  • 4 edits
    2 adds in trunk

Implement the concept of cookie-averse document
https://bugs.webkit.org/show_bug.cgi?id=171746
<rdar://problem/32004466>

Reviewed by Sam Weinig.

Source/WebCore:

Implement the concept of cookie-averse document:

Test: fast/cookies/cookie-averse-document.html

  • dom/Document.cpp:

(WebCore::Document::isCookieAverse):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):

  • dom/Document.h:

LayoutTests:

Add layout test coverage.

  • fast/cookies/cookie-averse-document-expected.txt: Added.
  • fast/cookies/cookie-averse-document.html: Added.
8:57 PM Changeset in webkit [216340] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r216339.

  • dom/Document.h:

(WebCore::Document::readyState):

8:48 PM Changeset in webkit [216339] by Chris Dumez
  • 32 edits in trunk

Align our IDL files with the latest DOM specification
https://bugs.webkit.org/show_bug.cgi?id=171777

Reviewed by Sam Weinig.

Source/WebCore:

Align our IDL files with the latest DOM specification:

No Web-facing behavior change. Things that do not match the specification
have been annotated with FIXME comments.

  • dom/CharacterData.idl:
  • dom/Comment.idl:
  • dom/CustomEvent.idl:
  • dom/DOMImplementation.idl:
  • dom/Document.cpp:
  • dom/Document.h:

(WebCore::Document::readyState):

  • dom/Document.idl:
  • dom/MutationObserver.idl:
  • dom/NamedNodeMap.idl:
  • dom/NodeFilter.idl:
  • dom/NodeIterator.idl:
  • dom/NodeList.idl:
  • dom/NonDocumentTypeChildNode.idl:
  • dom/ParentNode.idl:
  • dom/ProcessingInstruction.idl:
  • dom/Range.idl:
  • dom/ShadowRoot.idl:
  • dom/Text.idl:
  • dom/TreeWalker.idl:
  • html/DOMTokenList.idl:

Source/WebKit/mac:

Build fix.

  • DOM/DOMDocument.mm:

(-[DOMDocument readyState]):

Source/WebKit2:

GTK build fix.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:

(webkit_dom_document_get_ready_state):

LayoutTests:

Rebaseline a few tests.

  • fast/dom/Document/adoptNode-null-expected.txt:
  • fast/dom/Document/adoptNode-null.html:
  • fast/dom/Document/importNode-null-expected.txt:
  • fast/dom/Document/importNode-null.html:
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/text/text-combine-crash-expected.txt:
8:25 PM Changeset in webkit [216338] by timothy_horton@apple.com
  • 18 edits in trunk/Source

Reduce the number of includes in WebPage.h and WebProcess.h
https://bugs.webkit.org/show_bug.cgi?id=171779

Reviewed by Sam Weinig.

  • WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:
  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
  • WebProcess/Network/webrtc/LibWebRTCResolver.cpp:
  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
  • WebProcess/WebPage/FindController.cpp:
  • WebProcess/WebPage/WebFrame.cpp:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::disableEnumeratingAllNetworkInterfaces):
(WebKit::WebPage::enableEnumeratingAllNetworkInterfaces):
(WebKit::WebPage::didReceivePolicyDecision):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::disableEnumeratingAllNetworkInterfaces): Deleted.
(WebKit::WebPage::enableEnumeratingAllNetworkInterfaces): Deleted.

  • WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:
  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h:

In my measurement, this improves WebKit2 debug clean build time by
~10% for Mac and ~5% for iOS. The most valuable change is the one to
remove LibWebRTC headers..

  • page/TextIndicator.h:
8:18 PM Changeset in webkit [216337] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=171785

  • platform/wk2/TestExpectations:
7:58 PM Changeset in webkit [216336] by ap@apple.com
  • 30 edits
    5 deletes in trunk

REGRESSION (r216294): The new test fails on WebKit1
https://bugs.webkit.org/show_bug.cgi?id=171780

Rolling back https://trac.webkit.org/r216294, https://trac.webkit.org/r216296,
https://trac.webkit.org/216299, https://trac.webkit.org/216330

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::paint):

  • platform/ScrollView.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::paint):

  • platform/Scrollbar.h:
  • platform/Widget.h:
  • platform/graphics/filters/FilterOperation.h:

(WebCore::FilterOperation::movesPixels):
(WebCore::FilterOperation::shouldBeRestrictedBySecurityOrigin): Deleted.

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::hasFilterThatShouldBeRestrictedBySecurityOrigin): Deleted.

  • platform/graphics/filters/FilterOperations.h:
  • platform/gtk/WidgetGtk.cpp:

(WebCore::Widget::paint):

  • platform/ios/WidgetIOS.mm:

(WebCore::Widget::paint):

  • platform/mac/WidgetMac.mm:

(WebCore::Widget::paint):

  • platform/win/WidgetWin.cpp:

(WebCore::Widget::paint):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • rendering/FilterEffectRenderer.h:
  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):
(): Deleted.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):

  • rendering/RenderLayer.h:
  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::paint):

  • rendering/RenderScrollbar.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paintContents):

Source/WebKit/win:

  • Plugins/PluginView.h:
  • Plugins/PluginViewWin.cpp:

(WebCore::PluginView::paint):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::paint):

  • WebProcess/Plugins/PluginView.h:

LayoutTests:

  • http/tests/css/filters-on-iframes-expected.html: Removed.
  • http/tests/css/filters-on-iframes.html: Removed.
  • http/tests/css/resources/blank.html: Removed.
  • http/tests/css/resources/references-external.html: Removed.
  • http/tests/css/resources/solid-red.html: Removed.
7:53 PM Changeset in webkit [216335] by Simon Fraser
  • 9 edits in trunk

[iOS WK2] Make rotation tests more reliable
https://bugs.webkit.org/show_bug.cgi?id=171778

Reviewed by Tim Horton.

Source/WebKit2:

Switching between "safari-style" rotation and normal rotation left state on the WKWebView
that would cause later viewport-sensitive tests to fail. The WKWebView would be left
with override layout parameters, and an override orientation, and these caused viewport
size to leak into later tests, and WebCore orientation to not get reset correctly.

Also, WKWebView was unregistering for UIWindowDidRotateNotification notifications when
an override orientation was set, and would never re-register, causing lost orientationchanged
events.

Fix by exposing WKWebView SPI to clear the various bits of overide state. Also don't unregister
from the UIWindowDidRotateNotification notification; it's already ignored anyway if it fires.

Also wait for a visible content rect update after resizing the WKWebVeiw between tests, to make sure
the WebProcess is caught up before proceeding with the test.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setInterfaceOrientationOverride:]):
(-[WKWebView _clearInterfaceOrientationOverride]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _clearOverrideLayoutParameters]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

Switching between "safari-style" rotation and normal rotation left state on the WKWebView
that would cause later viewport-sensitive tests to fail. The WKWebView would be left
with override layout parameters, and an override orientation, and these caused viewport
size to leak into later tests, and WebCore orientation to not get reset correctly.

Also, WKWebView was unregistering for UIWindowDidRotateNotification notifications when
an override orientation was set, and would never re-register, causing lost orientationchanged
events.

Fix by exposing WKWebView SPI to clear the various bits of overide state. Also don't unregister
from the UIWindowDidRotateNotification notification; it's already ignored anyway if it fires.

Also wait for a visible content rect update after resizing the WKWebVeiw between tests, to make sure
the WebProcess is caught up before proceeding with the test.

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):

LayoutTests:

New baseline.

  • fast/events/ios/rotation/zz-no-rotation-expected.txt:
  • fast/events/ios/rotation/zz-no-rotation.html:
4:39 PM Changeset in webkit [216334] by Chris Dumez
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r216333.

Caused layout test failures

Reverted changeset:

"Implement the concept of cookie-averse document"
https://bugs.webkit.org/show_bug.cgi?id=171746
http://trac.webkit.org/changeset/216333

1:32 PM Changeset in webkit [216333] by Chris Dumez
  • 4 edits
    2 adds in trunk

Implement the concept of cookie-averse document
https://bugs.webkit.org/show_bug.cgi?id=171746
<rdar://problem/32004466>

Reviewed by Sam Weinig.

Source/WebCore:

Implement the concept of cookie-averse document:

Test: fast/cookies/cookie-averse-document.html

  • dom/Document.cpp:

(WebCore::Document::isCookieAverse):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):

  • dom/Document.h:

LayoutTests:

Add layout test coverage.

  • fast/cookies/cookie-averse-document-expected.txt: Added.
  • fast/cookies/cookie-averse-document.html: Added.
11:06 AM Changeset in webkit [216332] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix 32bit Windows build by giving correct parameters to MASM
https://bugs.webkit.org/show_bug.cgi?id=170833

Patch by Bill Ming <mbbill@gmail.com> on 2017-05-06
Reviewed by Alex Christensen.

  • CMakeLists.txt:
10:54 AM Changeset in webkit [216331] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

REGERSSION(r213499): Emoji with Fitzpatrick modifiers are drawn as two separate glyphs
https://bugs.webkit.org/show_bug.cgi?id=171750
<rdar://problem/31122612>

Reviewed by Zalan Bujtas.

Source/WebCore:

Emoji with Fitzpatrick modifiers need to take our complex text codepath. When looking through
the string to determine which code path to use, we ask if a particular codepoint is an emoji
group candidate. r213499 expanded the set of these candidates to include Fitzpatrick modifiers,
which means the next "if" statement would never be hit. Instead, we should check that "if"
statement first (because order is not important here). The next checks do not intersect with
any emoji group candidates.

Test: fast/text/fitzpatrick-combination.html

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::characterRangeCodePath):

LayoutTests:

  • fast/text/fitzpatrick-combination-expected.html: Added.
  • fast/text/fitzpatrick-combination.html: Added.
10:31 AM Changeset in webkit [216330] by Simon Fraser
  • 3 edits in trunk/Source/WebKit/win

Fix Windows build after r216294.

  • Plugins/PluginView.h:
  • Plugins/PluginViewWin.cpp:

(WebCore::PluginView::paint):

10:16 AM Changeset in webkit [216329] by gskachkov@gmail.com
  • 4 edits in trunk

[ES6] Arrow function. Issue in access to this after eval('super()') within constructor
https://bugs.webkit.org/show_bug.cgi?id=171543

Reviewed by Saam Barati.

JSTests:

  • stress/arrowfunction-lexical-bind-supercall-4.js:

(J):
(K):

Source/JavaScriptCore:

Current patch force to use 'this' within arrow function or eval
from virtual scope each time, instead of using thisRegister.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::ensureThis):

10:15 AM Changeset in webkit [216328] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebKit2

Remove unused lambda capture
https://bugs.webkit.org/show_bug.cgi?id=171772

Reviewed by Yusuke Suzuki.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::fetchWebsiteData):

8:05 AM Changeset in webkit [216327] by ddkilzer@apple.com
  • 8 edits in trunk/Source/WebKit2
messages_unittest.py should support a [-rreset-results] switch

<https://webkit.org/b/171627>

Reviewed by Daniel Bates.

This change adds support for a [-rreset-results] switch when

running messages_unittest.py to make it easy to update the
expected file results.

This also cleans up a lot of duplicate code in
messages_unittest.py by extracting common code into new methods
and by pushing code down into methods where it's actually used.

  • Scripts/webkit/LegacyMessageReceiver-expected.cpp:
  • Scripts/webkit/LegacyMessages-expected.h:
  • Scripts/webkit/MessageReceiver-expected.cpp:
  • Scripts/webkit/MessageReceiverSuperclass-expected.cpp:
  • Scripts/webkit/Messages-expected.h:
  • Scripts/webkit/MessagesSuperclass-expected.h:
  • Update expected files using the new --reset-results switch.
  • Scripts/webkit/messages_unittest.py:
  • Remove what appears to be a debugging print statement.
  • Replace the code that reads in expected files with variables that contain the expected file names. The code to read in the contents moved into GeneratedFileContentsTest.assertGeneratedFileContentsEqual().

(ParsingTest.check_message):

  • Drive-by fix to change "!= None" to "is not None".

(GeneratedFileContentsTest.assertGeneratedFileContentsEqual):

Add support for [-rreset-results] switch here. This will

write out updated expected file contents when the switch is
used.

  • Push down most of the global code that reads in file contents into this method.
  • Change use of split('\n') into splitlines(False).

(GeneratedFileContentsTest.assertHeaderEqual): Add.

  • Extracts common code from test_receiver_headers().

(GeneratedFileContentsTest.assertImplementationEqual): Add.

  • Extracts common code from test_receiver_implementations().

(HeaderTest):
(HeaderTest.test_receiver_headers):

  • Rename from HeaderTest.test_header().
  • Simplify by calling assertHeaderEqual().

(ReceiverImplementationTest):
(ReceiverImplementationTest.test_receiver_implementations):

  • Rename from ReceiverImplementationTest.test_receiver_implementation().
  • Simplify by calling assertImplementationEqual().

(add_reset_results_to_unittest_help): Add.

Inserts help text for [-rreset-results] switch.

(parse_sys_argv): Add.

Parses [-rreset-results] switch, and then removes it from

sys.argv. We do this instead of using argparse so that the
original help for the unittest module is still shown when
using --help.

4:34 AM Changeset in webkit [216326] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Mac][cmake] Buildfix after r216047
https://bugs.webkit.org/show_bug.cgi?id=171769

Unreviewed buildfix.

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3:58 AM Changeset in webkit [216325] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.16/Source/WTF

Merge r215180 - [GTK] Fix x32 build
https://bugs.webkit.org/show_bug.cgi?id=170673

Patch by Thorsten Glaser <tg@mirbsd.de> on 2017-04-10
Reviewed by Carlos Alberto Lopez Perez.

  • wtf/Platform.h:
3:24 AM Changeset in webkit [216324] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.16

Merge r215172 - REGRESSION(r205841): [GTK] Test fast/images/animated-png.html is failing since r205841
https://bugs.webkit.org/show_bug.cgi?id=168425

Reviewed by Said Abou-Hallawa.

Source/WebCore:

There is a problem with animations that are blending their frames into the previous frame. Due to a change
in how pixel components are premultiplied (the result is now rounded up), the parameters to the blending
operation may vary in one unit, causing the result of the blending to be different from the expected result.
In order to fix this, a new parameter is added to indicate whether we want to use rounding up when
premultiplying or not, and ImageBackingStore uses that parameter to disable rounding up.

Adjusted the expectation for fast/images/animated-png.html, as it must pass now.

  • platform/graphics/Color.cpp:

(WebCore::premultipliedChannel):
(WebCore::makePremultipliedRGBA):

  • platform/graphics/Color.h:
  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue):

LayoutTests:

Adjusted expectation for fast/images/animated-png.html. It must pass now.

  • platform/gtk/TestExpectations:
1:55 AM Changeset in webkit [216323] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

RealtimeMediaSourceCenter callbacks should be passed as r-values
https://bugs.webkit.org/show_bug.cgi?id=171407

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-06
Reviewed by Eric Carlson.

No change of behavior, this is mostly style here.

  • platform/mediastream/RealtimeMediaSourceCenter.h:
  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints):
(WebCore::RealtimeMediaSourceCenterMac::createMediaStream):

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:

(WebCore::RealtimeMediaSourceCenterOwr::validateRequestConstraints):

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockRealtimeMediaSourceCenter::validateRequestConstraints):
(WebCore::MockRealtimeMediaSourceCenter::createMediaStream):

  • platform/mock/MockRealtimeMediaSourceCenter.h:
1:49 AM Changeset in webkit [216322] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.16

Merge r215156 - Elftoolchain ar doesn't support response files
https://bugs.webkit.org/show_bug.cgi?id=170105

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2017-04-08
Reviewed by Michael Catanzaro.

WebKit enables the use of response files when cmake and ninja is used.
However, the default implementation of ar command used in FreeBSD, which
is part of elftoolchain project, doesn't support reading arguments from
response files. To avoid causing undefined reference error on FreeBSD,
we disable the use of response files when elftoolchain ar is detected.

  • Source/cmake/OptionsCommon.cmake:
1:46 AM Changeset in webkit [216321] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.16

Merge r215124 - Simple line layout: FlowContents::segmentIndexForRunSlow skips empty runs.
https://bugs.webkit.org/show_bug.cgi?id=170552

Reviewed by Antti Koivisto.

Source/WebCore:

The compare function passed to std::lower_bound completely misses empty runs.

Test: fast/text/simple-line-layout-hover-over-subsequent-linebreaks.html

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::segmentIndexForRunSlow):

LayoutTests:

  • fast/text/simple-line-layout-hover-over-subsequent-linebreaks-expected.txt: Added.
  • fast/text/simple-line-layout-hover-over-subsequent-linebreaks.html: Added.
1:36 AM Changeset in webkit [216320] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.16

Merge r215117 - REGRESSION(r211382): Complex text with justification erroneously overflows containers
https://bugs.webkit.org/show_bug.cgi?id=170399
<rdar://problem/31442008>

Reviewed by Simon Fraser.

Source/WebCore:

When we perform justification, we adjust glyphs' advances to add extra space between words.
ComplexTextController maintains an invariant where m_totalWidth is equal to the sum of these
advances. However, in RTL text, inserting extra justification space to the left of a glyph
would break that invariant, and would increase the advances of two glyphs instead of just
one. Then, when we go to draw the text, the sum of the advances is wider than m_totalWidth,
which means the glyphs would be drawn outside of their container.

This regressed in r211382 simply because of an oversight and because there were no tests for
this codepath.

Test: ComplexTextControllerTest.TotalWidthWithJustification

  • platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • rendering/InlineBox.h:

(WebCore::InlineBox::InlineBox):

Tools:

Check for the invariant that the sum of the advances is equal to m_totalWidth.

  • TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:

(TestWebKitAPI::TEST_F):

1:30 AM Changeset in webkit [216319] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.16/Source/WTF

Merge r215107 - Include cstdio before using sscanf and stderr
https://bugs.webkit.org/show_bug.cgi?id=170098

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2017-04-07
Reviewed by Michael Catanzaro.

  • wtf/NumberOfCores.cpp:
1:30 AM Changeset in webkit [216318] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.16

Merge r215106 - [GTK] Various build errors when plugin support is disabled
https://bugs.webkit.org/show_bug.cgi?id=170015

Reviewed by Carlos Garcia Campos.

.:

Allow building with ENABLE_NETSCAPE_PLUGIN_API=ON and ENABLE_X11_TARGET=OFF. This should be
possible as Carlos worked to ensure windowless plugins work properly outside X11. The GTK2
plugin process still depends on ENABLE_X11_TARGET because a plugin that uses GTK+ surely
wants to display a window, and is not going to work outside X11. (If the plugin links to
GTK+ but does not display a window, it's dumb and deserves to be broken.)

Also, make ENABLE_PLUGIN_PROCESS conditional on ENABLE_NETSCAPE_PLUGIN_API, not
ENABLE_X11_TARGET.

  • Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

  • PluginProcess/unix/PluginControllerProxyUnix.cpp:
  • UIProcess/API/gtk/WebKitWebsiteData.cpp:

(recordContainsSupportedDataTypes):
(toWebKitWebsiteDataTypes):

  • UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:

(toWebsiteDataTypes):

1:28 AM Changeset in webkit [216317] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore

Merge r215102 - REGRESSION(r204512): WebSocket errors with "Failed to send WebSocket frame." if too much data is sent
https://bugs.webkit.org/show_bug.cgi?id=170463

Reviewed by Michael Catanzaro.

This only reproduces when using WebSockets to communicate with an external server.
When communicating with a local server, CFWriteStreamWrite succeeds too reliably, so
CFWriteStreamCanAcceptBytes returns true, when sometimes it doesn't when communicating
across the real internet.

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::platformSendInternal):

  • platform/network/soup/SocketStreamHandleImplSoup.cpp:

(WebCore::SocketStreamHandleImpl::platformSendInternal):
Returning std::nullopt means there was an error, which is not true when the socket stream
is in a state where it cannot be written to because it is actively communicating.
Returning 0 means 0 new bytes were sent, so we will try again later.

1:23 AM Changeset in webkit [216316] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.16/LayoutTests/imported/w3c

Merge r215110 - Rebaseline another test after r215096.
https://bugs.webkit.org/show_bug.cgi?id=170561
<rdar://problem/7415154>

Unreviewed test gardening.

  • web-platform-tests/url/url-setters-expected.txt:
1:23 AM Changeset in webkit [216315] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.16/LayoutTests

Merge r215098 - Rebaseline additional tests after r215096.
https://bugs.webkit.org/show_bug.cgi?id=170561
<rdar://problem/7415154>

LayoutTests/imported/w3c:

  • web-platform-tests/cors/allow-headers-expected.txt:
  • web-platform-tests/cors/origin-expected.txt:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block-expected.txt:
  • http/tests/security/no-popup-from-sandbox-top-expected.txt:
  • http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
1:21 AM Changeset in webkit [216314] by Carlos Garcia Campos
  • 50 edits in releases/WebKitGTK/webkit-2.16

Merge r215096 - WebKit should percent encode single quotes in query strings
https://bugs.webkit.org/show_bug.cgi?id=170561
<rdar://problem/7415154>

Reviewed by Alex Christensen.

Source/WebCore:

Modify the characterClassTable to instruct the URLParser to convert
the single-quote character ' to %27 in URL query strings.

Tests: URLParserTest in TestWebKitAPI.

fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame.html
fast/frames/xss-auditor-handles-file-urls.html
http/tests/security/xssAuditor

  • platform/URLParser.cpp:

Tools:

Add a test case for single-quote in the URL query string.

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

LayoutTests:

Rebaseline tests after change.

  • fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame-expected.txt:
  • fast/frames/xss-auditor-handles-file-urls-expected.txt:
  • http/tests/security/xssAuditor/base-href-control-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-expected.txt:
  • http/tests/security/xssAuditor/base-href-null-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/form-action-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-button-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-input-expected.txt:
  • http/tests/security/xssAuditor/frameset-injection-expected.txt:
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt:
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/iframe-injection-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/object-tag-expected.txt:
  • http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
  • http/tests/security/xssAuditor/svg-animate-expected.txt:
  • http/tests/security/xssAuditor/svg-script-tag-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
1:17 AM Changeset in webkit [216313] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore

Merge r215089 - AX: Don't crash if no renderer is available for AccessibilityRenderObject
https://bugs.webkit.org/show_bug.cgi?id=170448

Reviewed by Chris Fleizach.

Don't crash or assert if no renderer is available, but early return
gracefully (as in other places in the AccessibilityRenderObject.cpp).
Spotted by running some tests through dogtail.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isOffScreen):
(WebCore::AccessibilityRenderObject::isUnvisited):
(WebCore::AccessibilityRenderObject::isVisited):

1:14 AM Changeset in webkit [216312] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.16

Merge r215054 - Simple line layout: Hittest always returns the first renderer in the block.
https://bugs.webkit.org/show_bug.cgi?id=170520
<rdar://problem/30979175>

Reviewed by Antti Koivisto.

Source/WebCore:

This is incorrect now with <br> support (multiple renderers within the same block flow).

Test: fast/dom/Document/CaretRangeFromPoint/simple-line-layout-hittest-with-caret-range-from-point.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::positionForPoint): Related fix. We don't yet support positionForPoint with multiple renderes.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::segmentForRun): Empty runs are all valid.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::hitTestFlow):
(WebCore::SimpleLineLayout::collectFlowOverflow):

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*): This should eventually return a list of renderes.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::flowContents):

LayoutTests:

  • fast/dom/Document/CaretRangeFromPoint/simple-line-layout-hittest-with-caret-range-from-point-expected.html: Added.
  • fast/dom/Document/CaretRangeFromPoint/simple-line-layout-hittest-with-caret-range-from-point.html: Added.
1:08 AM Changeset in webkit [216311] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.16

Merge r215001 - [GTK] Build fails when using icecream, ccache and cmake 3.6
https://bugs.webkit.org/show_bug.cgi?id=170498

Reviewed by Michael Catanzaro.

Disable ninja response file when using icecream, ccache and cmake > 3.5.

  • Source/cmake/OptionsCommon.cmake:
1:08 AM Changeset in webkit [216310] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2

Merge r215009 - [GTK] Fix build with MEDIA_CAPTURE enabled
https://bugs.webkit.org/show_bug.cgi?id=170539

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2017-04-06
Reviewed by Carlos Garcia Campos.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp:

(webkit_dom_html_input_element_get_capture): Add missing namespace in usage of WebCore::MediaCaptureTypeNone.

May 5, 2017:

10:19 PM Changeset in webkit [216309] by keith_miller@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Put does not properly consult the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=171754

Reviewed by Saam Barati.

We should do a follow up that cleans up the rest of put. See:
https://bugs.webkit.org/show_bug.cgi?id=171759

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):

  • runtime/JSObject.cpp:

(JSC::JSObject::putInlineSlow):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::canPerformFastPutInline):

9:55 PM Changeset in webkit [216308] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

[WTF] Use memoryFootprint for MemoryUsage retrieval in Linux
https://bugs.webkit.org/show_bug.cgi?id=171757

Reviewed by Michael Catanzaro.

This patch leverages memoryFootprint() to retrieve physical footprint in Linux.

  • wtf/linux/MemoryPressureHandlerLinux.cpp:

(WTF::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):

9:41 PM Changeset in webkit [216307] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Renderers being destroyed should not be added to AX's deferred list.
https://bugs.webkit.org/show_bug.cgi?id=171768
<rdar://problem/31955660>

Reviewed by Simon Fraser.

Source/WebCore:

In certain cases, when custom scrollbars are present, while destroying the scrollbars' block parent, we

  • first remove the block from the AX's deferred list (AXObjectCache::remove)
  • destroy the render layer that owns the custom scrollbars (RenderLayer::destroyLayer)
  • detach the scrollbars from the parent (block) (RenderObject::removeFromParent)
    • clean up the block's lines (RenderBlock::deleteLines)
      • push the block back to the AX's deferred list (AXObjectCache::recomputeDeferredIsIgnored)

At this point no one will remove the current block from AX's deferred list.

Test: accessibility/crash-when-renderers-are-added-back-to-deferred-list.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::recomputeDeferredIsIgnored):
(WebCore::AXObjectCache::deferTextChanged):

LayoutTests:

  • accessibility/crash-when-renderers-are-added-back-to-deferred-list-expected.txt: Added.
  • accessibility/crash-when-renderers-are-added-back-to-deferred-list.html: Added.
8:57 PM Changeset in webkit [216306] by jfbastien@apple.com
  • 25 edits in trunk/Source/JavaScriptCore

WebAssembly: Air::Inst::generate crashes on large binary on A64
https://bugs.webkit.org/show_bug.cgi?id=170215

Reviewed by Filip Pizlo.

ARM can't encode all offsets in a single instruction. We usualy
handle this type of detail early, or the macro assembler uses a
scratch register to take care of the large immediate. After
register allocation we assumed that we would never get large
offsets, and asserted this was the case. That was a fine
assumption with JavaScript, but WebAssembly ends up generating
stack frames which are too big to encode.

There are two places that needed to be fixed:

  1. AirGenerate
  2. AirLowerStackArgs

We now unconditionally pin the dataTempRegister on ARM64, and use
it when immediates don't fit.

Number 1. is easy: we're just incrementing SP, make sure we can
use a scratch register when that happens.

Number 2. is more complex: not all Inst can receive a stack
argument whose base register isn't SP or FP. Specifically,
Patchpoints and Stackmaps get very sad because they just want to
know the offset value, but when we materialize the offset as
follows:

Move (spill337), (spill201), %r0, @8735

Becomes (where %r16 is dataTempRegister):

Move $1404, %r16, @8736
Add64 %sp, %r16, @8736
Move (%r16), 2032(%sp), %r0, @8736

The code currently doesn't see through our little dance. To work
around this issue we introduce a new Air Arg kind:
ExtendedOffsetAddr. This is the same as a regular Addr, but with
an offset which may be too big to encode. Opcodes then declare
whether their arguments can handle such inputs, and if so we
generate them, otherwise we generate Addr as shown above.

None of this affects x86 because it can always encode large
immediates.

This patch also drive-by converts some uses of override to
final. It makes the code easier to grok, and maybe helps the
optimizer sometimes but really that doens't matter.

  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerARM64.h:
  • b3/B3CheckSpecial.cpp:

(JSC::B3::CheckSpecial::admitsExtendedOffsetAddr):

  • b3/B3CheckSpecial.h:
  • b3/B3Common.cpp:

(JSC::B3::pinnedExtendedOffsetAddrRegister): keep the CPU-specific
pinning information in a cpp file

  • b3/B3Common.h:
  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::admitsExtendedOffsetAddr):

  • b3/B3PatchpointSpecial.h:
  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::isArgValidForRep):
(JSC::B3::StackmapSpecial::repForArg):

  • b3/B3StackmapSpecial.h:
  • b3/air/AirArg.cpp:

(JSC::B3::Air::Arg::isStackMemory):
(JSC::B3::Air::Arg::jsHash):
(JSC::B3::Air::Arg::dump):
(WTF::printInternal):
(JSC::B3::Air::Arg::stackAddrImpl): Deleted. There was only one
use of this (in AirLowerStackArgs) and it was now confusing to
split the logic up between these two. Inline the code that used to
be here into its one usepoint instead.

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::extendedOffsetAddr):
(JSC::B3::Air::Arg::isExtendedOffsetAddr):
(JSC::B3::Air::Arg::isMemory):
(JSC::B3::Air::Arg::base):
(JSC::B3::Air::Arg::offset):
(JSC::B3::Air::Arg::isGP):
(JSC::B3::Air::Arg::isFP):
(JSC::B3::Air::Arg::isValidForm):
(JSC::B3::Air::Arg::forEachTmpFast):
(JSC::B3::Air::Arg::forEachTmp):
(JSC::B3::Air::Arg::asAddress):
(JSC::B3::Air::Arg::stackAddr): Deleted.

  • b3/air/AirCCallSpecial.cpp:

(JSC::B3::Air::CCallSpecial::isValid):
(JSC::B3::Air::CCallSpecial::admitsExtendedOffsetAddr):
(JSC::B3::Air::CCallSpecial::generate):

  • b3/air/AirCCallSpecial.h:
  • b3/air/AirCode.cpp:

(JSC::B3::Air::Code::Code):
(JSC::B3::Air::Code::pinRegister): Check that the register wasn't
pinned before pinning it. It's likely a bug to pin the same
register twice.

  • b3/air/AirCustom.h:

(JSC::B3::Air::PatchCustom::admitsExtendedOffsetAddr):
(JSC::B3::Air::CCallCustom::admitsExtendedOffsetAddr):
(JSC::B3::Air::ShuffleCustom::admitsExtendedOffsetAddr):
(JSC::B3::Air::EntrySwitchCustom::admitsExtendedOffsetAddr):
(JSC::B3::Air::WasmBoundsCheckCustom::admitsExtendedOffsetAddr):

  • b3/air/AirGenerate.cpp:

(JSC::B3::Air::generate):

  • b3/air/AirInst.h:
  • b3/air/AirInstInlines.h:

(JSC::B3::Air::Inst::admitsExtendedOffsetAddr):

  • b3/air/AirLowerStackArgs.cpp:

(JSC::B3::Air::lowerStackArgs):

  • b3/air/AirPrintSpecial.cpp:

(JSC::B3::Air::PrintSpecial::admitsExtendedOffsetAddr):
(JSC::B3::Air::PrintSpecial::generate):

  • b3/air/AirPrintSpecial.h:
  • b3/air/AirSpecial.h:
  • b3/air/opcode_generator.rb:
8:27 PM Changeset in webkit [216305] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

Crash in ImageFrameCache::decodedSizeChanged() after image load cancellation
https://bugs.webkit.org/show_bug.cgi?id=171736

Reviewed by Tim Horton.

Tests: Covered by run-webkit-tests fast/images/image-formats-support.html
--guard-malloc.

Because an image format is not supported, the ImageObserver of the Image
is deleted then the Image itself is deleted. In BitmapImage destructor,
we make a call which ends up accessing the deleted ImageObserver.

To fix this, we need to change the BitImage destructor to avoid calling
ImageFrameCache::decodedSizeChanged() since it is not really needed.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::~BitmapImage):

6:59 PM Changeset in webkit [216304] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION (r212998): Web Inspector: bad spacing of go-to arrow for HTTP POST request data
https://bugs.webkit.org/show_bug.cgi?id=171674

Reviewed by Matt Baker.

  • UserInterface/Views/DetailsSection.css:

(body[dir=ltr] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
(body[dir=rtl] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
Swap margin-left and margin-right. This regressed when RTL support was added.

6:39 PM Changeset in webkit [216303] by timothy_horton@apple.com
  • 11 edits in trunk/Source

[Mac] Adjust cursor position for dragged link (and stop it from moving based on how fast you are dragging)
https://bugs.webkit.org/show_bug.cgi?id=171764
<rdar://problem/32005865>

Reviewed by Simon Fraser.

  • page/DragController.cpp:

(WebCore::DragController::startDrag):
Compute dragImageAnchorPoint only if it is needed.
Don't compute a random unused imageRect.
Factor link drag image offset computation out into DragImage functions
for platforms to override.

Pass dragOrigin (the mouseDown point), not mouseDraggedPoint, to
doSystemDrag, just like all the other drag types. This plus the
WebKit2 change makes the link stable vs. the cursor, instead of
positioned based on how fast you move after the mouse down.

  • page/DragController.h:
  • page/gtk/DragControllerGtk.cpp:
  • page/mac/DragControllerMac.mm:
  • page/win/DragControllerWin.cpp:

Move LinkDragBorderInset into DragImage, and share between the non-Mac platforms.

  • platform/DragImage.cpp:

(WebCore::dragOffsetForLinkDragImage):
(WebCore::anchorPointForLinkDragImage):

  • platform/DragImage.h:

As previously mentioned, move the computation of drag image offset here.

  • platform/mac/DragImageMac.mm:

(WebCore::dragOffsetForLinkDragImage):
(WebCore::anchorPointForLinkDragImage):
Put the new drag image to the bottom right of the cursor.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::dragImageForView):
Always use the last mouse down event to originate the drag; this was a 2004 hack
to work around a seemingly-fixed macOS bug that somehow propagated into WebKit2.
With WebKit2, this would cause trouble because currentEvent could move on
during the bounce to the Web Content process and back, causing the delta between
clientPoint and the mouse point to be dependent on timing, and thus causing the
link to sit at timing-dependent distance from the cursor, instead of exactly
where dragOffsetForLinkDragImage placed it.

6:10 PM Changeset in webkit [216302] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark compositing/tiling/non-active-window-tiles-size.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=171763

Unreviewed test gardening.

Patch by Matt Lewis <Matt Lewis> on 2017-05-05

  • platform/mac-wk2/TestExpectations:
5:33 PM Changeset in webkit [216301] by oliver@apple.com
  • 12 edits in trunk

Move trivial String prototype functions to JS builtins
https://bugs.webkit.org/show_bug.cgi?id=171737

Reviewed by Saam Barati.

Source/JavaScriptCore:

Super simple change to migrate all of the old school
html-ifying string operations to builtin JS.

Core implementation is basically a 1-for-1 match to the spec.

  • builtins/StringPrototype.js:

(globalPrivate.createHTML):
(anchor):
(big):
(blink):
(bold):
(fixed):
(fontcolor):
(fontsize):
(italics):
(link):
(small):
(strike):
(sub):
(sup):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncBig): Deleted.
(JSC::stringProtoFuncSmall): Deleted.
(JSC::stringProtoFuncBlink): Deleted.
(JSC::stringProtoFuncBold): Deleted.
(JSC::stringProtoFuncFixed): Deleted.
(JSC::stringProtoFuncItalics): Deleted.
(JSC::stringProtoFuncStrike): Deleted.
(JSC::stringProtoFuncSub): Deleted.
(JSC::stringProtoFuncSup): Deleted.
(JSC::stringProtoFuncFontcolor): Deleted.
(JSC::stringProtoFuncFontsize): Deleted.
(JSC::stringProtoFuncAnchor): Deleted.
(JSC::stringProtoFuncLink): Deleted.

LayoutTests:

Updated output

  • js/dom/string-anchor-expected.txt:
  • js/dom/string-anchor.html:
  • js/dom/string-fontcolor-expected.txt:
  • js/dom/string-fontcolor.html:
  • js/dom/string-fontsize-expected.txt:
  • js/dom/string-fontsize.html:
  • js/dom/string-link-expected.txt:
  • js/dom/string-link.html:
5:24 PM Changeset in webkit [216300] by commit-queue@webkit.org
  • 3 edits in trunk/Source/bmalloc

Leaks always reports "WebKit Malloc Memory Pressure Handler" dispatch_queue/source as leaking
https://bugs.webkit.org/show_bug.cgi?id=171532

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-05-05
Reviewed by Geoffrey Garen.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::Heap):

  • bmalloc/Heap.h:

Store the dispatch_source_t in a member to avoid a false positive leak.

5:17 PM Changeset in webkit [216299] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

...and now the GTK and Windows builds.

  • platform/gtk/WidgetGtk.cpp:

(WebCore::Widget::paint):

  • platform/win/WidgetWin.cpp:

(WebCore::Widget::paint):

5:08 PM Changeset in webkit [216298] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[WTF] Do not export deleted constructor in StringView
https://bugs.webkit.org/show_bug.cgi?id=171751

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-05
Reviewed by Alexey Proskuryakov.

  • wtf/text/StringView.h:
5:08 PM Changeset in webkit [216297] by beidson@apple.com
  • 6 edits in trunk

API test WebKit2.WebsiteDataStoreCustomPaths is failing on ios-simulator.
<rdar://problem/31977294> and https://bugs.webkit.org/show_bug.cgi?id=171513

Reviewed by Andy Estes.

Source/WebCore:

Covered by API test.

  • platform/spi/cf/CFNetworkSPI.h:

Source/WebKit2:

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::syncAllCookies):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:

(TEST):

5:04 PM Changeset in webkit [216296] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix iOS build.

  • platform/ios/WidgetIOS.mm:

(WebCore::Widget::paint):

5:03 PM Changeset in webkit [216295] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Remove export from Intrinsic
https://bugs.webkit.org/show_bug.cgi?id=171752

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-05
Reviewed by Alexey Proskuryakov.

  • runtime/Intrinsic.h:
4:49 PM Changeset in webkit [216294] by dino@apple.com
  • 24 edits
    5 adds in trunk

Restrict SVG filters to accessible security origins
https://bugs.webkit.org/show_bug.cgi?id=118689
<rdar://problem/27362159>

Reviewed by Brent Fulgham.

Source/WebCore:

Certain SVG filters should only be allowed to operate
on content that is has SecurityOrigin access to. Implement
this by including a flag in PaintInfo and LayerPaintingInfo,
and have RenderWidget make sure the documents have acceptable
SecurityOrigins as it goes to paint.

This could be used as the first step in a "safe painting"
strategy, allowing some content to be rendered into a
canvas or via the element() CSS function... but it is only
a small first step.

Test: http/tests/css/filters-on-iframes.html

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::paint):

  • platform/ScrollView.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::paint):

  • platform/Scrollbar.h:
  • platform/Widget.h:
  • platform/graphics/filters/FilterOperation.h:

(WebCore::FilterOperation::shouldBeRestrictedBySecurityOrigin):

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::hasFilterThatShouldBeRestrictedBySecurityOrigin):

  • platform/graphics/filters/FilterOperations.h:
  • platform/mac/WidgetMac.mm:

(WebCore::Widget::paint):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • rendering/FilterEffectRenderer.h:
  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):

  • rendering/RenderLayer.h:
  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::paint):

  • rendering/RenderScrollbar.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paintContents):

Source/WebKit2:

Update parameter lists.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::paint):

  • WebProcess/Plugins/PluginView.h:

LayoutTests:

Add a test that shows safe frames, unsafe frames, and
then a safe frame that itself has an unsafe frame, to
show that the security requirements are being forwarded
down the tree.

  • http/tests/css/filters-on-iframes-expected.html: Added.
  • http/tests/css/filters-on-iframes.html: Added.
  • http/tests/css/resources/blank.html: Added.
  • http/tests/css/resources/references-external.html: Added.
  • http/tests/css/resources/solid-red.html: Added.
4:46 PM Changeset in webkit [216293] by Ryan Haddad
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r216273.

This change caused an assertion failure on WK1.

Reverted changeset:

"Crash in ImageFrameCache::decodedSizeChanged() after image
load cancellation"
https://bugs.webkit.org/show_bug.cgi?id=171736
http://trac.webkit.org/changeset/216273

4:45 PM Changeset in webkit [216292] by BJ Burg
  • 4 edits in trunk

[Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as session cookies
https://bugs.webkit.org/show_bug.cgi?id=171748
<rdar://problem/32027327>

Reviewed by Michael Catanzaro.

Source/WebCore:

The function that we use to convert from WebCore::Cookie to NSHTTPCookie was
also misusing the NSHTTPCookieDiscard property. If any value is provided for
this key, even @NO, CFNetwork interprets that to mean that the cookie has the
"session" flag.

This is known to affect cookies set via WebCookieManager, WKHTTPCookieStore,
and WebAutomationSession.

This is covered by existing test WebKit2.WKHTTPCookieStore.

  • platform/network/cocoa/CookieCocoa.mm:

(WebCore::Cookie::operator NSHTTPCookie *):
Don't include the property if the cookie is not a session cookie.

Tools:

Remove temporary workaround now that the assertion failure is fixed.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:

(TEST):

4:39 PM Changeset in webkit [216291] by Simon Fraser
  • 14 edits
    7 adds in trunk

Make it possible to test rotation in iOS WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=171755

Reviewed by Tim Horton.

Tools:

Add to UIScriptController:

void simulateRotation(DeviceOrientation orientation, object callback);
void simulateRotationLikeSafari(DeviceOrientation orientation, object callback);

The former just does a view resize, as a simple WKWebView app would do. The second does
animation more like MobileSafari, using _begin/_endAnimatedResize. and associated override
layout size and interface orientation. The two behaviors produce different resize and
orientationchange events and sizes, and both need to be tested.

Rotation is initiated by a call on UIDevice, and responded to by the root view controller,
which is now a custom subclass (PlatformWebViewController).

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):

  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::toDeviceOrientation):
(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView dealloc]):
(-[TestRunnerWKWebView _didEndRotation]):

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
(WTR::PlatformWebView::PlatformWebView):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::toUIDeviceOrientation):
(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):
(WTR::UIScriptController::platformClearAllCallbacks):

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):

LayoutTests:

Two rotation tests and one that comes last to ensure that the device was not left in a rotated state.

  • fast/events/ios/rotation/basic-rotation-expected.txt: Added.
  • fast/events/ios/rotation/basic-rotation.html: Added.
  • fast/events/ios/rotation/safari-like-rotation-expected.txt: Added.
  • fast/events/ios/rotation/safari-like-rotation.html: Added.
  • fast/events/ios/rotation/zz-no-rotation-expected.txt: Added.
  • fast/events/ios/rotation/zz-no-rotation.html: Added.
4:33 PM Changeset in webkit [216290] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Ensure NSColorPickerTouchBarItem only uses sRGB colors
https://bugs.webkit.org/show_bug.cgi?id=171758
-and corresponding-
rdar://problem/28314183

Reviewed by Tim Horton.

  • UIProcess/Cocoa/WebViewImpl.mm:

(-[WKTextTouchBarItemController itemForIdentifier:]):

4:26 PM Changeset in webkit [216289] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171756

Unreviewed test gardening.

  • platform/wk2/TestExpectations:
3:56 PM Changeset in webkit [216288] by Jonathan Bedard
  • 6 edits
    2 deletes in trunk/Tools

Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=168945
<rdar://problem/30745695>

Reviewed by David Kilzer.

Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
target SDK. These two changes must happen simultaneously because some archives will
clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.

  • DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
  • DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the

tools directory still includes ImageDiff.

  • DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
  • Scripts/webkitpy/port/darwin.py:

(DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
locally or when running archives.

  • Scripts/webkitpy/port/image_diff.py:

(IOSSimulatorImageDiffer): Deleted.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort.diff_image): Deleted.

3:53 PM Changeset in webkit [216287] by matthew_hanson@apple.com
  • 7 edits in tags/Safari-604.1.21.0.1/Source

Versioning.

3:53 PM Changeset in webkit [216286] by matthew_hanson@apple.com
  • 4 edits in tags/Safari-604.1.21.0.1/Source

Cherry-pick r216229. rdar://problem/31978703

3:50 PM Changeset in webkit [216285] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

TURNS gathering is not working properly
https://bugs.webkit.org/show_bug.cgi?id=171747

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-05
Reviewed by Eric Carlson.

Did manual testing on real TURNS servers.

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::configurationFromMediaEndpointConfiguration): Disabling TURNS servers gathering.

3:48 PM Changeset in webkit [216284] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.21.0.1

New tag.

3:48 PM Changeset in webkit [216283] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-604.1.22

Delete tag.

3:46 PM Changeset in webkit [216282] by matthew_hanson@apple.com
  • 4 edits in tags/Safari-604.1.21/Source

Revert r216268. rdar://problem/31978703

3:45 PM Changeset in webkit [216281] by matthew_hanson@apple.com
  • 7 edits in tags/Safari-604.1.21/Source

Revert r216270.

3:43 PM Changeset in webkit [216280] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark test http/tests/security/module-correct-mime-types.html slow.
https://bugs.webkit.org/show_bug.cgi?id=164960

Unreviewed test gardening.

Patch by Matt Lewis <Matt Lewis> on 2017-05-05

  • platform/ios-wk2/TestExpectations:
3:35 PM Changeset in webkit [216279] by sbarati@apple.com
  • 13 edits
    3 adds in trunk

putDirectIndex does not properly do defineOwnProperty
https://bugs.webkit.org/show_bug.cgi?id=171591
<rdar://problem/31735695>

Reviewed by Geoffrey Garen.

JSTests:

  • stress/array-prototype-splice-making-typed-array.js:

(test):

  • stress/array-species-config-array-constructor.js:

(shouldThrow):
(test):

  • stress/put-direct-index-broken-2.js: Added.

(assert):
(test):
(makeLengthWritable):
(set get restoreOldDesc):

  • stress/put-direct-index-broken.js: Added.

(whatToTest):
(tryRunning):
(tryItOut):

  • stress/put-indexed-getter-setter.js: Added.

(foo.X.prototype.set 7):
(foo.X.prototype.get 7):
(foo.X):
(foo):

Source/JavaScriptCore:

This patch fixes putDirectIndex and its JIT implementations to be
compatible with the ES6 spec. I think our code became out of date
when we implemented ArraySpeciesCreate since ArraySpeciesCreate may
return arbitrary objects. We perform putDirectIndex on that arbitrary
object. The behavior we want is as if we performed defineProperty({configurable:true, enumerable:true, writable:true}).
However, we weren't doing this. putDirectIndex assumed it could just splat
data into any descendent of JSObject's butterfly. For example, this means
we'd just splat into the butterfly of a typed array, even though a typed
array doesn't use its butterfly to store its indexed properties in the usual
way. Also, typed array properties are non-configurable, so this operation
should throw. This also means if we saw a ProxyObject, we'd just splat
into its butterfly, but this is obviously wrong because ProxyObject should
intercept the defineProperty operation.

This patch fixes this issue by adding a whitelist of cell types that can
go down putDirectIndex's fast path. Anything not in that whitelist will
simply call into defineOwnProperty.

  • bytecode/ByValInfo.h:

(JSC::jitArrayModePermitsPutDirect):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • jit/JITOperations.cpp:
  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncSplice):

  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createStructure):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):

  • runtime/JSObject.cpp:

(JSC::canDoFastPutDirectIndex):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength): Deleted.

  • runtime/JSObject.h:

(JSC::JSObject::putDirectIndex):
(JSC::JSObject::canSetIndexQuicklyForPutDirect): Deleted.

  • runtime/JSType.h:
3:30 PM Changeset in webkit [216278] by Ryan Haddad
  • 5 edits
    2 deletes in trunk

Unreviewed, rolling out r216275.

This change broke internal builds.

Reverted changeset:

"[Cocoa] CTFontDescriptorCreateMatchingFontDescriptor() is not
case insensitive"
https://bugs.webkit.org/show_bug.cgi?id=171636
http://trac.webkit.org/changeset/216275

3:23 PM Changeset in webkit [216277] by Brent Fulgham
  • 8 edits in trunk/Source/WebKit2

[WK2][iOS][macOS] Expand sandbox to access vm.footprint_suspend
https://bugs.webkit.org/show_bug.cgi?id=171749
<rdar://problem/32019494>

Reviewed by Geoffrey Garen.

The 'sysctl' whitelist needs to be extended to support an additional VM-related feature.

  • DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
3:03 PM Changeset in webkit [216276] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.22

New tag.

2:54 PM Changeset in webkit [216275] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

[Cocoa] CTFontDescriptorCreateMatchingFontDescriptor() is not case insensitive
https://bugs.webkit.org/show_bug.cgi?id=171636
<rdar://problem/30811218>

Reviewed by Dean Jackson.

Source/WebCore:

LastResort is the only name which needs to be looked up case-sensitively. We can handle
this in our existing function which handles special font names (like -apple-system) to
make sure that we always do the right thing.

Test: fast/text/lastResort.html

  • platform/spi/cocoa/CoreTextSPI.h:
  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::platformFontWithFamilySpecialCase):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::platformFontWithFamilySpecialCase):

LayoutTests:

  • fast/text/lastResort-expected.html: Added.
  • fast/text/lastResort.html: Added.
2:36 PM Changeset in webkit [216274] by Yusuke Suzuki
  • 5 edits
    1 delete in trunk/Source/WTF

[GTK][JSCOnly] Merge MainThread implementations and use generic one
https://bugs.webkit.org/show_bug.cgi?id=171738

Reviewed by Michael Catanzaro.

GLib MainThread implementation is generic enough to be used in JSCOnly.
We move it to generic/ and GTK (GLib ports) and JSCOnly use it.
And we also drop GLib MainThread's isMainThread function because
generic thread ID one is enough.

This patch also cleans up initializing main thread code by using std::call_once.

  • wtf/MainThread.cpp:

(WTF::initializeMainThread):
(WTF::isMainThread):
(WTF::initializeMainThreadToProcessMainThread):
(WTF::initializeWebThread):
(WTF::canAccessThreadLocalDataForThread):
(WTF::initializeMainThreadOnce): Deleted.
(WTF::initializeMainThreadToProcessMainThreadOnce): Deleted.
(WTF::initializeWebThreadOnce): Deleted.

  • wtf/PlatformGTK.cmake:
  • wtf/PlatformJSCOnly.cmake:
  • wtf/generic/MainThreadGeneric.cpp:

(WTF::MainThreadDispatcher::MainThreadDispatcher):
(WTF::MainThreadDispatcher::schedule):
(WTF::MainThreadDispatcher::fired):
(WTF::scheduleDispatchFunctionsOnMainThread):

  • wtf/glib/MainThreadGLib.cpp: Removed.
2:35 PM Changeset in webkit [216273] by Said Abou-Hallawa
  • 3 edits in trunk/Source/WebCore

Crash in ImageFrameCache::decodedSizeChanged() after image load cancellation
https://bugs.webkit.org/show_bug.cgi?id=171736

Reviewed by Tim Horton.

Tests: Covered by run-webkit-tests fast/images/image-formats-support.html
--guard-malloc.

Because an image format is not supported, the ImageObserver of the Image
is deleted then the Image itself is deleted. In BitmapImage destructor,
we make a call which ends up accessing the deleted ImageObserver.

To fix this, we need to setImageObsever of the Image to-be-deleted to
nullptr. So the Image can avoid accessing its ImageObserver, while it is
being deleted. Also we can change the BitImage destructor to avoid calling
ImageFrameCache::decodedSizeChanged() since it is not really needed.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::clearImage):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::~BitmapImage):

2:15 PM Changeset in webkit [216272] by BJ Burg
  • 2 edits in trunk/Tools

API test WebKit2.WKHTTPCookieStore fails due to possible issue with handling non-session cookies
https://bugs.webkit.org/show_bug.cgi?id=171748

Unreviewed test gardening.

The assertion failure will be investigated separately in order to avoid rolling out
the fix for "secure" cookies. This assertion fails even without r216258 applied.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:

(TEST):

1:52 PM Changeset in webkit [216271] by Jonathan Bedard
  • 6 edits
    2 copies in trunk/Tools

Unreviewed, rolling out r216260.

Breaks internal iOS testers

Reverted changeset:

"Use ImageDiff built by host SDK and remove ImageDiff from
DumpRenderTree"
https://bugs.webkit.org/show_bug.cgi?id=168945
http://trac.webkit.org/changeset/216260

1:52 PM Changeset in webkit [216270] by matthew_hanson@apple.com
  • 7 edits in tags/Safari-604.1.21/Source

Versioning.

1:36 PM Changeset in webkit [216269] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unskip media/click-placeholder-not-pausing.html.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:33 PM Changeset in webkit [216268] by matthew_hanson@apple.com
  • 4 edits in tags/Safari-604.1.21/Source

Cherry-pick r216229. rdar://problem/31978703

1:31 PM Changeset in webkit [216267] by Joseph Pecoraro
  • 5 edits in trunk/LayoutTests

REGRESSION: LayoutTest streams/reference-implementation/readable-stream-templated.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=171580
<rdar://problem/32009647>

Rubber-stamped by Alexey Proskuryakov.

Rebaseline expectations. This test was previously flakey so the results were
missed unless the test was run with --force.

  • streams/reference-implementation/readable-stream-templated-expected.txt:
  • streams/reference-implementation/readable-stream-templated.html:

Silence unhandled rejections. This test did not expect unhandled promise
rejections to affect test results, so ignore them.

1:31 PM Changeset in webkit [216266] by Joseph Pecoraro
  • 3 edits in trunk/LayoutTests

[macOS Sierra] LayoutTest http/tests/inspector/network/resource-request-headers.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=170702
<rdar://problem/31616643>

Rubber-stamped by Brian Burg.

  • platform/mac-wk2/TestExpectations:
  • http/tests/inspector/network/resource-request-headers.html:

Make this test unflakey by ensuring we wait for the load to complete.

1:23 PM Changeset in webkit [216265] by wilander@apple.com
  • 2 edits in trunk/Source/WebKit2

Resource Load Statistics: Don't cover in-memory and disk caches during website data removal
https://bugs.webkit.org/show_bug.cgi?id=171741
<rdar://problem/32020691>

Reviewed by Brent Fulgham.

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):

No longer removes WebsiteDataType::DiskCache or WebsiteDataType::MemoryCache.

1:21 PM Changeset in webkit [216264] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] include JSCInlines.h in ObjectInitializationScope.cpp
https://bugs.webkit.org/show_bug.cgi?id=171744

Patch by Guillaume Emont <guijemont@igalia.com> on 2017-05-05
Reviewed by Mark Lam.

  • runtime/ObjectInitializationScope.cpp:
12:44 PM Changeset in webkit [216263] by BJ Burg
  • 4 edits in trunk/Source

CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::commonVMSlow + 57
https://bugs.webkit.org/show_bug.cgi?id=171669
<rdar://problem/31967684>

Reviewed by Mark Lam.

Source/WebCore:

  • bindings/js/CommonVM.h:

(WebCore::commonVMOrNull):
Add an inline accessor function to expose the global variable.

Source/WebKit2:

safaridriver's AutomaticInspection capability causes us to call WebInspectorProxy::connect()
underneath the Automation.inspectBrowsingContext command. This fires a NeedDebuggerBreak
interrupt for the web content's VM, but this is racy because the web content process may
not yet be fully initialized when this interrupt is handled.

To work around this, just don't deliver any interrupts if the VM singleton is still null.
This is a reliable signal that the web content process is not fully initialized yet. Not delivering
is harmless; the interrupt only exists to break out of infinite loops in JS code, but there
could not be any such infinite loop yet if the web content process is not fully initialized.

  • WebProcess/WebPage/WebInspectorInterruptDispatcher.cpp:

(WebKit::WebInspectorInterruptDispatcher::notifyNeedDebuggerBreak):

12:43 PM Changeset in webkit [216262] by fpizlo@apple.com
  • 2 edits in trunk/Source/WebCore

GCController.cpp's collect() should be Async
https://bugs.webkit.org/show_bug.cgi?id=171708

Reviewed by Saam Barati.

No new tests because no change in behavior.

This is one step towards not requesting sync GCs in WebCore. I'm landing this incrementally to
make bisecting super easy.

  • bindings/js/GCController.cpp:

(WebCore::collect):

12:31 PM Changeset in webkit [216261] by BJ Burg
  • 2 edits in trunk/Source/WebKit2

Web Automation: cookie-related commands don't work correctly
https://bugs.webkit.org/show_bug.cgi?id=171713
<rdar://problem/29829930>

Reviewed by Alexey Proskuryakov.

Commands that use WebCookieManager directly should complete when
the manager's completion handler is called. Otherwise, this will race
with subsequent accesses to cookies via the web process (document.cookie).

Also, these commands need to use the active browsing context's session ID.
They currently use the process pool's storage session, which is wrong
since we specially configure automation instances with an ephemeral store.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):

12:26 PM Changeset in webkit [216260] by Jonathan Bedard
  • 6 edits
    2 deletes in trunk/Tools

Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=168945
<rdar://problem/30745695>

Reviewed by David Kilzer.

Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
target SDK. These two changes must happen simultaneously because some archives will
clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.

  • DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
  • DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the

tools directory still includes ImageDiff.

  • DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
  • Scripts/webkitpy/port/darwin.py:

(DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
locally or when running archives.

  • Scripts/webkitpy/port/image_diff.py:

(IOSSimulatorImageDiffer): Deleted.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort.diff_image): Deleted.

12:26 PM Changeset in webkit [216259] by Chris Dumez
  • 26 edits
    2 adds
    183 deletes in trunk

Attr Nodes should not have children
https://bugs.webkit.org/show_bug.cgi?id=171688
<rdar://problem/31998412>

Reviewed by Andreas Kling.

Source/WebCore:

Attr Nodes should not have children as per the latest DOM specification:

Firefox and Chrome both have been matching the DOM specification for a while so I think
we should do the same. This aligns us with other browsers, simplifies the code, is
more efficient and the code being removed has been prone to security bugs.

Test: fast/dom/Attr/cannot-have-children.html

  • dom/Attr.cpp:

(WebCore::Attr::Attr):
(WebCore::Attr::create):
(WebCore::Attr::setValue):
(WebCore::Attr::cloneNodeInternal):

  • dom/Attr.h:
  • Have Attr subclass Node instead of ContainerNode as it can no longer have children.
  • Drop logic to dealing with children / creating a Text child.
  • dom/CharacterData.cpp:

(WebCore::CharacterData::notifyParentAfterChange):
Drop useless check found by the compiler. parentNode() can no longer be an Attr node.

  • dom/Node.cpp:

(WebCore::appendTextContent):
appendTextContent() is called by Node.TextContent(). For Attr Nodes, we should no longer traverse
its subtree to gather Text Nodes. Instead, we now return Attr.value, as per the specification:

  • dom/Range.cpp:

(WebCore::lengthOfContentsInNode):
As per https://dom.spec.whatwg.org/#concept-node-length, we should return the number of children
for Attr Nodes, which will always be 0.

  • xml/XPathUtil.cpp:

(WebCore::XPath::isValidContextNode):
Always return true for TEXT_NODE as the !(node->parentNode() && node->parentNode()->isAttributeNode())
check will also with true now. This is because a parentNode() cannot be an Attribute Node.

LayoutTests:

  • fast/dom/Attr/cannot-have-children-expected.txt: Added.
  • fast/dom/Attr/cannot-have-children.html: Added.

Add layout test coverage. I have verified that this test passes in both
Firefox and Chrome.

  • dom/html/level1/*: Removed legacy / outdated tests.
  • dom/xhtml/level1/*: Removed legacy / outdated tests.
  • fast/dom/Attr/child-nodes-cache-expected.txt: Removed.
  • fast/dom/Attr/child-nodes-cache.html: Removed.
  • fast/dom/Attr/child-nodes-length-cache-expected.txt: Removed.
  • fast/dom/Attr/child-nodes-length-cache.html: Removed.
  • fast/dom/Attr/invalidate-nodelist-after-attr-setvalue-expected.txt: Removed.
  • fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html: Removed.
  • fast/dom/attribute-change-on-mutate-expected.txt: Removed.
  • fast/dom/attribute-change-on-mutate.html: Removed.
  • svg/custom/image-with-attr-change-after-delete-crash-expected.txt: Removed.
  • svg/custom/image-with-attr-change-after-delete-crash.html: Removed.
  • traversal/moz-bug590771-expected.txt: Removed.
  • traversal/moz-bug590771.html: Removed.

Removed some outdated tests.

  • fast/custom-elements/reactions-for-webkit-extensions-expected.txt:
  • fast/custom-elements/reactions-for-webkit-extensions.html:
  • fast/dom/Attr/change-id-via-attr-node-value-expected.txt:
  • fast/dom/Attr/change-id-via-attr-node-value.html:
  • fast/dom/Element/normalize-crash.html:
  • fast/dom/Element/normalize-crash2.html:
  • fast/dom/HTMLLinkElement/event-while-removing-attribute-expected.txt:
  • fast/dom/HTMLLinkElement/event-while-removing-attribute.html:
  • fast/dom/MutationObserver/observe-attributes-expected.txt:
  • fast/dom/MutationObserver/observe-attributes.html:
  • fast/dom/import-attribute-node.html:
  • fast/dom/insertedIntoDocument-child.html:
  • fast/dom/insertedIntoDocument-sibling.html:
  • fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt:
  • fast/dom/no-assert-for-malformed-js-url-attribute.html:
  • fast/dom/normalize-attributes-mutation-event-crash.html:
  • fast/dom/serialize-nodes.xhtml:
  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:

Update existing tests so they stop relying on Attr Node having Text children.

12:21 PM Changeset in webkit [216258] by BJ Burg
  • 4 edits in trunk

[Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as secure
https://bugs.webkit.org/show_bug.cgi?id=171700
<rdar://problem/32017975>

Reviewed by Brady Eidson.

Source/WebCore:

The function that we use to convert from WebCore::Cookie to NSHTTPCookie was
misusing the NSHTTPCookieSecure property. If any value is provided for this key,
even @NO, CFNetwork interprets that to mean that the cookie has the "secure" flag.
Thus, in some cases we would store an "insecure" cookie on a site that uses the
http:// protocol, and be unable to later retrieve the cookie. This is known to
affect cookies set via WebCookieManager, WKHTTPCookieStore, and WebAutomationSession.

This is covered by existing test WebKit2.WKHTTPCookieStore.
The test had a bug that masked this problem.

  • platform/network/cocoa/CookieCocoa.mm:

(WebCore::Cookie::operator NSHTTPCookie *):
Don't include the property if the cookie is not secure.

Tools:

Fix a mistake in the test that should have caught this bug.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:

(TEST):
The assertions that were meant to check round-tripping were actually checking
the properties of the original cookie objects, not the round-tripped ones.
This test now fails without the bugfix and passes when it is applied.

12:20 PM Changeset in webkit [216257] by Wenson Hsieh
  • 3 edits in trunk/Source/WebCore

Add SPI to WebItemProviderPasteboard to synchronously load data with a given timeout
https://bugs.webkit.org/show_bug.cgi?id=171725
<rdar://problem/32014052>

Reviewed by Beth Dakin.

Adds a synchronousTimeout: argument to doAfterLoadingProvidedContentIntoFileURLs:. If a positive timeout
interval is specified by the client, then we will block the main thread for at most that amount of time after
beginning to load from the item providers.

To do this, we introduce another dispatch_group_t in parallel to the fileLoadingGroup that is entered and
left in the same places. However, instead of attaching a handler block, we simply perform a synchronous wait for
either the time limit to be reached, or the item providers to finish loading.

No new tests -- no change in behavior yet.

  • platform/ios/WebItemProviderPasteboard.h:
  • platform/ios/WebItemProviderPasteboard.mm:

(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:]):
(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):

12:16 PM Changeset in webkit [216256] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Clean up Attr.idl
https://bugs.webkit.org/show_bug.cgi?id=171691

Reviewed by Andreas Kling.

Clean up Attr.idl to match the spec:

No Web-facing behavior change except for Attr properties being enumerated
in a slightly different order.

  • dom/Attr.idl:
11:45 AM Changeset in webkit [216255] by dbates@webkit.org
  • 4 edits in trunk/Tools

Use EXPECT_EQ() when comparing strings in TestWebKitAPI tests
https://bugs.webkit.org/show_bug.cgi?id=171698

Reviewed by Darin Adler.

We should use EXPECT_EQ() instead of EXPECT_TRUE() to compare WTF::String() objects
so that we get pretty diff output when the actual string differs from the expected
string as opposed to seeing a boolean result. The former makes makes it straightforward
to diagnose a regression without reading the code for the test or instrumenting it to
determine the actual string that was compared.

  • TestWebKitAPI/Tests/WTF/WTFString.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:

(TestWebKitAPI::TEST_F):

11:41 AM Changeset in webkit [216254] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark w3c test persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=161360

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:39 AM Changeset in webkit [216253] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: !frame().document()->inRenderTreeUpdate() in WebCore::FrameView::layout(bool)
https://bugs.webkit.org/show_bug.cgi?id=171717

Reviewed by Brent Fulgham.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkCompleted):

Don't allow frame load to complete in the middle of a render tree update. Instead delay the check.

11:22 AM Changeset in webkit [216252] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark 2 webrtc test as failing.
https://bugs.webkit.org/show_bug.cgi?id=171728

Unreviewed test gardening.

Patch by Matt Lewis <Matt Lewis> on 2017-05-05

  • platform/ios-wk2/TestExpectations:
11:14 AM Changeset in webkit [216251] by Chris Dumez
  • 5 edits in trunk

Refactor / Clean up Element.idl
https://bugs.webkit.org/show_bug.cgi?id=171734

Reviewed by Sam Weinig.

Source/WebCore:

Refactor / Clean up Element.idl to match the latest specification:

There is no Web-facing behavior change in this patch besides the Element properties
being enumerated in a slightly different order. Things that do not match the
specification have merely been annotated with FIXME comments for now. This makes
it much more obvious what's standard, what's not and what needs fixing.

  • dom/Element.idl:

LayoutTests:

Rebaseline a couple of tests due to Element properties being enumerated in a slightly
different order and because exception messages have changed slightly.

  • fast/dom/Element/attr-param-typechecking-expected.txt:
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
11:13 AM Changeset in webkit [216250] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Link drag images for apple.com front page links have a lot of spurious whitespace
https://bugs.webkit.org/show_bug.cgi?id=171719
<rdar://problem/32010854>

Reviewed by Wenson Hsieh.

  • page/DragController.cpp:

(WebCore::DragController::startDrag):
Use the white-space-simplified string that we put on the pasteboard
for the drag image, too!

11:11 AM Changeset in webkit [216249] by Chris Dumez
  • 15 edits
    3 moves in trunk

Rename webProcessDidCrashWithReason callback to webProcessDidTerminate and stop calling webProcessDidCrash for client terminations
https://bugs.webkit.org/show_bug.cgi?id=171624

Reviewed by Dan Bernstein.

Source/WebKit2:

Follow-up fixes after r216129 based on feedback I have received:

  • Rename webProcessDidCrashWithReason callback function to webProcessDidTerminate given that this is called for non-crashes (e.g. terminations requested by the client).
  • Rename WKProcessCrashReason / ProcessCrashReason to WKProcessTerminationReason / ProcessTerminationReason for consistency with the new naming.
  • Stop calling processDidCrash / webProcessDidCrash for terminations requested by the client, to maintain pre-r216129 behavior. Those are not crashes (The client used an API such as WKPageTerminateProcess()). webProcessDidTerminate will still be called though.
  • Fix a bug where - for terminations due to resource limits - WebPageProxy::processDidCrash() was getting called twice: First by WebProcessProxy::requestTermination() with reason "RequestedByClient" then a second time by WebProcessProxy::terminateProcessDueToResourceLimits() with the proper reason.
  • Shared/ProcessTerminationReason.h: Renamed from Source/WebKit2/Shared/ProcessCrashReason.h.
  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::processDidTerminate):

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toAPI):

  • UIProcess/API/C/WKPage.cpp:

(WKPageTerminate):
(WKPageSetPageNavigationClient):

  • UIProcess/API/C/WKPageNavigationClient.h:
  • UIProcess/API/C/WKProcessTerminationReason.h: Renamed from Source/WebKit2/UIProcess/API/C/WKProcessCrashReason.h.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _killWebContentProcessAndResetState]):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::processDidTerminate):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidTerminate):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::requestTermination):
(WebKit::WebProcessProxy::logDiagnosticMessageForResourceLimitTermination):
(WebKit::WebProcessProxy::didExceedActiveMemoryLimit):
(WebKit::WebProcessProxy::didExceedInactiveMemoryLimit):
(WebKit::WebProcessProxy::didExceedBackgroundCPULimit):

  • UIProcess/WebProcessProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Extend API test coverage to cover crashes in addition to terminations requested by the client.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp.

(TestWebKitAPI::webProcessWasTerminatedByClient):
(TestWebKitAPI::webProcessCrashed):
(TestWebKitAPI::TEST):

11:10 AM Changeset in webkit [216248] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Mac cmake buildfix after r216037
https://bugs.webkit.org/show_bug.cgi?id=171558

Patch by Derek Schuff <dschuff@chromium.org> on 2017-05-05
Reviewed by JF Bastien.

  • PlatformMac.cmake:
10:35 AM Changeset in webkit [216247] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Enable runtime flag for MediaDevices with enable-media-stream property.
https://bugs.webkit.org/show_bug.cgi?id=171730

Reviewed by Michael Catanzaro.

After r215939 the MediaDevices runtime setting has to be enabled
also to use MediaStream / WebRTC.

Enable it as part of the enable-media-stream property of the
WebKitGTK+ API.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webkit_settings_set_enable_media_stream):

9:14 AM Changeset in webkit [216246] by mark.lam@apple.com
  • 4 edits in trunk

DRT's setAudioResultCallback() and IDBRequest::setResult() need to acquire the JSLock.
https://bugs.webkit.org/show_bug.cgi?id=171716
<rdar://problem/30878027>

Reviewed by Saam Barati.

Source/WebCore:

No new tests. This issue was caught by existing tests.

IDBRequest::setResult() needs to acquire the JSLock before calling toJS() (which
does JS conversion and therefore, potentially JS allocations).

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):

Tools:

setAudioResultCallback() needs to acquire the JSLock before calling toJS() (which
does JS conversion and therefore, potentially JS allocations) and accessing
methods of internal JS data structures (which may do JS invocation, etc).

  • DumpRenderTree/TestRunner.cpp:

(setAudioResultCallback):

8:49 AM Changeset in webkit [216245] by commit-queue@webkit.org
  • 5 edits in trunk

REGRESSION (r215951): LayoutTest media/modern-media-controls/placard-support/placard-support-pip.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=171610
<rdar://problem/31976820>

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-05-05
Reviewed by Eric Carlson.

Source/WebKit/mac:

Fullscreen state gets confused because WK1 WebChromeClient doesn't implement exitVideoFullscreenToModeWithoutAnimation.

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):

LayoutTests:

enable test: media/modern-media-controls/pip-support/pip-support-click.html

  • platform/mac-wk1/TestExpectations:
8:33 AM Changeset in webkit [216244] by Jonathan Bedard
  • 2 edits in trunk/Tools

buildbot: Cleanup simulators after running tests
https://bugs.webkit.org/show_bug.cgi?id=171679
<rdar://problem/31994361>

Reviewed by Aakash Jain.

We shutdown the simulator process between tests, but in some cases, this is not
sufficient. Explicitly shutdown every booted simulator.

  • BuildSlaveSupport/kill-old-processes:

(main): Shutdown all booted simulators.

6:37 AM Changeset in webkit [216243] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK] Assertion failure in Inspector::RemoteInspector::setRemoteInspectorClient when disposing WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=171644

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

Fix ASSERT that requires given client to be a valid pointer, since it's valid to pass nullptr to unset the
client. The ASSERT now ensures that client is set or unset. I also renamed the function to setClient because
setRemoteInspectorClient is redundant for a class named RemoteInspector. And added a getter too, to check if the
remote inspector has a client.

  • inspector/remote/RemoteInspector.cpp:

(Inspector::RemoteInspector::setClient):

  • inspector/remote/RemoteInspector.h:

Source/WebKit2:

Ensure that it's not possible to enable automation in more than one WebKitWebContext at the same time. Instead
of creating the AutomationClient unconditionally when the context is constructed, it's now created only when
automation is enabled, and deleted if it's disabled.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):
(webkit_web_context_is_automation_allowed):
(webkit_web_context_set_automation_allowed):

  • UIProcess/Cocoa/AutomationClient.mm:

(WebKit::AutomationClient::AutomationClient):
(WebKit::AutomationClient::~AutomationClient):

Tools:

Check that only one WebKitWebContext can have automation enabled.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:

(testAutomationSessionRequestSession):

6:29 AM Changeset in webkit [216242] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Update expectations of tests failing after GST upgrade to 1.10.4.

  • platform/gtk/TestExpectations:
6:20 AM Changeset in webkit [216241] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] TestController timeout source callback should return G_SOURCE_REMOVE
https://bugs.webkit.org/show_bug.cgi?id=171724

Reviewed by Michael Catanzaro.

It's currently returning CONTINUE which causes it to be called again even if the run loop has been stopped.

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::timeoutSource):

5:05 AM Changeset in webkit [216240] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] Do not report more errors after the first one
https://bugs.webkit.org/show_bug.cgi?id=171722

Reviewed by Xabier Rodriguez-Calvar.

We can receive several error messages for the same error from different elements. That's not expected by the
media source selection algorithm implementation. I don't know if didn't happen with previous versions of GST,
but since the upgrade to 1.10.4 several tests are failing because of this.

Fixes: media/video-error-does-not-exist.html

media/video-load-networkState.html
media/video-source-error.html
media/video-source-none-supported.html
media/video-source-moved.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Return early also when an error already occured.

5:02 AM Changeset in webkit [216239] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] Fix handling of gst errors in MediaPlayerPrivateGStreamer::handleMessage
https://bugs.webkit.org/show_bug.cgi?id=171721

Reviewed by Xabier Rodriguez-Calvar.

We are checking the GError only comparing the code, and ignoring the domain in some cases. Use g_error_matches()
in those cases instead of only checking the code.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

4:56 AM Changeset in webkit [216238] by Carlos Garcia Campos
  • 2 edits
    5 adds in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline several tests.

  • platform/gtk/editing/simple-line-layout-caret-is-gone-expected.txt: Added.
  • platform/gtk/fast/repaint/mutate-non-visible-expected.txt: Added.
  • platform/gtk/fast/visual-viewport/rubberbanding-viewport-rects-extended-background-expected.txt:
  • platform/gtk/http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
1:53 AM Changeset in webkit [216237] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix wrong assert after r215176.

Cairo surface received by computeMD5HashStringForCairoSurface() doesn't need to be ARGB32 since r215176, it
could also be RGB24 when created from a web view snapshot.

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::computeMD5HashStringForCairoSurface):

1:37 AM Changeset in webkit [216236] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening.

  • platform/gtk/TestExpectations: Enable already-passing Web Crypto layout tests

for the GTK+ port. Also update expectations for the imported W3C Web Crypto tests.

Note: See TracTimeline for information about the timeline view.