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

Timeline



Jul 15, 2018:

11:43 PM Changeset in webkit [233843] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[webkitpy] run-web-platform-tests should allow specifying custom WPT metadata directories
https://bugs.webkit.org/show_bug.cgi?id=187353

Reviewed by Youenn Fablet.

When using run-web-platform-tests, allow specifying custom WPT metadata
directory. This will avoid generating such metadata-filled directory
from the port-specific JSON expectations file, and instead will search
for the metadata files and the include manifest inside the specified
directory. The MANIFEST.json file will also be generated under there.

Rationale for this change is prototyping using custom metadata
directories and avoiding generating all this content from a JSON file.
Using this by default in the future would avoid sporradic changes in how
WPT handles metadata .ini files and releases us from the obligation of
adjusting the generator for every such change. This would also allow
managing this metadata content in a separate repository, avoiding
polluting the main webkit.org repository with thousands of .ini files.

If this turns out to be the preferable way of managing the metadata
content, the JSON files under WebPlatformTests/ and the related code in
wpt_runner.py would be removed.

  • Scripts/webkitpy/w3c/wpt_runner.py:

(parse_args):
(WPTRunner._wpt_run_paths):
(WPTRunner.run):

  • Scripts/webkitpy/w3c/wpt_runner_unittest.py:

(WPTRunnerTest.test_run_with_specified_options):

10:22 PM Changeset in webkit [233842] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit

[SOUP] http/tests/misc/bubble-drag-events.html crashes
https://bugs.webkit.org/show_bug.cgi?id=182352

Reviewed by Youenn Fablet.

PingLoad is not refcounted and deletes itself when the load finishes. The problem is that the network data
task can also finish the load, causing the PingLoad to be deleted early. We tried to fix it in r233032 in the
network data task soup implementation, but it caused regressions.

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::didReceiveChallenge): Create a weak ref for the ping load before calling the operation completion
handler and return early after the completion handler if it was deleted.
(WebKit::PingLoad::didReceiveResponseNetworkSession): Ditto.

  • NetworkProcess/PingLoad.h:
  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::continueAuthenticate): Revert r233032.

10:19 PM Changeset in webkit [233841] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

[iOS apps on macOS] Playing embedded Twitter videos in the News app crashes the web process
https://bugs.webkit.org/show_bug.cgi?id=187690
<rdar://problem/41869703>

Reviewed by Tim Horton.

Work around unexpected behavior when soft-linking AVFoundation. After using dlopen_preflight to check for the
existence of a library prior to loading the library using dlopen, dlsym subsequently returns null for some
symbols that would otherwise be available. This causes us to RELEASE_ASSERT later down the road when we try to
load AVAudioSessionModeDefault in AudioSessionIOS.mm.

To fix this for now, simply check for the library directly instead of using the more lightweight preflight
check. See clone: <rdar://problem/42224780> for more detail.

  • platform/graphics/avfoundation/objc/AVFoundationMIMETypeCache.mm:

(WebCore::AVFoundationMIMETypeCache::isAvailable const):

Jul 14, 2018:

9:26 PM Changeset in webkit [233840] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Shrink StyleFillData, StyleStrokeData and StyleMiscData
https://bugs.webkit.org/show_bug.cgi?id=187681

Reviewed by Anders Carlsson.

Shrink these data structures by making more enum classes one byte in size, and
re-ordering. StyleFillData goes from 56 to 48, StyleStrokeData from 80 to 72,
StyleMiscData from 40 to 32 bytes.

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleFillData::StyleFillData):
(WebCore::StyleFillData::operator== const):
(WebCore::StyleStrokeData::StyleStrokeData):
(WebCore::StyleStrokeData::operator== const):
(WebCore::StyleStopData::operator== const):
(WebCore::StyleMiscData::StyleMiscData):

  • rendering/style/SVGRenderStyleDefs.h:
7:13 PM Changeset in webkit [233839] by Simon Fraser
  • 11 edits in trunk/Source/WebCore

Shrink CachedResource and subclasses
https://bugs.webkit.org/show_bug.cgi?id=187546

Reviewed by Daniel Bates.

Shrink CachedResource down from 1384 to 1336 bytes, CachedImage from 1480 to
1424 bytes, and CachedFont a little.

This saves about 23KB on cnn.com.

  • loader/ResourceLoaderOptions.h:
  • loader/cache/CachedFont.h:
  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):

  • loader/cache/CachedResource.h:
  • platform/network/CacheValidation.h:

(WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):

  • platform/network/NetworkLoadMetrics.h:
  • platform/network/ParsedContentRange.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.h:
5:29 PM Changeset in webkit [233838] by Simon Fraser
  • 11 edits in trunk/Source/WebCore

Shrink some style-related classes and enums
https://bugs.webkit.org/show_bug.cgi?id=187680

Reviewed by Antti Koivisto.

Make all the enum classes in RenderStyleConstants be one byte big (all have less
than 256 values).

