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

Timeline



Jun 11, 2017:

11:54 PM Changeset in webkit [218090] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session after r217831.

DBus interface and object path names were updated in r217831.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
11:05 PM Changeset in webkit [218089] by Carlos Garcia Campos
  • 7 edits
    1 move
    3 deletes in trunk/Source/WebKit2

[GTK] Remove WKInspectorClientGtk
https://bugs.webkit.org/show_bug.cgi?id=173142

Reviewed by Michael Catanzaro.

It's only used internally in GTk+ API, we can simplify it by using a C++ client instead.

  • PlatformGTK.cmake:
  • UIProcess/API/C/gtk/WKInspectorClientGtk.cpp: Removed.
  • UIProcess/API/C/gtk/WKInspectorClientGtk.h: Removed.
  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitWebInspector.cpp:

(_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate):
(webkitWebInspectorCreate):

  • UIProcess/WebInspectorProxy.cpp:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/gtk/WebInspectorClientGtk.cpp: Removed.
  • UIProcess/gtk/WebInspectorProxyClient.h: Renamed from Source/WebKit2/UIProcess/gtk/WebInspectorClientGtk.h.
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::setClient):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
(WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):

10:19 PM Changeset in webkit [218088] by bshafiei@apple.com
  • 7 edits in tags/Safari-604.1.25.0.1/Source

Versioning.

10:17 PM Changeset in webkit [218087] by bshafiei@apple.com
  • 1 copy in tags/Safari-604.1.25.0.1

New tag.

10:03 PM Changeset in webkit [218086] by mmaxfield@apple.com
  • 1 edit
    1 move in trunk/LayoutTests

[iOS 11] fast/text/international/system-language/arabic-glyph-cache-fill-combine.html hardcodes the system UI Arabic font
https://bugs.webkit.org/show_bug.cgi?id=173244
<rdar://problem/32659595>

Reviewed by Ryosuke Niwa.

iOS 11 changed this font, so we shouldn't hardcode it. Instead,
we can simply change this to an -expected-mismatch.html test to
specifically test against the ".notdef" glyph.

  • fast/text/international/system-language/arabic-glyph-cache-fill-combine-expected-mismatch.html: Renamed from LayoutTests/fast/text/international/system-language/arabic-glyph-cache-fill-combine-expected.html.
10:02 PM Changeset in webkit [218085] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

fast/text/variations/getComputedStyle.html does not need to be asynchronous
https://bugs.webkit.org/show_bug.cgi?id=173246
<rdar://problem/31393842>

Reviewed by Sam Weinig.

I dont know why I made it asynchronous in the first place.

  • fast/text/variations/getComputedStyle.html:
8:58 PM Changeset in webkit [218084] by Yusuke Suzuki
  • 23 edits
    15 adds in trunk

[DFG] Add ArrayIndexOf intrinsic
https://bugs.webkit.org/show_bug.cgi?id=172421

Reviewed by Saam Barati.

JSTests:

  • stress/array-indexof-array-prototype-change.js: Added.

(shouldBe):
(indexOfInt32):

  • stress/array-indexof-have-a-bad-time-getter.js: Added.

(shouldBe):
(indexOfInt32):

  • stress/array-indexof-have-a-bad-time.js: Added.

(shouldBe):
(indexOfInt32):

  • stress/array-indexof-hole-with-prototype.js: Added.

(shouldBe):
(indexOf):

  • stress/array-indexof-hole.js: Added.

(shouldBe):
(indexOf):

  • stress/array-indexof-index.js: Added.

(shouldBe):
(indexOfInt32):
(indexOfDouble):
(indexOfString):
(indexOfObject):
(indexOfValue):

  • stress/array-indexof-negative-index.js: Added.

(shouldBe):
(indexOfInt32):
(indexOfDouble):
(indexOfString):
(indexOfObject):
(indexOfValue):

  • stress/array-indexof-non-int32-start-index.js: Added.

(shouldBe):
(indexOf):
(object.valueOf):

  • stress/array-indexof-object-prototype-change.js: Added.

(shouldBe):
(indexOfInt32):

  • stress/array-indexof-object.js: Added.

(shouldBe):
(indexOf):

  • stress/array-indexof-original-array.js: Added.

