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

Timeline



Apr 20, 2019:

5:03 PM Changeset in webkit [244491] by Said Abou-Hallawa
  • 3 edits
    2 adds in trunk

REGRESSION (r243137): SVGViewElement.viewTarget should not return a new object
https://bugs.webkit.org/show_bug.cgi?id=197137

Reviewed by Darin Adler.

Source/WebCore:

All the DOM objects accessing the viewTarget of the same SVGViewElement
should hold a Ref pointer to the same SVGStringList property.

Test: svg/dom/SVGViewElement-viewTarget.html

  • svg/SVGViewElement.idl:

LayoutTests:

  • svg/dom/SVGViewElement-viewTarget-expected.txt: Added.
  • svg/dom/SVGViewElement-viewTarget.html: Added.
4:46 PM Changeset in webkit [244490] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r243958): Unnecessary deactivation of AudioSession (PLT Regression)
https://bugs.webkit.org/show_bug.cgi?id=197123
<rdar://problem/49783264>

Reviewed by Per Arne Vollan.

Only set m_becameActive if we actually activated the AudioSession before starting playback. This
avoids unnecessarily deactivating the AudioSession in processWillSuspend().

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):

12:16 PM Changeset in webkit [244489] by rniwa@webkit.org
  • 2 edits in trunk/Source/WTF

HashTable::removeIf always shrinks the hash table by half even if there is nothing left
https://bugs.webkit.org/show_bug.cgi?id=196681
<rdar://problem/49917764>

Reviewed by Darin Adler.

Address Darin's comments by removing the explicit type from std::max.

  • wtf/HashTable.h:

(WTF::KeyTraits>::computeBestTableSize):
(WTF::KeyTraits>::shrinkToBestSize):

12:00 PM Changeset in webkit [244488] by don.olmstead@sony.com
  • 12 edits in trunk

[CMake][Win] Use target oriented design for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=197112

Reviewed by Konstantin Tokarev.

.:

Override WebKitLegacy_DERIVED_SOURCES_DIR within WinCairo in support of a target
oriented design.

  • Source/cmake/OptionsWinCairo.cmake:

Source/WebKitLegacy:

Enumerate the public framework headers for WebKitLegacy and copy them. Include
directories should be PRIVATE. Migrate to using WebKitLegacy_DERIVED_SOURCES_DIR.

  • CMakeLists.txt:
  • PlatformMac.cmake:
  • PlatformWin.cmake:

Source/WebKitLegacy/win:

Fix an include directory.

  • WebKitQuartzCoreAdditions/CMakeLists.txt:

Tools:

Fix includes and libraries for DumpRenderTree after changes to WebKitLegacy targets.

  • DumpRenderTree/CMakeLists.txt:
  • DumpRenderTree/PlatformWin.cmake:
  • DumpRenderTree/win/EventSender.cpp:
11:44 AM Changeset in webkit [244487] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Update text for old EWS submit button
https://bugs.webkit.org/show_bug.cgi?id=197140

Reviewed by Alexey Proskuryakov.

  • QueueStatusServer/templates/statusbubble.html:
11:31 AM Changeset in webkit [244486] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] New EWS should poll bugzilla more frequently
https://bugs.webkit.org/show_bug.cgi?id=197138

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/ews-app/ews/fetcher.py:

(FetchLoop.init):

11:30 AM Changeset in webkit [244485] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-app] Submit to EWS buttons are not aligned properly with status-bubbles
https://bugs.webkit.org/show_bug.cgi?id=197139

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
  • QueueStatusServer/templates/statusbubble.html:
9:44 AM Changeset in webkit [244484] by Chris Dumez
  • 5 edits in trunk

Unreviewed, fix iOS build with recent SDKs.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(deviceOrientation):

  • UIProcess/ios/fullscreen/WKFullScreenViewController.mm:

(-[WKFullScreenViewController initWithWebView:]):
(-[WKFullScreenViewController viewWillTransitionToSize:withTransitionCoordinator:]):
(-[WKFullScreenViewController _statusBarFrameDidChange:]):