Shrink DocumentRuleSet from 384 to 368 bytes by re-ordering, which also helps shrink
StyleResolver from 1024 to 952 bytes.

Shrink BorderValue by re-ordering (now that the layout of Color has changed) which
shrinks BorderData from 168 to 136 bytes.

Convert a couple of other enums to enum class so that they can have explicit size.

  • css/DocumentRuleSets.h:
  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::documentElementUserAgentStyle const):

  • css/StyleMedia.cpp:

(WebCore::StyleMedia::matchMedium const):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::cascadedPropertiesForRollback):
(WebCore::StyleResolver::applyProperty):
(WebCore::cascadeLevelForIndex):

  • css/StyleResolver.h:
  • rendering/style/BorderValue.h:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyleConstants.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::styleForElement):

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::overrideComputedStyle):

4:44 PM Changeset in webkit [233837] by ap@apple.com
  • 14 edits in trunk/Source

Ensure WebKit stack is ad-hoc signed
https://bugs.webkit.org/show_bug.cgi?id=187667

Patch by Kocsen Chung <Kocsen Chung> on 2018-07-14
Reviewed by Alexey Proskuryakov.

  • Configurations/Base.xcconfig:
9:59 AM Changeset in webkit [233836] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

Replace TR2_OPTIONAL_ASSERTED_EXPRESSION macro in <wtf/Optional.h>
<https://webkit.org/b/187672>

Reviewed by Frédéric Wang.

  • wtf/Optional.h:

(std::optional::operator -> const):
(std::optional::operator * const):
(std::optional<T::operator-> const):
(std::optional<T::operator* const):

  • Replace TR2_OPTIONAL_ASSERTED_EXPRESSION macro with ASSERT_UNDER_CONSTEXPR_CONTEXT macro and return statement.
2:19 AM Changeset in webkit [233835] by krit@webkit.org
  • 7 edits
    12 adds in trunk

[css-masking] Fully support -webkit-clip-path on SVG elements
https://bugs.webkit.org/show_bug.cgi?id=185829

Reviewed by Simon Fraser.

Source/WebCore:

-webkit-clip-path contributes to SVG elements with boxes, shapes and now with
element references to <clipPath> elements as well. Make sure that all types
contribute to hit-testing of the SVG element as well as they should.

Tests: svg/clip-path/webkit-clip-path-after-expected.svg

svg/clip-path/webkit-clip-path-after.svg
svg/clip-path/webkit-clip-path-before-expected.svg
svg/clip-path/webkit-clip-path-before.svg
svg/dynamic-updates/SVGClipPath-prefixed-influences-hitTesting.html
svg/dynamic-updates/SVGClipPath-prefixed-path-influences-hitTesting.html
svg/dynamic-updates/SVGClipPathElement-prefixed-css-transform-influences-hitTesting.html
svg/dynamic-updates/SVGClipPathElement-prefixed-transform-influences-hitTesting.html

  • rendering/svg/SVGRenderSupport.cpp: Share code as much as possible.

(WebCore::clipPathReferenceBox):
(WebCore::isPointInCSSClippingArea): Take -webkit-clip-path into account.
(WebCore::SVGRenderSupport::clipContextToCSSClippingArea):
(WebCore::SVGRenderSupport::pointInClippingArea):

  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRenderingContext.cpp: Clip to -webkit-clip-path boxes, shapes and references.

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGResources.cpp: Add -webkit-clip-path references to cached resources. Mimic SVG clip-path.

(WebCore::SVGResources::buildCachedResources):

LayoutTests:

Test -webkit-clip-path element references on SVG elements. Make sure, -webkit-clip-path
contributes to hit testing for element references and basic shapes.

  • svg/clip-path/webkit-clip-path-after-expected.svg: Added.
  • svg/clip-path/webkit-clip-path-after.svg: Added.
  • svg/clip-path/webkit-clip-path-before-expected.svg: Added.
  • svg/clip-path/webkit-clip-path-before.svg: Added.
  • svg/dynamic-updates/SVGClipPath-prefixed-influences-hitTesting-expected.txt: Added.
  • svg/dynamic-updates/SVGClipPath-prefixed-influences-hitTesting.html: Added.
  • svg/dynamic-updates/SVGClipPath-prefixed-path-influences-hitTesting-expected.txt: Added.
  • svg/dynamic-updates/SVGClipPath-prefixed-path-influences-hitTesting.html: Added.
  • svg/dynamic-updates/SVGClipPathElement-prefixed-css-transform-influences-hitTesting-expected.txt: Added.
  • svg/dynamic-updates/SVGClipPathElement-prefixed-css-transform-influences-hitTesting.html: Added.
  • svg/dynamic-updates/SVGClipPathElement-prefixed-transform-influences-hitTesting-expected.txt: Added.
  • svg/dynamic-updates/SVGClipPathElement-prefixed-transform-influences-hitTesting.html: Added.
Note: See TracTimeline for information about the timeline view.