(shouldBe):
(indexOfInt32):

  • stress/array-indexof-string.js: Added.

(shouldBe):
(indexOf):

  • stress/array-indexof-structure-change-convert.js: Added.

(shouldBe):
(indexOf):

  • stress/array-indexof-structure-change.js: Added.

(shouldBe):
(indexOf):

  • stress/array-indexof.js: Added.

(shouldBe):
(indexOf):

Source/JavaScriptCore:

This patch introduces ArrayIndexOfInstrinsic for DFG and FTL optimizations.
We emit array check and go fast path if the array is Array::Int32, Array::Double
or Array::Continugous. In addition, for Array::Int32 and Array::Double case,
we have inlined fast paths.

With updated ARES-6 Babylon,

Before

firstIteration: 45.76 +- 3.87 ms
averageWorstCase: 24.41 +- 2.17 ms
steadyState: 8.01 +- 0.22 ms

After

firstIteration: 45.64 +- 4.23 ms
averageWorstCase: 23.03 +- 3.34 ms
steadyState: 7.33 +- 0.34 ms

In SixSpeed.

baseline patched

map-set-lookup.es5 734.4701+-10.4383 102.0968+-2.6357 definitely 7.1939x faster
map-set.es5 41.1396+-1.0558 33.1916+-0.7986 definitely 1.2395x faster
map-set-object.es5 62.8317+-1.2518 45.6944+-0.8369 definitely 1.3750x faster

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasArrayMode):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
(JSC::DFG::SpeculativeJIT::speculateObject):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::speculateInt32):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf):

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

(JSC::ArrayPrototype::finishCreation):

  • runtime/Intrinsic.cpp:

(JSC::intrinsicName):

  • runtime/Intrinsic.h:
8:46 PM Changeset in webkit [218083] by rniwa@webkit.org
  • 6 edits
    2 adds in trunk

didMoveToNewDocument doesn't get called on an Attr inside a shadow tree
https://bugs.webkit.org/show_bug.cgi?id=173133

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by moveShadowTreeToNewDocument never calling didMoveToNewDocument on Attr nodes.
Fixed the bug by using the same traversal code as moveTreeToNewScope in moveShadowTreeToNewDocument
by extracting the traversal code as a templatized traverseSubtreeToUpdateTreeScope.

Also removed the code to increment the DOM tree version in moveTreeToNewScope. This code was there
to invalidate the HTML collection caches which used to clear the cache whenever the DOM tree version
changed before r122621 (five years ago! by me). Since we now eagerly invalidate each node list and
HTML collection's caches via NodeListsNodeData::adoptTreeScope and NodeListsNodeData::adoptDocument.

Test: fast/dom/adopt-attr-with-shadow-tree.html

  • dom/Node.cpp:

(WebCore::moveNodeToNewDocument): Assert that the node had been adopted to a new document.
(WebCore::traverseSubtreeToUpdateTreeScope): Extracted from moveTreeToNewScope.
(WebCore::moveShadowTreeToNewDocument): Use traverseSubtreeToUpdateTreeScope to adopt each node
to the new document.
(WebCore::Node::moveTreeToNewScope): See above.

  • testing/Internals.cpp:

(WebCore::Internals::referencingNodeCount): Added. Used in the newly added regression test.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Added a regression test for moving a shadow tree with an Attr node across a document.
The test hits an assertion in a debug build and fails in a release build without the fix.

  • fast/dom/adopt-attr-with-shadow-tree-expected.txt: Added.
  • fast/dom/adopt-attr-with-shadow-tree.html: Added.
7:40 PM Changeset in webkit [218082] by keith_miller@apple.com
  • 10 edits in trunk

TypedArray constructor with string shouldn't throw
https://bugs.webkit.org/show_bug.cgi?id=173181

Reviewed by JF Bastien.

JSTests:

We should be coercing primitive arguments to numbers in the various
TypedArray constructors.

  • stress/typedarray-constructor.js:

Source/JavaScriptCore:

We should be coercing primitive arguments to numbers in the various
TypedArray constructors.

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewWithArguments):

LayoutTests:

Update tests to allow null buffers.

  • fast/canvas/webgl/array-unit-tests-expected.txt:
  • fast/canvas/webgl/array-unit-tests.html:
  • fast/canvas/webgl/webgl-array-invalid-ranges-expected.txt:
  • fast/canvas/webgl/webgl-array-invalid-ranges.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
6:57 PM Changeset in webkit [218081] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Unaligned pointers in static CMBufferCallbacks structs defined in WebCoreDecompressionSession.mm
https://bugs.webkit.org/show_bug.cgi?id=173245

Reviewed by Sam Weinig.

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::enqueueSample): Prepend 4 bytes of padding to the

structs so that the pointers are properly aligned.

5:47 PM Changeset in webkit [218080] by Yusuke Suzuki
  • 11 edits in trunk/Source

[WTF] Make ThreadMessage portable
https://bugs.webkit.org/show_bug.cgi?id=172073

Reviewed by Keith Miller.

Source/JavaScriptCore:

  • runtime/MachineContext.h:

(JSC::MachineContext::stackPointer):

  • tools/CodeProfiling.cpp:

(JSC::profilingTimer):

Source/WTF:

Recently, we change ThreadMessage semantics: message handler
can be executed in the sender thread.
This allows ThreadMessage to be implemented in a portable way.

This patch implements ThreadMessage for all the platforms.
We use platform-independent Thread APIs, suspend(), resume(),
and getRegisters().

  • wtf/PlatformRegisters.h:

(WTF::registersFromUContext):

  • wtf/ThreadMessage.cpp:

(WTF::sendMessageScoped):
(WTF::ThreadMessageData::ThreadMessageData): Deleted.
(): Deleted.
(WTF::initializeThreadMessages): Deleted.
(WTF::sendMessageUsingSignal): Deleted.
(WTF::sendMessageUsingMach): Deleted.
(WTF::deliverMessagesUsingMach): Deleted.

  • wtf/ThreadMessage.h:
  • wtf/Threading.cpp:

(WTF::initializeThreading):

  • wtf/Threading.h:

(WTF::Thread::threadMessages): Deleted.

  • wtf/ThreadingPthreads.cpp:

(WTF::Thread::signalHandlerSuspendResume):
(WTF::threadStateMetadata):
(WTF::Thread::getRegisters):

  • wtf/threads/Signals.cpp:

(WTF::handleSignalsWithMach):

2:54 PM Changeset in webkit [218079] by graouts@webkit.org
  • 3 edits
    2 deletes in trunk/LayoutTests

Rebaseline media/modern-media-controls/scrubber
https://bugs.webkit.org/show_bug.cgi?id=173212

Reviewed by Jon Lee.

Remove a media/modern-media-controls/scrubber test that is no longer relevant now that there is no standalone scrubber class.

  • media/modern-media-controls/scrubber/scrubber-expected.txt: Removed.
  • media/modern-media-controls/scrubber/scrubber.html: Removed.
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:53 PM Changeset in webkit [218078] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

Enable media/modern-media-controls/scheduler
https://bugs.webkit.org/show_bug.cgi?id=173211

Reviewed by Jon Lee.

  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:51 PM Changeset in webkit [218077] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/rewind-button
https://bugs.webkit.org/show_bug.cgi?id=173210

Reviewed by Jon Lee.

Use SVG assets.

  • media/modern-media-controls/rewind-button/rewind-button-expected.txt:
  • media/modern-media-controls/rewind-button/rewind-button.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:49 PM Changeset in webkit [218076] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/play-pause-button
https://bugs.webkit.org/show_bug.cgi?id=173209

Reviewed by Jon Lee.

Use SVG assets.

  • media/modern-media-controls/play-pause-button/play-pause-button-expected.txt:
  • media/modern-media-controls/play-pause-button/play-pause-button.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:48 PM Changeset in webkit [218075] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/placard
https://bugs.webkit.org/show_bug.cgi?id=173208

Reviewed by Jon Lee.

IconButton is now simply Button.

  • media/modern-media-controls/placard/placard-expected.txt:
  • media/modern-media-controls/placard/placard.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:46 PM Changeset in webkit [218074] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

Enable media/modern-media-controls/pip-placard tests
https://bugs.webkit.org/show_bug.cgi?id=173207