Tools:

  • TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
12:08 AM Changeset in webkit [244483] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, suppress warnings in non Darwin environments

  • jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

Apr 19, 2019:

8:57 PM Changeset in webkit [244482] by Megan Gardner
  • 3 edits in trunk/LayoutTests

Fix Long Press Image Test
https://bugs.webkit.org/show_bug.cgi?id=197130
<rdar://problem/50058818>

Reviewed by Wenson Hsieh.

Fixing up test to reflect changes in https://bugs.webkit.org/show_bug.cgi?id=196833

  • fast/events/touch/ios/long-press-on-image-expected.txt:
  • fast/events/touch/ios/long-press-on-image.html:
8:29 PM Changeset in webkit [244481] by ysuzuki@apple.com
  • 19 edits
    5 copies
    2 adds in trunk/Source/bmalloc

[bmalloc] IsoHeap should have lower tier using shared IsoPage
https://bugs.webkit.org/show_bug.cgi?id=196837

Reviewed by Filip Pizlo.

IsoHeap had a scalability problem. Once one instance is allocated from IsoHeap, it immediately allocates 16KB page for this type.
But some types allocate only a few instances. It leads to memory wastage, and it also limits the scalability of IsoHeap since
we need to carefully select classes which will be confined in IsoHeap due to this characteristics. If we can remove this wastage,
we can apply IsoHeap more aggressively without causing memory regression, this is the goal of this patch.

In this patch, we introduce a slow tier to IsoHeap allocation. Initially, the allocator for a certain type allocates instances from
a shared page with the other allocators, and eventually, the allocator tiers up and gets dedicated pages if instances of the type
are allocated a lot. This "shared" tier is slow, but it is totally OK because we will tier up to the normal fast tier if allocation
frequently happens. Even the instance is allocated from pages shared with the other allocators, we still make the allocated memory
region dedicated to the specific type: once a memory region is allocated for a certain type from a shared page, this region continues
being used only for this type even after this memory is freed. To summarize the changes:

  1. We introduce "shared" tier to IsoHeap allocation. Up to N (N = 8 for now, but we can pick any power-of-two numbers up to 32) allocations, we continue using this tier. We allocate memory from shared pages so that we do not waste 16KB pages for types which only allocates a few instances.
  1. We eventually tier up to the "fast" tier, and eventually tier down to the "shared" tier too. We measure the period between slow paths, and switch the appropriate tier for the type. Currently, we use 1 seconds as heuristics. We also count # of allocations per cycle to avoid pathological slow downs.
  1. Shared page mechanism must keep the characteristics of IsoHeap. Once a memory region is allocated for a certain type, this memory region must be dedicated to this type. We keep track the allocated memory regions from shared pages in IsoHeapImpl, and ensure that we never reuse a memory region for a different type.

This patch improves PLUM2 by 1.4% (128.4MB v.s. 126.62MB), and early Speedometer2 results are performance-neutral.

  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Algorithm.h:

(bmalloc::roundUpToMultipleOfImpl):
(bmalloc::roundUpToMultipleOf):

  • bmalloc/BCompiler.h:
  • bmalloc/BExport.h:
  • bmalloc/FreeList.h:
  • bmalloc/IsoAllocator.h:
  • bmalloc/IsoAllocatorInlines.h:

(bmalloc::IsoAllocator<Config>::allocateSlow):

  • bmalloc/IsoDeallocator.h:
  • bmalloc/IsoDeallocatorInlines.h:

(bmalloc::IsoDeallocator<Config>::deallocate):

  • bmalloc/IsoHeapImpl.h:
  • bmalloc/IsoHeapImplInlines.h:

(bmalloc::IsoHeapImpl<Config>::scavenge):
(bmalloc::IsoHeapImpl<Config>::forEachLiveObject):
(bmalloc::IsoHeapImpl<Config>::updateAllocationMode):
(bmalloc::IsoHeapImpl<Config>::allocateFromShared):

  • bmalloc/IsoPage.h:

(bmalloc::IsoPageBase::IsoPageBase):
(bmalloc::IsoPageBase::isShared const):

  • bmalloc/IsoPageInlines.h:

(bmalloc::IsoPage<Config>::IsoPage):
(bmalloc::IsoPageBase::pageFor):
(bmalloc::IsoPage<Config>::pageFor):
(bmalloc::IsoPage<Config>::free):

  • bmalloc/IsoSharedConfig.h: Copied from Source/bmalloc/bmalloc/BExport.h.
  • bmalloc/IsoSharedHeap.cpp: Copied from Source/bmalloc/bmalloc/BExport.h.
  • bmalloc/IsoSharedHeap.h: Copied from Source/bmalloc/bmalloc/IsoAllocator.h.

(bmalloc::VariadicBumpAllocator::VariadicBumpAllocator):
(bmalloc::IsoSharedHeap::IsoSharedHeap):

  • bmalloc/IsoSharedHeapInlines.h: Added.

(bmalloc::VariadicBumpAllocator::allocate):
(bmalloc::IsoSharedHeap::allocateNew):
(bmalloc::IsoSharedHeap::allocateSlow):

  • bmalloc/IsoSharedPage.cpp: Copied from Source/bmalloc/bmalloc/BExport.h.

(bmalloc::IsoSharedPage::tryCreate):

  • bmalloc/IsoSharedPage.h: Copied from Source/bmalloc/bmalloc/IsoDeallocator.h.

(bmalloc::IsoSharedPage::IsoSharedPage):
(bmalloc::indexSlotFor):

  • bmalloc/IsoSharedPageInlines.h: Added.

(bmalloc::IsoSharedPage::free):
(bmalloc::IsoSharedPage::startAllocating):
(bmalloc::IsoSharedPage::stopAllocating):

  • bmalloc/IsoTLS.h:
  • bmalloc/IsoTLSInlines.h:

(bmalloc::IsoTLS::deallocateImpl):
(bmalloc::IsoTLS::deallocateFast):
(bmalloc::IsoTLS::deallocateSlow):

  • bmalloc/StdLibExtras.h:

(bmalloc::bitwise_cast):

  • test/testbmalloc.cpp:

(testIsoMallocAndFreeFast):
(run):

5:37 PM Changeset in webkit [244480] by sbarati@apple.com
  • 5 edits
    1 add in trunk

AbstractValue can represent more than int52
https://bugs.webkit.org/show_bug.cgi?id=197118
<rdar://problem/49969960>

Reviewed by Michael Saboff.

JSTests:

  • stress/abstract-value-can-include-int52.js: Added.

(foo):
(index.index.8.index.60.index.65.index.1234.index.1234.parseInt.string_appeared_here.String.fromCharCode):

Source/JavaScriptCore:

Let's analyze this control flow diamond:

#0
branch #1, #2

#1:
PutStack(JSValue, loc42)
Jump #3

#2:
PutStack(Int52, loc42)
Jump #3

#3:
...

Our abstract value for loc42 at the head of #3 will contain an abstract
value that us the union of Int52 with other things. Obviously in the
above program, a GetStack for loc42 would be inavlid, since it might
be loading either JSValue or Int52. However, the abstract interpreter
just tracks what the value could be, and it could be Int52 or JSValue.

When I did the Int52 refactoring, I expected such things to never happen,
but it turns out it does. We should just allow for this instead of asserting
against it since it's valid IR to do the above.

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::checkConsistency const):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::validateTypeAcceptingBoxedInt52 const):

5:33 PM Changeset in webkit [244479] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Timelines: CPU: remove extra border under last section
https://bugs.webkit.org/show_bug.cgi?id=197120

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/CPUTimelineView.css:

(.timeline-view.cpu > .content > .overview):
(.timeline-view.cpu > .content > .overview:not(:last-child)): Added.

5:33 PM Changeset in webkit [244478] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Web Inspector: Timelines: CPU: ensure that tracking stops when disconnecting Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=197115
<rdar://problem/49877875>

Reviewed by Joseph Pecoraro.

  • inspector/agents/InspectorCPUProfilerAgent.cpp:

(WebCore::InspectorCPUProfilerAgent::willDestroyFrontendAndBackend):

5:31 PM Changeset in webkit [244477] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Timelines: adjust default Media timeline column widths
https://bugs.webkit.org/show_bug.cgi?id=197114

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/MediaTimelineView.js:

(WI.MediaTimelineView):

5:30 PM Changeset in webkit [244476] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Web Inspector: REGRESSION: Elements: "Inspect Element" context menu often doesn't select that element
https://bugs.webkit.org/show_bug.cgi?id=197091
<rdar://problem/49953728>

Reviewed by Joseph Pecoraro.

Delay the inspect event fron firing with the focued node until the frontend has had a
chance to request the document. Otherwise, requesting the document clears the mapping of
node-to-id, so the focused node's id would no longer be valid.

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::focusNode):
(WebCore::InspectorDOMAgent::didCommitLoad):

5:00 PM Changeset in webkit [244475] by Chris Dumez
  • 26 edits
    2 copies
    3 adds in trunk

Disable Ad Click Attribution in ephemeral sessions and make sure conversion requests use an ephemeral, stateless session
https://bugs.webkit.org/show_bug.cgi?id=197108
<rdar://problem/49918702>

Patch by John Wilander <wilander@apple.com> on 2019-04-19
Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session.html

http/tests/adClickAttribution/store-disabled-in-ephemeral-session.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAdClickAttribution const):

Early return for ephemeral sessions.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::shouldUseCredentialStorage):

Now returns false for StoredCredentialsPolicy:EphemeralStatelessCookieless.

  • platform/network/StoredCredentialsPolicy.h:

Added enum value EphemeralStatelessCookieless.

Source/WebKit:

This patch introduces a new NSURLSession in WebKit::NetworkSessionCocoa called
m_ephemeralStatelessCookielessSession. As its name implies, it's ephemeral,
stateless, and has a NSHTTPCookieAcceptPolicyNever cookie policy.

The new session can be invoked with the new enum value of
WebCore::StoredCredentialsPolicy called EphemeralStatelessCookieless.

WebKit::AdClickAttributionManager::fireConversionRequest() makes use of
the new session for its conversion requests.

This patch also makes sure that Ad Click Attributions cannot be stored in
ephemeral sessions and already stored attributions cannot be converted in
ephemeral sessions.

  • NetworkProcess/AdClickAttributionManager.cpp:

(WebKit::AdClickAttributionManager::fireConversionRequest):
(WebKit::AdClickAttributionManager::toString const):

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::willSendRedirectedRequest):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

Calls NetworkSessionCocoa::initializeEphemeralStatelessCookielessSession() lazily.

(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::initializeEphemeralStatelessCookielessSession):
(WebKit::NetworkSessionCocoa::invalidateAndCancel):

  • Shared/WebCoreArgumentCoders.h:

LayoutTests:

Except for the details below, this patch introduces the utility functions
prepareTest() and tearDownAndFinish() and all applicable tests now make use
of them.

  • http/tests/adClickAttribution/attribution-conversion-through-cross-site-image-redirect.html:
  • http/tests/adClickAttribution/attribution-conversion-through-image-redirect-with-priority.html:
  • http/tests/adClickAttribution/attribution-conversion-through-image-redirect-without-priority.html:
  • http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session-expected.txt: Added.
  • http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session.html: Copied from LayoutTests/http/tests/adClickAttribution/send-attribution-conversion-request.html.
  • http/tests/adClickAttribution/resources/conversionReport.php:

Now tries to set a cookie in the response.

  • http/tests/adClickAttribution/resources/util.js: Added.