Reviewed by Jon Lee.

  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:45 PM Changeset in webkit [218073] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/pip-button.
https://bugs.webkit.org/show_bug.cgi?id=173206

Reviewed by Jon Lee.

Use SVG assets.

  • media/modern-media-controls/pip-button/pip-button-expected.txt:
  • media/modern-media-controls/pip-button/pip-button.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:43 PM Changeset in webkit [218072] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/mute-button
https://bugs.webkit.org/show_bug.cgi?id=173205

Reviewed by Jon Lee.

We now use SVG assets, so let the test reflect that.

  • media/modern-media-controls/mute-button/mute-button-expected.txt:
  • media/modern-media-controls/mute-button/mute-button.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
2:40 PM Changeset in webkit [218071] by graouts@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests

Remove media/modern-media-controls/macos-media-controls
https://bugs.webkit.org/show_bug.cgi?id=173204

Reviewed by Jon Lee.

There no longer is a MacOSMediaControls class and this test no longer makes sense.

  • media/modern-media-controls/macos-media-controls/macos-media-controls-expected.txt: Removed.
  • media/modern-media-controls/macos-media-controls/macos-media-controls.html: Removed.
10:02 AM Changeset in webkit [218070] by Yusuke Suzuki
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Shrink Structure size
https://bugs.webkit.org/show_bug.cgi?id=173239

Reviewed by Mark Lam.

We find that the size of our Structure is slightly enlarged due to paddings.
By changing the order of members, we can reduce the size from 120 to 112.
This is good because 120 and 112 are categorized into different size classes.
For 120, we allocate 128 bytes. And for 112, we allocate 112 bytes.
We now save 16 bytes per Structure for free.

  • runtime/ConcurrentJSLock.h:
  • runtime/Structure.cpp:

(JSC::Structure::Structure):

  • runtime/Structure.h:
9:59 AM Changeset in webkit [218069] by Yusuke Suzuki
  • 5 edits in trunk/Source/WTF

[WTF] Drop unnecessary includes in Threading.h
https://bugs.webkit.org/show_bug.cgi?id=173167

Reviewed by Darin Adler.

Threading.h includes bunch of headers. But some of them are not necessary.
This patch cleans up it a bit.

  • wtf/Assertions.cpp:
  • wtf/LocklessBag.h:
  • wtf/Threading.h:
  • wtf/ThreadingPrimitives.h:
9:03 AM Changeset in webkit [218068] by timothy_horton@apple.com
  • 5 edits in trunk/Source

REGRESSION (r217870): Null deref under PageOverlayController::uninstallPageOverlay using find in page
https://bugs.webkit.org/show_bug.cgi?id=173196
<rdar://problem/32686871>

Reviewed by Simon Fraser.

Source/WebCore:

  • page/TextIndicator.cpp:

(WebCore::initializeIndicator):

  • page/TextIndicator.h:

The change in r217870 had an expected but not thought-through side-effect
that you cannot create a TextIndicator for far-off-screen elements. This
is a problem for find-in-page, which uses TextIndicator to paint the yellow
highlight before scrolling it into view.

Bring back TextIndicatorOptionDoNotClipToVisibleRect and revert to it for
find in page, since it needs different behavior than something like
drag and drop, which always operates on content near the visible viewport.

Source/WebKit2:

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindController::updateFindIndicator):
The reason this caused a crash instead of just a missing indicator
is that FindControllerIOS would early return after uninstalling
the old overlay, before installing a new one, and leave m_isShowingFindIndicator
set to true. Instead, reset it (and m_findIndicatorOverlay, which
we would never re-use but might as well be freed immediately).

This likely already crashed in other less reproducible cases where a
TextIndicator was not created for a find match, so clean it up.

3:12 AM Changeset in webkit [218067] by Konstantin Tokarev
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, attempt to fix JSC tests on Win after r217771

  • jsc.cpp:

(currentWorkingDirectory): buffer is not NULL-terminated

1:33 AM Changeset in webkit [218066] by Yusuke Suzuki
  • 9 edits in trunk/Source

[WTF] Add RegisteredSymbolImpl
https://bugs.webkit.org/show_bug.cgi?id=173230

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • runtime/SymbolConstructor.cpp:

(JSC::symbolConstructorKeyFor):

Source/WTF:

Most symbols are not registered in SymbolRegistry. However, we currently always
allocate a pointer member to point to a SymbolRegistry, and this pointer is always null.
SymbolImpl is immutable, and it will never be registered with a SymbolRegistry
after it is created. Hence, this member is wasteful.

Instead, we add a new derived class RegisteredSymbolImpl, which will set a flag in
SymbolImpl to indicate that it is registered with a SymbolRegistry. The only way to
create a RegisteredSymbolImpl is via a factory method provided by the SymbolRegistry.
The factory method will pass the SymbolRegistry this pointer to the RegisteredSymbolImpl's
constructor for initializing the RegisteredSymbolImpl's m_symbolRegistry field.
By doing so,

  1. We do not need to set m_symbolRegistry after creating a Symbol. It is clean.
  2. We reduce the size of SymbolImpls that do not need to be registered.
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):

  • wtf/text/StringImpl.h:
  • wtf/text/SymbolImpl.cpp:

(WTF::SymbolImpl::create):
(WTF::RegisteredSymbolImpl::create):

  • wtf/text/SymbolImpl.h:

(WTF::SymbolImpl::hashForSymbol):
(WTF::SymbolImpl::isRegistered):
(WTF::SymbolImpl::SymbolImpl):
(WTF::RegisteredSymbolImpl::symbolRegistry):
(WTF::RegisteredSymbolImpl::clearSymbolRegistry):
(WTF::RegisteredSymbolImpl::RegisteredSymbolImpl):
(WTF::SymbolImpl::symbolRegistry):

  • wtf/text/SymbolRegistry.cpp:

(WTF::SymbolRegistry::~SymbolRegistry):
(WTF::SymbolRegistry::symbolForKey):
(WTF::SymbolRegistry::keyForSymbol):
(WTF::SymbolRegistry::remove):

  • wtf/text/SymbolRegistry.h:
12:53 AM Changeset in webkit [218065] by Yusuke Suzuki
  • 2 edits in trunk/JSTests

Unreviewed, update test results part 3
https://bugs.webkit.org/show_bug.cgi?id=173227

  • microbenchmarks/regexp-prototype-search-observable-side-effects.js:

Jun 10, 2017:

11:30 PM Changeset in webkit [218064] by Carlos Garcia Campos
  • 8 edits
    6 deletes in trunk/Source/WebKit2

[GTK] Remove WKFullScreenClientGtk
https://bugs.webkit.org/show_bug.cgi?id=173140

Reviewed by Michael Catanzaro.

It's only used internally in the GTK+ API. Implementation is a lot simpler without using it, we can simply use
either WebKitWebView or WebKitWebViewBase from PageClient directly.

  • PlatformGTK.cmake:
  • UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp: Removed.
  • UIProcess/API/C/gtk/WKFullScreenClientGtk.h: Removed.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):

  • UIProcess/API/gtk/WebKitFullscreenClient.cpp: Removed.
  • UIProcess/API/gtk/WebKitFullscreenClient.h: Removed.
  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewConstructed):
(webkitWebViewEnterFullScreen):
(webkitWebViewExitFullScreen):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseEnterFullScreen):
(webkitWebViewBaseExitFullScreen):
(webkitWebViewBaseIsFullScreen):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/gtk/WebFullScreenClientGtk.cpp: Removed.
  • UIProcess/gtk/WebFullScreenClientGtk.h: Removed.
11:28 PM Changeset in webkit [218063] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

[GTK] Handle page download request in WebKitWebView directly
https://bugs.webkit.org/show_bug.cgi?id=173137

Reviewed by Žan Doberšek.

We don't need to pass through WebKitWebViewBase, since the base doesn't have an implementation.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::handleDownloadRequest):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewConstructed):
(webkitWebViewHandleDownloadRequest):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSetDownloadRequestHandler): Deleted.
(webkitWebViewBaseHandleDownloadRequest): Deleted.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
11:25 PM Changeset in webkit [218062] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use a lambda in webkit_cookie_manager_get_accept_policy instead of toGenericCallbackFunction
https://bugs.webkit.org/show_bug.cgi?id=173134