(prepareTest):
(tearDownAndFinish):

  • http/tests/adClickAttribution/second-attribution-converted-with-higher-priority.html:
  • http/tests/adClickAttribution/second-attribution-converted-with-lower-priority.html:
  • http/tests/adClickAttribution/second-conversion-with-higher-priority.html:
  • http/tests/adClickAttribution/second-conversion-with-lower-priority.html:
  • http/tests/adClickAttribution/send-attribution-conversion-request-expected.txt:
  • http/tests/adClickAttribution/send-attribution-conversion-request.html:
  • http/tests/adClickAttribution/store-ad-click-attribution.html:

Now sets a cookie which is checked for it in the conversion report.

  • http/tests/adClickAttribution/store-disabled-in-ephemeral-session-expected.txt: Added.
  • http/tests/adClickAttribution/store-disabled-in-ephemeral-session.html: Copied from LayoutTests/http/tests/adClickAttribution/store-ad-click-attribution.html.
4:49 PM Changeset in webkit [244474] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit

Use RetainPtr and rename +autocorrectionRectsWithRects:lastRect: to +autocorrectionRectsWithFirstCGRect:lastCGRect:
https://bugs.webkit.org/show_bug.cgi?id=197122

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]): Renamed; formerly named +autocorrectionRectsWithRects:lastRect:.
While I am here use else-branch to initialize firstRect and lastRect just to make the code closer to the optimal
assembly. Also use Vector::{isEmpty, first, last}() instead of using the index operator overload and size() for
emptiness checks. The code is more readable at the cost being ever so slightly slower (due to the overflow checks
in first() and last()), but this code is likely not hot enough for it to matter.
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]): Update for renaming.
(+[WKAutocorrectionRects autocorrectionRectsWithFirstCGRect:lastCGRect:]): Ditto.
(+[WKAutocorrectionRects autocorrectionRectsWithRects:lastRect:]): Deleted.

4:48 PM Changeset in webkit [244473] by dbates@webkit.org
  • 4 edits in trunk/Source/WebKit

-[WKAutocorrectionContext emptyAutocorrectionContext:] generates invalid empty context
https://bugs.webkit.org/show_bug.cgi?id=197119

Reviewed by Wenson Hsieh.

Use the existing EditingRange type to represent the location and length of the marked text
range for an autocorrection instead of managing integers. This type avoid the need to handle
the special case for an empty range represented as NSMakeRange(NSNotFound, 0). Currently
WKAutocorrectionContext incorrectly represents the empty range as NSMakeRange(WTF::notFound, 0).

While I am here, simplify the existing WebAutocorrectionContext encoder/decoder code and rename
+[WKAutocorrectionContext autocorrectionContextWithContext:] to +autocorrectionContextWithWebContext
to better reflect the expected source of the conversion: a Web-type.

  • Shared/ios/WebAutocorrectionContext.h:

(WebKit::WebAutocorrectionContext::encode const): Reformat while I am here to make this logic easy
to amend without losing SVN history.
(WebKit::WebAutocorrectionContext::decode): Simplify the code while I am here.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _handleAutocorrectionContext:]): Update for renaming.
(+[WKAutocorrectionContext emptyAutocorrectionContext]): Update for renaming.
(+[WKAutocorrectionContext autocorrectionContextWithWebContext:]): Renamed; formerly named autocorrectionContextWithContext.
(+[WKAutocorrectionContext autocorrectionContextWithContext:]): Deleted.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::autocorrectionContext): Update to make use of EditingRange. Also instantiate
the struct and return it, initializing its fields individually instead of using the constructor to
make this code less error prone. It's easy to introduce an error with the constructor notation when
amending the the struct because so many of the arguments are of the same data type. Individually
initializing the struct fields makes it less likely for an ordering mistake to be introduced.

3:24 PM Changeset in webkit [244472] by dino@apple.com
  • 3 edits in trunk/Source/WebKit

Add more _WKElementActionTypes and provide API to create with custom types
https://bugs.webkit.org/show_bug.cgi?id=197117
<rdar://problem/50059548>

Reviewed by Tim Horton.

We were missing a few obvious types that are well-known
browser actions, and/or should be visible in share sheets.
Also, clean up the API for constructing new types.

  • UIProcess/API/Cocoa/_WKElementAction.h: Add new types for opening

in new tabs, windows and downloading.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction elementActionWithType:title:actionHandler:]): New constructor
with type, title and action.
(+[_WKElementAction elementActionWithType:]): Call new method.

2:53 PM Changeset in webkit [244471] by dbates@webkit.org
  • 4 edits in trunk/Source

Use existing KeyEventCodesIOS constants instead of duplicating them
https://bugs.webkit.org/show_bug.cgi?id=197081

Rubber-stamped by Wenson Hsieh.

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _interpretKeyEvent:isCharEvent:]): While I am here, remove the case for the space key
as it is identical to the default switch case.

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _handleEditingKeyEvent:]):

2:47 PM Changeset in webkit [244470] by Tadeu Zagallo
  • 5 edits in trunk/Source/JavaScriptCore

Add option to dump JIT memory
https://bugs.webkit.org/show_bug.cgi?id=197062
<rdar://problem/49744332>

Reviewed by Saam Barati.

Dump all writes into JIT memory to the specified file. The format is:

  • 64-bit destination address for the write
  • 64-bit size of the content written
  • Copy of the data that was written to JIT memory
  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::copyCompactAndLinkCode):

  • jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • jit/ExecutableAllocator.h:

(JSC::performJITMemcpy):

  • runtime/Options.h:
2:35 PM Changeset in webkit [244469] by keith_miller@apple.com
  • 2 edits
    1 add in trunk/Tools

Add script to merge run_benchmark jsons
https://bugs.webkit.org/show_bug.cgi?id=197107

Reviewed by Michael Saboff.

The script basically recursively decends through all json objects until it gets
to an array or JSON primitive and concats or takes the first value, respectively.

This patch also adds +x bits to the compare-results script so it
can be run directly from the command line. I had to add a new line so that svn
will accept the change... yay svn!

  • Scripts/compare-results:
  • Scripts/merge-result-jsons: Added.

(readJSONFile):
(deepAppend):
(mergeJSONs):
(main):

2:23 PM Changeset in webkit [244468] by Kocsen Chung
  • 1 copy in tags/Safari-607.2.6

Tag Safari-607.2.6.

2:19 PM Changeset in webkit [244467] by timothy@apple.com
  • 5 edits in trunk

Source/WebCore:
Standardize the <meta name="color-scheme"> separator.
https://bugs.webkit.org/show_bug.cgi?id=193931
rdar://problem/49995929

Reviewed by Darin Adler.

Tests: css-dark-mode/color-scheme-meta.html

  • dom/Document.cpp:

(WebCore::processColorSchemeString): Use isHTMLSpace insead of isColorSchemeSeparator and isASCIISpace.
(WebCore::isColorSchemeSeparator): Deleted.

LayoutTests:
Standardize the <meta name="color-scheme"> separator.
https://bugs.webkit.org/show_bug.cgi?id=193931
rdar://problem/49995929

Reviewed by Darin Adler.

  • css-dark-mode/color-scheme-meta-expected.txt:
  • css-dark-mode/color-scheme-meta.html: Test other types of spaces like tab, newline and vertical tab.
2:07 PM Changeset in webkit [244466] by Keith Rollin
  • 6 edits
    3 adds in trunk/Source

Add postprocess-header-rule scripts
https://bugs.webkit.org/show_bug.cgi?id=197072
<rdar://problem/50027299>

Reviewed by Brent Fulgham.

Several projects have post-processing build phases where exported
headers are tweaked after they've been copied. This post-processing is
performed via scripts called postprocess-headers.sh. For reasons
related to XCBuild, we are now transitioning to a build process where
the post-processing is performed at the same time as the
exporting/copying. To support this process, add similar scripts named
postprocess-header-rule, which are geared towards processing a single
file at a time rather than all exported files at once. Also add a
build rule that makes use of these scripts. These scripts and build
rules are not used at the moment; they will come into use in an
imminent patch.