Reviewed by Žan Doberšek.

It's simpler and easier to read.

  • UIProcess/API/gtk/WebKitCookieManager.cpp:

(webkit_cookie_manager_get_accept_policy):
(webkitCookieManagerGetAcceptPolicyCallback): Deleted.

7:16 PM Changeset in webkit [218061] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/layout-node
https://bugs.webkit.org/show_bug.cgi?id=173203

Reviewed by Jon Lee.

The "visible" property no longer sets "display: initial" when true, but rather removes the "display" property altogether.

  • media/modern-media-controls/layout-node/visible-expected.txt:
  • media/modern-media-controls/layout-node/visible.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
7:14 PM Changeset in webkit [218060] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

Enable media/modern-media-controls/layout-item
https://bugs.webkit.org/show_bug.cgi?id=173202

Reviewed by Jon Lee.

  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
7:12 PM Changeset in webkit [218059] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/invalid-placard
https://bugs.webkit.org/show_bug.cgi?id=173201

Reviewed by Jon Lee.

The only required change was to update IconButton to Button since IconButton has been folded in its superclass Button.

  • media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics-expected.txt:
  • media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
7:10 PM Changeset in webkit [218058] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/icon-service
https://bugs.webkit.org/show_bug.cgi?id=173200

Reviewed by Jon Lee.

The method we were testing has changed name and the pause icon is no longer a good
test since it doesn't have a fullscreen variant, so we use the AirPlay icon instead.

  • media/modern-media-controls/icon-service/icon-service-expected.txt:
  • media/modern-media-controls/icon-service/icon-service.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:37 PM Changeset in webkit [218057] by mitz@apple.com
  • 31 edits in trunk

Reverted r218056 because it made the IDE reindex constantly.

PerformanceTests:

  • MediaTime/Configurations/DebugRelease.xcconfig:

Source/bmalloc:

  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore/PAL:

  • Configurations/DebugRelease.xcconfig:

Source/WebInspectorUI:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit/mac:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit2:

  • Configurations/DebugRelease.xcconfig:

Source/WTF:

  • Configurations/DebugRelease.xcconfig:

Tools:

  • ContentExtensionTester/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • ImageDiff/cg/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • WebEditingTester/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
1:32 PM Changeset in webkit [218056] by mitz@apple.com
  • 31 edits in trunk

[Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
https://bugs.webkit.org/show_bug.cgi?id=173223

Reviewed by Sam Weinig.

The rebuilds were happening due to a difference in the compiler options that the IDE and
xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
specify an appropriate path in CLANG_INDEX_STORE_PATH.

PerformanceTests:

  • MediaTime/Configurations/DebugRelease.xcconfig:

Source/bmalloc:

  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore/PAL:

  • Configurations/DebugRelease.xcconfig:

Source/WebInspectorUI:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit/mac:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit2:

  • Configurations/DebugRelease.xcconfig:

Source/WTF:

  • Configurations/DebugRelease.xcconfig:

Tools:

  • ContentExtensionTester/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • ImageDiff/cg/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • WebEditingTester/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
12:51 PM Changeset in webkit [218055] by Jonathan Bedard
  • 6 edits in trunk/Tools

webkitpy: Reduce polling in ServerProcess
https://bugs.webkit.org/show_bug.cgi?id=173116

Reviewed by Ryosuke Niwa.

We should be smarter about polling. We do not need to poll every time a line is read from
stdout and stderr since lines are usually read from cached data. We should only poll
when extracting that cached data from stdout and stderr.

  • Scripts/webkitpy/port/driver.py:

(Driver._read_block): Rely on output of the ServerProcess to detect a crash or a timeout
and on ServerProcess to poll the process if not data is available in stdout and stderr.

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest.test_read_block_crashed_process): Test that the Driver will handle a crashing
ServerProcess.

  • Scripts/webkitpy/port/server_process.py:

(ServerProcess._read): Allow for data to be read from _output even if the process has
crashed. Only poll the process if data needs to be extracted from stdout or stderr.

  • Scripts/webkitpy/port/server_process_mock.py:

(MockServerProcess): Add number_of_times_polled.
(MockServerProcess.poll): Increment number_of_times_polled.
(MockServerProcess.has_crashed): Poll before returning crash state.
(MockServerProcess.read_stdout_line): MockServerProcess should return None if it has crashed,
just like a ServerProcess would.
(MockServerProcess.read_stdout): Ditto.

  • Scripts/webkitpy/port/server_process_unittest.py:

(TestServerProcess.test_basic): Use stdin.readline() instead of time.sleep() to prevent the
process from ending before stdout and stderr are read. This is the reason this test was flakey.
(TestServerProcess):
(TestServerProcess.test_process_crashing): Test that when a process crashes, data can be read until
the processes is polled.
(TestServerProcess.test_process_crashing_no_data): Test that when a process which has not output any
data to stdout and stderr crashes, ServerProcess._read(...) polls the process to detect the crash.

12:20 PM Changeset in webkit [218054] by Yusuke Suzuki
  • 2 edits in trunk/JSTests

Unreviewed, update test results part 2
https://bugs.webkit.org/show_bug.cgi?id=173227

  • test262.yaml:
11:35 AM Changeset in webkit [218053] by Yusuke Suzuki
  • 3 edits in trunk/JSTests

Unreviewed, update test results
https://bugs.webkit.org/show_bug.cgi?id=173227

  • microbenchmarks/string-prototype-search-observable-side-effects.js:
  • test262.yaml:
11:33 AM Changeset in webkit [218052] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS] REGRESSION: Link drag images blend into the background in Sierra and earlier
https://bugs.webkit.org/show_bug.cgi?id=172933
<rdar://problem/32580649>

Reviewed by Tim Horton.

  • platform/mac/DragImageMac.mm:

(WebCore::createDragImageForLink): When targeting macOS Sierra and earlier, give the link

drag image a drop shadow that resembles the one that macOS High Sierra applies to drag
image layers.

11:01 AM Changeset in webkit [218051] by Yusuke Suzuki
  • 4 edits in trunk

[JSC] Update RegExp.prototype.[@@search]] implementation according to the latest spec
https://bugs.webkit.org/show_bug.cgi?id=173227

Reviewed by Mark Lam.

JSTests:

Update the test.

  • es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.search].js:

Source/JavaScriptCore:

The latest spec introduces slight change to RegExp.prototype.[@@search].
This patch applies this change. Basically, this change is done in the slow path of
the RegExp.prototype[@@search].
https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search

  • builtins/RegExpPrototype.js:

(search):

12:25 AM Changeset in webkit [218050] by aestes@apple.com
  • 4 edits in trunk

[QuickLook] PreviewLoader needs to check if its ResourceLoader has reached the terminal state before calling didReceiveResponse() and friends
https://bugs.webkit.org/show_bug.cgi?id=173190
<rdar://problem/31360659>

Reviewed by Brady Eidson.
Source/WebCore:

WebPreviewLoader's SubresourceLoader can reach a terminal state while data is loading from
QLPreviewConverter (the user can cancel, for instance). We can't call functions like
didReceiveResponse() in this state, because the loader no longer points to a CachedResource,
leading to null pointer dereferences.

Fix this in WebPreviewLoader by checking if the SubresourceLoader is in a terminal state
before calling didReceiveResponse(), didReceiveData(), didFinishLoading(), and didFail().

Fixes web process crashes in the QuickLook.CancelNavigationAfterResponse API test.

  • loader/ios/PreviewLoader.mm:

(-[WebPreviewLoader _sendDidReceiveResponseIfNecessary]):
(-[WebPreviewLoader connection:didReceiveData:lengthReceived:]):
(-[WebPreviewLoader connectionDidFinishLoading:]):
(-[WebPreviewLoader connection:didFailWithError:]):

Tools:

Added a release assert that tries to create a proper test failure if the web process crashes.

  • TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:

(-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]):

12:13 AM Changeset in webkit [218049] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r217749): Event listeners are removed even if they haven't been added
https://bugs.webkit.org/show_bug.cgi?id=173185

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ResourceDetailsSidebarPanel.js:

(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
(WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
Maintain a member variable flag such that event listeners are only removed if it is true.
It is only set to true once the event listeners are added.

Note: See TracTimeline for information about the timeline view.