Note that I've named these postprocess-header-rule rather than
postprocess-header-rule.sh. Scripts in Tools/Scripts do not have
suffixes indicating how the tool is implemented. Scripts in
per-project Scripts folders appear to be mixed regarding the use of
suffixes. I'm opting here to follow the Tools/Scripts convention, with
the expectation that over time we completely standardize on that.

Source/JavaScriptCore:

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Scripts/postprocess-header-rule: Added.

Source/WebKit:

  • Scripts/postprocess-header-rule: Added.
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:
  • scripts/postprocess-header-rule: Added.
2:04 PM Changeset in webkit [244465] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit

Deprecate WebKit2 plug-in support.
<rdar://problem/43812306> and https://bugs.webkit.org/show_bug.cgi?id=197080

Reviewed by Andy Estes.

  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences encodeWithCoder:]):
(-[WKPreferences initWithCoder:]):
(-[WKPreferences javaEnabled]):
(-[WKPreferences setJavaEnabled:]):
(-[WKPreferences plugInsEnabled]):
(-[WKPreferences setPlugInsEnabled:]):

1:09 PM Changeset in webkit [244464] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Minor PSON release logging improvements
https://bugs.webkit.org/show_bug.cgi?id=197104

Reviewed by Darin Adler.

  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::didProcessRequestToSuspend):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::continueNavigationInNewProcess):

1:03 PM Changeset in webkit [244463] by Kocsen Chung
  • 2 edits in branches/safari-607-branch/Source/WebKit

Cherry-pick r244458. rdar://problem/50041560

YouTube and Twitter embeds don't load in News
https://bugs.webkit.org/show_bug.cgi?id=197111
<rdar://problem/50010081>

Reviewed by Timothy Hatcher.

  • WebProcess/com.apple.WebProcess.sb.in: Adjust this sandbox exception to include both platforms.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:55 PM Changeset in webkit [244462] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

[Mac WK2] REGRESSION (r244182) editing/execCommand/change-list-type.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=197065
<rdar://problem/50021964>

Reviewed by Wenson Hsieh.

Like r244461, this test was errornosuly assuming that rAF would be enough to close the undo group
in the UI process. Fixed the test by explicitly waiting for the runloop in the ui process to run
by executing a UI script.

  • editing/execCommand/change-list-type.html:
12:33 PM Changeset in webkit [244461] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION: (r244182) Layout Test editing/execCommand/insert-nested-lists.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=196985

Reviewed by Wenson Hsieh.

The flakiness was caused by the test incorrectly assuming that rAF would
be enough to close the undo group in the UI process.

Fixed the test by explicitly waiting for the runloop in the ui process to run
by executing a UI script.

  • editing/execCommand/insert-nested-lists.html:
12:13 PM Changeset in webkit [244460] by graouts@webkit.org
  • 2 edits
    8 adds in trunk/LayoutTests/imported/w3c

[Pointer Events WPT] Provide iOS testdriver
https://bugs.webkit.org/show_bug.cgi?id=197101
<rdar://problem/50044834>

Reviewed by Dean Jackson.

Add support for the "none" action source and for the "touch" pointer type. This allows us to run the touch-specific
WPT tests for Pointer Events and add some baseline expectations for those tests.

  • web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_pointercancel_touch-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-expected.txt: Added.
  • web-platform-tests/resources/testdriver-vendor.js:

(logDebug): Take a callback so that we don't run code for the purpose of logging unless we're in debug mode.
(dispatchMouseActions):
(dispatchTouchActions): Use testRunner.runUIScript() to compile an event stream based on the input from the WPT tests.
(window.test_driver_internal.action_sequence): Handle the "none" source to insert "pause" commands in the pointer source.

12:01 PM Changeset in webkit [244459] by rniwa@webkit.org
  • 4 edits
    1 add in trunk

Crash in FrameLoader::stopAllLoaders via [WebView dealloc] inside ~ObjCEventListener
https://bugs.webkit.org/show_bug.cgi?id=197079

Reviewed by Darin Adler.

Source/WebKitLegacy/mac:

The crash was caused by the fact deleting a node could end up deleting Objective-C event listeners
some of which may be the last object holding onto WebView itself in the middle of running GC.

It's not generally safe to delete Objective-C objects defiend by client applications since
dealloc could execute arbitrary code, and for instance, try to execute JavaScript or load new page.

Fixed the bug by delaying the dealloc'ing of Objective event listeners via autorelease pool.

  • DOM/ObjCEventListener.mm:

(WebCore::ObjCEventListener::~ObjCEventListener):

Tools:

Added a regression test. It hits a slightly different backtrace but of the same class of issues.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitLegacy/mac/DeallocWebViewInEventListener.mm: Added.
11:54 AM Changeset in webkit [244458] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

YouTube and Twitter embeds don't load in News
https://bugs.webkit.org/show_bug.cgi?id=197111
<rdar://problem/50010081>

Reviewed by Timothy Hatcher.

  • WebProcess/com.apple.WebProcess.sb.in:

Adjust this sandbox exception to include both platforms.

11:17 AM Changeset in webkit [244457] by Wenson Hsieh
  • 5 edits in trunk/Source

[iOS] Add quirks to disable autocorrection and autocapitalization in hidden editable areas on some websites
https://bugs.webkit.org/show_bug.cgi?id=197102
<rdar://problem/49864669>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add a quirk to disable autocorrection and autocapitalization in hidden editable areas.

  • page/Quirks.cpp:

(WebCore::shouldSuppressAutocorrectionAndAutocaptializationInHiddenEditableAreasForHost):
(WebCore::Quirks::shouldSuppressAutocorrectionAndAutocaptializationInHiddenEditableAreas const):

  • page/Quirks.h:

Source/WebKit:

If the quirk for disabling autocorrection and autocapitalization in hidden editable areas is active, then check
whether the focused element is hidden, and turn off autocorrection and autocapitalization if needed.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getFocusedElementInformation):

11:03 AM Changeset in webkit [244456] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.24.1

WPE WebKit 2.24.1

11:03 AM Changeset in webkit [244455] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.24

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.24.1 release

build-wpe-releng/..:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

build-wpe-releng/../Source/WebKit:

  • wpe/NEWS: Add release notes for 2.24.1.
10:48 AM Changeset in webkit [244454] by Alan Coon
  • 7 edits in tags/Safari-608.1.17.1/Source

Versioning.

10:41 AM Changeset in webkit [244453] by Alan Coon
  • 1 copy in tags/Safari-608.1.17.1

New tag.

9:40 AM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
9:39 AM Changeset in webkit [244452] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.24/Source/WTF

Merged r244108 - [WPE] Avoid async IO starving timers
https://bugs.webkit.org/show_bug.cgi?id=196733

Reviewed by Carlos Garcia Campos.

If AsyncIONetwork and DiskCacheRead priorities are higher than
MainThreadSharedTimer the timers get starved. This causes the NetworkProcess
to accumulate MB of data instead of handing it down to the WebProcess (done
using a Timer). This eventually causes an Out Of Memory kill on the
NetworkProcess on some embedded platforms with low memory limits.

This patch levels the three priorities to the same value, while still leaving
DiskCacheWrite with less priority than DiskCacheRead.

  • wtf/glib/RunLoopSourcePriority.h: Changed RunLoopSourcePriority values for WPE.
8:41 AM Changeset in webkit [244451] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Unreviewed, rolling out r244447.
https://bugs.webkit.org/show_bug.cgi?id=197103

Caused build failures with Internal and Opensource builders
(Requested by ShawnRoberts on #webkit).

Reverted changeset:

"Deprecate WebKit2 plug-in support."
https://bugs.webkit.org/show_bug.cgi?id=197080
https://trac.webkit.org/changeset/244447

Note: See TracTimeline for information about the timeline view.