Timeline



Sep 28, 2017:

10:37 PM Changeset in webkit [222647] by commit-queue@webkit.org
  • 5 edits
    9 adds
    1 delete in trunk/Source/WebCore

Re-write Settings generation in python for some reason
https://bugs.webkit.org/show_bug.cgi?id=177621

Patch by Sam Weinig <sam@webkit.org> on 2017-09-28
Reviewed by Tim Horton.

Re-writes and splits up generation of InternalSettingsGenerated.{h|cpp|idl}
and SettingsMacros.h in python in preparation for larger changes.

  • DerivedSources.make:
  • Scripts/GenerateSettings: Added.
  • Scripts/GenerateSettings.py: Added.
  • Scripts/GenerateSettings/GenerateInternalSettingsHeaderFile.py: Added.
  • Scripts/GenerateSettings/GenerateInternalSettingsIDLFile.py: Added.
  • Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py: Added.
  • Scripts/GenerateSettings/GenerateSettings.py: Added.
  • Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py: Added.
  • Scripts/GenerateSettings/Settings.py: Added.
  • Scripts/GenerateSettings/init.py: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • page/make_settings.pl: Removed.
8:07 PM Changeset in webkit [222646] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the macOS CMake build

  • CMakeLists.txt:
7:42 PM Changeset in webkit [222645] by rniwa@webkit.org
  • 1 edit
    1 copy in trunk/Websites/browserbench.org

Merge the latest version of Speedometer 2.0 to browserbench.org against at r222534.

Rubber-stamped by Saam Barati (a while ago).

  • Speedometer2.0: Replaced with PerformanceTests/Speedometer.
7:35 PM Changeset in webkit [222644] by clopez@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=177635

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
7:22 PM Changeset in webkit [222643] by Megan Gardner
  • 10 edits in trunk/LayoutTests

Clean up Long Press Selection Tests
https://bugs.webkit.org/show_bug.cgi?id=177636

Reviewed by Tim Horton.

Clean up tests to use better methods of finding selection locations so that
tests are more robust and less likely to be affected by unrelated changes.

  • fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text.html:
  • fast/events/touch/ios/long-press-then-drag-left-to-change-selected-text.html:
  • fast/events/touch/ios/long-press-then-drag-right-to-change-selected-text.html:
  • fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html:
  • fast/events/touch/ios/long-press-to-select-and-tap-to-clear-expected.txt:
  • fast/events/touch/ios/long-press-to-select-and-tap-to-clear.html:
  • fast/events/touch/ios/long-press-to-select-text-expected.txt:
  • fast/events/touch/ios/long-press-to-select-text.html:
  • fast/events/touch/ios/resources/basic-gestures.js:

(longPressAtPoint):
(tapAtPoint):
(touchAndDragFromPointToPoint):
(pressAtPoint): Deleted.
(dragFromPointToPoint): Deleted.

7:01 PM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
5:15 PM Changeset in webkit [222642] by don.olmstead@sony.com
  • 3 edits in trunk/Source/WebCore

Simplify PLATFORM ifdefs within Editor around writing selections
https://bugs.webkit.org/show_bug.cgi?id=177624

Reviewed by Alex Christensen.

No new tests. No change in behavior.

  • editing/Editor.cpp:

(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::copyImage):

  • editing/Editor.h:
5:15 PM Changeset in webkit [222641] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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

Breaks AppleWin build (Requested by dolmstead on #webkit).

Reverted changeset:

"[WinCairo][MiniBrowser] Add ca-bundle to display secure
pages."
https://bugs.webkit.org/show_bug.cgi?id=168486
http://trac.webkit.org/changeset/222639

5:13 PM Changeset in webkit [222640] by jdiggs@igalia.com
  • 7 edits
    10 adds in trunk

AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
https://bugs.webkit.org/show_bug.cgi?id=177542

Source/WebCore:

Add new notification types to AXObjectCache in order to support the notifications
needed, post the notifications to all platforms, emit the signals for ATK.

Reviewed by Chris Fleizach.

Tests: accessibility/gtk/aria-disabled-changed-notification.html

accessibility/gtk/aria-expanded-changed-notification.html
accessibility/gtk/aria-pressed-changed-notification.html
accessibility/gtk/aria-readonly-changed-notification.html
accessibility/gtk/aria-required-changed-notification.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::handleAttributeChanged):

  • accessibility/AXObjectCache.h:
  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::postPlatformNotification):

Tools:

Add platform support for the notifications. Also add support for getting the
boolean argument indicating whether the state has been set or unset.

Reviewed by Chris Fleizach.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

LayoutTests:

Reviewed by Chris Fleizach.

  • accessibility/gtk/aria-disabled-changed-notification-expected.txt: Added.
  • accessibility/gtk/aria-disabled-changed-notification.html: Added.
  • accessibility/gtk/aria-expanded-changed-notification-expected.txt: Added.
  • accessibility/gtk/aria-expanded-changed-notification.html: Added.
  • accessibility/gtk/aria-pressed-changed-notification-expected.txt: Added.
  • accessibility/gtk/aria-pressed-changed-notification.html: Added.
  • accessibility/gtk/aria-readonly-changed-notification-expected.txt: Added.
  • accessibility/gtk/aria-readonly-changed-notification.html: Added.
  • accessibility/gtk/aria-required-changed-notification-expected.txt: Added.
  • accessibility/gtk/aria-required-changed-notification.html: Added.
4:52 PM Changeset in webkit [222639] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
Copy cacert.pem file into bundle directory.
https://bugs.webkit.org/show_bug.cgi?id=168486

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-28
Reviewed by Brent Fulgham.

  • MiniBrowser/win/CMakeLists.txt:
4:32 PM Changeset in webkit [222638] by mark.lam@apple.com
  • 4 edits in trunk

test262: Unexpected passes after r222617 and r222618.
https://bugs.webkit.org/show_bug.cgi?id=177622
<rdar://problem/34725960>

Reviewed by Saam Barati.

JSTests:

Update test262.yaml for tests that are now passing.

  • test262.yaml:

Source/JavaScriptCore:

Now that these tests are marked as "normal", we will run them and discover a few
missing exception checks. This patch also adds those missing exception checks.

  • runtime/DatePrototype.cpp:

(JSC::fillStructuresUsingDateArgs):

4:08 PM Changeset in webkit [222637] by dbates@webkit.org
  • 11 edits in trunk/Source/WebCore

Remove TextRun::setCharactersLength() and TextRun::charactersLength()
https://bugs.webkit.org/show_bug.cgi?id=177620

Reviewed by Zalan Bujtas.

The purpose of TextRun::setCharactersLength() and TextRun::charactersLength() predate the
use of WidthIterator to safely iterate over characters in a TextRun that may contain
surrogate halves due to how it was created (without thought of surrogate pairs). Historically
TextRun::charactersLength() complemented TextRun::length() and represented the length of the
text to render ignoring and respecting truncation, respectively. We not longer need either
of these member functions with the advent of WidthIterator.

No functionality changed. So, no new tests.

  • platform/graphics/ComplexTextController.cpp:

(WebCore::TextLayout::constructTextRun):

  • platform/graphics/TextRun.cpp: Remove one unsigned field from ExpectedTextRunSize as we

reduced the size of TextRun with the removal of TextRun::m_charactersLength.

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):
(WebCore::TextRun::charactersLength const): Deleted.
(WebCore::TextRun::setCharactersLength): Deleted.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::constructTextRun const):

  • rendering/InlineTextBox.h:

(WebCore::InlineTextBox::constructTextRun): Deleted overload that took const RenderStyle& style
and StringView.

  • rendering/RenderText.cpp:

(WebCore::RenderText::widthFromCache const):
(WebCore::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width const):

  • rendering/line/BreakingContext.h:

(WebCore::textWidth):
(WebCore::tryHyphenating):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun const):

  • rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::constructTextRun):

  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair const): Use TextRun::length().
(WebCore::SVGTextMetricsBuilder::advance): Ditto.

4:04 PM Changeset in webkit [222636] by webkit@devinrousso.com
  • 2 edits in trunk/Source/WebInspectorUI

WebInspector: Uncaught Exception: TypeError: this._delegate.completionControllerCSSFunctionValuesNeeded is not a function.
https://bugs.webkit.org/show_bug.cgi?id=177619

Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WI.CodeMirrorCompletionController.prototype._generateCSSCompletions):
Remove accidental typeof keyword.

3:22 PM Changeset in webkit [222635] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Skip failing preconnect tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177626

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:43 PM Changeset in webkit [222634] by Lucas Forschler
  • 1 edit
    5 adds in trunk/Tools

check in AWS Lambda code used for WebKitArchiveSupport
https://bugs.webkit.org/show_bug.cgi?id=177614

Rubber-stamped by Alexey Proskuryakov.

  • WebKitArchiveSupport/lambda: Added.
  • WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.

(lambda_handler):

  • WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.

(lambda_handler):

  • WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.

(lambda_handler):

  • WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.

(lambda_handler):

2:31 PM Changeset in webkit [222633] by jiewen_tan@apple.com
  • 5 edits in trunk

WeakPtrFactory should allow downcasting
https://bugs.webkit.org/show_bug.cgi?id=177389
<rdar://problem/34604174>

Reviewed by Geoffrey Garen.

Source/WTF:

In this patch, WeakPtrFactory is enhanced with the ability to create WeakPtrs
of its owner's sub classes and have them point to the same WeakReference.

  • wtf/WeakPtr.h:

(WTF::WeakPtr::WeakPtr):
We cannot determine the base class of type T, thus no friends. It is made public
such that WeakPtrFactory with a base class type U can create a derived type T
WeakPtr.
(WTF::WeakPtrFactory::createWeakPtr const):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::Base::foo):
(TestWebKitAPI::Base::createWeakPtr):
(TestWebKitAPI::Derived::foo):
(TestWebKitAPI::TEST):

2:13 PM Changeset in webkit [222632] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/storageAccess/request-storage-access-top-frame.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177617

Unreviewed test gardening.

  • platform/ios/TestExpectations:
1:41 PM Changeset in webkit [222631] by Megan Gardner
  • 11 edits in trunk/Tools

Add debug flag to WebKitTestRunner to show where touches are being generated
https://bugs.webkit.org/show_bug.cgi?id=177583

Reviewed by Tim Horton and Wenson Hsieh.

Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
send through UIKit. This will help in debugging touch tests, because it will be easier to see if
one is actually sending the touches at the locations that they expect. This will help differentiate between
problems in the locations of the touches, and other problems that can come up when writing tests.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

  • Scripts/webkitpy/port/driver.py:

(Driver.cmd_line):

  • WebKitTestRunner/Options.cpp:

(WTR::Options::Options):
(WTR::handleOptionShowTouches):
(WTR::OptionsHandler::OptionsHandler):

  • WebKitTestRunner/Options.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

  • WebKitTestRunner/TestController.h:

(WTR::TestController::shouldShowTouches const):

  • WebKitTestRunner/TestOptions.h:
  • WebKitTestRunner/ios/HIDEventGenerator.h:
  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(-[DebugTouchView pointInside:withEvent:]):
(-[HIDEventGenerator setShouldShowTouches:]):
(-[HIDEventGenerator initDebugViews]):
(-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
(-[HIDEventGenerator _createIOHIDEventWithInfo:]):
(-[HIDEventGenerator _createIOHIDEventType:]):
(-[HIDEventGenerator _updateTouchPoints:count:]):
(-[HIDEventGenerator touchDownAtPoints:touchCount:]):
(-[HIDEventGenerator liftUpAtPoints:touchCount:]):
(-[HIDEventGenerator moveToPoints:touchCount:duration:]):
(-[HIDEventGenerator markerEventReceived:]):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::updatePlatformSpecificTestOptionsForTest const):

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp _runTestController]):

1:18 PM Changeset in webkit [222630] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove Error icon in error message for resources it looks poor
https://bugs.webkit.org/show_bug.cgi?id=177613

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-28
Reviewed by Matt Baker.

  • UserInterface/Views/Main.css:

(.message-text-view.error::before): Deleted.

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

Mark imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177615

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:07 PM Changeset in webkit [222628] by jmarcell@apple.com
  • 2 edits in tags/Safari-605.1.8/Source/WTF

Cherry-pick r222593. rdar://problem/34695516

1:03 PM Changeset in webkit [222627] by timothy_horton@apple.com
  • 10 edits
    1 delete in trunk

Remove constant() in favor of env()
https://bugs.webkit.org/show_bug.cgi?id=177581
<rdar://problem/34701321>

Reviewed by Dean Jackson.

Source/WebCore:

No new tests, removing a feature.

  • css/CSSValueKeywords.in:
  • css/CSSVariableData.cpp:

(WebCore::CSSVariableData::checkVariablesForCyclesWithRange const):
(WebCore::CSSVariableData::resolveTokenRange const):

  • css/parser/CSSVariableParser.cpp:

(WebCore::classifyBlock):

Source/WebInspectorUI:

  • UserInterface/Models/CSSCompletions.js:
  • UserInterface/Models/CSSKeywordCompletions.js:

(WI.CSSKeywordCompletions.forProperty):
(WI.CSSKeywordCompletions.forFunction):

LayoutTests:

  • fast/css/variables/constants/invalid-constant-name-fallback-expected.html: Removed.
  • fast/css/variables/constants/invalid-constant-name-fallback.html: Removed.
  • fast/css/variables/constants/ios/safe-area-inset-set-expected.html: Removed.
  • fast/css/variables/constants/ios/safe-area-inset-set.html: Removed.
  • fast/css/variables/constants/safe-area-inset-cannot-override-expected.html: Removed.
  • fast/css/variables/constants/safe-area-inset-cannot-override.html: Removed.
  • fast/css/variables/constants/safe-area-inset-zero-expected.html: Removed.
  • fast/css/variables/constants/safe-area-inset-zero.html: Removed.
1:01 PM Changeset in webkit [222626] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed, fix a test name in TestExpectations.

  • platform/mac-wk1/TestExpectations:
12:50 PM Changeset in webkit [222625] by fpizlo@apple.com
  • 6 edits in trunk/Source

Enable gigacage on iOS
https://bugs.webkit.org/show_bug.cgi?id=177586

Reviewed by Michael Saboff.

Source/bmalloc:

This enables Gigacage on iOS using a much smaller cage size. It's not necessary for it to be so
small, but this is a good conservative starting point to start to exercise the code.

  • bmalloc/Gigacage.h:

Source/JavaScriptCore:

The hardest part of enabling Gigacage on iOS is that it requires loading global variables whil
executing JS, so the LLInt needs to know how to load from global variables on all platforms that
have Gigacage. So, this teaches ARM64 how to load from global variables.

  • offlineasm/arm64.rb:
  • offlineasm/asm.rb:
  • offlineasm/instructions.rb:
12:35 PM Changeset in webkit [222624] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit

Revise deployment target macros from r222620

Rubber-stamped by Wenson Hsieh.

  • WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pdfDocumentDidLoad):

12:22 PM Changeset in webkit [222623] by Brent Fulgham
  • 8 edits in trunk

Add ports 6679 and 6697 (IRC SSL) to port blacklist
https://bugs.webkit.org/show_bug.cgi?id=177544
<rdar://problem/34666525>

Reviewed by Alex Christensen.

Source/WebCore:

Test: security/block-test.html

  • platform/URL.cpp:

(WebCore::portAllowed): Also block port 6679.

LayoutTests:

Update test and expectations for new port.

  • security/block-test-expected.txt:
  • security/block-test.html:
  • platform/gtk/security/block-test-expected.txt:
  • platform/mac/security/block-test-expected.txt:
  • platform/wpe/security/block-test-expected.txt:
11:52 AM Changeset in webkit [222622] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, speculative Windows build fix after r222613.

  • dom/StringCallback.idl:
11:50 AM Changeset in webkit [222621] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Small cleanup in RenderMenuList::didUpdateActiveOption
https://bugs.webkit.org/show_bug.cgi?id=177610

Reviewed by Dean Jackson.

No change in functionality.

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::RenderMenuList):
(RenderMenuList::didUpdateActiveOption):

  • rendering/RenderMenuList.h:
11:40 AM Changeset in webkit [222620] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Request for PDF URL targets for specific pages, sections, etc.
https://bugs.webkit.org/show_bug.cgi?id=177582
<rdar://problem/5692679>

Patch by Aishwarya Nirmal <anirmal@apple.com> on 2017-09-28
Reviewed by Tim Horton.

This change sets the URL fragment for scroll anchoring in PDFs.

  • WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pdfDocumentDidLoad):

11:37 AM Changeset in webkit [222619] by commit-queue@webkit.org
  • 18 edits
    1 move in trunk/Source

[PAL] Move HysteresisActivity into PAL
https://bugs.webkit.org/show_bug.cgi?id=177516

Patch by Ross Kirsling <Ross Kirsling> on 2017-09-28
Reviewed by Alex Christensen.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/UserActivity.cpp:

(WebCore::UserActivity::UserActivity):
(WebCore::UserActivity::hysteresisUpdated):

  • platform/UserActivity.h:
  • platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:

(WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl):

  • platform/graphics/cairo/BackingStoreBackendCairoImpl.h:
  • platform/ios/WebSQLiteDatabaseTrackerClient.h:
  • platform/ios/WebSQLiteDatabaseTrackerClient.mm:

(WebCore::WebSQLiteDatabaseTrackerClient::WebSQLiteDatabaseTrackerClient):
(WebCore::WebSQLiteDatabaseTrackerClient::hysteresisUpdated):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/HysteresisActivity.h: Renamed from Source/WebCore/platform/HysteresisActivity.h.

Source/WebKit:

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):

  • Shared/WebSQLiteDatabaseTracker.cpp:

(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
(WebKit::WebSQLiteDatabaseTracker::hysteresisUpdated):

  • Shared/WebSQLiteDatabaseTracker.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_pageScrolledHysteresis):
(WebKit::m_userActivityHysteresis):
(WebKit::WebPage::updateUserActivity):

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

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:
11:25 AM Changeset in webkit [222618] by mark.lam@apple.com
  • 2 edits in trunk/Tools

[Re-landing] Turn on exception scope verification for JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=162351
<rdar://problem/29563911>

Reviewed by Saam Barati.

Update: I'm re-landing this patch now that test262 exception check validation
failures have been fixed in r222617. testapi still has some validation failures,
but this patch does not affect testapi.

Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
run-jsc-stress-tests. This turns on exception scope verification on JSC test
runs (which currently does not include testapi).

Some stats on time to run JSC stress and mozilla tests:

  1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
  2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
  3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
  4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s

The stats shows that (2) and (3) has effectively no time difference. Hence, the
cost of enabling --validateExceptionChecks=true is not significant.

It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
21% slower than (3). To avoid making debug test runs a lot slower, we'll leave
--dumpSimulatedThrows=true off. We can manually add that when we see a regression
and need to debug the issue. Otherwise, we wont pay the price for it.

  • Scripts/run-jsc-stress-tests:
11:09 AM Changeset in webkit [222617] by mark.lam@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Add missing exception checks and book-keeping for exception check validation.
https://bugs.webkit.org/show_bug.cgi?id=177609
<rdar://problem/34717972>

Reviewed by Keith Miller.

This resolves exception check validation failures when running test262 tests and
a few other tests.

  • API/APIUtils.h:

(handleExceptionIfNeeded):

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectSetPrototype):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • API/JSTypedArray.cpp:

(JSObjectMakeTypedArray):
(JSObjectMakeTypedArrayWithBytesNoCopy):
(JSObjectMakeTypedArrayWithArrayBuffer):
(JSObjectMakeTypedArrayWithArrayBufferAndOffset):
(JSObjectMakeArrayBufferWithBytesNoCopy):

  • API/JSValueRef.cpp:

(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):

  • runtime/DatePrototype.cpp:

(JSC::fillStructuresUsingTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewWithArguments):

  • runtime/JSModuleEnvironment.cpp:

(JSC::JSModuleEnvironment::put):

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::toStringName):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):

10:56 AM Changeset in webkit [222616] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[mac-wk1] Layout test webrtc/datachannel/bufferedAmountLowThreshold tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=177462

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-28
Reviewed by Alex Christensen.

  • webrtc/datachannel/bufferedAmountLowThreshold-default.html: Filling buffer until bufferedAmount is bug enough to trigger bufferedAmountLow event.
  • webrtc/datachannel/bufferedAmountLowThreshold-expected.txt:
  • webrtc/datachannel/bufferedAmountLowThreshold.html: Removing test that is inherently flaky on bots that are not fast enough

to continue filling the webrtc data channel buffer.

10:37 AM Changeset in webkit [222615] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WTF

Sync SYSTEM_MALLOC implementation of Gigacage
https://bugs.webkit.org/show_bug.cgi?id=177569

Reviewed by Mark Lam.

  • wtf/Gigacage.h:

(Gigacage::basePtr):
(Gigacage::basePtrs):

10:34 AM Changeset in webkit [222614] by Jonathan Bedard
  • 3 edits in trunk/Source/WebKitLegacy/mac

Build fix for High Sierra 32 bit Mac
https://bugs.webkit.org/show_bug.cgi?id=177551
<rdar://problem/34690283>

Reviewed by Alexey Proskuryakov.

Some assertions have been removed from the SDK. Replace these assertions with equivalent
WTF assert code. Since the files in this patch are using tabs, some style changes were
also made.

  • Carbon/CarbonWindowAdapter.mm:

(+[CarbonWindowAdapter frameViewClassForStyleMask:]):
(-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]):
(-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
(-[CarbonWindowAdapter setViewsNeedDisplay:]):
(-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]):
(-[CarbonWindowAdapter dealloc]):
(-[CarbonWindowAdapter windowRef]):
(-[CarbonWindowAdapter _hasWindowRef]):
(-[CarbonWindowAdapter _managesWindowRef]):
(-[CarbonWindowAdapter _removeWindowRef]):
(-[CarbonWindowAdapter _carbonWindowClass]):
(-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
(-[CarbonWindowAdapter sendSuperEvent:]):
(-[CarbonWindowAdapter relinquishFocus]):
(-[CarbonWindowAdapter _cancelKey:]):
(-[CarbonWindowAdapter _commonAwake]):
(-[CarbonWindowAdapter _destroyRealWindow:]):
(-[CarbonWindowAdapter _oldPlaceWindow:]):
(-[CarbonWindowAdapter _termWindowIfOwner]):
(-[CarbonWindowAdapter _windowMovedToRect:]):
(-[CarbonWindowAdapter constrainFrameRect:toScreen:]):
(-[CarbonWindowAdapter selectKeyViewFollowingView:]):
(-[CarbonWindowAdapter selectKeyViewPrecedingView:]):
(-[CarbonWindowAdapter canBecomeKeyWindow]):
(-[CarbonWindowAdapter canBecomeMainWindow]):
(-[CarbonWindowAdapter encodeWithCoder:]):
(-[CarbonWindowAdapter initWithCoder:]):
(-[CarbonWindowAdapter setContentView:]):
(-[CarbonWindowAdapter worksWhenModal]):
(-[CarbonWindowAdapter _setModalWindowLevel]):
(-[CarbonWindowAdapter _clearModalWindowLevel]):
(-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]):
(-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]):
(-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]):
(-[CarbonWindowAdapter _handleRootBoundsChanged]):
(-[CarbonWindowAdapter _handleContentBoundsChanged]):
(-[CarbonWindowAdapter _handleCarbonEvent:callRef:]):
(NSCarbonWindowHandleEvent):
(-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):
(-[CarbonWindowAdapter _growBoxRect]):

  • Carbon/HIWebView.mm:

(HIWebViewGetWebView):
(HIWebViewConstructor):
(HIWebViewDestructor):
(HIWebViewRegisterClass):
(GetBehaviors):
(Draw):
(HitTest):
(GetRegion):
(GetWindowRef):
(CreateNSEventAdoptingCGEvent):
(CopyEventCGEvent):
(CreateNSEventWithCarbonClickEvent):
(Click):
(CreateNSEventWithCarbonEvent):
(MouseUp):
(CreateNSEventWithCarbonMouseMoveEvent):
(MouseMoved):
(MouseDragged):
(MouseWheelMoved):
(ContextMenuClick):
(GetKind):
(BoundsChanged):
(OwningWindowChanged):
(WindowHandler):
(SyncFrame):
(SetFocusPart):
(AdvanceFocus):
(RelinquishFocus):
(ActiveStateChanged):
(ProcessCommand):
(UpdateCommandStatus):
(_NSSelectorForHICommand):
(HIWebViewEventHandler):
(StartUpdateObserver):
(StopUpdateObserver):
(UpdateObserver):

10:05 AM Changeset in webkit [222613] by Chris Dumez
  • 56 edits
    17 adds in trunk

Add support for <link rel=preconnect>
https://bugs.webkit.org/show_bug.cgi?id=177474
<rdar://problem/33141380>

Reviewed by Alex Christensen.

Source/WebCore:

Add support for <link rel=preconnect>:

It is currently only enabled for WK2 on MacOS High Sierra+
and iOS 11+.

Tests: fast/dom/HTMLLinkElement/preconnect-support.html

http/tests/preconnect/link-rel-preconnect-http.html
http/tests/preconnect/link-rel-preconnect-https.html

  • bindings/js/JSDOMExceptionHandling.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackHeaderContent):

  • bindings/scripts/IDLAttributes.json:
  • dom/Document.cpp:

(WebCore::Document::addConsoleMessage):
(WebCore::Document::setConsoleMessageListener):

  • dom/Document.h:
  • dom/StringCallback.idl:
  • html/DOMTokenList.cpp:

(WebCore::DOMTokenList::DOMTokenList):
(WebCore::DOMTokenList::supports):

  • html/DOMTokenList.h:

(WebCore::DOMTokenList::DOMTokenList):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::relList):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::sandbox):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::relList):

  • html/LinkRelAttribute.cpp:

(WebCore::LinkRelAttribute::LinkRelAttribute):
(WebCore::LinkRelAttribute::isSupported):

  • html/LinkRelAttribute.h:
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::loadLinksFromHeader):
(WebCore::LinkLoader::loadLink):

  • loader/LoaderStrategy.h:
  • page/Settings.in:
  • testing/Internals.cpp:

(WebCore::Internals::Internals):
(WebCore::Internals::setConsoleMessageListener):

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

Source/WebCore/PAL:

Add new CFNetwork SPI for preconnecting.

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

Add support for <link rel=preconnect>:

Also add corresponding native private API.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::preconnectTo):
(WebKit::NetworkConnectionToWebProcess::didFinishPreconnection):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::create):

  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::preconnectTo):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/PreconnectTask.cpp: Added.

(WebKit::PreconnectTask::PreconnectTask):
(WebKit::PreconnectTask::~PreconnectTask):
(WebKit::PreconnectTask::willPerformHTTPRedirection):
(WebKit::PreconnectTask::didReceiveChallenge):
(WebKit::PreconnectTask::didReceiveResponseNetworkSession):
(WebKit::PreconnectTask::didReceiveData):
(WebKit::PreconnectTask::didCompleteWithError):
(WebKit::PreconnectTask::didSendData):
(WebKit::PreconnectTask::wasBlocked):
(WebKit::PreconnectTask::cannotShowURL):
(WebKit::PreconnectTask::didFinish):

  • NetworkProcess/PreconnectTask.h: Copied from Source/WebKit/NetworkProcess/NetworkLoadParameters.h.
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextPreconnectToServer):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _preconnectToServer:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::preconnectToServer):

  • UIProcess/WebProcessPool.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didFinishPreconnection):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::generateLoadIdentifier):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):
(WebKit::WebLoaderStrategy::didFinishPreconnection):

  • WebProcess/Network/WebLoaderStrategy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • config.h:

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::preconnectTo):

  • WebCoreSupport/WebResourceLoadScheduler.h:

LayoutTests:

  • fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Added.
  • fast/dom/HTMLLinkElement/preconnect-support.html: Added.
  • http/tests/preconnect/link-rel-preconnect-http-expected.txt: Added.
  • http/tests/preconnect/link-rel-preconnect-http.html: Added.
  • http/tests/preconnect/link-rel-preconnect-https-expected.txt: Added.
  • http/tests/preconnect/link-rel-preconnect-https.html: Added.

Add layout test coverage.

  • platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Added.
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Added.
  • platform/mac-wk2/TestExpectations:

Skip or land failure expectations for platforms where the feature is disabled.

9:31 AM Changeset in webkit [222612] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

AX: Defer RenderListBox selectionChanged event until after layout is done.
https://bugs.webkit.org/show_bug.cgi?id=177589
<rdar://problem/34705785>

Reviewed by Chris Fleizach.

Defer AX update when the selection changed event is followed by a layout.

Covered by existing tests.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::selectionChanged):

8:53 AM Changeset in webkit [222611] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Update TestExpectations for two http/tests/xmlhttprequest/response-* tests.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
7:54 AM Changeset in webkit [222610] by zandobersek@gmail.com
  • 8 edits in trunk/Source

[Cairo] Remove the cairo_glyph_t complexity from GlyphBuffer
https://bugs.webkit.org/show_bug.cgi?id=177598

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Remove the decade-old use of cairo_glyph_t as the underlying type for
Glyph. The former spans 24 bytes in size, while the latte is just 2
bytes. The x and y coordinate attributes of cairo_glyph_t were only
used in FontCascade::drawGlyphs() implementation, where they were
overridden even if the same GlyphBuffer object was used here repeatedly.

FontCascade::drawGlyphs() now creates a new Vector<cairo_glyph_t> object
and fills it only with the glyph index and coordinates data for glyphs
that will actually be drawn. This will likely in the future be leveraged
to pack the necessary data and perform the drawing operations in
parallelized tasks. GlyphBuffer usages that before required USE(CAIRO)
special-casing can now be simplified.

This also removes the need for <cairo.h> header inclusion in the
GlyphBuffer.h header. This further removes Cairo header inclusion in
roughly 600 build targets.

No new tests -- no change in behavior.

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::widthForSimpleText const):

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBuffer::glyphAt const):
(WebCore::GlyphBuffer::add):

  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::drawGlyphsToContext):
(WebCore::drawGlyphsShadow):
(WebCore::FontCascade::drawGlyphs):

  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::DrawGlyphs::generateGlyphBuffer const):

Source/WebKit:

  • Shared/API/c/cairo/WKImageCairo.cpp: Explicitly include the <cairo.h>

header here now that it's not included in GlyphBuffer.h.

  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: Ditto.
7:53 AM Changeset in webkit [222609] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r222606.

The debug assertion hit in these API tests should be fixed by
r222608.

Reverted changeset:

"REGRESSION(r222595): Assertion failure in
_preLoadedDataConformingToType"
https://bugs.webkit.org/show_bug.cgi?id=177599
http://trac.webkit.org/changeset/222606

7:47 AM Changeset in webkit [222608] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

[iOS WK2] DataTransfer DataInteractionTests debug assert under -_preLoadedDataConformingToType:forItemProviderAtIndex:
https://bugs.webkit.org/show_bug.cgi?id=177594

Reviewed by Tim Horton.

Currently, some API tests added in r222595 currently hit debug assertions under -preloadedDataConformingToType:
forItemProviderAtIndex:. This is because the page may call DataTransfer.types, which now calls into
PlatformPasteboard::typesSafeForDOMToReadAndWrite(). This calls on the AbstractPasteboard (either the
UIPasteboard or WebItemProviderPasteboard, in the case of drag and drop) to fetch the custom WebKit pasteboard
data blob, if it exists. For WebItemProviderPasteboard, this ends up calling into -[WebItemProviderPasteboard
_preLoadedDataConformingToType:forItemProviderAtIndex:], which was previously only called after loading data off
of the item providers. There's an existing sanity check in this preloaded data helper to make sure that the
number of load results is equal to the number of item providers loaded from, but this sanity check only makes
sense *after* the drop has happened, not before, since we should only attempt to read dropped data after any
data at all has been dropped.

We need to check whether or not this custom data blob exists in PlatformPasteboard::typesSafeForDOMToReadAndWrite
to fetch the list of DOM-exposed types to propagate back to the page. So to fix this, we make the helper methods
for fetching dropped data (-dataForPasteboardType:inItemSet: and -valuesForPasteboardType:inItemSet:) fail
gracefully when invoked prior to drop, when PlatformPasteboard::typesSafeForDOMToReadAndWrite is invoked.

No new tests; fixes iOS drag and drop API tests that currently hit this debug assertion.

  • platform/ios/WebItemProviderPasteboard.mm:

(-[WebItemProviderPasteboard dataForPasteboardType:inItemSet:]):
(-[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:]):

4:20 AM Changeset in webkit [222607] by msaboff@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Unreviewed fix of description in Changelog.

2:30 AM Changeset in webkit [222606] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r222595): Assertion failure in _preLoadedDataConformingToType
https://bugs.webkit.org/show_bug.cgi?id=177599

Temporarily remove the debug assertion to make API tests not crash since the relevant API tests are passing.

  • platform/ios/WebItemProviderPasteboard.mm:

(-[WebItemProviderPasteboard _preLoadedDataConformingToType:forItemProviderAtIndex:]):

Sep 27, 2017:

11:57 PM Changeset in webkit [222605] by commit-queue@webkit.org
  • 8 edits in trunk

[REGRESSION] word-spacing property is incorrectly applied
https://bugs.webkit.org/show_bug.cgi?id=142086
<rdar://problem/19985240>

Patch by Fujii Hironori <Fujii Hironori> on 2017-09-27
Reviewed by Zalan Bujtas.

Source/WebCore:

word-spacing property isn't applied to text nodes with starting
with '\n' if the kerning enabled. In Bug 165796, only ' ' and '\t'
are treated for word-spacing, but '\n'. It should be treated as
well.

Test: fast/text/word-space-between-inlines.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun): Use
FontCascade::treatAsSpace() instead of checking explicitly by
comparing with ' ' and '\t'.

LayoutTests:

  • platform/gtk/TestExpectations: Unmark

fast/text/word-space-between-inlines.html

  • platform/mac/TestExpectations: Unmark

fast/css/word-spacing-between-blocks.html,
fast/css/word-spacing-between-inlines.html,
fast/css/word-spacing-characters.html and
fast/text/word-space-between-inlines.html.

  • platform/gtk/fast/css/word-space-extra-expected.txt:

Rebaselined.

  • platform/mac/fast/css/word-space-extra-expected.png: Ditto.
  • platform/mac/fast/css/word-space-extra-expected.txt: Ditto.
11:18 PM Changeset in webkit [222604] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

[Cairo] Remove unnecessary cairo.h includes
https://bugs.webkit.org/show_bug.cgi?id=177540

Reviewed by Carlos Garcia Campos.

Drop unnecessary includes of the cairo.h header from the Font.h,
FontPlatformData.h and Pattern.h headers. For the former two the
header isn't required, while in the last one we can use a forward
declaration for the cairo_pattern_t type instead of including
the whole Cairo headers to have that available.

  • platform/graphics/Font.h:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/Pattern.h:
11:16 PM Changeset in webkit [222603] by zandobersek@gmail.com
  • 11 edits
    1 delete in trunk/Source/WebCore

[Cairo] Drop cairo_matrix_t conversion operators for AffineTransform, TransformationMatrix
https://bugs.webkit.org/show_bug.cgi?id=177539

Reviewed by Carlos Garcia Campos.

Remove the cairo_matrix_t conversion operators from the AffineTransform
and TransformationMatrix classes. These are rarely used, but enforce
including the cairo.h header in both headers, which leads to the Cairo
headers being included in around 800 build targets.

Instead, the toCairoMatrix() function is added to CairoUtilities.h that
creates a cairo_matrix_t object for the given AffineTransform. No
toCairoMatrix() is needed for TransformationMatrix since objects of
that type aren't converted to cairo_matrix_t anywhere in the codebase.

This patch excludes unnecessary Cairo headers from about 550 build
targets (with those headers being included in the other affected 250
targets by some other header inclusion chain). CairoUtilities.h header
is now included where necessary to make toCairoMatrix() available, and
duplicated cairo.h inclusions are removed.

No new tests -- no change in behavior.

  • editing/gtk/EditorGtk.cpp: Explicitly include <cairo.h> since it's

necessary for Cairo operations used there.

  • platform/Cairo.cmake:
  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::drawPatternToCairoContext):
(WebCore::toCairoMatrix):

  • platform/graphics/cairo/CairoUtilities.h:
  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::Gradient::platformGradient):
(WebCore::Gradient::setPlatformGradientSpaceTransform):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):

  • platform/graphics/cairo/PathCairo.cpp: No need to include AffineTransform.h.

(WebCore::Path::addPath):
(WebCore::Path::transform):

  • platform/graphics/cairo/PatternCairo.cpp: Ditto.

(WebCore::Pattern::createPlatformPattern const):

  • platform/graphics/cairo/TransformationMatrixCairo.cpp: Removed.
  • platform/graphics/transforms/AffineTransform.h:
  • platform/graphics/transforms/TransformationMatrix.h:
10:43 PM Changeset in webkit [222602] by achristensen@apple.com
  • 32 edits
    1 add in trunk

Add WKContentRuleList notify action type
https://bugs.webkit.org/show_bug.cgi?id=177013
<rdar://problem/31073936>

Reviewed by Darin Adler.

Source/WebCore:

Covered by new API tests.

  • contentextensions/ContentExtensionActions.h:

(WebCore::ContentExtensions::hasStringArgument):

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
(WebCore::ContentExtensions::serializeActions):

  • contentextensions/ContentExtensionError.cpp:

(WebCore::ContentExtensions::contentExtensionErrorCategory):

  • contentextensions/ContentExtensionError.h:
  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadAction):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::Action):

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/PingLoader.cpp:

(WebCore::processContentExtensionRulesForLoad):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::applyBlockedStatus):

  • loader/cache/CachedResourceRequest.h:
  • page/ChromeClient.h:

Source/WebKit:

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::processContentExtensionRulesForLoad):

  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::contentRuleListNotification):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageNavigationClient):

  • UIProcess/API/C/WKPageNavigationClient.h:
  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::contentRuleListNotification):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::contentRuleListNotification):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::contentRuleListNotification):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::data):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::actionsEqual):
(TestWebKitAPI::sequenceInstances):
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
(TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.

(-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(makeWarnContentRuleList):
(TEST):

10:15 PM Changeset in webkit [222601] by msaboff@apple.com
  • 3 edits
    1 add in trunk

REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match
https://bugs.webkit.org/show_bug.cgi?id=177570

Reviewed by Filip Pizlo.

JSTests:

New regression test.

  • stress/regress-177570.js: Added.

Source/JavaScriptCore:

The change in r210837 neglected to change the check in Interpreter::backtrackParentheses() that
greedy parenthesis have backtracked as far as possible. Prior to r210837 when non-zero minimum greedy
parenthesis were factored into a fixed component and then a zero-based variable component. After
r210837, the variable component is not zero based and the check needs to compare the
backTrack->matchAmount with the quantity iminimum count.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::backtrackParentheses):

9:48 PM Changeset in webkit [222600] by msaboff@apple.com
  • 4 edits in trunk

Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek()
https://bugs.webkit.org/show_bug.cgi?id=177423

Reviewed by Mark Lam.

JSTests:

Updated regression test.

  • stress/regress-177423.js:

(catch):

Source/JavaScriptCore:

Updated fix that restructures that changes the do ... while to a while and adds another
atEndOfPattern() check before looking for the first named group identifier character.

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::tryConsumeGroupName):

9:20 PM Changeset in webkit [222599] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Uncaught Exception: Attempted to assign to readonly property (at ContentView.js:​206:​34)​
https://bugs.webkit.org/show_bug.cgi?id=177587

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-27
Reviewed by Matt Baker.

We allow a representedObject to be a string. In strict mode attempting to set
a property on a string results in a TypeError. So we should be careful not to
do this in the rare cases where our representedObject is the a string.

  • UserInterface/Views/ContentView.js:

(WI.ContentView.contentViewForRepresentedObject):
(WI.ContentView.closedContentViewForRepresentedObject):
Avoid setting a property on strings. ContentViews backed by a String aren't typically
shared anyways, so the property case would not be useful. If a client really wants
to share they could use new String(...) as the representedObject.

9:19 PM Changeset in webkit [222598] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

JSArray::canFastCopy() should fail if the source and destination arrays are the same.
https://bugs.webkit.org/show_bug.cgi?id=177584
<rdar://problem/34463903>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-177584.js: Added.

(assertEqual):
(Array.prototype.Symbol.species):

Source/JavaScriptCore:

If the source and destination arrays are the same, we may be copying overlapping
regions. Hence, we need to take the slow path.

  • runtime/JSArrayInlines.h:

(JSC::JSArray::canFastCopy):

8:58 PM Changeset in webkit [222597] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix the internal build after r222596 and r222595.

Guarding code in PlatformPasteboardIOS.mm TARGET_OS_IPHONE did not have the intended effect.

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::PlatformPasteboard::write):

8:18 PM Changeset in webkit [222596] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix the internal build after r222595.

Add missing iOS compiler guards.

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::PlatformPasteboard::write):

7:29 PM Changeset in webkit [222595] by Wenson Hsieh
  • 60 edits
    18 adds in trunk

Drag event DataTransfer has unexpected types "dyn.ah62d4..."
https://bugs.webkit.org/show_bug.cgi?id=172526
<rdar://problem/32396081>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Currently, the pasteboard types we expose to web content are simply the types that appear on the platform
pasteboard (i.e. the general NSPasteboard on Mac, and either the general UIPasteboard or a UIDragSession's
NSItemProviders on iOS). This leads to DataTransfer.types exposing many private pasteboard types written by apps
around the system to the page, such as dynamic UTIs, CorePasteboardFlavorTypes, or the "Apple WebKit dummy
pasteboard type". These are not only confusing and not useful for web content (since they mostly hold values of
empty string anyways), but can additionally pose privacy concerns by exposing information meant only for native
applications to unvetted web content.

To address this problem, other browsers (e.g. Chrome and Firefox on Mac) white-list MIME types in DataTransfer's
list of types. By default, when dragging or copying, these are "text/plain", "text/html" and "text/uri-list".
However, this policy alone is insufficient, because the page may also supply its own types, in which case our
naive whitelist would prevent us from delivering them to the page. To address this additional constraint, both
Chrome and Firefox write any custom data supplied by the page to custom pasteboard UTIs
(org.chromium.drag-dummy-type and org.mozilla.custom-clipdata, respectively). The corresponding data is a map
of custom UTI => custom data supplied by the page; upon drop or paste, this mapping is consulted if the page
calls getData() with a custom UTI.

This patch adopts this same approach in WebKit, and introduces the com.apple.WebKit.custom-pasteboard-data UTI
(refer to per-method comments below for more information). These changes are covered by 18 new layout and API
tests, as well as existing drag-and-drop tests.

Tests: editing/pasteboard/data-transfer-get-data-on-drop-custom.html

editing/pasteboard/data-transfer-get-data-on-drop-plain-text.html
editing/pasteboard/data-transfer-get-data-on-drop-rich-text.html
editing/pasteboard/data-transfer-get-data-on-drop-url.html
editing/pasteboard/data-transfer-get-data-on-paste-custom.html
editing/pasteboard/data-transfer-get-data-on-paste-plain-text.html
editing/pasteboard/data-transfer-get-data-on-paste-rich-text.html
DataInteractionTests.DataTransferGetDataWhenDroppingPlainText
DataInteractionTests.DataTransferGetDataWhenDroppingCustomData
DataInteractionTests.DataTransferGetDataWhenDroppingURL
DataInteractionTests.DataTransferGetDataWhenDroppingImageWithFileURL
DataInteractionTests.DataTransferGetDataWhenDroppingRespectsPresentationStyle
DataInteractionTests.DataTransferSetDataCannotWritePlatformTypes
DataInteractionTests.DataTransferGetDataCannotReadPrivatePlatformTypes
UIPasteboardTests.DataTransferGetDataWhenPastingURL
UIPasteboardTests.DataTransferGetDataWhenPastingPlatformRepresentations
UIPasteboardTests.DataTransferSetDataCannotWritePlatformTypes
UIPasteboardTests.DataTransferGetDataCannotReadPrivatePlatformTypes

  • CMakeLists.txt:

Add Pasteboard.cpp to the WebCore CMakeList.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::getData const):
(WebCore::DataTransfer::createForDragStartEvent):

Make a new static helper function to create a StaticPasteboard-backed DataTransfer when dispatching a dragstart
event. Any data supplied by the page will be written to the static pasteboard of this DataTransfer.

(WebCore::DataTransfer::moveDragState):

Add a new helper on DataTransfer to transfer the data required to initiate a drag from one DataTransfer to
another. This is used in EventHandler to transfer the contents of the temporary DataTransfer modified by the
page during the dragstart event over to the DataTransfer used for the rest of the drag initiation codepath,
which is actually connected to the platform. This includes committing the contents of the other
DataTransfer's StaticPasteboard to the new platform-connected Pasteboard.

(WebCore::DataTransfer::hasDragImage const):

  • dom/DataTransfer.h:
  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::selectionInHTMLFormat):
(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::Editor::writeSelection):

Write an additional HTML markup string on iOS. We already do this for Mac, but this data previously had no use
on iOS. This is needed for to vend the "text/html" representation to the page on iOS when pasting.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::selectionInHTMLFormat): Deleted.

  • editing/wpe/EditorWPE.cpp:

(WebCore::createFragmentFromPasteboardData):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchDragStartEventOnSourceElement):

Renamed from dispatchDragStartEvent to dispatchDragStartEventOnSourceElement. Additionally, simplified the logic
significantly, so that we now just check to see if the StaticPasteboard exposed to the page has any data,
instead of using platform-dependent logic to compare changeCounts. We can do this because StaticPasteboard is
guaranteed to only contain content that the page has supplied during the dragstart event, since it is empty
upon initialization and cannot be written to by the rest of the platform.

(WebCore::EventHandler::handleDrag):

Tweak dispatchDragStartEvent to take a DataTransfer to expose to bindings; at the call site in handleDrag,
create a new DataTransfer backed by a StaticPasteboard that the page may mutate over the course of the dragstart
event. After dispatching to the page, move the dragging information present on the drag start DataTransfer over
to the DragState's DataTransfer. If the drag image has not been set, compute and set the default drag image
element on the DragState's DataTransfer.

(WebCore::EventHandler::dispatchDragStartEvent): Deleted.

  • page/EventHandler.h:
  • page/Settings.cpp:

(WebCore::Settings::customPasteboardDataEnabled):

  • page/Settings.h:

(WebCore::Settings::setCustomPasteboardDataEnabled):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::createDraggingDataTransfer const): Deleted.

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::createDraggingDataTransfer const): Deleted.

  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::createDraggingDataTransfer const): Deleted.

Remove this helper on both iOS and Mac. This only called createForDrag() before, with the addition of clearing
the platform pasteboard prior to returning. Now that a StaticPasteboard is used when starting a drag, we clear
out the platform pasteboard in platform-invariant code in EventHandler::handleDrag, so these helpers are no
longer useful.

  • platform/Pasteboard.cpp: Added.

(WebCore::isSafeTypeForDOMToReadAndWrite):

Add a new helper to determine whether or not a pasteboard type is one of the standard DOM-exposed types. These
are "text/plain", "text/html" and "text/uri-list".

(WebCore::sharedBufferFromCustomData):
(WebCore::customDataFromSharedBuffer):

Add helper methods to serialize and deserialize custom data. The serialized data blob consists of: (1)
versioning information, (2) a dictionary mapping each custom type to a value, and (3) a full list of types
written by the page, in the order they were written.

  • platform/Pasteboard.h:

Rename Pasteboard::readString to Pasteboard::readStringForBindings, to reflect that the string being read and
the given type are exposed to and from the DOM.

  • platform/PasteboardStrategy.h:
  • platform/PasteboardWriterData.h:
  • platform/PlatformPasteboard.h:
  • platform/StaticPasteboard.cpp:

Split m_stringContents out into m_platformData and m_customData. The former contains type-to-data entries for
the DOM-exposed types, while the second contains entries that don't belong in the former.

(WebCore::StaticPasteboard::hasData):
(WebCore::StaticPasteboard::readStringForBindings):
(WebCore::StaticPasteboard::writeString):
(WebCore::StaticPasteboard::clear):
(WebCore::StaticPasteboard::commitToPasteboard):

Rather than propagate each entry to the client layer one at a time, populate a new PasteboardCustomData struct
and send it to the client layer in one go. This new struct consists of an array of types in the order they were
written by the page, a dictionary of public types (types we want to write directly to the platform pasteboard)
and private types (custom types we want to package under our custom data blob).

(WebCore::StaticPasteboard::readString): Deleted.

  • platform/StaticPasteboard.h:
  • platform/glib/EventHandlerGLib.cpp:

(WebCore::EventHandler::createDraggingDataTransfer const): Deleted.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::readStringForBindings):
(WebCore::Pasteboard::writeCustomData):
(WebCore::Pasteboard::readString): Deleted.

  • platform/gtk/PlatformPasteboardGtk.cpp:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::PlatformPasteboard::write):

Add stub implementations for new custom pasteboard data methods.

  • platform/ios/AbstractPasteboard.h:
  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::writeCustomData):

Add new plumbing to ship a custom data (PasteboardCustomData) struct from WebCore to the client layer.

(WebCore::cocoaTypeFromHTMLClipboardType):
(WebCore::readPlatformValueAsString):
(WebCore::Pasteboard::readStringForBindings):
(WebCore::Pasteboard::types):

Rewritten to ask the client layer for DOM-exposed types rather than all types, in the case where custom
pasteboard data is enabled in Settings.

(WebCore::Pasteboard::readString): Deleted.

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::bufferForType):
(WebCore::PlatformPasteboard::getPathnamesForType const):
(WebCore::PlatformPasteboard::numberOfFiles const):
(WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):

Add a new helper to map DOM-safe pasteboard types to their platform counterparts.

(WebCore::PlatformPasteboard::write):
(WebCore::safeTypeForDOMToReadAndWriteForPlatformType):

Add a new helper to map platform pasteboard types to their DOM-safe counterparts.

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

Fetch a list of DOM-exposed types. On iOS, for drag and drop, we have the additional constraint of not being
able to read any data before the drop happens. This is problematic, since the page needs to know the list of
types during 'dragover' events. To support this, we instead keep the array of types in the teamData property of
the generated item provider, which is immediately available, even when dragging across different apps. Note that
we still need to check if the pasteboard contains the full custom data blob here to handle the case where we
copy on Mac and perform a continuity paste on iOS, since teamData does not exist on Mac.

(WebCore::PlatformPasteboard::readString):

Tweak to account for how UIPasteboard may return data blobs when reading values.

(WebCore::PlatformPasteboard::getPathnamesForType): Deleted.
(WebCore::PlatformPasteboard::numberOfFiles): Deleted.

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

(-[WebItemProviderRegistrationInfoList itemProvider]):
(+[WebItemProviderLoadResult loadResultWithItemProvider:typesToLoad:]):
(-[WebItemProviderLoadResult initWithItemProvider:typesToLoad:]):
(-[WebItemProviderLoadResult typesToLoad]):
(-[WebItemProviderLoadResult setFileURL:forType:]):
(-[WebItemProviderLoadResult itemProvider]):
(-[WebItemProviderPasteboard setItemProviders:]):
(-[WebItemProviderPasteboard dataForPasteboardType:]):
(-[WebItemProviderPasteboard typeIdentifiersToLoadForRegisteredTypeIdentfiers:]):
(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):
(+[WebItemProviderLoadResult emptyLoadResult]): Deleted.
(+[WebItemProviderLoadResult loadResultWithFileURLMap:presentationStyle:]): Deleted.
(-[WebItemProviderLoadResult initWithFileURLMap:presentationStyle:]): Deleted.
(-[WebItemProviderPasteboard typeIdentifierToLoadForRegisteredTypeIdentfiers:]): Deleted.

In the case of drag and drop on iOS, we cannot load any data prior to performing the drop; additionally, any
attempts to load data immediately after the drop is performed in the UI process will fail. This means any and
all data that the web process may require in the future when handling the drop must be loaded out of the item
providers and saved when the drop is being handled in the UI process.

Currently, we only load the highest fidelity type we can handle (or, if we don't know what we can handle, we
select the highest fidelity representation conforming to "public.content"). This is a problematic for supporting
DataTransfer.getData() on drop on iOS, because the page can ask for any of the three web-exposed types. To
address this, we refactor WebItemProviderPasteboard to support loading multiple representations per item being
dropped. At minimum, we will load anything conforming to "public.html", "public.plain-text", "public.url", and
the new "com.apple.WebKit.custom-pasteboard-data" so we have means to answer any question that the page could
ask via DataTransfer.getData(). We additonally load the highest fidelity supported (or content-conformant) type,
if it has not already been loaded as a result of the former.

To make this possible, we refactor WebItemProviderLoadResult to take an item provider and a list of types to
load. -doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout: then creates a list of load results and
uses each one to represent the results of loading data from its item provider (i.e. a map of UTI => file URL).

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::writeCustomData):
(WebCore::cocoaTypeFromHTMLClipboardType):
(WebCore::readPlatformValueAsString):
(WebCore::Pasteboard::readStringForBindings):

Change readStringForBindings (formerly, readString) so that if support for custom pasteboard data is enabled,
we only allow reading directly from the platform pasteboard if the given type is DOM-safe; otherwise, we consult
the custom data blob, if it exists. Otherwise, if support for custom pasteboard data is disabled, we fall back
to our current behavior.

(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readString): Deleted.

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::numberOfFiles const):
(WebCore::PlatformPasteboard::getPathnamesForType const):
(WebCore::PlatformPasteboard::stringForType):
(WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

Add support for reading DOM-exposed types and fetching DOM-exposed data off of the pasteboard. The overall idea
here is similar to iOS, though implementation details vary (e.g. no item provider support).

(WebCore::PlatformPasteboard::write):
(WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
(WebCore::PlatformPasteboard::numberOfFiles): Deleted.
(WebCore::PlatformPasteboard::getPathnamesForType): Deleted.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::readStringForBindings):
(WebCore::Pasteboard::writeCustomData):
(WebCore::Pasteboard::readString): Deleted.

  • platform/wpe/PasteboardWPE.cpp:

(WebCore::Pasteboard::readStringForBindings):
(WebCore::Pasteboard::writeCustomData):
(WebCore::Pasteboard::readString): Deleted.

  • platform/wpe/PlatformPasteboardWPE.cpp:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::PlatformPasteboard::write):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setCustomPasteboardDataEnabled):

Add a new internal settings hook for layout tests to opt in to using custom pasteboard data. By default, custom
pasteboard data is enabled only in Safari, or on applications linked on or after certain releases of iOS and
macOS.

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Source/WebKit:

Add boilerplate plumbing and encoder/decoder support for new pasteboard codepaths. See WebCore ChangeLog for
more details.

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<PasteboardCustomData>::encode):
(IPC::ArgumentCoder<PasteboardCustomData>::decode):

Add encoder/decoder support for PasteboardCustomData.

(IPC::ArgumentCoder<PasteboardWebContent>::encode):
(IPC::ArgumentCoder<PasteboardWebContent>::decode):

Encode and decode dataInHTMLFormat.

  • Shared/WebCoreArgumentCoders.h:
  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::typesSafeForDOMToReadAndWrite):
(WebKit::WebPasteboardProxy::writeCustomData):

  • UIProcess/WebPasteboardProxy.cpp:

(WebKit::WebPasteboardProxy::typesSafeForDOMToReadAndWrite):
(WebKit::WebPasteboardProxy::writeCustomData):

  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPasteboardProxy.messages.in:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::typesSafeForDOMToReadAndWrite):
(WebKit::WebPlatformStrategies::writeCustomData):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Source/WebKitLegacy/mac:

Adjust for changes in WebCore. See WebCore ChangeLog for more details.

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::webExposedTypes):
(WebPlatformStrategies::writeCustomData):

Tools:

Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
drag and drop, and the general UIPasteboard for copy and paste).

  • TestWebKitAPI/PlatformUtilities.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.

Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
web-exposed types and values.

  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(checkFirstTypeIsPresentAndSecondTypeIsMissing):
(checkJSONWithLogging):
(TestWebKitAPI::TEST):
(checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.

  • TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:

(TestWebKitAPI::checkJSONWithLogging):
(TestWebKitAPI::setUpWebViewForPasteboardTests):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:

(TestWebKitAPI::Util::jsonMatchesExpectedValues):

LayoutTests:

Add new layout tests on Mac and iOS to test various cases of using DataTransfer.setData, DataTransfer.getData,
and DataTransfer.types for drag-and-drop (tests for Mac WK1 only) and copy-and-paste (all platforms).

  • TestExpectations:
  • editing/pasteboard/data-transfer-get-data-on-drop-custom-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-custom.html: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-plain-text-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-plain-text.html: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-rich-text-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-rich-text.html: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-url-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-url.html: Added.
  • editing/pasteboard/data-transfer-get-data-on-paste-custom-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-paste-custom.html: Added.
  • editing/pasteboard/data-transfer-get-data-on-paste-plain-text-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-paste-plain-text.html: Added.
  • editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-paste-rich-text.html: Added.
  • platform/ios-simulator-wk1/TestExpectations:

Mark new copy and paste tests as [ Pass ], since editing/pasteboard/ is skipped by default for iOS WK1.

  • platform/ios-wk1/editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Added.
  • platform/ios-wk2/editing/pasteboard/data-transfer-get-data-on-paste-rich-text-expected.txt: Added.

Add iOS-specific baselines. This is due to the generated HTML markup for "text/html" being slightly different
when pasting.

  • platform/mac-wk1/TestExpectations:
6:38 PM Changeset in webkit [222594] by Alan Bujtas
  • 6 edits in trunk

Deferred image size change makes image-load-on-delay.html flaky.
https://bugs.webkit.org/show_bug.cgi?id=177520
<rdar://problem/34674299>

Reviewed by Dean Jackson.

Source/WebCore:

Only defer recomputeIsIgnored when the image change actually triggers layout.

  • accessibility/AXObjectCache.cpp:

(WebCore::rendererNeedsDeferredUpdate):
(WebCore::AXObjectCache::deferRecomputeIsIgnoredIfNeeded):
(WebCore::AXObjectCache::deferTextChangedIfNeeded):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::deferRecomputeIsIgnoredIfNeeded):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageChanged):

LayoutTests:

  • platform/mac/TestExpectations:
6:29 PM Changeset in webkit [222593] by pvollan@apple.com
  • 2 edits in trunk/Source/WTF

[Win64] Compile error, 'BasePtrs' is undefined.
https://bugs.webkit.org/show_bug.cgi?id=177565

Reviewed by Mark Lam.

Copy definition of 'BasePtrs' from bmalloc/GigaCage.h.

  • wtf/Gigacage.h:
5:50 PM Changeset in webkit [222592] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Try to fix the Mac CMake build

  • PlatformMac.cmake:
  • pal/PlatformMac.cmake:
5:46 PM Changeset in webkit [222591] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222576. rdar://problem/34553953

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

Propagate hasBeenFlattenedBefore in Structure's transition constructor and fix our for-in caching to fail when the prototype chain has an object with a dictionary structure
https://bugs.webkit.org/show_bug.cgi?id=177523

Reviewed by Mark Lam.

JSTests:

  • stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added.

(assert):
(Test):
(addMethods.Test.prototype.string_appeared_here.i.methodNumber):
(addMethods):
(i.Test.prototype.propName):

Source/JavaScriptCore:

There was a bug in Structure's transition constructor where it didn't
propagate forward the hasBeenFlattenedBefore bit. In practice, this meant
that every time we asked a dictionary structure if it has been flattened
before, it would return false. This patch fixes this bug. It also fixes
a bug that this uncovers in our for-in implementation. Our implementation
would cache the property name enumerator even when the prototype chain
included a structure that is as dictionary. This is wrong because that
prototype object may add properties without transitioning, and the for-in
loop would vend a stale set of prototype properties.

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

(JSC::propertyNameEnumerator):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::canCachePropertyNameEnumerator const):

5:27 PM Changeset in webkit [222589] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

5:25 PM Changeset in webkit [222588] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Minimum font size may cause elements to have an infinite line-height
https://bugs.webkit.org/show_bug.cgi?id=177573
<rdar://problem/34573792>

Reviewed by Dan Bernstein.

Source/WebCore:

When minimum font size is specified, we were trying to preserve the ratio of specified font-size
and specified line-height in order to boost the computed font size proportionately to the font-size
boost. However, this doesn't work when the specified font-size is 0, because the ratio between
line-height and font-size is infinite.

The most straightforward solution is just to make small font-sizes opt out of the line-height
adjustment because the result would be too big.

Test: fast/text/line-height-minimumFontSize-text-small-font-size.html

  • css/StyleBuilderCustom.h:

(WebCore::computeLineHeightMultiplierDueToFontSize):
(WebCore::StyleBuilderCustom::applyValueLineHeight):

LayoutTests:

  • fast/text/line-height-minimumFontSize-text-small-font-size-expected.txt: Added.
  • fast/text/line-height-minimumFontSize-text-small-font-size.html: Added.
5:07 PM Changeset in webkit [222587] by Matt Lewis
  • 2 edits
    2 deletes in trunk/LayoutTests

Unreviewed, rolling out r222337.

This test is failing on iOS.

Reverted changeset:

"Add long press and drag test"
https://bugs.webkit.org/show_bug.cgi?id=177289
http://trac.webkit.org/changeset/222337

4:58 PM Changeset in webkit [222586] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern.
https://bugs.webkit.org/show_bug.cgi?id=177423
<rdar://problem/34621320>

Reviewed by Keith Miller.

JSTests:

  • stress/regress-177423.js: Added.

Source/JavaScriptCore:

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::tryConsumeGroupName):

4:54 PM Changeset in webkit [222585] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Missing checks in DebuggerSidebarPanel for DOM debugging support
https://bugs.webkit.org/show_bug.cgi?id=177574

Reviewed by Joseph Pecoraro.

Check before using class members that are conditionally constructed based
on DOM debugging support.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WI.DebuggerSidebarPanel.prototype.closed):
(WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):

4:50 PM Changeset in webkit [222584] by achristensen@apple.com
  • 11 edits in trunk/Source

Allow modern decoding of std::optional<T>
https://bugs.webkit.org/show_bug.cgi?id=177519

Reviewed by Tim Horton.

Source/WebCore:

  • platform/DragItem.h:

(WebCore::DragItem::decode):

Source/WebKit:

  • Platform/IPC/ArgumentCoders.h:

(IPC::ArgumentCoder<std::optional<T>>::decode):

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<WebCore::PaymentAuthorizationResult>::decode):
(IPC::ArgumentCoder<WebCore::PaymentError>::decode):
(IPC::ArgumentCoder<WebCore::PaymentMethodUpdate>::decode):
(IPC::ArgumentCoder<WebCore::ShippingContactUpdate>::decode):
(IPC::ArgumentCoder<WebCore::ShippingMethodUpdate>::decode):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<IntPoint>::decode):
(IPC::ArgumentCoder<IntSize>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

4:25 PM Changeset in webkit [222583] by commit-queue@webkit.org
  • 25 edits
    2 copies in trunk/Source/WebKit

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

WebCore isn't ready for the asynchronousness this was going to
enable (Requested by alexchristensen on #webkit).

Reverted changeset:

"Pass a completion handler instead of a
WebFramePolicyListenerProxy during policy decisions"
https://bugs.webkit.org/show_bug.cgi?id=177509
http://trac.webkit.org/changeset/222541

4:18 PM Changeset in webkit [222582] by Lucas Forschler
  • 2 edits in trunk/Tools

Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
https://bugs.webkit.org/show_bug.cgi?id=177578

Reviewed by Alexey Proskuryakov.

  • Scripts/bisect-builds:

(minified_platforms):
(unminified_platforms):

3:59 PM Changeset in webkit [222581] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix x86 breaking due to exhausted registers
https://bugs.webkit.org/show_bug.cgi?id=175823

  • dfg/DFGByteCodeParser.cpp:

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

3:54 PM Changeset in webkit [222580] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked imported/w3c/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177440

Unreviewed test gardening.

  • platform/wk2/TestExpectations:
3:07 PM Changeset in webkit [222579] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.3

Tag Safari-604.3.3.

2:57 PM Changeset in webkit [222578] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

2:44 PM Changeset in webkit [222577] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Expose setShouldSuppressFirstResponderChanges() as WKView SPI
https://bugs.webkit.org/show_bug.cgi?id=177513
<rdar://problem/34669220>

Patch by Tina Liu <iting_liu@apple.com> on 2017-09-27
Reviewed by Wenson Hsieh.

We already have setShouldSuppressFirstResponderChanges() SPI on WKWebView; Expose it on
WKView as well for clients using legacy WebKit.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setShouldSuppressFirstResponderChanges:]):

2:02 PM Changeset in webkit [222576] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

"Tag" codepoints require the complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=177251
<rdar://problem/34384001>

Reviewed by David Hyatt.

Source/WebCore:

Previously, Tag codepoints (U+E0000 - U+E007F) weren't triggering the
complex text codepath.

Eventually, we should migrate the default from simple to complex. I'll do
that in a separate patch.

Test: fast/text/flag-codepoint.html

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::characterRangeCodePath):

LayoutTests:

  • fast/text/flag-codepoint-expected.html: Added.
  • fast/text/flag-codepoint.html: Added.
1:54 PM Changeset in webkit [222575] by hyatt@apple.com
  • 52 edits
    4 moves in trunk/Source/WebCore

Rename "FlowThread" to "FragmentedFlow"
https://bugs.webkit.org/show_bug.cgi?id=177557

Reviewed by Zalan Bujtas.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIfDimensionsOutOfDate):

  • dom/Element.cpp:

(WebCore::Element::absoluteEventBounds):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:

(WebCore::LayoutState::currentRenderFragmentedFlow const):
(WebCore::LayoutState::setCurrentRenderFragmentedFlow):
(WebCore::LayoutState::currentRenderFlowThread const): Deleted.
(WebCore::LayoutState::setCurrentRenderFlowThread): Deleted.

  • rendering/LogicalSelectionOffsetCaches.h:

(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::ContainingBlockInfo):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset const):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset const):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::hasFloatsOrFragmentedFlows const):
(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::hasFloatsOrFlowThreads const): Deleted.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::clone const):
(WebCore::RenderBlock::removeLeftoverAnonymousBlock):
(WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::isSelectionRoot const):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::insertPositionedObject):
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::cachedEnclosingFragmentedFlow const):
(WebCore::RenderBlock::cachedEnclosingFragmentedFlowNeedsUpdate const):
(WebCore::RenderBlock::setCachedEnclosingFragmentedFlowNeedsUpdate):
(WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):
(WebCore::RenderBlock::locateEnclosingFragmentedFlow const):
(WebCore::RenderBlock::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants):
(WebCore::RenderBlock::absoluteQuads const):
(WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):
(WebCore::RenderBlock::fragmentAtBlockOffset const):
(WebCore::canComputeFragmentRangeForBox):
(WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation const):
(WebCore::RenderBlock::computeFragmentRangeForBoxChild const):
(WebCore::RenderBlock::estimateFragmentRangeForBoxChild const):
(WebCore::RenderBlock::updateFragmentRangeForBoxChild const):
(WebCore::RenderBlock::cachedFlowThreadContainingBlock const): Deleted.
(WebCore::RenderBlock::cachedFlowThreadContainingBlockNeedsUpdate const): Deleted.
(WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate): Deleted.
(WebCore::RenderBlock::updateCachedFlowThreadContainingBlock const): Deleted.
(WebCore::RenderBlock::locateFlowThreadContainingBlock const): Deleted.
(WebCore::RenderBlock::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willCreateColumns const):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::setStaticInlinePositionForChild):
(WebCore::inNormalFlow):
(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::hasNextPage const):
(WebCore::RenderBlockFlow::adjustForUnsplittableChild):
(WebCore::RenderBlockFlow::setPageBreak):
(WebCore::RenderBlockFlow::updateMinimumPageHeight):
(WebCore::RenderBlockFlow::pageLogicalTopForOffset const):
(WebCore::RenderBlockFlow::pageLogicalHeightForOffset const):
(WebCore::RenderBlockFlow::pageRemainingLogicalHeightForOffset const):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::updateStylesForColumnChildren):
(WebCore::RenderBlockFlow::computeOverflow):
(WebCore::RenderBlockFlow::paintColumnRules):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::setMultiColumnFlow):
(WebCore::RenderBlockFlow::relayoutForPagination):
(WebCore::RenderBlockFlow::layoutExcludedChildren):
(WebCore::RenderBlockFlow::addChild):
(WebCore::RenderBlockFlow::removeChild):
(WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
(WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
(WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
(WebCore::RenderBlockFlow::computedColumnWidth const):
(WebCore::RenderBlockFlow::computedColumnCount const):
(WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed const):
(WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed const):
(WebCore::RenderBlockFlow::setMultiColumnFlowThread): Deleted.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderBlockFlow::multiColumnFlow const):
(WebCore::RenderBlockFlow::multiColumnFlowThread const): Deleted.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::layoutLineBoxes):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
(WebCore::RenderBlockFlow::lineWidthForPaginatedLineChanged const):
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
(WebCore::RenderBlockFlow::updateFragmentForLine const):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::clampToStartAndEndFragments const):
(WebCore::RenderBox::hasFragmentRangeInFragmentedFlow const):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::absoluteQuads const):
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats const):
(WebCore::RenderBox::containingBlockAvailableLineWidthInFragment const):
(WebCore::RenderBox::offsetFromContainer const):
(WebCore::RenderBox::computeRectForRepaint const):
(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation const):
(WebCore::RenderBox::availableLogicalHeightUsing const):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
(WebCore::RenderBox::computePositionedLogicalWidth const):
(WebCore::RenderBox::computePositionedLogicalHeight const):
(WebCore::RenderBox::positionForPoint):
(WebCore::RenderBox::createsNewFormattingContext const):
(WebCore::RenderBox::addVisualEffectOverflow):
(WebCore::RenderBox::addOverflowFromChild):
(WebCore::RenderBox::clearOverflow):
(WebCore::RenderBox::offsetFromLogicalTopOfFirstPage const):
(WebCore::RenderBox::hasFragmentRangeInFlowThread const): Deleted.

  • rendering/RenderBox.h:

(WebCore::RenderBox::canHaveOutsideFragmentRange const):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint const):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::insertChildInternal):
(WebCore::RenderElement::removeChildInternal):
(WebCore::RenderElement::propagateStyleToAnonymousChildren):
(WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):
(WebCore::RenderElement::removeFromRenderFragmentedFlow):
(WebCore::RenderElement::removeFromRenderFragmentedFlowIncludingDescendants):
(WebCore::RenderElement::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants):
(WebCore::RenderElement::adjustFlowThreadStateOnContainingBlockChangeIfNeeded): Deleted.
(WebCore::RenderElement::removeFromRenderFlowThread): Deleted.
(WebCore::RenderElement::removeFromRenderFlowThreadIncludingDescendants): Deleted.
(WebCore::RenderElement::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants): Deleted.

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainFixedPositionObjects const):

  • rendering/RenderFlowThread.cpp: Removed.
  • rendering/RenderFlowThread.h: Removed.
  • rendering/RenderFragmentContainer.cpp:

(WebCore::RenderFragmentContainer::RenderFragmentContainer):
(WebCore::RenderFragmentContainer::mapFragmentPointIntoFragmentedFlowCoordinates):
(WebCore::RenderFragmentContainer::positionForPoint):
(WebCore::RenderFragmentContainer::pageLogicalWidth const):
(WebCore::RenderFragmentContainer::pageLogicalHeight const):
(WebCore::RenderFragmentContainer::logicalHeightOfAllFragmentedFlowContent const):
(WebCore::RenderFragmentContainer::fragmentedFlowPortionOverflowRect):
(WebCore::RenderFragmentContainer::fragmentedFlowPortionLocation const):
(WebCore::RenderFragmentContainer::overflowRectForFragmentedFlowPortion):
(WebCore::RenderFragmentContainer::pageLogicalTopForOffset const):
(WebCore::RenderFragmentContainer::isFirstFragment const):
(WebCore::RenderFragmentContainer::isLastFragment const):
(WebCore::RenderFragmentContainer::shouldClipFragmentedFlowContent const):
(WebCore::RenderFragmentContainer::styleDidChange):
(WebCore::RenderFragmentContainer::computeOverflowFromFragmentedFlow):
(WebCore::RenderFragmentContainer::repaintFragmentedFlowContent):
(WebCore::RenderFragmentContainer::repaintFragmentedFlowContentRectangle):
(WebCore::RenderFragmentContainer::installFragmentedFlow):
(WebCore::RenderFragmentContainer::attachFragment):
(WebCore::RenderFragmentContainer::detachFragment):
(WebCore::RenderFragmentContainer::logicalTopOfFragmentedFlowContentRect const):
(WebCore::RenderFragmentContainer::logicalBottomOfFragmentedFlowContentRect const):
(WebCore::RenderFragmentContainer::computeIntrinsicLogicalWidths const):
(WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFragmentedFlowPortionRect const):
(WebCore::RenderFragmentContainer::ensureOverflowForBox):
(WebCore::RenderFragmentContainer::rectFlowPortionForBox const):
(WebCore::RenderFragmentContainer::addVisualOverflowForBox):
(WebCore::RenderFragmentContainer::visualOverflowRectForBoxForPropagation):
(WebCore::CurrentRenderFragmentContainerMaintainer::CurrentRenderFragmentContainerMaintainer):
(WebCore::CurrentRenderFragmentContainerMaintainer::~CurrentRenderFragmentContainerMaintainer):
(WebCore::RenderFragmentContainer::mapFragmentPointIntoFlowThreadCoordinates): Deleted.
(WebCore::RenderFragmentContainer::logicalHeightOfAllFlowThreadContent const): Deleted.
(WebCore::RenderFragmentContainer::flowThreadPortionOverflowRect): Deleted.
(WebCore::RenderFragmentContainer::flowThreadPortionLocation const): Deleted.
(WebCore::RenderFragmentContainer::overflowRectForFlowThreadPortion): Deleted.
(WebCore::RenderFragmentContainer::shouldClipFlowThreadContent const): Deleted.
(WebCore::RenderFragmentContainer::computeOverflowFromFlowThread): Deleted.
(WebCore::RenderFragmentContainer::repaintFlowThreadContent): Deleted.
(WebCore::RenderFragmentContainer::repaintFlowThreadContentRectangle): Deleted.
(WebCore::RenderFragmentContainer::installFlowThread): Deleted.
(WebCore::RenderFragmentContainer::logicalTopOfFlowThreadContentRect const): Deleted.
(WebCore::RenderFragmentContainer::logicalBottomOfFlowThreadContentRect const): Deleted.
(WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFlowThreadPortionRect const): Deleted.

  • rendering/RenderFragmentContainer.h:

(WebCore::RenderFragmentContainer::setFragmentedFlowPortionRect):
(WebCore::RenderFragmentContainer::fragmentedFlowPortionRect const):
(WebCore::RenderFragmentContainer::fragmentedFlow const):
(WebCore::RenderFragmentContainer::logicalTopForFragmentedFlowContent const):
(WebCore::RenderFragmentContainer::logicalBottomForFragmentedFlowContent const):
(WebCore::RenderFragmentContainer::setFlowThreadPortionRect): Deleted.
(WebCore::RenderFragmentContainer::flowThreadPortionRect const): Deleted.
(WebCore::RenderFragmentContainer::flowThread const): Deleted.
(WebCore::RenderFragmentContainer::logicalTopForFlowThreadContent const): Deleted.
(WebCore::RenderFragmentContainer::logicalBottomForFlowThreadContent const): Deleted.

  • rendering/RenderFragmentContainerSet.cpp:

(WebCore::RenderFragmentContainerSet::RenderFragmentContainerSet):
(WebCore::RenderFragmentContainerSet::installFragmentedFlow):
(WebCore::RenderFragmentContainerSet::expandToEncompassFragmentedFlowContentsIfNeeded):
(WebCore::RenderFragmentContainerSet::installFlowThread): Deleted.
(WebCore::RenderFragmentContainerSet::expandToEncompassFlowThreadContentsIfNeeded): Deleted.

  • rendering/RenderFragmentContainerSet.h:
  • rendering/RenderFragmentedFlow.cpp: Copied from rendering/RenderFlowThread.cpp.

(WebCore::RenderFragmentedFlow::RenderFragmentedFlow):
(WebCore::RenderFragmentedFlow::createFragmentedFlowStyle):
(WebCore::RenderFragmentedFlow::styleDidChange):
(WebCore::RenderFragmentedFlow::removeFlowChildInfo):
(WebCore::RenderFragmentedFlow::removeFragmentFromThread):
(WebCore::RenderFragmentedFlow::invalidateFragments):
(WebCore::RenderFragmentedFlow::validateFragments):
(WebCore::RenderFragmentedFlow::layout):
(WebCore::RenderFragmentedFlow::updateLogicalWidth):
(WebCore::RenderFragmentedFlow::computeLogicalHeight const):
(WebCore::RenderFragmentedFlow::nodeAtPoint):
(WebCore::RenderFragmentedFlow::shouldRepaint const):
(WebCore::RenderFragmentedFlow::repaintRectangleInFragments const):
(WebCore::RenderFragmentedFlow::fragmentAtBlockOffset const):
(WebCore::RenderFragmentedFlow::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderFragmentedFlow::pageLogicalTopForOffset const):
(WebCore::RenderFragmentedFlow::pageLogicalWidthForOffset const):
(WebCore::RenderFragmentedFlow::pageLogicalHeightForOffset const):
(WebCore::RenderFragmentedFlow::pageRemainingLogicalHeightForOffset const):
(WebCore::RenderFragmentedFlow::mapFromFlowToFragment const):
(WebCore::RenderFragmentedFlow::removeRenderBoxFragmentInfo):
(WebCore::RenderFragmentedFlow::removeLineFragmentInfo):
(WebCore::RenderFragmentedFlow::logicalWidthChangedInFragmentsForBlock):
(WebCore::RenderFragmentedFlow::contentLogicalWidthOfFirstFragment const):
(WebCore::RenderFragmentedFlow::contentLogicalHeightOfFirstFragment const):
(WebCore::RenderFragmentedFlow::contentLogicalLeftOfFirstFragment const):
(WebCore::RenderFragmentedFlow::firstFragment const):
(WebCore::RenderFragmentedFlow::lastFragment const):
(WebCore::RenderFragmentedFlow::clearRenderBoxFragmentInfoAndCustomStyle):
(WebCore::RenderFragmentedFlow::setFragmentRangeForBox):
(WebCore::RenderFragmentedFlow::hasCachedFragmentRangeForBox const):
(WebCore::RenderFragmentedFlow::getFragmentRangeForBoxFromCachedInfo const):
(WebCore::RenderFragmentedFlow::getFragmentRangeForBox const):
(WebCore::RenderFragmentedFlow::computedFragmentRangeForBox const):
(WebCore::RenderFragmentedFlow::fragmentInRange const):
(WebCore::RenderFragmentedFlow::objectShouldFragmentInFlowFragment const):
(WebCore::RenderFragmentedFlow::objectInFlowFragment const):
(WebCore::RenderFragmentedFlow::checkLinesConsistency const):
(WebCore::RenderFragmentedFlow::clearLinesToFragmentMap):
(WebCore::RenderFragmentedFlow::deleteLines):
(WebCore::RenderFragmentedFlow::willBeDestroyed):
(WebCore::RenderFragmentedFlow::markFragmentsForOverflowLayoutIfNeeded):
(WebCore::RenderFragmentedFlow::updateFragmentsFragmentedFlowPortionRect):
(WebCore::RenderFragmentedFlow::addForcedFragmentBreak):
(WebCore::RenderFragmentedFlow::collectLayerFragments):
(WebCore::RenderFragmentedFlow::fragmentsBoundingBox):
(WebCore::RenderFragmentedFlow::offsetFromLogicalTopOfFirstFragment const):
(WebCore::RenderFragmentedFlow::FragmentSearchAdapter::collectIfNeeded):
(WebCore::RenderFragmentedFlow::mapLocalToContainer const):
(WebCore::RenderFragmentedFlow::mapFromLocalToFragmentedFlow const):
(WebCore::RenderFragmentedFlow::mapFromFragmentedFlowToLocal const):
(WebCore::RenderFragmentedFlow::flipForWritingModeLocalCoordinates const):
(WebCore::RenderFragmentedFlow::addFragmentsVisualEffectOverflow):
(WebCore::RenderFragmentedFlow::addFragmentsVisualOverflowFromTheme):
(WebCore::RenderFragmentedFlow::addFragmentsOverflowFromChild):
(WebCore::RenderFragmentedFlow::addFragmentsLayoutOverflow):
(WebCore::RenderFragmentedFlow::addFragmentsVisualOverflow):
(WebCore::RenderFragmentedFlow::clearFragmentsOverflow):
(WebCore::RenderFragmentedFlow::currentFragment const):
(WebCore::RenderFragmentedFlow::containingFragmentMap):
(WebCore::RenderFlowThread::RenderFlowThread): Deleted.
(WebCore::RenderFlowThread::createFlowThreadStyle): Deleted.
(WebCore::RenderFlowThread::styleDidChange): Deleted.
(WebCore::RenderFlowThread::removeFlowChildInfo): Deleted.
(WebCore::RenderFlowThread::removeFragmentFromThread): Deleted.
(WebCore::RenderFlowThread::invalidateFragments): Deleted.
(WebCore::RenderFlowThread::validateFragments): Deleted.
(WebCore::RenderFlowThread::layout): Deleted.
(WebCore::RenderFlowThread::updateLogicalWidth): Deleted.
(WebCore::RenderFlowThread::computeLogicalHeight const): Deleted.
(WebCore::RenderFlowThread::nodeAtPoint): Deleted.
(WebCore::RenderFlowThread::shouldRepaint const): Deleted.
(WebCore::RenderFlowThread::repaintRectangleInFragments const): Deleted.
(WebCore::RenderFlowThread::fragmentAtBlockOffset const): Deleted.
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const): Deleted.
(WebCore::RenderFlowThread::pageLogicalTopForOffset const): Deleted.
(WebCore::RenderFlowThread::pageLogicalWidthForOffset const): Deleted.
(WebCore::RenderFlowThread::pageLogicalHeightForOffset const): Deleted.
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset const): Deleted.
(WebCore::RenderFlowThread::mapFromFlowToFragment const): Deleted.
(WebCore::RenderFlowThread::removeRenderBoxFragmentInfo): Deleted.
(WebCore::RenderFlowThread::removeLineFragmentInfo): Deleted.
(WebCore::RenderFlowThread::logicalWidthChangedInFragmentsForBlock): Deleted.
(WebCore::RenderFlowThread::contentLogicalWidthOfFirstFragment const): Deleted.
(WebCore::RenderFlowThread::contentLogicalHeightOfFirstFragment const): Deleted.
(WebCore::RenderFlowThread::contentLogicalLeftOfFirstFragment const): Deleted.
(WebCore::RenderFlowThread::firstFragment const): Deleted.
(WebCore::RenderFlowThread::lastFragment const): Deleted.
(WebCore::RenderFlowThread::clearRenderBoxFragmentInfoAndCustomStyle): Deleted.
(WebCore::RenderFlowThread::setFragmentRangeForBox): Deleted.
(WebCore::RenderFlowThread::hasCachedFragmentRangeForBox const): Deleted.
(WebCore::RenderFlowThread::getFragmentRangeForBoxFromCachedInfo const): Deleted.
(WebCore::RenderFlowThread::getFragmentRangeForBox const): Deleted.
(WebCore::RenderFlowThread::computedFragmentRangeForBox const): Deleted.
(WebCore::RenderFlowThread::fragmentInRange const): Deleted.
(WebCore::RenderFlowThread::objectShouldFragmentInFlowFragment const): Deleted.
(WebCore::RenderFlowThread::objectInFlowFragment const): Deleted.
(WebCore::RenderFlowThread::checkLinesConsistency const): Deleted.
(WebCore::RenderFlowThread::clearLinesToFragmentMap): Deleted.
(WebCore::RenderFlowThread::deleteLines): Deleted.
(WebCore::RenderFlowThread::willBeDestroyed): Deleted.
(WebCore::RenderFlowThread::markFragmentsForOverflowLayoutIfNeeded): Deleted.
(WebCore::RenderFlowThread::updateFragmentsFlowThreadPortionRect): Deleted.
(WebCore::RenderFlowThread::addForcedFragmentBreak): Deleted.
(WebCore::RenderFlowThread::collectLayerFragments): Deleted.
(WebCore::RenderFlowThread::fragmentsBoundingBox): Deleted.
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstFragment const): Deleted.
(WebCore::RenderFlowThread::FragmentSearchAdapter::collectIfNeeded): Deleted.
(WebCore::RenderFlowThread::mapLocalToContainer const): Deleted.
(WebCore::RenderFlowThread::mapFromLocalToFlowThread const): Deleted.
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal const): Deleted.
(WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates const): Deleted.
(WebCore::RenderFlowThread::addFragmentsVisualEffectOverflow): Deleted.
(WebCore::RenderFlowThread::addFragmentsVisualOverflowFromTheme): Deleted.
(WebCore::RenderFlowThread::addFragmentsOverflowFromChild): Deleted.
(WebCore::RenderFlowThread::addFragmentsLayoutOverflow): Deleted.
(WebCore::RenderFlowThread::addFragmentsVisualOverflow): Deleted.
(WebCore::RenderFlowThread::clearFragmentsOverflow): Deleted.
(WebCore::RenderFlowThread::currentFragment const): Deleted.
(WebCore::RenderFlowThread::containingFragmentMap): Deleted.

  • rendering/RenderFragmentedFlow.h: Copied from rendering/RenderFlowThread.h.
  • rendering/RenderGeometryMap.cpp:

(WebCore::canMapBetweenRenderersViaLayers):
(WebCore::RenderGeometryMap::pushRenderFragmentedFlow):
(WebCore::RenderGeometryMap::pushRenderFlowThread): Deleted.

  • rendering/RenderGeometryMap.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::layoutShadowControls):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addChild):
(WebCore::RenderInline::clone const):
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::offsetFromContainer const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
(WebCore::transparencyClipBox):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::enclosingFragmentedFlowAncestor const):
(WebCore::RenderLayer::hitTestContents const):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::enclosingFlowThreadAncestor const): Deleted.

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

(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::canBeComposited const):

  • rendering/RenderMedia.cpp:
  • rendering/RenderMultiColumnFlow.cpp: Copied from rendering/RenderMultiColumnFlowThread.cpp.

(WebCore::RenderMultiColumnFlow::RenderMultiColumnFlow):
(WebCore::RenderMultiColumnFlow::~RenderMultiColumnFlow):
(WebCore::RenderMultiColumnFlow::renderName const):
(WebCore::RenderMultiColumnFlow::firstMultiColumnSet const):
(WebCore::RenderMultiColumnFlow::lastMultiColumnSet const):
(WebCore::RenderMultiColumnFlow::firstColumnSetOrSpanner const):
(WebCore::RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlow::layout):
(WebCore::findSetRendering):
(WebCore::RenderMultiColumnFlow::populate):
(WebCore::RenderMultiColumnFlow::evacuateAndDestroy):
(WebCore::RenderMultiColumnFlow::addFragmentToThread):
(WebCore::RenderMultiColumnFlow::willBeRemovedFromTree):
(WebCore::RenderMultiColumnFlow::resolveMovedChild const):
(WebCore::isValidColumnSpanner):
(WebCore::spannerPlacehoderCandidate):
(WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
(WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
(WebCore::RenderMultiColumnFlow::handleSpannerRemoval):
(WebCore::RenderMultiColumnFlow::fragmentedFlowRelativeWillBeRemoved):
(WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantBoxLaidOut):
(WebCore::RenderMultiColumnFlow::computeLogicalHeight const):
(WebCore::RenderMultiColumnFlow::initialLogicalWidth const):
(WebCore::RenderMultiColumnFlow::setPageBreak):
(WebCore::RenderMultiColumnFlow::updateMinimumPageHeight):
(WebCore::RenderMultiColumnFlow::fragmentAtBlockOffset const):
(WebCore::RenderMultiColumnFlow::setFragmentRangeForBox):
(WebCore::RenderMultiColumnFlow::addForcedFragmentBreak):
(WebCore::RenderMultiColumnFlow::computeLineGridPaginationOrigin const):
(WebCore::RenderMultiColumnFlow::offsetFromContainer const):
(WebCore::RenderMultiColumnFlow::mapAbsoluteToLocalPoint const):
(WebCore::RenderMultiColumnFlow::physicalTranslationFromFragmentToFlow const):
(WebCore::RenderMultiColumnFlow::mapFromFlowToFragment const):
(WebCore::RenderMultiColumnFlow::physicalTranslationOffsetFromFlowToFragment const):
(WebCore::RenderMultiColumnFlow::physicalTranslationFromFlowToFragment const):
(WebCore::RenderMultiColumnFlow::isPageLogicalHeightKnown const):
(WebCore::RenderMultiColumnFlow::nodeAtPoint):
(WebCore::RenderMultiColumnFlow::shouldCheckColumnBreaks const):
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): Deleted.
(WebCore::RenderMultiColumnFlowThread::~RenderMultiColumnFlowThread): Deleted.
(WebCore::RenderMultiColumnFlowThread::renderName const): Deleted.
(WebCore::RenderMultiColumnFlowThread::firstMultiColumnSet const): Deleted.
(WebCore::RenderMultiColumnFlowThread::lastMultiColumnSet const): Deleted.
(WebCore::RenderMultiColumnFlowThread::firstColumnSetOrSpanner const): Deleted.
(WebCore::RenderMultiColumnFlowThread::nextColumnSetOrSpannerSiblingOf): Deleted.
(WebCore::RenderMultiColumnFlowThread::previousColumnSetOrSpannerSiblingOf): Deleted.
(WebCore::RenderMultiColumnFlowThread::layout): Deleted.
(WebCore::RenderMultiColumnFlowThread::populate): Deleted.
(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy): Deleted.
(WebCore::RenderMultiColumnFlowThread::addFragmentToThread): Deleted.
(WebCore::RenderMultiColumnFlowThread::willBeRemovedFromTree): Deleted.
(WebCore::RenderMultiColumnFlowThread::resolveMovedChild const): Deleted.
(WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant): Deleted.
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted): Deleted.
(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval): Deleted.
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved): Deleted.
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantBoxLaidOut): Deleted.
(WebCore::RenderMultiColumnFlowThread::computeLogicalHeight const): Deleted.
(WebCore::RenderMultiColumnFlowThread::initialLogicalWidth const): Deleted.
(WebCore::RenderMultiColumnFlowThread::setPageBreak): Deleted.
(WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight): Deleted.
(WebCore::RenderMultiColumnFlowThread::fragmentAtBlockOffset const): Deleted.
(WebCore::RenderMultiColumnFlowThread::setFragmentRangeForBox): Deleted.
(WebCore::RenderMultiColumnFlowThread::addForcedFragmentBreak): Deleted.
(WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin const): Deleted.
(WebCore::RenderMultiColumnFlowThread::offsetFromContainer const): Deleted.
(WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint const): Deleted.
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFragmentToFlow const): Deleted.
(WebCore::RenderMultiColumnFlowThread::mapFromFlowToFragment const): Deleted.
(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToFragment const): Deleted.
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToFragment const): Deleted.
(WebCore::RenderMultiColumnFlowThread::isPageLogicalHeightKnown const): Deleted.
(WebCore::RenderMultiColumnFlowThread::nodeAtPoint): Deleted.
(WebCore::RenderMultiColumnFlowThread::shouldCheckColumnBreaks const): Deleted.

  • rendering/RenderMultiColumnFlow.h: Copied from rendering/RenderMultiColumnFlowThread.h.
  • rendering/RenderMultiColumnFlowThread.cpp: Removed.
  • rendering/RenderMultiColumnFlowThread.h: Removed.
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::firstRendererInFragmentedFlow const):
(WebCore::RenderMultiColumnSet::lastRendererInFragmentedFlow const):
(WebCore::RenderMultiColumnSet::containsRendererInFragmentedFlow const):
(WebCore::RenderMultiColumnSet::setLogicalTopInFragmentedFlow):
(WebCore::RenderMultiColumnSet::setLogicalBottomInFragmentedFlow):
(WebCore::RenderMultiColumnSet::pageLogicalTopForOffset const):
(WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight):
(WebCore::RenderMultiColumnSet::distributeImplicitBreaks):
(WebCore::RenderMultiColumnSet::calculateBalancedHeight const):
(WebCore::RenderMultiColumnSet::recalculateColumnHeight):
(WebCore::RenderMultiColumnSet::updateLogicalWidth):
(WebCore::RenderMultiColumnSet::requiresBalancing const):
(WebCore::RenderMultiColumnSet::prepareForLayout):
(WebCore::RenderMultiColumnSet::beginFlow):
(WebCore::RenderMultiColumnSet::endFlow):
(WebCore::RenderMultiColumnSet::layout):
(WebCore::RenderMultiColumnSet::calculateMaxColumnHeight const):
(WebCore::RenderMultiColumnSet::columnCount const):
(WebCore::RenderMultiColumnSet::columnLogicalLeft const):
(WebCore::RenderMultiColumnSet::columnLogicalTop const):
(WebCore::RenderMultiColumnSet::columnIndexAtOffset const):
(WebCore::RenderMultiColumnSet::fragmentedFlowPortionRectAt const):
(WebCore::RenderMultiColumnSet::fragmentedFlowPortionOverflowRect):
(WebCore::RenderMultiColumnSet::paintColumnRules):
(WebCore::RenderMultiColumnSet::repaintFragmentedFlowContent):
(WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting const):
(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::columnTranslationForOffset const):
(WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFragmentedFlowPortionRect const):
(WebCore::RenderMultiColumnSet::positionForPoint):
(WebCore::RenderMultiColumnSet::translateFragmentPointToFragmentedFlow const):
(WebCore::RenderMultiColumnSet::updateHitTestResult):
(WebCore::RenderMultiColumnSet::firstRendererInFlowThread const): Deleted.
(WebCore::RenderMultiColumnSet::lastRendererInFlowThread const): Deleted.
(WebCore::RenderMultiColumnSet::containsRendererInFlowThread const): Deleted.
(WebCore::RenderMultiColumnSet::setLogicalTopInFlowThread): Deleted.
(WebCore::RenderMultiColumnSet::setLogicalBottomInFlowThread): Deleted.
(WebCore::RenderMultiColumnSet::flowThreadPortionRectAt const): Deleted.
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect): Deleted.
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent): Deleted.
(WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFlowThreadPortionRect const): Deleted.
(WebCore::RenderMultiColumnSet::translateFragmentPointToFlowThread const): Deleted.

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderMultiColumnSpannerPlaceholder.cpp:

(WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):

  • rendering/RenderMultiColumnSpannerPlaceholder.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::setFragmentedFlowStateIncludingDescendants):
(WebCore::RenderObject::computedFragmentedFlowState):
(WebCore::RenderObject::initializeFragmentedFlowStateOnInsertion):
(WebCore::RenderObject::resetFragmentedFlowStateOnRemoval):
(WebCore::RenderObject::containerForRepaint const):
(WebCore::RenderObject::repaintUsingContainer const):
(WebCore::enclosingFragmentedFlowFromRenderer):
(WebCore::RenderObject::outputRegionsInformation const):
(WebCore::RenderObject::selectionRoot const):
(WebCore::RenderObject::offsetFromContainer const):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::locateEnclosingFragmentedFlow const):
(WebCore::RenderObject::setIsRenderFragmentedFlow):
(WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Deleted.
(WebCore::RenderObject::computedFlowThreadState): Deleted.
(WebCore::RenderObject::initializeFlowThreadStateOnInsertion): Deleted.
(WebCore::RenderObject::resetFlowThreadStateOnRemoval): Deleted.
(WebCore::flowThreadContainingBlockFromRenderer): Deleted.
(WebCore::RenderObject::locateFlowThreadContainingBlock const): Deleted.
(WebCore::RenderObject::setIsRenderFlowThread): Deleted.

  • rendering/RenderObject.h:

(WebCore::RenderObject::enclosingFragmentedFlow const):
(WebCore::RenderObject::isInFlowRenderFragmentedFlow const):
(WebCore::RenderObject::isOutOfFlowRenderFragmentedFlow const):
(WebCore::RenderObject::isRenderMultiColumnFlow const):
(WebCore::RenderObject::fragmentedFlowState const):
(WebCore::RenderObject::setFragmentedFlowState):
(WebCore::RenderObject::isAnonymousBlock const):
(WebCore::RenderObject::isRenderFragmentedFlow const):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::fragmentedFlowState const):
(WebCore::RenderObject::RenderObjectBitfields::setFragmentedFlowState):
(WebCore::RenderObject::RenderObjectRareData::RenderObjectRareData):
(WebCore::RenderObject::flowThreadContainingBlock const): Deleted.
(WebCore::RenderObject::isInFlowRenderFlowThread const): Deleted.
(WebCore::RenderObject::isOutOfFlowRenderFlowThread const): Deleted.
(WebCore::RenderObject::isRenderMultiColumnFlowThread const): Deleted.
(WebCore::RenderObject::flowThreadState const): Deleted.
(WebCore::RenderObject::setFlowThreadState): Deleted.
(WebCore::RenderObject::isRenderFlowThread const): Deleted.
(WebCore::RenderObject::RenderObjectBitfields::flowThreadState const): Deleted.
(WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState): Deleted.

  • rendering/RenderReplaced.cpp:
  • rendering/RenderRuby.cpp:

(WebCore::isRubyChildForNormalRemoval):

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::blockForAccompanyingFirstLetter):

  • rendering/RenderView.cpp:

(WebCore::RenderView::availableLogicalHeight const):
(WebCore::RenderView::pageOrViewLogicalHeight const):
(WebCore::RenderView::updateHitTestResult):
(WebCore::RenderView::pageNumberForBlockProgressionOffset const):
(WebCore::RenderView::pageCount const):

  • rendering/RenderView.h:
  • rendering/RenderingAllInOne.cpp:
  • rendering/RootInlineBox.cpp:

(WebCore::containingFragmentMap):
(WebCore::RootInlineBox::~RootInlineBox):
(WebCore::RootInlineBox::containingFragment const):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseForWithReason):

  • rendering/line/LineLayoutState.h:

(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::fragmentedFlow const):
(WebCore::LineLayoutState::setFragmentedFlow):
(WebCore::LineLayoutState::flowThread const): Deleted.
(WebCore::LineLayoutState::setFlowThread): Deleted.

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):

  • style/RenderTreePosition.h:
  • style/RenderTreeUpdaterListItem.cpp:

(WebCore::RenderTreeUpdater::ListItem::updateMarker):

  • style/RenderTreeUpdaterMultiColumn.cpp:

(WebCore::RenderTreeUpdater::MultiColumn::update):
(WebCore::RenderTreeUpdater::MultiColumn::createFragmentedFlow):
(WebCore::RenderTreeUpdater::MultiColumn::createFlowThread): Deleted.

  • style/RenderTreeUpdaterMultiColumn.h:
  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

1:42 PM Changeset in webkit [222574] by Ryan Haddad
  • 2 edits in trunk/Tools

Update TestResultsServer for High Sierra queues.
https://bugs.webkit.org/show_bug.cgi?id=177500

Reviewed by Alexey Proskuryakov.

  • TestResultServer/static-dashboards/builders.jsonp:
1:41 PM Changeset in webkit [222573] by Matt Baker
  • 6 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Create ResourceCollectionContentView and make CollectionContentView easier to extend
https://bugs.webkit.org/show_bug.cgi?id=177419

Reviewed by Devin Rousso.

CollectionContentView should be generic, work with any represented object
Collection, and not perform any type checking. It should just map items
to ContentViews using the provided ContentView constructor.

The behavior when clicking a ContentView in the collection has been extended.
If selection is enabled, clicking a ContentView will cause a "selected" class
to be applied to its element, and a SupplementalRepresentedObjectsDidChange
event is dispatched.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New file, move CollectionContentView above subclasses.

  • UserInterface/Models/ResourceCollection.js:

(WI.ResourceCollection.prototype.get resourceType):
Make resource type publicly available.

  • UserInterface/Views/CollectionContentView.js:

Move type checking of the collection out of the base class and assert
that ContentViews are created when invoking contentViewConstructor.
(WI.CollectionContentView):
(WI.CollectionContentView.titleForCollection):
(WI.CollectionContentView.prototype.get supplementalRepresentedObjects):
(WI.CollectionContentView.prototype.get selectionEnabled):
(WI.CollectionContentView.prototype.set selectionEnabled):
(WI.CollectionContentView.prototype.addContentViewForItem):
(WI.CollectionContentView.prototype.removeContentViewForItem):
(WI.CollectionContentView.prototype.contentViewAdded):
(WI.CollectionContentView.prototype.contentViewRemoved):
(WI.CollectionContentView.prototype.initialLayout):
(WI.CollectionContentView.prototype.attached):
(WI.CollectionContentView.prototype.detached):
(WI.CollectionContentView.prototype._handleItemAdded):
(WI.CollectionContentView.prototype._handleItemRemoved):
(WI.CollectionContentView.prototype._selectItem):
(WI.CollectionContentView.prototype._addContentViewForItem): Deleted.
(WI.CollectionContentView.prototype._removeContentViewForItem): Deleted.

  • UserInterface/Views/ContentView.js:

(WI.ContentView.createFromRepresentedObject):
Create a ResourceCollectionContentView. In the future, additional
Collection types can be mapped to their associated CollectionContentView.

  • UserInterface/Views/ResourceCollectionContentView.js: Added.

New class for resource-specific logic previously in CollectionContentView.
(WI.ResourceCollectionContentView):
(WI.ResourceCollectionContentView.prototype.contentViewAdded):
(WI.ResourceCollectionContentView.prototype._handleContentError):
Remove ContentView without removing the resource from its collection.

1:38 PM Changeset in webkit [222572] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

GTK test gardening.
https://bugs.webkit.org/show_bug.cgi?id=177545

Patch by Alicia Boya García <aboya@igalia.com> on 2017-09-27
Reviewed by Michael Catanzaro.

  • platform/gtk/TestExpectations:
  • platform/gtk-wayland/TestExpectations:
1:11 PM Changeset in webkit [222571] by Matt Lewis
  • 3 edits in trunk/Source/WebKitLegacy/mac

Unreviewed, rolling out r222567.

This broke and internal build.

Reverted changeset:

"Build fix for High Sierra 32 bit Mac"
https://bugs.webkit.org/show_bug.cgi?id=177551
http://trac.webkit.org/changeset/222567

1:01 PM Changeset in webkit [222570] by Chris Dumez
  • 5 edits in trunk/Source

Have PingLoad take a CompletionHandler
https://bugs.webkit.org/show_bug.cgi?id=177549

Reviewed by Youenn Fablet.

Have PingLoad take a CompletionHandler instead of relying on it calling on method on the
NetworkConnectionToWebProcess when it is done.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::loadPing):

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::PingLoad):
(WebKit::PingLoad::didFinish):

  • NetworkProcess/PingLoad.h:
12:47 PM Changeset in webkit [222569] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked inspector/canvas/shaderProgram-add-remove-webgl.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177388

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:38 PM Changeset in webkit [222568] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.8

Tag Safari-605.1.8.

12:14 PM Changeset in webkit [222567] by Jonathan Bedard
  • 3 edits in trunk/Source/WebKitLegacy/mac

Build fix for High Sierra 32 bit Mac
https://bugs.webkit.org/show_bug.cgi?id=177551
<rdar://problem/34690283>

Reviewed by Alexey Proskuryakov.

Some assertions have been removed from the SDK. Replace these assertions with equivalent
WTF assert code. Since the files in this patch are using tabs, some style changes were
also made.

  • Carbon/CarbonWindowAdapter.mm:

(+[CarbonWindowAdapter frameViewClassForStyleMask:]):
(-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]):
(-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
(-[CarbonWindowAdapter setViewsNeedDisplay:]):
(-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]):
(-[CarbonWindowAdapter dealloc]):
(-[CarbonWindowAdapter windowRef]):
(-[CarbonWindowAdapter _hasWindowRef]):
(-[CarbonWindowAdapter _managesWindowRef]):
(-[CarbonWindowAdapter _removeWindowRef]):
(-[CarbonWindowAdapter _carbonWindowClass]):
(-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
(-[CarbonWindowAdapter sendSuperEvent:]):
(-[CarbonWindowAdapter relinquishFocus]):
(-[CarbonWindowAdapter _cancelKey:]):
(-[CarbonWindowAdapter _commonAwake]):
(-[CarbonWindowAdapter _destroyRealWindow:]):
(-[CarbonWindowAdapter _oldPlaceWindow:]):
(-[CarbonWindowAdapter _termWindowIfOwner]):
(-[CarbonWindowAdapter _windowMovedToRect:]):
(-[CarbonWindowAdapter constrainFrameRect:toScreen:]):
(-[CarbonWindowAdapter selectKeyViewFollowingView:]):
(-[CarbonWindowAdapter selectKeyViewPrecedingView:]):
(-[CarbonWindowAdapter canBecomeKeyWindow]):
(-[CarbonWindowAdapter canBecomeMainWindow]):
(-[CarbonWindowAdapter encodeWithCoder:]):
(-[CarbonWindowAdapter initWithCoder:]):
(-[CarbonWindowAdapter setContentView:]):
(-[CarbonWindowAdapter worksWhenModal]):
(-[CarbonWindowAdapter _setModalWindowLevel]):
(-[CarbonWindowAdapter _clearModalWindowLevel]):
(-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]):
(-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]):
(-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]):
(-[CarbonWindowAdapter _handleRootBoundsChanged]):
(-[CarbonWindowAdapter _handleContentBoundsChanged]):
(-[CarbonWindowAdapter _handleCarbonEvent:callRef:]):
(NSCarbonWindowHandleEvent):
(-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):
(-[CarbonWindowAdapter _growBoxRect]):

  • Carbon/HIWebView.mm:

(HIWebViewGetWebView):
(HIWebViewConstructor):
(HIWebViewDestructor):
(HIWebViewRegisterClass):
(GetBehaviors):
(Draw):
(HitTest):
(GetRegion):
(GetWindowRef):
(CreateNSEventAdoptingCGEvent):
(CopyEventCGEvent):
(CreateNSEventWithCarbonClickEvent):
(Click):
(CreateNSEventWithCarbonEvent):
(MouseUp):
(CreateNSEventWithCarbonMouseMoveEvent):
(MouseMoved):
(MouseDragged):
(MouseWheelMoved):
(ContextMenuClick):
(GetKind):
(BoundsChanged):
(OwningWindowChanged):
(WindowHandler):
(SyncFrame):
(SetFocusPart):
(AdvanceFocus):
(RelinquishFocus):
(ActiveStateChanged):
(ProcessCommand):
(UpdateCommandStatus):
(_NSSelectorForHICommand):
(HIWebViewEventHandler):
(StartUpdateObserver):
(StopUpdateObserver):
(UpdateObserver):

11:58 AM Changeset in webkit [222566] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix Layers tab sidebar popover.
https://bugs.webkit.org/show_bug.cgi?id=177477

Patch by Ross Kirsling <Ross Kirsling> on 2017-09-27
Reviewed by Matt Baker.

  • UserInterface/Views/LayerDetailsSidebarPanel.js:

(WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Added.
(WI.LayerDetailsSidebarPanel.prototype._buildDataGrid):
(WI.LayerDetailsSidebarPanel.prototype._sortDataGrid):
(WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
(WI.LayerDetailsSidebarPanel.prototype._dataGridFocused):
(WI.LayerDetailsSidebarPanel.prototype._dataGridBlurred):
(WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Refactored.
(WI.LayerDetailsSidebarPanel.prototype._presentPopover):
(WI.LayerDetailsSidebarPanel.prototype._dataGridClicked): Deleted -- not actually desired behavior.
(WI.LayerDetailsSidebarPanel.prototype._updatePopoverForSelectedNode): Deleted -- code simplification.
(WI.LayerDetailsSidebarPanel.prototype._hidePopover): Deleted -- no longer needed.

11:54 AM Changeset in webkit [222565] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix after r222563
https://bugs.webkit.org/show_bug.cgi?id=175823

  • runtime/JSArrayInlines.h:
11:51 AM Changeset in webkit [222564] by Yusuke Suzuki
  • 36 edits
    2 adds in trunk

Add Above/Below comparisons for UInt32 patterns
https://bugs.webkit.org/show_bug.cgi?id=177281

Reviewed by Saam Barati.

JSTests:

  • stress/uint32-comparison-jump.js: Added.

(shouldBe):
(above):
(aboveOrEqual):
(below):
(belowOrEqual):
(notAbove):
(notAboveOrEqual):
(notBelow):
(notBelowOrEqual):

  • stress/uint32-comparison.js: Added.

(shouldBe):
(above):
(aboveOrEqual):
(below):
(belowOrEqual):
(aboveTest):
(aboveOrEqualTest):
(belowTest):
(belowOrEqualTest):

Source/JavaScriptCore:

Sometimes, we would like to have UInt32 operations in JS. While VM does
not support UInt32 nicely, VM supports efficient Int32 operations. As long
as signedness does not matter, we can just perform Int32 operations instead
and recognize its bit pattern as UInt32.

But of course, some operations respect signedness. The most frequently
used one is comparison. Octane/zlib performs UInt32 comparison by performing
val >>> 0. It emits op_urshift and op_unsigned. op_urshift produces
UInt32 in Int32 form. And op_unsigned will generate Double value if
the generated Int32 is < 0 (which should be UInt32).

There is a chance for optimization. The given code pattern is the following.

op_unsigned(op_urshift(@1)) lessThan:< op_unsigned(op_urshift(@2))

This can be converted to the following.

op_urshift(@1) below:< op_urshift(@2)

The above conversion is nice since

  1. We can avoid op_unsigned. This could be unsignedness check in DFG. Since

this check depends on the value of Int32, dropping this check is not as easy as
removing Int32 edge filters.

  1. We can perform unsigned comparison in Int32 form. We do not need to convert

them to DoubleRep.

Since the above comparison exists in Octane/zlib's *super* hot path, dropping
op_unsigned offers huge win.

At first, my patch attempts to convert the above thing in DFG pipeline.
However it poses several problems.

  1. MovHint is not well removed. It makes UInt32ToNumber (which is for op_unsigned) live.
  2. UInt32ToNumber could cause an OSR exit. So if we have the following nodes,

2: UInt32ToNumber(@0)
3: MovHint(@2, xxx)
4: UInt32ToNumber(@1)
5: MovHint(@1, xxx)

we could drop @5's MovHint. But @3 is difficult since @4 can exit.

So, instead, we start introducing a simple optimization in the bytecode compiler.
It performs pattern matching for op_urshift and comparison to drop op_unsigned.
We adds op_below and op_above families to bytecodes. They only accept Int32 and
perform unsigned comparison.

This offers 4% performance improvement in Octane/zlib.

baseline patched

zlib x2 431.07483+-16.28434 414.33407+-9.38375 might be 1.0404x faster

  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::printCompareJump):
(JSC::BytecodeDumper<Block>::dumpBytecode):

  • bytecode/BytecodeDumper.h:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/Opcode.h:

(JSC::isBranch):

  • bytecode/PreciseJumpTargetsInlines.h:

(JSC::extractStoredJumpTargetsForBytecodeOffset):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitJumpIfTrue):
(JSC::BytecodeGenerator::emitJumpIfFalse):

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

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

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCompareUnsigned):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGValidate.cpp:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareBelow):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareBelowEq):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_below):
(JSC::JIT::emit_op_beloweq):
(JSC::JIT::emit_op_jbelow):
(JSC::JIT::emit_op_jbeloweq):
(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsigned):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsigned):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • parser/Nodes.h:

(JSC::ExpressionNode::isBinaryOpNode const):

11:37 AM Changeset in webkit [222563] by Yusuke Suzuki
  • 18 edits
    13 adds in trunk

[DFG] Support ArrayPush with multiple args
https://bugs.webkit.org/show_bug.cgi?id=175823

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/array-push-0.js: Added.

(arrayPush0):

  • microbenchmarks/array-push-1.js: Added.

(arrayPush1):

  • microbenchmarks/array-push-2.js: Added.

(arrayPush2):

  • microbenchmarks/array-push-3.js: Added.

(arrayPush3):

  • stress/array-push-multiple-contiguous.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-double-nan.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-double.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-int32.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-many-contiguous.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-many-double.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-many-int32.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-many-storage.js: Added.

(shouldBe):
(test):

  • stress/array-push-multiple-storage.js: Added.

(shouldBe):
(test):

Source/JavaScriptCore:

This patch implements ArrayPush(with multiple arguments) in DFG and FTL. Previously, they are not handled
by ArrayPush. Then they go to generic direct call to Array#push and it does in slow path. This patch
extends ArrayPush to push multiple arguments in a bulk push manner.

The problem of ArrayPush is that we need to perform ArrayPush atomically: If OSR exit occurs in the middle
of ArrayPush, we incorrectly push pushed elements twice. Once we start pushing values, we should not exit.
But we do not want to iterate elements twice, once for type checks and once for actually pushing it. It
could move elements between registers and memory back and forth.

This patch achieves the above goal by separating type checks from ArrayPush. When starting ArrayPush, type
checks for elements are already done by separately emitted Check nodes.

We also add JSArray::pushInline for DFG operations just calling JSArray::push. And we also use it in
arrayProtoFuncPush's fast path.

This patch significantly improves performance of push(multiple args).

baseline patched

Microbenchmarks:

array-push-0 461.8455+-28.9995 151.3438+-6.5653 definitely 3.0516x faster
array-push-1 133.8845+-7.0349 ? 136.1775+-5.8327 ? might be 1.0171x slower
array-push-2 675.6555+-13.4645 145.8747+-6.4621 definitely 4.6318x faster
array-push-3 849.5284+-15.2540 253.4421+-9.1249 definitely 3.3520x faster

baseline patched

SixSpeed:

spread-literal.es5 90.3482+-6.6514 24.8123+-2.3304 definitely 3.6413x faster

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArrayPush):

  • dfg/DFGSpeculativeJIT.h:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStoreBarrierInsertionPhase.cpp:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileArrayPush):

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

(JSC::arrayProtoFuncPush):

  • runtime/JSArray.cpp:

(JSC::JSArray::push):

  • runtime/JSArray.h:
  • runtime/JSArrayInlines.h:

(JSC::JSArray::pushInline):

11:17 AM Changeset in webkit [222562] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebCore

Default to void* for platform widgets
https://bugs.webkit.org/show_bug.cgi?id=177518

Reviewed by Michael Catanzaro.

No new tests. No change in behavior.

  • platform/Cursor.h:
  • platform/DragData.h:
  • platform/Widget.h:
11:01 AM Changeset in webkit [222561] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Fetch API] Cloning an opaque response should not assert
https://bugs.webkit.org/show_bug.cgi?id=177548

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-27
Reviewed by Sam Weinig.

Source/WebCore:

Test: http/wpt/fetch/response-opaque-clone.html

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::readableStream): Returning null if response is opaque.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::clone): Making sure cloned responses keep their opaque state.
(WebCore::FetchResponse::consumeBodyAsStream): Removing assertion as we need to create a stream for cloning.

LayoutTests:

  • http/wpt/fetch/response-opaque-clone-expected.txt: Added.
  • http/wpt/fetch/response-opaque-clone.html: Added.
10:57 AM Changeset in webkit [222560] by Joseph Pecoraro
  • 6 edits in trunk/Source

Web Inspector: Remove unused parameter of Page.reload
https://bugs.webkit.org/show_bug.cgi?id=177522

Reviewed by Matt Baker.

Source/JavaScriptCore:

  • inspector/protocol/Page.json:

Source/WebCore:

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::frameNavigated):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld): Deleted.

  • inspector/InspectorPageAgent.h:
10:55 AM Changeset in webkit [222559] by Chris Dumez
  • 7 edits
    2 adds in trunk

cssFloat missing in CSSPropertyDeclaration.prototype
https://bugs.webkit.org/show_bug.cgi?id=177487

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT now that more checks are passing.

  • web-platform-tests/cssom/interfaces-expected.txt:

Source/WebCore:

Add support for cssFloat attribute on CSSPropertyDeclaration, as per:

Test: fast/css/CSSStyleDeclaration-cssFloat.html

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::cssFloat):
(WebCore::CSSStyleDeclaration::setCssFloat):

  • css/CSSStyleDeclaration.h:
  • css/CSSStyleDeclaration.idl:

LayoutTests:

Add layout test coverage.

  • fast/css/CSSStyleDeclaration-cssFloat-expected.txt: Added.
  • fast/css/CSSStyleDeclaration-cssFloat.html: Added.
10:12 AM Changeset in webkit [222558] by Lucas Forschler
  • 2 edits
    3 adds
    1 delete in trunk/Tools

bisect-builds:add a README to the archive.
https://bugs.webkit.org/show_bug.cgi?id=177376

Reviewed by Alexey Proskuryakov & Jon Davis.

  • BuildSlaveSupport/built-product-archive:

(addFilesToArchive): refactor function (was previously addLauncherToArchive)
(createZip): Teach function to add the README
(addLauncherToArchive): Deleted. (refactored to addFilesToArchive)

  • BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
  • WebKitArchiveSupport: Added.
  • WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
  • WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
10:08 AM Changeset in webkit [222557] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Ref element keys in CSSAnimationControllerPrivate
https://bugs.webkit.org/show_bug.cgi?id=177543

Reviewed by Zalan Bujtas.

For safety.

  • page/animation/CSSAnimationControllerPrivate.h:

This won't create ref cycle as elements are removed from the m_compositeAnimations maps when they
are removed from the tree. We have assertions that verify the map is always cleared.

9:19 AM Changeset in webkit [222556] by hyatt@apple.com
  • 53 edits
    5 moves in trunk/Source/WebCore

Rename "Region" to "Fragment" for RenderRegion and associated classes/methods.
https://bugs.webkit.org/show_bug.cgi?id=177506

Reviewed by Zalan Bujtas.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator BreakInside const):

  • css/CSSValueKeywords.in:
  • dom/Element.cpp:
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::calcWidthArray):

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::computeMarginLogicalSizeForChild):
(WebCore::IndefiniteSizeStrategy::minLogicalWidthForChild const):
(WebCore::DefiniteSizeStrategy::minLogicalWidthForChild const):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::clearLayoutOverflow):
(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::logicalLeftOffsetForContent const):
(WebCore::RenderBlock::logicalRightOffsetForContent const):
(WebCore::RenderBlock::adjustLogicalLeftOffsetForLine const):
(WebCore::RenderBlock::adjustLogicalRightOffsetForLine const):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::positionForPoint):
(WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):
(WebCore::RenderBlock::fragmentAtBlockOffset const):
(WebCore::canComputeFragmentRangeForBox):
(WebCore::RenderBlock::computeFragmentRangeForBoxChild const):
(WebCore::RenderBlock::estimateFragmentRangeForBoxChild const):
(WebCore::RenderBlock::updateFragmentRangeForBoxChild const):
(WebCore::RenderBlock::regionAtBlockOffset const): Deleted.
(WebCore::canComputeRegionRangeForBox): Deleted.
(WebCore::RenderBlock::computeRegionRangeForBoxChild const): Deleted.
(WebCore::RenderBlock::estimateRegionRangeForBoxChild const): Deleted.
(WebCore::RenderBlock::updateRegionRangeForBoxChild const): Deleted.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::availableLogicalWidthForLineInFragment const):
(WebCore::RenderBlock::logicalRightOffsetForLineInFragment const):
(WebCore::RenderBlock::logicalLeftOffsetForLineInFragment const):
(WebCore::RenderBlock::startOffsetForLineInFragment const):
(WebCore::RenderBlock::endOffsetForLineInFragment const):
(WebCore::RenderBlock::availableLogicalWidthForLine const):
(WebCore::RenderBlock::availableLogicalWidthForContent const):
(WebCore::RenderBlock::startOffsetForContent const):
(WebCore::RenderBlock::endOffsetForContent const):
(WebCore::RenderBlock::logicalLeftOffsetForContent const):
(WebCore::RenderBlock::logicalRightOffsetForContent const):
(WebCore::RenderBlock::availableLogicalWidthForLineInRegion const): Deleted.
(WebCore::RenderBlock::logicalRightOffsetForLineInRegion const): Deleted.
(WebCore::RenderBlock::logicalLeftOffsetForLineInRegion const): Deleted.
(WebCore::RenderBlock::startOffsetForLineInRegion const): Deleted.
(WebCore::RenderBlock::endOffsetForLineInRegion const): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::setStaticInlinePositionForChild):
(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::hasNextPage const):
(WebCore::RenderBlockFlow::adjustForUnsplittableChild):
(WebCore::RenderBlockFlow::pushToNextPageWithMinimumLogicalHeight const):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::getClearDelta):
(WebCore::RenderBlockFlow::needsLayoutAfterFragmentRangeChange const):
(WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
(WebCore::RenderBlockFlow::positionForPoint):
(WebCore::RenderBlockFlow::layoutExcludedChildren):
(WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange const): Deleted.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::layoutLineBoxes):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
(WebCore::RenderBlockFlow::lineWidthForPaginatedLineChanged const):
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
(WebCore::RenderBlockFlow::positionNewFloatOnLine):
(WebCore::RenderBlockFlow::updateFragmentForLine const):
(WebCore::RenderBlockFlow::updateRegionForLine const): Deleted.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::clampToStartAndEndFragments const):
(WebCore::RenderBox::hasFragmentRangeInFlowThread const):
(WebCore::RenderBox::clientBoxRectInFragment const):
(WebCore::RenderBox::borderBoxRectInFragment const):
(WebCore::RenderBox::constrainLogicalWidthInFragmentByMinMax const):
(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::overflowClipRect):
(WebCore::RenderBox::clipRect):
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats const):
(WebCore::RenderBox::containingBlockLogicalWidthForContentInFragment const):
(WebCore::RenderBox::containingBlockAvailableLineWidthInFragment const):
(WebCore::RenderBox::offsetFromContainer const):
(WebCore::RenderBox::computeRectForRepaint const):
(WebCore::RenderBox::updateLogicalWidth):
(WebCore::RenderBox::computeLogicalWidthInFragment const):
(WebCore::RenderBox::computeLogicalWidthInFragmentUsing const):
(WebCore::RenderBox::renderBoxFragmentInfo const):
(WebCore::tableCellShouldHaveZeroInitialSize):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
(WebCore::computeInlineStaticDistance):
(WebCore::RenderBox::computePositionedLogicalWidth const):
(WebCore::RenderBox::computePositionedLogicalHeight const):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced const):
(WebCore::RenderBox::positionForPoint):
(WebCore::RenderBox::createsNewFormattingContext const):
(WebCore::RenderBox::addVisualEffectOverflow):
(WebCore::RenderBox::addOverflowFromChild):
(WebCore::RenderBox::clearOverflow):
(WebCore::RenderBox::clampToStartAndEndRegions const): Deleted.
(WebCore::RenderBox::hasRegionRangeInFlowThread const): Deleted.
(WebCore::RenderBox::clientBoxRectInRegion const): Deleted.
(WebCore::RenderBox::borderBoxRectInRegion const): Deleted.
(WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax const): Deleted.
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion const): Deleted.
(WebCore::RenderBox::containingBlockAvailableLineWidthInRegion const): Deleted.
(WebCore::RenderBox::computeLogicalWidthInRegion const): Deleted.
(WebCore::RenderBox::computeLogicalWidthInRegionUsing const): Deleted.
(WebCore::RenderBox::renderBoxRegionInfo const): Deleted.

  • rendering/RenderBox.h:

(WebCore::RenderBox::overflowClipRectForChildLayers):
(WebCore::RenderBox::canHaveOutsideFragmentRange const):
(WebCore::RenderBox::needsLayoutAfterFragmentRangeChange const):
(WebCore::RenderBox::canHaveOutsideRegionRange const): Deleted.
(WebCore::RenderBox::needsLayoutAfterRegionRangeChange const): Deleted.

  • rendering/RenderBoxFragmentInfo.h: Copied from rendering/RenderBoxRegionInfo.h.

(WebCore::RenderBoxFragmentInfo::RenderBoxFragmentInfo):
(WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo): Deleted.
(WebCore::RenderBoxRegionInfo::logicalLeft const): Deleted.
(WebCore::RenderBoxRegionInfo::logicalWidth const): Deleted.
(WebCore::RenderBoxRegionInfo::shiftLogicalLeft): Deleted.
(WebCore::RenderBoxRegionInfo::isShifted const): Deleted.
(WebCore::RenderBoxRegionInfo::createOverflow): Deleted.
(WebCore::RenderBoxRegionInfo::overflow const): Deleted.
(WebCore::RenderBoxRegionInfo::clearOverflow): Deleted.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint const):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::canHaveBoxInfoInFragment const):
(WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion const): Deleted.

  • rendering/RenderBoxRegionInfo.h: Removed.
  • rendering/RenderElement.cpp:
  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::positionForPoint):

  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::styleDidChange):
(WebCore::RenderFlowThread::removeFlowChildInfo):
(WebCore::RenderFlowThread::removeFragmentFromThread):
(WebCore::RenderFlowThread::invalidateFragments):
(WebCore::RenderFlowThread::validateFragments):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::updateLogicalWidth):
(WebCore::RenderFlowThread::computeLogicalHeight const):
(WebCore::RenderFlowThread::repaintRectangleInFragments const):
(WebCore::RenderFlowThread::fragmentAtBlockOffset const):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderFlowThread::pageLogicalTopForOffset const):
(WebCore::RenderFlowThread::pageLogicalWidthForOffset const):
(WebCore::RenderFlowThread::pageLogicalHeightForOffset const):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset const):
(WebCore::RenderFlowThread::mapFromFlowToFragment const):
(WebCore::RenderFlowThread::removeRenderBoxFragmentInfo):
(WebCore::RenderFlowThread::removeLineFragmentInfo):
(WebCore::RenderFlowThread::logicalWidthChangedInFragmentsForBlock):
(WebCore::RenderFlowThread::contentLogicalWidthOfFirstFragment const):
(WebCore::RenderFlowThread::contentLogicalHeightOfFirstFragment const):
(WebCore::RenderFlowThread::contentLogicalLeftOfFirstFragment const):
(WebCore::RenderFlowThread::firstFragment const):
(WebCore::RenderFlowThread::lastFragment const):
(WebCore::RenderFlowThread::clearRenderBoxFragmentInfoAndCustomStyle):
(WebCore::RenderFlowThread::setFragmentRangeForBox):
(WebCore::RenderFlowThread::hasCachedFragmentRangeForBox const):
(WebCore::RenderFlowThread::getFragmentRangeForBoxFromCachedInfo const):
(WebCore::RenderFlowThread::getFragmentRangeForBox const):
(WebCore::RenderFlowThread::computedFragmentRangeForBox const):
(WebCore::RenderFlowThread::fragmentInRange const):
(WebCore::RenderFlowThread::objectShouldFragmentInFlowFragment const):
(WebCore::RenderFlowThread::objectInFlowFragment const):
(WebCore::RenderFlowThread::checkLinesConsistency const):
(WebCore::RenderFlowThread::clearLinesToFragmentMap):
(WebCore::RenderFlowThread::deleteLines):
(WebCore::RenderFlowThread::willBeDestroyed):
(WebCore::RenderFlowThread::markFragmentsForOverflowLayoutIfNeeded):
(WebCore::RenderFlowThread::updateFragmentsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedFragmentBreak):
(WebCore::RenderFlowThread::collectLayerFragments):
(WebCore::RenderFlowThread::fragmentsBoundingBox):
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstFragment const):
(WebCore::RenderFlowThread::FragmentSearchAdapter::collectIfNeeded):
(WebCore::RenderFlowThread::mapLocalToContainer const):
(WebCore::RenderFlowThread::addFragmentsVisualEffectOverflow):
(WebCore::RenderFlowThread::addFragmentsVisualOverflowFromTheme):
(WebCore::RenderFlowThread::addFragmentsOverflowFromChild):
(WebCore::RenderFlowThread::addFragmentsLayoutOverflow):
(WebCore::RenderFlowThread::addFragmentsVisualOverflow):
(WebCore::RenderFlowThread::clearFragmentsOverflow):
(WebCore::RenderFlowThread::currentFragment const):
(WebCore::RenderFlowThread::containingFragmentMap):
(WebCore::RenderFlowThread::removeRegionFromThread): Deleted.
(WebCore::RenderFlowThread::invalidateRegions): Deleted.
(WebCore::RenderFlowThread::validateRegions): Deleted.
(WebCore::RenderFlowThread::repaintRectangleInRegions const): Deleted.
(WebCore::RenderFlowThread::regionAtBlockOffset const): Deleted.
(WebCore::RenderFlowThread::mapFromFlowToRegion const): Deleted.
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo): Deleted.
(WebCore::RenderFlowThread::removeLineRegionInfo): Deleted.
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock): Deleted.
(WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::firstRegion const): Deleted.
(WebCore::RenderFlowThread::lastRegion const): Deleted.
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle): Deleted.
(WebCore::RenderFlowThread::setRegionRangeForBox): Deleted.
(WebCore::RenderFlowThread::hasCachedRegionRangeForBox const): Deleted.
(WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo const): Deleted.
(WebCore::RenderFlowThread::getRegionRangeForBox const): Deleted.
(WebCore::RenderFlowThread::computedRegionRangeForBox const): Deleted.
(WebCore::RenderFlowThread::regionInRange const): Deleted.
(WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion const): Deleted.
(WebCore::RenderFlowThread::objectInFlowRegion const): Deleted.
(WebCore::RenderFlowThread::clearLinesToRegionMap): Deleted.
(WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded): Deleted.
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): Deleted.
(WebCore::RenderFlowThread::addForcedRegionBreak): Deleted.
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::RegionSearchAdapter::collectIfNeeded): Deleted.
(WebCore::RenderFlowThread::addRegionsVisualEffectOverflow): Deleted.
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme): Deleted.
(WebCore::RenderFlowThread::addRegionsOverflowFromChild): Deleted.
(WebCore::RenderFlowThread::addRegionsLayoutOverflow): Deleted.
(WebCore::RenderFlowThread::addRegionsVisualOverflow): Deleted.
(WebCore::RenderFlowThread::clearRegionsOverflow): Deleted.
(WebCore::RenderFlowThread::currentRegion const): Deleted.
(WebCore::RenderFlowThread::containingRegionMap): Deleted.

  • rendering/RenderFlowThread.h:

(WTF::ValueToString<WebCore::RenderFragmentContainer::string):
(WTF::ValueToString<WebCore::RenderRegion::string): Deleted.

  • rendering/RenderFragmentContainer.cpp: Copied from rendering/RenderRegion.cpp.

(WebCore::RenderFragmentContainer::RenderFragmentContainer):
(WebCore::RenderFragmentContainer::mapFragmentPointIntoFlowThreadCoordinates):
(WebCore::RenderFragmentContainer::positionForPoint):
(WebCore::RenderFragmentContainer::pageLogicalWidth const):
(WebCore::RenderFragmentContainer::pageLogicalHeight const):
(WebCore::RenderFragmentContainer::logicalHeightOfAllFlowThreadContent const):
(WebCore::RenderFragmentContainer::flowThreadPortionOverflowRect):
(WebCore::RenderFragmentContainer::flowThreadPortionLocation const):
(WebCore::RenderFragmentContainer::overflowRectForFlowThreadPortion):
(WebCore::RenderFragmentContainer::pageLogicalTopForOffset const):
(WebCore::RenderFragmentContainer::isFirstFragment const):
(WebCore::RenderFragmentContainer::isLastFragment const):
(WebCore::RenderFragmentContainer::shouldClipFlowThreadContent const):
(WebCore::RenderFragmentContainer::styleDidChange):
(WebCore::RenderFragmentContainer::computeOverflowFromFlowThread):
(WebCore::RenderFragmentContainer::repaintFlowThreadContent):
(WebCore::RenderFragmentContainer::repaintFlowThreadContentRectangle):
(WebCore::RenderFragmentContainer::installFlowThread):
(WebCore::RenderFragmentContainer::attachFragment):
(WebCore::RenderFragmentContainer::detachFragment):
(WebCore::RenderFragmentContainer::renderBoxFragmentInfo const):
(WebCore::RenderFragmentContainer::setRenderBoxFragmentInfo):
(WebCore::RenderFragmentContainer::takeRenderBoxFragmentInfo):
(WebCore::RenderFragmentContainer::removeRenderBoxFragmentInfo):
(WebCore::RenderFragmentContainer::deleteAllRenderBoxFragmentInfo):
(WebCore::RenderFragmentContainer::logicalTopOfFlowThreadContentRect const):
(WebCore::RenderFragmentContainer::logicalBottomOfFlowThreadContentRect const):
(WebCore::RenderFragmentContainer::insertedIntoTree):
(WebCore::RenderFragmentContainer::willBeRemovedFromTree):
(WebCore::RenderFragmentContainer::computeIntrinsicLogicalWidths const):
(WebCore::RenderFragmentContainer::computePreferredLogicalWidths):
(WebCore::RenderFragmentContainer::adjustFragmentBoundsFromFlowThreadPortionRect const):
(WebCore::RenderFragmentContainer::ensureOverflowForBox):
(WebCore::RenderFragmentContainer::rectFlowPortionForBox const):
(WebCore::RenderFragmentContainer::addLayoutOverflowForBox):
(WebCore::RenderFragmentContainer::addVisualOverflowForBox):
(WebCore::RenderFragmentContainer::layoutOverflowRectForBox):
(WebCore::RenderFragmentContainer::visualOverflowRectForBox):
(WebCore::RenderFragmentContainer::layoutOverflowRectForBoxForPropagation):
(WebCore::RenderFragmentContainer::visualOverflowRectForBoxForPropagation):
(WebCore::CurrentRenderFragmentContainerMaintainer::CurrentRenderFragmentContainerMaintainer):
(WebCore::CurrentRenderFragmentContainerMaintainer::~CurrentRenderFragmentContainerMaintainer):
(WebCore::RenderRegion::RenderRegion): Deleted.
(WebCore::RenderRegion::mapRegionPointIntoFlowThreadCoordinates): Deleted.
(WebCore::RenderRegion::positionForPoint): Deleted.
(WebCore::RenderRegion::pageLogicalWidth const): Deleted.
(WebCore::RenderRegion::pageLogicalHeight const): Deleted.
(WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent const): Deleted.
(WebCore::RenderRegion::flowThreadPortionOverflowRect): Deleted.
(WebCore::RenderRegion::flowThreadPortionLocation const): Deleted.
(WebCore::RenderRegion::overflowRectForFlowThreadPortion): Deleted.
(WebCore::RenderRegion::pageLogicalTopForOffset const): Deleted.
(WebCore::RenderRegion::isFirstRegion const): Deleted.
(WebCore::RenderRegion::isLastRegion const): Deleted.
(WebCore::RenderRegion::shouldClipFlowThreadContent const): Deleted.
(WebCore::RenderRegion::styleDidChange): Deleted.
(WebCore::RenderRegion::computeOverflowFromFlowThread): Deleted.
(WebCore::RenderRegion::repaintFlowThreadContent): Deleted.
(WebCore::RenderRegion::repaintFlowThreadContentRectangle): Deleted.
(WebCore::RenderRegion::installFlowThread): Deleted.
(WebCore::RenderRegion::attachRegion): Deleted.
(WebCore::RenderRegion::detachRegion): Deleted.
(WebCore::RenderRegion::renderBoxRegionInfo const): Deleted.
(WebCore::RenderRegion::setRenderBoxRegionInfo): Deleted.
(WebCore::RenderRegion::takeRenderBoxRegionInfo): Deleted.
(WebCore::RenderRegion::removeRenderBoxRegionInfo): Deleted.
(WebCore::RenderRegion::deleteAllRenderBoxRegionInfo): Deleted.
(WebCore::RenderRegion::logicalTopOfFlowThreadContentRect const): Deleted.
(WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect const): Deleted.
(WebCore::RenderRegion::insertedIntoTree): Deleted.
(WebCore::RenderRegion::willBeRemovedFromTree): Deleted.
(WebCore::RenderRegion::computeIntrinsicLogicalWidths const): Deleted.
(WebCore::RenderRegion::computePreferredLogicalWidths): Deleted.
(WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect const): Deleted.
(WebCore::RenderRegion::ensureOverflowForBox): Deleted.
(WebCore::RenderRegion::rectFlowPortionForBox const): Deleted.
(WebCore::RenderRegion::addLayoutOverflowForBox): Deleted.
(WebCore::RenderRegion::addVisualOverflowForBox): Deleted.
(WebCore::RenderRegion::layoutOverflowRectForBox): Deleted.
(WebCore::RenderRegion::visualOverflowRectForBox): Deleted.
(WebCore::RenderRegion::layoutOverflowRectForBoxForPropagation): Deleted.
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation): Deleted.
(WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer): Deleted.
(WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer): Deleted.

  • rendering/RenderFragmentContainer.h: Copied from rendering/RenderRegion.h.

(WebCore::RenderFragmentContainer::isRenderFragmentContainerSet const):
(WebCore::RenderFragmentContainer::absoluteQuadsForBoxInFragment):
(WebCore::CurrentRenderFragmentContainerMaintainer::fragment const):
(WebCore::RenderRegion::setFlowThreadPortionRect): Deleted.
(WebCore::RenderRegion::flowThreadPortionRect const): Deleted.
(WebCore::RenderRegion::flowThread const): Deleted.
(WebCore::RenderRegion::isValid const): Deleted.
(WebCore::RenderRegion::setIsValid): Deleted.
(WebCore::RenderRegion::logicalTopForFlowThreadContent const): Deleted.
(WebCore::RenderRegion::logicalBottomForFlowThreadContent const): Deleted.
(WebCore::RenderRegion::isRenderRegionSet const): Deleted.
(WebCore::RenderRegion::collectLayerFragments): Deleted.
(WebCore::RenderRegion::absoluteQuadsForBoxInRegion): Deleted.
(WebCore::CurrentRenderRegionMaintainer::region const): Deleted.

  • rendering/RenderFragmentContainerSet.cpp: Copied from rendering/RenderRegionSet.cpp.

(WebCore::RenderFragmentContainerSet::RenderFragmentContainerSet):
(WebCore::RenderFragmentContainerSet::installFlowThread):
(WebCore::RenderFragmentContainerSet::expandToEncompassFlowThreadContentsIfNeeded):
(WebCore::RenderRegionSet::RenderRegionSet): Deleted.
(WebCore::RenderRegionSet::installFlowThread): Deleted.
(WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded): Deleted.

  • rendering/RenderFragmentContainerSet.h: Copied from rendering/RenderRegionSet.h.
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeMarginLogicalSizeForChild const):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::positionForPoint):
(WebCore::RenderInline::linesVisualOverflowBoundingBoxInFragment const):
(WebCore::RenderInline::linesVisualOverflowBoundingBoxInRegion const): Deleted.

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

(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::canBeComposited const):

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::positionForPoint):

  • rendering/RenderLineBreak.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::addFragmentToThread):
(WebCore::RenderMultiColumnFlowThread::willBeRemovedFromTree):
(WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant):
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
(WebCore::RenderMultiColumnFlowThread::setPageBreak):
(WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
(WebCore::RenderMultiColumnFlowThread::fragmentAtBlockOffset const):
(WebCore::RenderMultiColumnFlowThread::setFragmentRangeForBox):
(WebCore::RenderMultiColumnFlowThread::addForcedFragmentBreak):
(WebCore::RenderMultiColumnFlowThread::offsetFromContainer const):
(WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint const):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFragmentToFlow const):
(WebCore::RenderMultiColumnFlowThread::mapFromFlowToFragment const):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToFragment const):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToFragment const):
(WebCore::RenderMultiColumnFlowThread::addRegionToThread): Deleted.
(WebCore::RenderMultiColumnFlowThread::regionAtBlockOffset const): Deleted.
(WebCore::RenderMultiColumnFlowThread::setRegionRangeForBox): Deleted.
(WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak): Deleted.
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromRegionToFlow const): Deleted.
(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion const): Deleted.
(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion const): Deleted.
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion const): Deleted.

  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::updateLogicalWidth):
(WebCore::RenderMultiColumnSet::beginFlow):
(WebCore::RenderMultiColumnSet::endFlow):
(WebCore::RenderMultiColumnSet::layout):
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::adjustFragmentBoundsFromFlowThreadPortionRect const):
(WebCore::RenderMultiColumnSet::positionForPoint):
(WebCore::RenderMultiColumnSet::translateFragmentPointToFlowThread const):
(WebCore::RenderMultiColumnSet::updateHitTestResult):
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect const): Deleted.
(WebCore::RenderMultiColumnSet::translateRegionPointToFlowThread const): Deleted.

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint const):
(WebCore::RenderObject::repaintUsingContainer const):
(WebCore::RenderObject::outputRegionsInformation const):
(WebCore::RenderObject::positionForPoint):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderFragmentContainer const):
(WebCore::RenderObject::isRenderRegion const): Deleted.

  • rendering/RenderRegion.cpp: Removed.
  • rendering/RenderRegion.h: Removed.
  • rendering/RenderRegionSet.cpp: Removed.
  • rendering/RenderRegionSet.h: Removed.
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::positionForPoint):

  • rendering/RenderReplaced.h:
  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):
(WebCore::RenderTable::overflowClipRect):

  • rendering/RenderTable.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::positionForPoint):

  • rendering/RenderText.h:
  • rendering/RenderTreeAsText.cpp:
  • rendering/RenderingAllInOne.cpp:
  • rendering/RootInlineBox.cpp:

(WebCore::containingFragmentMap):
(WebCore::RootInlineBox::~RootInlineBox):
(WebCore::RootInlineBox::containingFragment const):
(WebCore::RootInlineBox::clearContainingFragment):
(WebCore::RootInlineBox::setContainingFragment):
(WebCore::containingRegionMap): Deleted.
(WebCore::RootInlineBox::containingRegion const): Deleted.
(WebCore::RootInlineBox::clearContainingRegion): Deleted.
(WebCore::RootInlineBox::setContainingRegion): Deleted.

  • rendering/RootInlineBox.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::logicalLeftOffset const):

  • rendering/style/RenderStyleConstants.h:
  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::positionForPoint):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::positionForPoint):

  • rendering/svg/RenderSVGText.h:
9:10 AM Changeset in webkit [222555] by Ryan Haddad
  • 13 edits
    3 deletes in trunk

Unreviewed, rolling out r222537.

This change broke internal builds.

Reverted changeset:

"Build libwebrtc unit tests executables"
https://bugs.webkit.org/show_bug.cgi?id=177211
http://trac.webkit.org/changeset/222537

9:06 AM WebKitGTK/Gardening/Calendar edited by aboya@igalia.com
(diff)
8:32 AM Changeset in webkit [222554] by Antti Koivisto
  • 6 edits
    2 adds in trunk

REGRESSION (r222040): Crash navigating out of gfycat.com url
https://bugs.webkit.org/show_bug.cgi?id=177531
Source/WebCore:

<rdar://problem/34602601>

Reviewed by Geoff Garen.

Animation structures are normally removed when the render tree is torn down.
However there are cases where we can instantiate animation without creating a renderer
and we need to make sure animations are canceled in these cases too.

CompositeAnimations should also ref the element but that can be done separately.

Test: fast/animation/animation-element-removal.html

  • dom/Element.cpp:

(WebCore::Element::removedFrom):

Ensure animations are canceled when element is removed from the tree.

(WebCore::Element::clearHasPendingResources):
(WebCore::Element::hasCSSAnimation const):
(WebCore::Element::setHasCSSAnimation):
(WebCore::Element::clearHasCSSAnimation):

Add a bit so we don't need to do hash lookups for every removal.

  • dom/Element.h:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::hasCSSAnimation const):
(WebCore::ElementRareData::setHasCSSAnimation):
(WebCore::ElementRareData::ElementRareData):

  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationControllerPrivate::ensureCompositeAnimation):

Test for the bit.

(WebCore::CSSAnimationControllerPrivate::clear):
(WebCore::CSSAnimationController::cancelAnimations):

LayoutTests:

Reviewed by Geoff Garen.

  • fast/animation/animation-element-removal-expected.txt: Added.
  • fast/animation/animation-element-removal.html: Added.
7:45 AM Changeset in webkit [222553] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark accessibility/image-load-on-delay.html as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177541

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:50 AM Changeset in webkit [222552] by commit-queue@webkit.org
  • 1 edit
    1 copy
    1 move in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Add Canvas2D.svg and Canvas3D.svg
https://bugs.webkit.org/show_bug.cgi?id=175364

Patch by Fujii Hironori <Fujii Hironori> on 2017-09-27
Reviewed by Carlos Garcia Campos.

Add more free icons.

  • UserInterface/Images/gtk/Canvas2D.svg: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/Canvas.svg.
  • UserInterface/Images/gtk/Canvas3D.svg: Added.
2:45 AM Changeset in webkit [222551] by jdiggs@igalia.com
  • 5 edits in trunk

[ATK] atk_table_cell_get_position() should return values of aria-rowindex and aria-colindex, if present
https://bugs.webkit.org/show_bug.cgi?id=171176

Reviewed by Chris Fleizach.

Source/WebCore:

Modify webKitAccessibleTableCellGetPosition() to prefer the ARIA value
over the DOM-based value.

No new tests needed: We have coverage through aria-table-attributes.html.
Platform expectations for this test were updated.

  • accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:

(webkitAccessibleTableCellGetPosition):

LayoutTests:

  • accessibility/aria-table-attributes.html: Updated to reflect new behavior.
  • platform/gtk/accessibility/aria-table-attributes-expected.txt: Updated to reflect new behavior.
2:21 AM Changeset in webkit [222550] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Add initial experimental support for webm in WebKitGTK+ with VP8, VP9,
Vorbis and Opus formats, as long as suitable plugins are installed in
GStreamer.
https://bugs.webkit.org/show_bug.cgi?id=177355

Patch by Alicia Boya García <aboya@igalia.com> on 2017-09-27
Reviewed by Xabier Rodriguez-Calvar.

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:

Sep 26, 2017:

10:05 PM Changeset in webkit [222549] by fpizlo@apple.com
  • 9 edits in trunk/Source

Put g_gigacageBasePtr into its own page and make it read-only
https://bugs.webkit.org/show_bug.cgi?id=174972

Reviewed by Michael Saboff.

Source/bmalloc:

This puts the gigacage base pointers into their own page and makes that page read-only.

  • bmalloc/Gigacage.cpp:

(Gigacage::ensureGigacage):
(Gigacage::disablePrimitiveGigacage):
(Gigacage::addPrimitiveDisableCallback):

  • bmalloc/Gigacage.h:

(Gigacage::basePtr):
(Gigacage::basePtrs):

Source/JavaScriptCore:

C++ code doesn't have to know about this change. That includes C++ code that generates JIT code.

But the offline assembler now needs to know about how to load from offsets of global variables.
This turned out to be easy to support by extending the existing expression support.

  • llint/LowLevelInterpreter64.asm:
  • offlineasm/ast.rb:
  • offlineasm/parser.rb:
  • offlineasm/transform.rb:
  • offlineasm/x86.rb:
8:17 PM Changeset in webkit [222548] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222539. rdar://problem/34205774

7:54 PM Changeset in webkit [222547] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: Style unused, overridden, and invalid properties differently
https://bugs.webkit.org/show_bug.cgi?id=177461

Reviewed by Matt Baker.

Style properties the same way as in the current styles sidebar with two minor changes:

  • Commented out properties are never strikethrough.
  • Non-inherited properties of inherited rules are no longer strikethrough (but still semi-transparent).
  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor .property:matches(.invalid, .other-vendor, .overridden):not(.disabled)):
Use the same styles as in the old sidebar, with exception of -webkit-text-stroke-width: 0.000000000000001px
hack, which was replaced by -webkit-text-decoration-color.

(.spreadsheet-style-declaration-editor .property.invalid:not(.disabled)):
(.spreadsheet-style-declaration-editor .property.not-inherited):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype._update):

7:54 PM Changeset in webkit [222546] by Alan Bujtas
  • 5 edits in trunk

AX: Defer RenderImage's imageChanged event until after layout is done.
https://bugs.webkit.org/show_bug.cgi?id=177446

Reviewed by Dean Jackson.

Source/WebCore:

This is to avoid unintentional tree mutation during layout.

Covered by existing tests.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageChanged):

LayoutTests:

  • accessibility/image-load-on-delay.html:
7:38 PM Changeset in webkit [222545] by Chris Dumez
  • 10 edits
    4 adds in trunk/LayoutTests/imported/w3c

Update web-platform-tests IDL files
https://bugs.webkit.org/show_bug.cgi?id=177515

Reviewed by Youenn Fablet.

Update web-platform-tests IDL files and rebaseline tests.

  • web-platform-tests/WebIDL/interfaces-expected.txt:
  • web-platform-tests/cssom-view/interfaces-expected.txt:
  • web-platform-tests/cssom/interfaces-expected.txt:
  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/interfaces/cssom-view.idl: Added.
  • web-platform-tests/interfaces/cssom.idl:
  • web-platform-tests/interfaces/dom.idl:
  • web-platform-tests/interfaces/geometry.idl:
  • web-platform-tests/interfaces/html.idl:
  • web-platform-tests/interfaces/payment-handler.idl: Added.
  • web-platform-tests/interfaces/payment-request.idl: Added.
  • web-platform-tests/interfaces/webidl.idl: Added.
7:21 PM Changeset in webkit [222544] by jdiggs@igalia.com
  • 4 edits
    2 adds in trunk

AX: Several ARIA roles with presentational children are exposing children
https://bugs.webkit.org/show_bug.cgi?id=177502

Reviewed by Chris Fleizach.

Source/WebCore:

Add MenuItemCheckboxRole, MenuItemRadioRole, and SplitterRole to the list
of AccessibilityRole types which cannot have children. In the case of
DocumentMathRole, only treat children as presentational (excluded from the
accessibility tree) if the element is not MathML.

Test: accessibility/presentational-children.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canHaveChildren const):

LayoutTests:

New test. Also update the results for the inspector because ARIA separators
and their subclass roles should not expose (claim to have) children.

  • accessibility/presentational-children-expected.txt: Added.
  • accessibility/presentational-children.html: Added.
  • inspector/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.
6:39 PM Changeset in webkit [222543] by Ryan Haddad
  • 3 edits in branches/safari-604-branch/LayoutTests

Cherry-pick r222399.

6:39 PM Changeset in webkit [222542] by Ryan Haddad
  • 8 edits
    46 copies
    23 adds
    7 deletes in branches/safari-604-branch/LayoutTests

Cherry-pick r222390.

6:39 PM Changeset in webkit [222541] by achristensen@apple.com
  • 25 edits
    2 deletes in trunk/Source/WebKit

Pass a completion handler instead of a WebFramePolicyListenerProxy during policy decisions
https://bugs.webkit.org/show_bug.cgi?id=177509

Reviewed by Tim Horton.

This makes WebFramePolicyListenerProxy just a wrapper around a WTF::Function which is only needed for the C and glib APIs.
This is a step towards making WebPageProxy::DecidePolicyForResponseSync and WebPageProxy::DecidePolicyForNavigationAction asynchronous.

This patch has no change in behavior.

  • CMakeLists.txt:
  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::decidePolicyForNavigationAction):
(API::NavigationClient::decidePolicyForNavigationResponse):

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):

  • UIProcess/API/C/WKFramePolicyListener.cpp:

(WKFramePolicyListenerUseWithPolicies):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPagePolicyClient):
(WKPageSetPageNavigationClient):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:
  • UIProcess/API/glib/WebKitPolicyClient.cpp:
  • UIProcess/Automation/WebAutomationSession.cpp:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):

  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/RemoteWebInspectorProxy.cpp:
  • UIProcess/WebFormSubmissionListenerProxy.h:
  • UIProcess/WebFrameListenerProxy.cpp: Removed.
  • UIProcess/WebFrameListenerProxy.h: Removed.
  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
(WebKit::WebFramePolicyListenerProxy::~WebFramePolicyListenerProxy):
(WebKit::WebFramePolicyListenerProxy::create):
(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):

  • UIProcess/WebFramePolicyListenerProxy.h:

(WebKit::WebFramePolicyListenerProxy::create): Deleted.
(): Deleted.
(WebKit::WebFramePolicyListenerProxy::operator new): Deleted.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::webProcessWillShutDown):
(WebKit::WebFrameProxy::receivedPolicyDecision): Deleted.
(WebKit::WebFrameProxy::setUpPolicyListenerProxy): Deleted.

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebInspectorProxy.cpp:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
(WebKit::WebPageProxy::receivedPolicyDecision): Deleted.
(WebKit::WebPageProxy::decidePolicyForResponse): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:
  • WebKit.xcodeproj/project.pbxproj:
6:33 PM Changeset in webkit [222540] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Mac CMake bot should provide verbose build output
https://bugs.webkit.org/show_bug.cgi?id=177512

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/config.json:

It's hard to diagnose weird bot-only build problems without the
full verbose build output, so turn that on. The Xcode builders
do it too, so why not CMake!

6:15 PM Changeset in webkit [222539] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Fall back to normal line layout position, when simple line layout fails to find one.
https://bugs.webkit.org/show_bug.cgi?id=176220
<rdar://problem/34205774>

Reviewed by Brent Fulgham.

Source/WebCore:

In case of empty content, let's just fall back to normal line layout and try to
find the visually correct one.

Test: fast/text/invalid-positionForPoint-offset.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::positionForPoint):

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::runForPoint const):

LayoutTests:

  • fast/text/invalid-positionForPoint-offset-expected.txt: Added.
  • fast/text/invalid-positionForPoint-offset.html: Added.
6:00 PM Changeset in webkit [222538] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

Make it possible to easily get verbose ninja output from build-webkit
https://bugs.webkit.org/show_bug.cgi?id=177511

Reviewed by Sam Weinig.

  • Scripts/build-webkit:

Add a -v/--verbose argument to build-webkit, which sets the environment
variable VERBOSE=1, which buildCMakeGeneratedProject already checks.

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject):
Add ninja verbosity arguments to @makeArgs, which are appended
after the -- and thus handed to ninja; the previous implementation
(appending to @args) would only work if @makeArgs was non-empty and thus
the -- was included.

5:37 PM Changeset in webkit [222537] by commit-queue@webkit.org
  • 13 edits
    3 adds in trunk

Build libwebrtc unit tests executables
https://bugs.webkit.org/show_bug.cgi?id=177211

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-26
Reviewed by Alex Christensen.

.:

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

Source/ThirdParty/libwebrtc:

Adding support for a new target called unittests that will be several executables.
Each executable run unit tests dedicated to a part of libwebrtc.

Adding one target/executable per unit test suite.
Adding one composite target to build all unit test targets.
Adding a target to build a static libwebrtctest library.
The static libwebrtctest library is then linked to each unit test executable which is also linked to libwebrtc dylib.

Some unit tests require a default codec (VP8) that is disabled in libwebrtc.
This ends up making some tests crashing.
An additional work should follow to execute only the meaningful subset of tests.

  • Configurations/libwebrtc-base.xcconfig: Added.
  • Configurations/libwebrtc-test-static.xcconfig: Added.
  • Configurations/rtc_pc_unittests.xcconfig: Added.
  • Source/third_party/gflags/gen/posix/include/private/config.h:
  • Source/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc: Replacing FATAL by RTC_FATAL.
  • Source/webrtc/sdk/objc/Framework/Classes/Common/helpers.mm: Removing UIKit dependency.
  • Source/webrtc/test/gmock.h: Using googletest version instead of checking in testing folder.
  • Source/webrtc/test/gtest.h: Ditto.
  • Source/webrtc/test/rtp_file_reader.cc: Replacing FATAL by RTC_FATAL.
  • libwebrtc.xcodeproj/project.pbxproj:
5:02 PM Changeset in webkit [222536] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Automation: overflow:hidden elements with no children are mistakenly reported as not visible
https://bugs.webkit.org/show_bug.cgi?id=177514
<rdar://problem/31936291>

Reviewed by Joseph Pecoraro.

  • UIProcess/Automation/atoms/ElementDisplayed.js:

(isShown.isElementSubtreeHiddenByOverflow):
Array.prototype.every returns true when passed an empty list, so we need
to check for the case where the element has no children and return 'false'.

4:59 PM Changeset in webkit [222535] by Matt Lewis
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r222525.

This caused a consistent failure in the test
inspector/dom/getAccessibilityPropertiesForNode.html .

Reverted changeset:

"AX: Several ARIA roles with presentational children are
exposing children"
https://bugs.webkit.org/show_bug.cgi?id=177502
http://trac.webkit.org/changeset/222525

4:48 PM Changeset in webkit [222534] by commit-queue@webkit.org
  • 51 edits
    12 moves
    2 adds
    2 deletes in trunk/PerformanceTests

Speedometer: ensure all TodoMVC tests use the complete latest CSS
https://bugs.webkit.org/show_bug.cgi?id=177358

Patch by Mathias Bynens <mathias@qiwi.be> on 2017-09-26
Reviewed by Ryosuke Niwa.

  • Speedometer/resources/todomvc/architecture-examples/angular/dist/*: Updated per build instructions.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-app.css: Updated to latest version.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/*: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/package-lock.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/todomvc-index.html: Updated to match new CSS classnames.
  • Speedometer/resources/todomvc/architecture-examples/emberjs-debug/assets/vendor.css: Manually updated to latest TodoMVC CSS, except with IDs instead of classes. (Build steps unknown.)
  • Speedometer/resources/todomvc/architecture-examples/emberjs/app/components/todo-list.js: Updated to match new CSS classnames.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/app/templates/application.hbs: Updated to match new CSS classnames.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/app/templates/components/todo-list.hbs: Updated to match new CSS classnames.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/dist/*: Updated per build instructions.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/vendor/index.css: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/*: Updated TodoMVC CSS.
  • Speedometer/resources/todomvc/architecture-examples/inferno/package.json: Updated TodoMVC CSS.
  • Speedometer/resources/todomvc/architecture-examples/jquery/index.html: Updated to match new CSS classnames.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/*: Updated TodoMVC CSS.
  • Speedometer/resources/todomvc/architecture-examples/jquery/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/stats.html: Updated to match new CSS classnames.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/index.html: Updated to match new CSS classnames.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/*: Updated to latest version.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.js: Updated to latest version.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/*: Updated per build instructions.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package-lock.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/readme.md: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/*: Updated to latest version.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/package.json: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/*: Updated to latest version.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/package.json: Updated to latest TodoMVC CSS.
4:35 PM Changeset in webkit [222533] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[Cocoa] Add a modern WKPreferences switch to disable WebRTC
https://bugs.webkit.org/show_bug.cgi?id=176638
<rdar://problem/34335158>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-26
Reviewed by Alex Christensen.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _peerConnectionEnabled]):
(-[WKPreferences _setPeerConnectionEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
4:05 PM Changeset in webkit [222532] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Make fontToUse() a member function of InlineTextBox
https://bugs.webkit.org/show_bug.cgi?id=177495

Reviewed by Myles C. Maxfield.

Following bug #177493 we can write fontToUse() in terms of InlineTextBox::combinedText().

No functionality changed. So, no new tests.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::lineFont const): Added; extracted from fontToUse().
(WebCore::InlineTextBox::combinedText const): Mark inline to give a hint to the compiler
that this function is small and seems reasonable to inline.
(WebCore::InlineTextBox::localSelectionRect const): Modified to call lineFont().
(WebCore::InlineTextBox::paint): Ditto.
(WebCore::InlineTextBox::offsetForPosition const): Ditto.
(WebCore::InlineTextBox::positionForOffset const): Ditto. Remove an extraneous
if-statement while I am here.
(WebCore::fontToUse): Deleted; moved logic to InlineTextBox::lineFont().

  • rendering/InlineTextBox.h:
3:56 PM Changeset in webkit [222531] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Remove unnecessary libwebrtc dependencies
https://bugs.webkit.org/show_bug.cgi?id=177494

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-26
Reviewed by Alex Christensen.

  • libwebrtc.xcodeproj/project.pbxproj:
3:40 PM Changeset in webkit [222530] by commit-queue@webkit.org
  • 7 edits in trunk

Followup (r222427): SynchronizedFixedQueue should not have a public constructor
https://bugs.webkit.org/show_bug.cgi?id=177458

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-26
Reviewed by Tim Horton.

Source/WebCore:

ImageFrameCache::decodingQueue() and frameRequestQueue() should return
raw references instead of Ref objects.

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::decodingQueue):
(WebCore::ImageFrameCache::frameRequestQueue):
(WebCore::ImageFrameCache::startAsyncDecodingQueue):

  • platform/graphics/ImageFrameCache.h:

Source/WTF:

Since SynchronizedFixedQueue is now derived from ThreadSafeRefCounted<SynchronizedFixedQueue>,
the standard way to have an instance of it is to call SynchronizedFixedQueue::create()
which returns a Ref<SynchronizedFixedQueue>. Now it does not make sense to still
have the constructor public.

  • wtf/SynchronizedFixedQueue.h:

(WTF::SynchronizedFixedQueue::SynchronizedFixedQueue):

Tools:

Fix the definition and the creation of SynchronizedFixedQueue.

  • TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:

(TestWebKitAPI::ToUpperConverter::ToUpperConverter):
(TestWebKitAPI::ToUpperConverter::startProducing):
(TestWebKitAPI::ToUpperConverter::startConsuming):
(TestWebKitAPI::ToUpperConverter::stopProducing):
(TestWebKitAPI::ToUpperConverter::stopConsuming):
(TestWebKitAPI::ToUpperConverter::enqueueLower):

3:34 PM Changeset in webkit [222529] by keith_miller@apple.com
  • 2 edits in trunk

CMake should reconfigure if the Sources.txt files are touched
https://bugs.webkit.org/show_bug.cgi?id=177508

Reviewed by JF Bastien.

  • Source/cmake/WebKitMacros.cmake:
3:28 PM Changeset in webkit [222528] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

Extract out combined text query into a member function
https://bugs.webkit.org/show_bug.cgi?id=177493

Reviewed by Zalan Bujtas.

Towards removing duplication throughout the paint code extract the
querying for the combined text of an inline text box into a member
function.

For a similar reason, update functions to query lineStyle() instead
of passing this information an argument.

No functionality changed. So, no new tests.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint): Extract logic to query for combined text
from here to InlineTextBox::combinedText() and modify code to call this
member function.
(WebCore::InlineTextBox::paintTextSubrangeBackground): Query for line style
instead of taking it as an argument.
(WebCore::InlineTextBox::paintCompositionBackground): Ditto.
(WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
(WebCore::InlineTextBox::paintDecoration): Update code to query combinedText()
instead of taking RenderCombineText as an argument. While I am here make use of
GraphicsContextStateSaver to save and restore the graphics context state when
we have a non-empty clip rect.
(WebCore::InlineTextBox::paintDocumentMarker): Query for line style instead of
taking it as an argument.
(WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
(WebCore::InlineTextBox::combinedText const): Added; extracted from InlineTextBox::paint().

  • rendering/InlineTextBox.h:
  • rendering/TextPainter.h:

(WebCore::TextPainter::setEmphasisMark): Modified to take a const RenderCombineText*
as opposed to a pointer to a non-const RenderCombineText.

3:19 PM Changeset in webkit [222527] by jdiggs@igalia.com
  • 4 edits
    2 adds in trunk

AX: ARIA grids claim to be multiselectable even with aria-multiselectable is set to false
https://bugs.webkit.org/show_bug.cgi?id=177498

Reviewed by Chris Fleizach.

Source/WebCore:

AccessibilityARIAGrid::isMultiSelectable() was unconditionally returning
true. Modify it to return false if aria-multiselectable has been set to
false by the author.

Test: accessibility/aria-multiselectable-grid.html

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::isMultiSelectable const):

  • accessibility/AccessibilityARIAGrid.h:

LayoutTests:

  • accessibility/aria-multiselectable-grid-expected.txt: Added.
  • accessibility/aria-multiselectable-grid.html: Added.
3:00 PM Changeset in webkit [222526] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKitLegacy

[Win] WebKitCOMAPI.h is not copied after build has finished.
https://bugs.webkit.org/show_bug.cgi?id=177505

Reviewed by Brent Fulgham.

The file is located in the WebKitLegacy forwarding headers folder, not the WebKit folder.

  • WebKitLegacy.vcxproj/WebKitLegacy.proj:
2:51 PM Changeset in webkit [222525] by jdiggs@igalia.com
  • 3 edits
    2 adds in trunk

AX: Several ARIA roles with presentational children are exposing children
https://bugs.webkit.org/show_bug.cgi?id=177502

Reviewed by Chris Fleizach.

Source/WebCore:

Add MenuItemCheckboxRole, MenuItemRadioRole, and SplitterRole to the list
of AccessibilityRole types which cannot have children. In the case of
DocumentMathRole, only treat children as presentational (excluded from the
accessibility tree) if the element is not MathML.

Test: accessibility/presentational-children.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canHaveChildren const):

LayoutTests:

  • accessibility/presentational-children-expected.txt: Added.
  • accessibility/presentational-children.html: Added.
2:43 PM Changeset in webkit [222524] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebCore/PAL

[PAL][CMake] Include ICU directories
https://bugs.webkit.org/show_bug.cgi?id=177504

Reviewed by Myles C. Maxfield.

  • pal/CMakeLists.txt:
2:25 PM Changeset in webkit [222523] by commit-queue@webkit.org
  • 36 edits
    2 deletes in trunk

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

Break the High Sierra build (Requested by yusukesuzuki on
#webkit).

Reverted changeset:

"Add Above/Below comparisons for UInt32 patterns"
https://bugs.webkit.org/show_bug.cgi?id=177281
http://trac.webkit.org/changeset/222518

1:49 PM Changeset in webkit [222522] by Wenson Hsieh
  • 2 edits in trunk/Tools

[ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
https://bugs.webkit.org/show_bug.cgi?id=177271

Reviewed by Tim Horton and Megan Gardner.

Rebaseline a failing API test.

  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(TestWebKitAPI::TEST):

1:48 PM Changeset in webkit [222521] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk/Source/WebCore

[Curl] Introduce CurlResponse to hold response information among threads.
https://bugs.webkit.org/show_bug.cgi?id=177496

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-26
Reviewed by Alex Christensen.

  • platform/network/curl/AuthenticationChallenge.h:
  • platform/network/curl/AuthenticationChallengeCurl.cpp:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::protectionSpaceFromHandle):

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::getHttpConnectCode):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/CurlResponse.h: Added.

(WebCore::CurlResponse::isolatedCopy const):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::didReceiveContentData):
(WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::handleDataURL):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::isHttpInfo): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.h:
  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::setResponseFired): Deleted.
(WebCore::ResourceResponse::responseFired): Deleted.

  • platform/network/curl/ResourceResponseCurl.cpp:

(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::appendHTTPHeaderField):
(WebCore::ResourceResponse::setStatusLine):

1:42 PM Changeset in webkit [222520] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Harden our access to the vector of URL schemes.
https://bugs.webkit.org/show_bug.cgi?id=177470
<rdar://problem/33881522>

Reviewed by Chris Dumez.

Instead of asserting, use MESSAGE_CHECK so that we actually refuse to access an invalid iterator.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::startURLSchemeTask):
(WebKit::WebPageProxy::stopURLSchemeTask):

1:36 PM Changeset in webkit [222519] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Make StoredCredentials an enum class and rename its header
https://bugs.webkit.org/show_bug.cgi?id=177455

Reviewed by Youenn Fablet.

Follow-up to r222467, actually make it an enum *class*.

  • platform/network/StoredCredentialsPolicy.h:

(): Deleted.

1:32 PM Changeset in webkit [222518] by Yusuke Suzuki
  • 36 edits
    2 adds in trunk

Add Above/Below comparisons for UInt32 patterns
https://bugs.webkit.org/show_bug.cgi?id=177281

Reviewed by Saam Barati.

JSTests:

  • stress/uint32-comparison-jump.js: Added.

(shouldBe):
(above):
(aboveOrEqual):
(below):
(belowOrEqual):
(notAbove):
(notAboveOrEqual):
(notBelow):
(notBelowOrEqual):

  • stress/uint32-comparison.js: Added.

(shouldBe):
(above):
(aboveOrEqual):
(below):
(belowOrEqual):
(aboveTest):
(aboveOrEqualTest):
(belowTest):
(belowOrEqualTest):

Source/JavaScriptCore:

Sometimes, we would like to have UInt32 operations in JS. While VM does
not support UInt32 nicely, VM supports efficient Int32 operations. As long
as signedness does not matter, we can just perform Int32 operations instead
and recognize its bit pattern as UInt32.

But of course, some operations respect signedness. The most frequently
used one is comparison. Octane/zlib performs UInt32 comparison by performing
val >>> 0. It emits op_urshift and op_unsigned. op_urshift produces
UInt32 in Int32 form. And op_unsigned will generate Double value if
the generated Int32 is < 0 (which should be UInt32).

There is a chance for optimization. The given code pattern is the following.

op_unsigned(op_urshift(@1)) lessThan:< op_unsigned(op_urshift(@2))

This can be converted to the following.

op_urshift(@1) below:< op_urshift(@2)

The above conversion is nice since

  1. We can avoid op_unsigned. This could be unsignedness check in DFG. Since

this check depends on the value of Int32, dropping this check is not as easy as
removing Int32 edge filters.

  1. We can perform unsigned comparison in Int32 form. We do not need to convert

them to DoubleRep.

Since the above comparison exists in Octane/zlib's *super* hot path, dropping
op_unsigned offers huge win.

At first, my patch attempts to convert the above thing in DFG pipeline.
However it poses several problems.

  1. MovHint is not well removed. It makes UInt32ToNumber (which is for op_unsigned) live.
  2. UInt32ToNumber could cause an OSR exit. So if we have the following nodes,

2: UInt32ToNumber(@0)
3: MovHint(@2, xxx)
4: UInt32ToNumber(@1)
5: MovHint(@1, xxx)

we could drop @5's MovHint. But @3 is difficult since @4 can exit.

So, instead, we start introducing a simple optimization in the bytecode compiler.
It performs pattern matching for op_urshift and comparison to drop op_unsigned.
We adds op_below and op_above families to bytecodes. They only accept Int32 and
perform unsigned comparison.

This offers 4% performance improvement in Octane/zlib.

baseline patched

zlib x2 431.07483+-16.28434 414.33407+-9.38375 might be 1.0404x faster

  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::printCompareJump):
(JSC::BytecodeDumper<Block>::dumpBytecode):

  • bytecode/BytecodeDumper.h:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/Opcode.h:

(JSC::isBranch):

  • bytecode/PreciseJumpTargetsInlines.h:

(JSC::extractStoredJumpTargetsForBytecodeOffset):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitJumpIfTrue):
(JSC::BytecodeGenerator::emitJumpIfFalse):

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

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

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCompareUnsigned):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGValidate.cpp:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareBelow):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareBelowEq):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_below):
(JSC::JIT::emit_op_beloweq):
(JSC::JIT::emit_op_jbelow):
(JSC::JIT::emit_op_jbeloweq):
(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsigned):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsigned):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • parser/Nodes.h:

(JSC::ExpressionNode::isBinaryOpNode const):

1:24 PM Changeset in webkit [222517] by Megan Gardner
  • 1 edit
    1 add in trunk/LayoutTests

Add helper functions to write better selection tests
https://bugs.webkit.org/show_bug.cgi?id=177403

Reviewed by Tim Horton.

Selection tests are finicky to write, so having some more helper functions
that can assist in double checking where we think we are selecting, or where we
think words are located in helpful.

  • fast/events/touch/ios/resources/ui-debugging.js: Added.

(debugDot):
(removeDebugDot):
(debugRect):
(removeDebugRect):

1:22 PM Changeset in webkit [222516] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove extraneous includes of TextRun.h
https://bugs.webkit.org/show_bug.cgi?id=177499

Patch by Daniel Bates <dabates@apple.com> on 2017-09-26
Reviewed by Myles C. Maxfield.

No functionality changed. So, no new tests.

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:
  • platform/mac/DragImageMac.mm:
  • platform/text/ios/LocalizedDateCache.mm:
  • testing/InternalSettings.cpp:
12:57 PM Changeset in webkit [222515] by commit-queue@webkit.org
  • 15 edits
    5 moves
    3 deletes in trunk/Source/WebCore

[PAL] Move Clock into PAL
https://bugs.webkit.org/show_bug.cgi?id=174342

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-26
Reviewed by Myles C. Maxfield.

Source/WebCore:

No new tests. No change in behavior.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/MediaController.cpp:

(MediaController::MediaController):

  • html/MediaController.h:
  • platform/Clock.cpp: Removed.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):

  • platform/mac/PlatformClockCA.cpp: Removed. PlatformClockCA is no longer used.
  • platform/mac/PlatformClockCA.h: Removed.

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformGTK.cmake:
  • pal/PlatformWin.cmake:
  • pal/system/Clock.h: Renamed from Source/WebCore/platform/Clock.h.
  • pal/system/ClockGeneric.cpp: Renamed from Source/WebCore/platform/ClockGeneric.cpp.

(PAL::Clock::create):

  • pal/system/ClockGeneric.h: Renamed from Source/WebCore/platform/ClockGeneric.h.
  • pal/system/mac/ClockCM.h: Renamed from Source/WebCore/platform/mac/PlatformClockCM.h.
  • pal/system/mac/ClockCM.mm: Renamed from Source/WebCore/platform/mac/PlatformClockCM.mm.

(Clock::create):
(ClockCM::ClockCM):
(ClockCM::initializeWithTimingSource):
(ClockCM::setCurrentTime):
(ClockCM::currentTime const):
(ClockCM::setCurrentMediaTime):
(ClockCM::currentMediaTime const):
(ClockCM::setPlayRate):
(ClockCM::start):
(ClockCM::stop):

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h:

Add requrired functions.

12:14 PM Changeset in webkit [222514] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222474. rdar://problem/34646376

12:14 PM Changeset in webkit [222513] by jmarcell@apple.com
  • 5 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222304. rdar://problem/34646370

12:06 PM Changeset in webkit [222512] by pvollan@apple.com
  • 2 edits in trunk/Tools

Set LF eol-style on Windows shell script, because the script failed on one of the EWS
bots, when it had the 'native' style.

Unreviewed Windows EWS fix.

  • EWSTools/start-queue-win.sh: Modified property svn:eol-style.
12:03 PM Changeset in webkit [222511] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Curl] Change member variable of CurlHandle to use std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=177492

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-26
Reviewed by Alex Christensen.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::init):
(WebCore::CurlDownload::getResponse const):
(WebCore::CurlDownload::setupTransfer):
(WebCore::CurlDownload::didCompleteTransfer):
(WebCore::CurlDownload::didCancelTransfer):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::addHeaders): Deleted.

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
(WebCore::ResourceHandleCurlDelegate::start):
(WebCore::ResourceHandleCurlDelegate::setDefersLoading):
(WebCore::ResourceHandleCurlDelegate::setAuthentication):
(WebCore::ResourceHandleCurlDelegate::setupTransfer):
(WebCore::ResourceHandleCurlDelegate::didCompleteTransfer):
(WebCore::ResourceHandleCurlDelegate::didCancelTransfer):
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::setupPOST):
(WebCore::ResourceHandleCurlDelegate::setupPUT):
(WebCore::ResourceHandleCurlDelegate::setupFormData):
(WebCore::ResourceHandleCurlDelegate::applyAuthentication):
(WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtx):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
11:58 AM Changeset in webkit [222510] by Jonathan Bedard
  • 7 edits in trunk/Tools

webkitpy: Notify parent process when a worker is spawned
https://bugs.webkit.org/show_bug.cgi?id=177467
<rdar://problem/34660194>

Reviewed by Daniel Bates.

When we fork the parent process, there may be resources in that process
which workers will take ownership of. Notify ports when a new worker is created
so that these resources can be correctly managed.

  • Scripts/webkitpy/common/message_pool.py:

(_MessagePool._start_workers): After all workers are started, notify the caller
that a worker has been created, unless we are running inline, in which case the
parent process is still the worker.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
has been created.

  • Scripts/webkitpy/port/base.py:

(Port.did_spawn_worker): Add function so that ports may manage any
resources created on the parent process but managed by the provided worker.

  • Scripts/webkitpy/port/device.py:

(Device.release_worker_resources): Call release_worker_resources on the
platform_device if such a function is defined.

  • Scripts/webkitpy/port/ios.py:

(IOSPort.did_spawn_worker): Release any worker resources on the iOS
device object associated with the spawned worker.

  • Scripts/webkitpy/test/runner.py:

(Runner.handle): Ignore the did_spawn_worker message during testing.

11:22 AM Changeset in webkit [222509] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve Table scrolling performance
https://bugs.webkit.org/show_bug.cgi?id=177468

Reviewed by Brian Burg.

This reduces work during scrolling updates in two ways.

  1. Avoid recalculating the width/height of the Table on scroll.
    • We only need to recalculate sizes if the view changes size.
  2. Avoid resetting sizes on all cells if the sizes did not change.
    • Enumerating and setting style.width values was showing up in profiles.
  • UserInterface/Views/Table.js:

(WI.Table):
New member variables for a cached width/height of the scrollable region.
_cachedWidth is the same as _cachedScrollableHeight but they could be
different so I just kept them separate for now. Also switch to
getBoundingClientRect which gets us a better value then
offsetWidth/offsetHeight.

(WI.Table.prototype.resize):
Clear cached size and relayout.

(WI.Table.prototype.layout):
If we did not resize, layout without recalculating sizes.

(WI.Table.prototype.resizerDragging):
(WI.Table.prototype._getOrCreateRow):
When column widths change increment the width generation. This will let
us quickly check if a row's cells are appropriately sized or not.

(WI.Table.prototype._resizeColumnsAndFiller):
Cache width values after recalculating. Provide a fast path if values
have not changed.

(WI.Table.prototype._updateVisibleRows):
(WI.Table.prototype._updateFillerRowWithNewHeight):
Factor out updating the filler row into a function.

(WI.Table.prototype._applyColumnWidths):
Always update the width generation of a row after setting its cell widths.

(WI.Table.prototype._applyColumnWidthsToColumnsIfNeeded):
Fast path only updates row cell widths if they need to change.

11:20 AM Changeset in webkit [222508] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

[Curl] Simplify JobManager's duty and move the tasks to client
for easy handling. Also simlify CurlHandle by not storing internal
error value as a member variable.
https://bugs.webkit.org/show_bug.cgi?id=177466

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-26
Reviewed by Alex Christensen.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::perform):
(WebCore::CurlHandle::pause):
(WebCore::CurlHandle::getEffectiveURL):
(WebCore::CurlHandle::getPrimaryPort):
(WebCore::CurlHandle::getResponseCode):
(WebCore::CurlHandle::getContentLength):
(WebCore::CurlHandle::getHttpAuthAvail):
(WebCore::CurlHandle::getNetworkLoadMetrics):

  • platform/network/curl/CurlContext.h:

(WebCore::CurlHandle::errorCode const): Deleted.
(WebCore::CurlHandle::setErrorCode): Deleted.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::start):
(WebCore::CurlDownload::cancel):
(WebCore::CurlDownload::setupTransfer):
(WebCore::CurlDownload::didCompleteTransfer):
(WebCore::CurlDownload::didCancelTransfer):
(WebCore::CurlDownload::setupRequest): Deleted.
(WebCore::CurlDownload::notifyFinish): Deleted.
(WebCore::CurlDownload::notifyFail): Deleted.

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/CurlJobManager.cpp:

(WebCore::CurlJobList::startJobs):
(WebCore::CurlJobList::finishJobs):
(WebCore::CurlJobManager::add):
(WebCore::CurlJobManager::cancel):
(WebCore::CurlJobManager::callOnJobThread):
(WebCore::CurlJobManager::updateJobList):
(WebCore::CurlJobManager::workerThread):
(WebCore::CurlJobList::notifyResult): Deleted.

  • platform/network/curl/CurlJobManager.h:
  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::start):
(WebCore::ResourceHandleCurlDelegate::cancel):
(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::setupTransfer):
(WebCore::ResourceHandleCurlDelegate::didCompleteTransfer):
(WebCore::ResourceHandleCurlDelegate::didCancelTransfer):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::didFail):
(WebCore::ResourceHandleCurlDelegate::setupRequest): Deleted.
(WebCore::ResourceHandleCurlDelegate::notifyFinish): Deleted.
(WebCore::ResourceHandleCurlDelegate::notifyFail): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.h:
11:12 AM Changeset in webkit [222507] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Cleanup: Consolidate non-selection background painting code for text
https://bugs.webkit.org/show_bug.cgi?id=177490

Reviewed by Zalan Bujtas.

Share code to paint the background of a text subrange instead of duplicating
it for text match markers and composition underlines.

Additionally standardize the argument order for various paint functions and
make more paint functions private.

No functionality changed. So, no new tests.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint): Updated code as needed for changes below.
(WebCore::InlineTextBox::paintSelection): Add FIXME comment to fix up this code for
combined text while I am in this file.
(WebCore::InlineTextBox::paintTextSubrangeBackground): Added. Extracted from the common code of
paintCompositionBackground() and paintTextMatchMarker().
(WebCore::InlineTextBox::paintCompositionBackground): Modified to use paintTextSubrangeBackground().
(WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
(WebCore::InlineTextBox::paintDocumentMarker): Add FIXME comment to fix up this code for
combined and hyphenated text while I am here.
(WebCore::InlineTextBox::paintDocumentMarkers): Update code as needed for changes
above.

  • rendering/InlineTextBox.h: Change visibility of paintCompositionBackground(),

paintDocumentMarkers() and paintCompositionUnderline() from protected to private
as no derived class makes use of these functions. Group related functions to
improve readability.

11:08 AM October 2017 Meeting edited by Jon Davis
(diff)
11:08 AM Changeset in webkit [222506] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove hardware concurrency from features list.

  • features.json:
10:53 AM Changeset in webkit [222505] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

Thrown ObjC exception when right clicking on <img> containing mp4 link
https://bugs.webkit.org/show_bug.cgi?id=177370

Reviewed by Darin Adler.

Source/WebKit:

Creating a NSImage from mp4 data will fail and return nil; do a nil-check before attempting
to put the results into a NSMutableArray.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::createShareMenuItem):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
  • TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.

(-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
(TestWebKitAPI::TEST):

10:40 AM Changeset in webkit [222504] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Update TestExpectations for http/tests/local/blob/send-hybrid-blob-using-open-panel.html.
https://bugs.webkit.org/show_bug.cgi?id=171353

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
10:12 AM Changeset in webkit [222503] by BJ Burg
  • 5 edits in trunk/Source/WebKit

Web Automation: add commands to get and set user permissions for pages in an automation session
https://bugs.webkit.org/show_bug.cgi?id=177405
<rdar://problem/34493846>

Reviewed by Joseph Pecoraro.

To test some Web APIs via WebDriver, it needs to be possible to simulate a user accepting or
denying requests for elevated permissions, such as getUserMedia() or geolocation.

This patch adds a generic way for a test to configure the automation session's
simulated user action that will happen every time a specific permission is requested.
A test can set a "session permission", trigger the permission request via Web API,
and then verify that the page behaves correctly when the user accepted or denied the request.

A proposal will follow shortly to expose this functionality via a new REST API endpoint.

  • UIProcess/Automation/Automation.json: Add get/set commands.
  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::getSessionPermissions):
(WebKit::WebAutomationSession::setSessionPermissions):
For now, store the permission value in a member of the session. The getUserMedia
permission only needs a bool, but there is no reason we couldn't use more complicated
values for permissions (i.e., strings, numbers, arrays, objects) someday.

(WebKit::WebAutomationSession::shouldAllowGetUserMediaForPage const):
Expose the specific decision to be taken based on whether the request is allowed or denied.

  • UIProcess/Automation/WebAutomationSession.h:
  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
If the page is under automation, then simulate the user action according to the
current values of permissions set for the session.

9:29 AM Changeset in webkit [222502] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] 'webkit-patch clean' is failing on bot.
https://bugs.webkit.org/show_bug.cgi?id=177488

Reviewed by Brent Fulgham.

If 'os.remove' throws an exception, catch it.

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.discard_working_directory_changes):

8:51 AM Changeset in webkit [222501] by Antti Koivisto
  • 8 edits
    2 adds in trunk

REGRESSION (222040): Google Maps Street View CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::PropertyWrapperAcceleratedTransform::blend const + 92
https://bugs.webkit.org/show_bug.cgi?id=177485

Reviewed by Zalan Bujtas.

Source/WebCore:

We crash when animating between two different types of transforms because renderer is null for the first frame.

Test: fast/animation/animation-mixed-transform-crash.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::currentStyle const):

Add a way to get the current style from animations.
This is either the render style or the inital style.

  • page/animation/AnimationBase.h:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

Renderer may be null when computing the first frame of the animation. Null check.

(WebCore::blendFilter):

Here too.

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::updateTransitions):

  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.h:

LayoutTests:

  • fast/animation/animation-mixed-transform-crash-expected.html: Added.
  • fast/animation/animation-mixed-transform-crash.html: Added.
8:40 AM Changeset in webkit [222500] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark compositing/masks/compositing-clip-path-change-no-repaint.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177397

Unreviewed test gardening.

  • platform/ios/TestExpectations:
8:34 AM Changeset in webkit [222499] by keith_miller@apple.com
  • 11 edits
    2 moves in trunk

JSC build should use unified sources for derived sources
https://bugs.webkit.org/show_bug.cgi?id=177421

Reviewed by JF Bastien.

.:

  • Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

This patch make a couple of changes:

1) Make derived sources added to relevant bundles. I was going to add JSCBuiltins.cpp
to runtime but that kept breaking the windows build. I'll get back to it later
2) Move the derived location of some sources both for clarity and for ease of use.
3) Make auto generator scripts able to create directories if needed.
4) Move some scripts from the top level of the JavaScriptCore directory to a
more appropriate directory.
5) Move some CMake generation commands around for clarity.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Scripts/lazywriter.py:

(LazyFileWriter.close):

  • Sources.txt:
  • inspector/scripts/generate-inspector-protocol-bindings.py:

(IncrementalFileWriter.close):

  • yarr/create_regex_tables: Renamed from Source/JavaScriptCore/create_regex_tables.
  • yarr/generateYarrCanonicalizeUnicode: Renamed from Source/JavaScriptCore/generateYarrCanonicalizeUnicode.

Source/WTF:

The script now needs to determine if a file is from a derived
source. This is only relevant for the CMake build since the
script needs to provide a list of the bundled source files. If the
script does not provide the full path for derived sources then
CMake will be unable to find them and the build will fail.

Additionally, I move the error message for the Xcode build outside
the main loop. This means that the error message will contain all
the files you need to add to Xcode and all those files will now be
written in DerivedSources so they should be easier to add.

  • Scripts/generate-unified-source-bundles.rb:
2:48 AM Changeset in webkit [222498] by zandobersek@gmail.com
  • 7 edits in trunk

[EME] Add ClearKey support for persistent session data load and removal
https://bugs.webkit.org/show_bug.cgi?id=177442

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the session data load and removal for persistent sessions
in the ClearKey implementation of the CDMInstance interface.

CDMInstanceClearKey::loadSession() finds data for the specified session
name, if any, and constructs a corresponding KeyStatusVector object that
holds information about all known keys associated with this session before
dispatching the LoadSessionCallback asynchronously.

CDMInstanceClearKey::removeSessionData() similarly finds the session data,
if any, and then removes it from the state tracker. The key data is still
reused to construct the KeyStatusVector object that holds information
about all the keys that were stored for this session. The key information
is also embedded in the 'license release' JSON message. Both key status
vector and message are then used in the RemoveSessionDataCallback dispatch
that is again done asynchronously.

No new tests -- affected tests have their baselines updated.

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMInstanceClearKey::loadSession):
(WebCore::CDMInstanceClearKey::removeSessionData):

LayoutTests:

Update WPE baselines for EME tests affected by the addition of persistent
session data load and removal in the ClearKey implementation.

All the affected tests progress, but most of them still don't pass
entirely due to missing functionality in the GStreamer pipeline.

  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:
1:38 AM Changeset in webkit [222497] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore/PAL

[GCrypt] Only report libgcrypt errors when logging is enabled
https://bugs.webkit.org/show_bug.cgi?id=177360

Reviewed by Xabier Rodriguez-Calvar.

  • pal/crypto/gcrypt/Utilities.h:

(PAL::GCrypt::logError): Only print out the libgcrypt error on stderr
when logging is enabled at build-time, avoiding unnecessary output in
non-debugging use cases.

1:13 AM Changeset in webkit [222496] by Ms2ger@igalia.com
  • 4 edits in trunk/Source/WebCore

Update compressedTexImage3D to match the signature in the specification.
https://bugs.webkit.org/show_bug.cgi?id=177431

Reviewed by Sam Weinig.

No new tests: not much point in adding tests now; this method doesn't
do anything anyway.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::compressedTexImage3D):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:
12:07 AM Changeset in webkit [222495] by zandobersek@gmail.com
  • 4 edits in trunk/Source

Support building JavaScriptCore with the Bionic C library
https://bugs.webkit.org/show_bug.cgi?id=177427

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

When compiling with the Bionic C library, the MachineContext.h header
should enable the same code paths that are enabled for the GNU C library.

The Bionic C library defines the BIONIC macro, but unlike other C
libraries that mimic the GNU one, it doesn't define GLIBC. So the
BIONIC macro checks have to match the GLIBC ones.

  • runtime/MachineContext.h:

(JSC::MachineContext::stackPointer):
(JSC::MachineContext::framePointer):
(JSC::MachineContext::instructionPointer):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):

Source/WTF:

  • wtf/Platform.h: Define HAVE_MACHINE_CONTEXT when BIONIC

is defined, i.e. when building with the Bionic C library.

12:05 AM Changeset in webkit [222494] by zandobersek@gmail.com
  • 2 edits in trunk

[CMake] Use implicit include directories for Clang as well
https://bugs.webkit.org/show_bug.cgi?id=177426

Reviewed by Michael Catanzaro.

In WebKitCompilerFlags.cmake, also gather and use the system
include directories for C and C++ build targets when compiling
with Clang. This fixes compilation errors when cross-building
WebKit with a Clang-based toolchain.

COMPILER_IS_GCC_OR_CLANG is used to check for GCC or Clang
compilers. That only checks for the C++ compiler, but it's not
reasonable to expect two widely different compilers being used
for C and C++ compilation.

  • Source/cmake/WebKitCompilerFlags.cmake:

Sep 25, 2017:

11:43 PM Changeset in webkit [222493] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the macOS WebCore CMake build

  • PlatformMac.cmake:
10:52 PM Changeset in webkit [222492] by achristensen@apple.com
  • 32 edits in trunk/Source

Make PolicyAction an encodable enum class
https://bugs.webkit.org/show_bug.cgi?id=177480

Reviewed by Antti Koivisto.

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::continueAfterContentPolicy):

  • loader/FrameLoaderTypes.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):

Source/WebKit:

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::continueDecidePendingDownloadDestination):
(WebKit::DownloadManager::cancelDownload):

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::didReceiveResponseNetworkSession):

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::didReceiveResponse):

  • NetworkProcess/NetworkDataTaskBlob.cpp:

(WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::continueDidReceiveResponse):
(WebKit::NetworkLoad::notifyDidReceiveResponse):

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::didReceiveResponseNetworkSession):

  • NetworkProcess/capture/NetworkDataTaskReplay.cpp:

(WebKit::NetworkCapture::NetworkDataTaskReplay::didReceiveResponse):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(toNSURLSessionResponseDisposition):

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):

  • Scripts/webkit/messages.py:

(headers_for_type):

  • UIProcess/WebFormSubmissionListenerProxy.h:
  • UIProcess/WebFrameListenerProxy.h:

(WebKit::WebFrameListenerProxy::navigation): Deleted.

  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::invalidatePolicyListener):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceivePolicyDecision):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

  • Plugins/WebPluginContainerCheck.mm:

(-[WebPluginContainerCheck _continueWithPolicy:]):
(-[WebPluginContainerCheck _isForbiddenFileLoad]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(-[WebFramePolicyListener invalidate]):
(-[WebFramePolicyListener ignore]):
(-[WebFramePolicyListener download]):
(-[WebFramePolicyListener use]):
(-[WebFramePolicyListener continue]):

  • WebView/WebPolicyDelegate.mm:

(-[WebPolicyDecisionListener use]):
(-[WebPolicyDecisionListener ignore]):
(-[WebPolicyDecisionListener download]):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebFramePolicyListener.cpp:

(WebFramePolicyListener::use):
(WebFramePolicyListener::download):
(WebFramePolicyListener::ignore):
(WebFramePolicyListener::continueSubmit):

10:26 PM Changeset in webkit [222491] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the macOS WebCore CMake build

  • PlatformMac.cmake:
9:56 PM Changeset in webkit [222490] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WinCairo] Share default value of font family preferences among non-cocoa builds
https://bugs.webkit.org/show_bug.cgi?id=177479

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-25
Reviewed by Yusuke Suzuki.

  • Shared/WebPreferencesDefinitions.h:
9:19 PM Changeset in webkit [222489] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKitLegacy

Fix the macOS WebKit CMake build

  • CMakeLists.txt:

Before r222194, this -umbrella flag mentioned "WebKit" twice:
first, the name of the target to affect; second, the name of the
umbrella framework. In r222194, the targets were renamed. It turns
out that a global find and replace isn't a great way to do this,
because it caught the name of the umbrella framework too.

Put it back; the umbrella framework will always be named "WebKit".

This makes it once again possible to link WebKit (before, it was
complaining about us linking directly to WebKitLegacy instead of the
nonsensical WebKitLegacy umbrella framework).

8:29 PM Changeset in webkit [222488] by commit-queue@webkit.org
  • 5 edits
    2 moves
    17 adds
    6 deletes in trunk/PerformanceTests

Speedometer: Add missing build scripts for Vue.js example
https://bugs.webkit.org/show_bug.cgi?id=177359

Patch by Mathias Bynens <mathias@qiwi.be> on 2017-09-25
Reviewed by Ryosuke Niwa.

This directory contains the build scripts needed to update dist/*. It had not been checked in because previously, all build directories were ignored by .gitignore. This directory is generated as part of npm install -g vue-cli && vue init webpack some-project-name.

  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/build.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/check-versions.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/dev-client.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/dev-server.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/utils.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/vue-loader.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.base.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.dev.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.prod.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.test.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/*: Updated per build instructions.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package-lock.json: Added build dependencies per vue-cli.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Added build dependencies per vue-cli.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/todo.css: Updated CSS to the latest version for #177358.
7:33 PM Changeset in webkit [222487] by commit-queue@webkit.org
  • 19 edits
    1 copy
    2 adds in trunk

Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
https://bugs.webkit.org/show_bug.cgi?id=174394
<rdar://problem/33183504>

Patch by Frederik Riedel <riedel@apple.com> on 2017-09-25
Reviewed by Ryosuke Niwa.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • editing/ios/AutofillElements.cpp: Added.

(WebCore::isAutofillableElement): Returns true if the element is of type text or email.
(WebCore::nextAutofillableElement): Returns the next focusable element that is autofillable.
(WebCore::previousAutofillableElement): Returns the previous focusable element that is autofillable.
(WebCore::AutofillElements::computeAutofillElements): Computes the autofill elements (username & password)
for a given input element.
(WebCore::AutofillElements::autofill): Fills the credentials into the pair of username/password elements.

  • editing/ios/AutofillElements.h: Added.

Source/WebKit:

  • Platform/spi/ios/UIKitSPI.h:
  • Shared/AssistedNodeInformation.cpp:

(WebKit::AssistedNodeInformation::encode const):
Encodes additional node information, including if the node is part of a login screen.
(WebKit::AssistedNodeInformation::decode):
Decodes the additional assisted node information.

  • Shared/AssistedNodeInformation.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView acceptsAutofilledLoginCredentials]):
Determines if the WKContentView shows a login screen.
(-[WKContentView representingPageUrl]):
Returns the URL of the currently displayed web page.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView insertTextSuggestion:]):
Inserts the login credentials into the Web View.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::startAssistingNode):
Transfer the additional assistednode information (acceptsAutofilledLoginCredentials and representingPageUrl).
(WebKit::WebPageProxy::acceptsAutofilledLoginCredentials):
Returns if the Web View shows a login screen.
(WebKit::WebPageProxy::representingPageUrl):
Returns the Web View's URL.
(WebKit::WebPageProxy::autofillLoginCredentials):
Insert the credentials into the Web View.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation): Transports the information if the currently
highlighted node accepts autofilled login credentials.
(WebKit::WebPage::autofillLoginCredentials): Fills the login credentials into the
WebPage.

Source/WebKitLegacy/mac:

  • DOM/DOMHTMLInputElement.h:
  • DOM/DOMHTMLInputElement.mm:

(-[DOMHTMLInputElement acceptsAutofilledLoginCredentials]):
Determines if this HTMLInputElement is part of a login screen.
(-[DOMHTMLInputElement representingPageUrl]):
Returns the webpage's URL that is currently displayed in the Web View.
(-[DOMHTMLInputElement insertTextSuggestion:]):
Inserts login credentials into the Web View.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: Added.

(-[WKWebView _privateTextInput]): Testing helpers.
(TestWebKitAPI::TEST): Added test cases to test AutoFill for web views.

  • TestWebKitAPI/ios/UIKitSPI.h:
6:40 PM Changeset in webkit [222486] by webkit@devinrousso.com
  • 20 edits
    2 copies
    2 moves
    1 delete in trunk

Web Inspector: move Console.addInspectedNode to DOM.setInspectedNode
https://bugs.webkit.org/show_bug.cgi?id=176827

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.cpp:

(Inspector::JSGlobalObjectConsoleAgent::addInspectedNode): Deleted.

  • inspector/protocol/Console.json:
  • inspector/protocol/DOM.json:

Source/WebCore:

Tests: http/tests/inspector/dom/cross-domain-inspected-node-access.html

inspector/dom/setInspectedNode.html

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setInspectedNode):

  • inspector/PageConsoleAgent.h:
  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::addInspectedNode): Deleted.

  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerConsoleAgent.cpp:

(WebCore::WorkerConsoleAgent::addInspectedNode): Deleted.

Source/WebInspectorUI:

  • UserInterface/Controllers/DOMTreeManager.js:

(WI.DOMTreeManager):
(WI.DOMTreeManager.prototype.setInspectedNode):

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView.prototype._selectedNodeDidChange):

LayoutTests:

  • http/tests/inspector/dom/cross-domain-inspected-node-access-expected.txt: Renamed from LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt.
  • http/tests/inspector/dom/cross-domain-inspected-node-access.html: Renamed from LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access.html.
  • inspector/console/command-line-api.html:
  • inspector/dom/setInspectedNode-expected.txt: Renamed from LayoutTests/inspector/console/addInspectedNode-expected.txt.
  • inspector/dom/setInspectedNode.html: Renamed from LayoutTests/inspector/console/addInspectedNode.html.
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
6:35 PM Changeset in webkit [222485] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Add loading indicator next to resources in the Network Tab
https://bugs.webkit.org/show_bug.cgi?id=177469

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-25
Reviewed by Matt Baker.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.isLoading):
Provide a useful accessor to check if the Resource is considered loading or not.

  • UserInterface/Views/NetworkGridContentView.js:

(WI.NetworkGridContentView.prototype._networkTimelineRecordAdded):

  • UserInterface/Views/ResourceTimelineDataGridNode.js:

(WI.ResourceTimelineDataGridNode.prototype._updateStatus):

  • UserInterface/Views/ResourceTreeElement.js:

(WI.ResourceTreeElement.prototype._updateStatus):
Switch existing code to use the new isLoading() function and make the similiar
code more consistent.

  • UserInterface/Views/NetworkTableContentView.css:

(body[dir=ltr] .content-view.network .table .cell.name > .status):
(body[dir=rtl] .content-view.network .table .cell.name > .status):
(.content-view.network .table .cell.name > .status .indeterminate-progress-spinner):

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._populateNameCell):
Add a loading indicator to the Name column in the Network tab.
It is sized the same as the loading indicator in the Resource tab.

6:31 PM Changeset in webkit [222484] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Elements tab's Layers sidebar should disappear when Layers tab is present.
https://bugs.webkit.org/show_bug.cgi?id=177476

Patch by Ross Kirsling <Ross Kirsling> on 2017-09-25
Reviewed by Devin Rousso.

  • UserInterface/Views/ElementsTabContentView.js:

(WI.ElementsTabContentView):

6:24 PM Changeset in webkit [222483] by webkit@devinrousso.com
  • 4 edits
    2 adds in trunk

Web Inspector: Add autocompletion suggestions for CSS attr based on the selected element's attributes
https://bugs.webkit.org/show_bug.cgi?id=177346

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WI.CodeMirrorCompletionController.prototype._generateCSSCompletions):
Provide a way for delegates to add completion items for CSS functions based on the name of
the function.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WI.CSSStyleDeclarationTextEditor.prototype.completionControllerCSSFunctionValuesNeeded):
If the function name is "attr", also return a list of the names of all the selected node's
attributes.

LayoutTests:

  • inspector/model/dom-node-expected.txt: Added.
  • inspector/model/dom-node.html: Added.
5:48 PM Changeset in webkit [222482] by fred.wang@free.fr
  • 2 edits in trunk/Tools

Change my status to reviewer and reformat with validate-committer-lists

Unreviewed.

Patch by Frederic Wang <fwang@igalia.com> on 2017-09-25

  • Scripts/webkitpy/common/config/contributors.json:
5:23 PM Changeset in webkit [222481] by Ryan Haddad
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rebaseline builtins generator tests after r222473.

  • Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:
4:27 PM Changeset in webkit [222480] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WebIDL] Factor out IsExceptionOr check from toJS/toJSNewlyCreated signature
https://bugs.webkit.org/show_bug.cgi?id=177457

Patch by Sam Weinig <sam@webkit.org> on 2017-09-25
Reviewed by Youenn Fablet.

Add new type, IsExceptionOr, that factors out the previously repeated logic of determining
if a type is an ExceptionOr template type.

  • bindings/js/JSDOMConvertBase.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

4:24 PM Changeset in webkit [222479] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Curl] Refactor and improve methods in the CurlHandle
https://bugs.webkit.org/show_bug.cgi?id=177373

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-25
Reviewed by Alex Christensen.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlShareHandle::~CurlShareHandle):
(WebCore::CurlMultiHandle::~CurlMultiHandle):
(WebCore::CurlHandle::~CurlHandle):
(WebCore::CurlHandle::initialize):
(WebCore::CurlHandle::pause):
(WebCore::CurlHandle::setUrl):
(WebCore::CurlHandle::appendRequestHeaders):
(WebCore::CurlHandle::appendRequestHeader):
(WebCore::CurlHandle::removeRequestHeader):
(WebCore::CurlHandle::enableRequestHeaders):
(WebCore::CurlHandle::getContentLength):
(WebCore::CurlHandle::getNetworkLoadMetrics):
(WebCore::CurlHandle::errorDescription const): Deleted.
(WebCore::CurlHandle::clearUrl): Deleted.
(WebCore::CurlHandle::getContentLenghtDownload): Deleted.
(WebCore::CurlHandle::getTimes): Deleted.

  • platform/network/curl/CurlContext.h:

(WebCore::CurlHandle::privateData const): Deleted.
(WebCore::CurlHandle::setPrivateData): Deleted.
(WebCore::CurlHandle::url const): Deleted.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::setupRequest):

  • platform/network/curl/CurlSSLVerifier.cpp:

(WebCore::CurlSSLVerifier::certVerifyCallback):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::setupRequest):
(WebCore::ResourceHandleCurlDelegate::setupPUT):
(WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):

4:23 PM Changeset in webkit [222478] by commit-queue@webkit.org
  • 18 edits
    2 copies
    2 adds in trunk

WebRTC video does not resume receiving when switching back to Safari 11 on iOS
https://bugs.webkit.org/show_bug.cgi?id=175472
<rdar://problem/33860863>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

Source/ThirdParty/libwebrtc:

Adding a method to disable any decoding/encoding task.
When reenabling the decoder, the decoder will request an I frame after failing the first initial decoding task.

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h:

(webrtc::H264VideoToolboxDecoder::SetActive):

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.mm:

(webrtc::H264VideoToolboxDecoder::Decode):

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h:
  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:

(webrtc::H264VideoToolboxEncoder::Encode):

Source/WebCore:

Test: webrtc/video-interruption.html and manual testing.

Using new SetActive method from libwebrtc encoder/decoder to enable/disable them based on interuptions.
For that purpose, LibWebRTCProvider is now storing the peer connection factory and keeping track of the encoder/decoder factories.
LibWebRTCProvider is then notified by WebPage when backgrounded/foregrounded.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::staticFactoryAndThreads):
(WebCore::initializePeerConnectionFactoryAndThreads):
(WebCore::LibWebRTCProvider::factory):
(WebCore::LibWebRTCProvider::setPeerConnectionFactory):
(WebCore::LibWebRTCProvider::createPeerConnection):
(WebCore::LibWebRTCProvider::setActive):
(WebCore::LibWebRTCProvider::webRTCAvailable):
(WebCore::LibWebRTCProvider::mayResumePlayback): Deleted.
(WebCore::LibWebRTCProvider::suspendPlayback): Deleted.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.cpp: Copied from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp.

(WebCore::VideoToolboxVideoDecoderFactory::setActive):
(WebCore::VideoToolboxVideoDecoderFactory::CreateVideoDecoder):
(WebCore::VideoToolboxVideoDecoderFactory::DestroyVideoDecoder):

  • platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.h: Copied from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h.
  • platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp:

(WebCore::VideoToolboxVideoEncoderFactory::setActive):
(WebCore::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
(WebCore::VideoToolboxVideoEncoderFactory::DestroyVideoEncoder):

  • platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

  • testing/MockLibWebRTCPeerConnection.cpp:

(WebCore::useRealRTCPeerConnectionFactory):
(WebCore::useMockRTCPeerConnectionFactory):

  • testing/MockLibWebRTCPeerConnection.h:

Source/WebKit:

Notifying LibWebRTC of backgrounding/foregrouding.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationDidEnterBackground):
(WebKit::WebPage::applicationWillEnterForeground):

LayoutTests:

  • webrtc/video-interruption-expected.txt: Added.
  • webrtc/video-interruption.html: Added.
4:17 PM Changeset in webkit [222477] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Remove unused EditorClient functions
https://bugs.webkit.org/show_bug.cgi?id=177463

Patch by Sam Weinig <sam@webkit.org> on 2017-09-25
Reviewed by Alex Christensen.

Remove unused EditorClient functions.

Source/WebCore:

  • loader/EmptyClients.cpp:
  • page/EditorClient.h:

Source/WebKit:

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

(WebKit::WebEditorClient::canonicalizeURL): Deleted.
(WebKit::WebEditorClient::canonicalizeURLString): Deleted.
(WebKit::WebEditorClient::writeDataToPasteboard): Deleted.
(WebKit::WebEditorClient::supportedPasteboardTypesForCurrentSelection): Deleted.
(WebKit::WebEditorClient::readDataFromPasteboard): Deleted.
(WebKit::WebEditorClient::pasteboardChangeCount): Deleted.

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::WebEditorClient::canonicalizeURL): Deleted.
(WebKit::WebEditorClient::canonicalizeURLString): Deleted.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::canonicalizeURL): Deleted.
(WebEditorClient::canonicalizeURLString): Deleted.
(WebEditorClient::writeDataToPasteboard): Deleted.
(WebEditorClient::supportedPasteboardTypesForCurrentSelection): Deleted.
(WebEditorClient::readDataFromPasteboard): Deleted.
(WebEditorClient::pasteboardChangeCount): Deleted.

4:13 PM Changeset in webkit [222476] by commit-queue@webkit.org
  • 3 edits
    3 adds
    1 delete in trunk/Source/ThirdParty/libwebrtc

Adding per-platform libwebrtc export files
https://bugs.webkit.org/show_bug.cgi?id=177465

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Alex Christensen.

Using per platform export symbol files for libwebrtc.dylib.
This allows exporting platform-specific symbols that are used by libwebrtc unit tests.

  • Configurations/libwebrtc.iOS.exp: Added.
  • Configurations/libwebrtc.iOSsim.exp: Added.
  • Configurations/libwebrtc.mac.exp: Added.
  • Configurations/libwebrtc.exp: Removed.
  • Configurations/libwebrtc.xcconfig:
  • libwebrtc.xcodeproj/project.pbxproj: Adding ISAC/fix codec files used for

by audio codec unit tests to libwebrtc.dylib. This files will allow us to add support to the ISAC/fix codec.

4:02 PM Changeset in webkit [222475] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Unreviewed follow-up to r222470.

  • UserInterface/Main.html:

Remove reference to css file that doesn't exist yet.

3:56 PM Changeset in webkit [222474] by pvollan@apple.com
  • 3 edits
    2 adds in trunk

Crash in WebCore::TreeScope::documentScope
https://bugs.webkit.org/show_bug.cgi?id=176159

Reviewed by Ryosuke Niwa.

Source/WebCore:

When all children are replaced with a new node in ContainerNode::replaceAllChildren,
the treescope of the new node should be set after the call to willRemoveChildren,
since this call can fire events, and execute JS code, which might change the treescope
of the container node.

Test: fast/dom/crash-moving-subtree-between-documents.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::replaceAllChildren):

LayoutTests:

  • fast/dom/crash-moving-subtree-between-documents-expected.txt: Added.
  • fast/dom/crash-moving-subtree-between-documents.html: Added.
3:37 PM Changeset in webkit [222473] by achristensen@apple.com
  • 208 edits in trunk/Source

Make Attribute an enum class
https://bugs.webkit.org/show_bug.cgi?id=177414

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

I've had enough of these naming collisions. This is what enum classes are for.
Unfortunately a lot of static_cast<unsigned> is necessary until those functions take
an OptionSet<Attribute> instead of an unsigned parameter, but this is a big step
towards where we ought to be.

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):

  • API/JSObjectRef.cpp:

(JSObjectMakeConstructor):

  • Scripts/builtins/builtins_generate_internals_wrapper_implementation.py:

(BuiltinsInternalsWrapperImplementationGenerator.property_macro):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::GetByIdStatus::computeFor):

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):
(JSC::PropertyCondition::isValidValueForAttributes):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::instantiateLexicalVariables):
(JSC::BytecodeGenerator::variable):

  • bytecompiler/BytecodeGenerator.h:

(JSC::Variable::isReadOnly const):
(JSC::Variable::setIsReadOnly):

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitBytecode):

  • create_hash_table:
  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::getOwnPropertySlot):

  • dfg/DFGOperations.cpp:
  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):

  • inspector/JSJavaScriptCallFramePrototype.cpp:

(Inspector::JSJavaScriptCallFramePrototype::finishCreation):

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

  • jsc.cpp:

(WTF::CustomGetter::getOwnPropertySlot):
(WTF::RuntimeArray::getOwnPropertySlot):
(WTF::RuntimeArray::getOwnPropertySlotByIndex):
(WTF::DOMJITGetter::finishCreation):
(WTF::DOMJITGetterComplex::finishCreation):
(WTF::DOMJITFunctionObject::finishCreation):
(WTF::DOMJITCheckSubClassObject::finishCreation):
(GlobalObject::finishCreation):

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::finishCreation):

  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):

  • runtime/AsyncFromSyncIteratorPrototype.cpp:

(JSC::AsyncFromSyncIteratorPrototype::finishCreation):

  • runtime/AsyncFunctionConstructor.cpp:

(JSC::AsyncFunctionConstructor::finishCreation):

  • runtime/AsyncFunctionPrototype.cpp:

(JSC::AsyncFunctionPrototype::finishCreation):

  • runtime/AsyncGeneratorFunctionConstructor.cpp:

(JSC::AsyncGeneratorFunctionConstructor::finishCreation):

  • runtime/AsyncGeneratorFunctionPrototype.cpp:

(JSC::AsyncGeneratorFunctionPrototype::finishCreation):

  • runtime/AsyncGeneratorPrototype.cpp:

(JSC::AsyncGeneratorPrototype::finishCreation):

  • runtime/AsyncIteratorPrototype.cpp:

(JSC::AsyncIteratorPrototype::finishCreation):

  • runtime/AtomicsObject.cpp:

(JSC::AtomicsObject::finishCreation):

  • runtime/BooleanConstructor.cpp:

(JSC::BooleanConstructor::finishCreation):

  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createStructure):
(JSC::ClonedArguments::getOwnPropertySlot):
(JSC::ClonedArguments::materializeSpecials):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/ConsoleObject.cpp:

(JSC::ConsoleObject::finishCreation):

  • runtime/DateConstructor.cpp:

(JSC::DateConstructor::finishCreation):

  • runtime/DatePrototype.cpp:

(JSC::DatePrototype::finishCreation):

  • runtime/DirectArguments.cpp:

(JSC::DirectArguments::overrideThings):

  • runtime/Error.cpp:

(JSC::addErrorInfo):

  • runtime/ErrorConstructor.cpp:

(JSC::ErrorConstructor::finishCreation):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

  • runtime/ErrorPrototype.cpp:

(JSC::ErrorPrototype::finishCreation):

  • runtime/FunctionConstructor.cpp:

(JSC::FunctionConstructor::finishCreation):

  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::finishCreation):
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::FunctionPrototype::initRestrictedProperties):

  • runtime/GeneratorFunctionConstructor.cpp:

(JSC::GeneratorFunctionConstructor::finishCreation):

  • runtime/GeneratorFunctionPrototype.cpp:

(JSC::GeneratorFunctionPrototype::finishCreation):

  • runtime/GeneratorPrototype.cpp:

(JSC::GeneratorPrototype::finishCreation):

  • runtime/GenericArgumentsInlines.h:

(JSC::GenericArguments<Type>::getOwnPropertySlot):
(JSC::GenericArguments<Type>::getOwnPropertySlotByIndex):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::finishCreation):

  • runtime/IntlCollatorConstructor.cpp:

(JSC::IntlCollatorConstructor::finishCreation):

  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::IntlDateTimeFormatConstructor::finishCreation):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototype::finishCreation):

  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::IntlNumberFormatConstructor::finishCreation):

  • runtime/IntlObject.cpp:

(JSC::IntlObject::finishCreation):

  • runtime/IteratorPrototype.cpp:

(JSC::IteratorPrototype::finishCreation):

  • runtime/JSArray.cpp:

(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::setLengthWithArrayStorage):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::JSArrayBufferPrototype::finishCreation):

  • runtime/JSBoundFunction.cpp:

(JSC::JSBoundFunction::finishCreation):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):

  • runtime/JSDataView.cpp:

(JSC::JSDataView::getOwnPropertySlot):

  • runtime/JSDataViewPrototype.cpp:

(JSC::JSDataViewPrototype::finishCreation):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::finishCreation):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::defineOwnProperty):
(JSC::JSFunction::reifyLength):
(JSC::JSFunction::reifyName):
(JSC::JSFunction::reifyLazyBoundNameIfNeeded):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex):

  • runtime/JSGenericTypedArrayViewPrototypeInlines.h:

(JSC::JSGenericTypedArrayViewPrototype<ViewClass>::finishCreation):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::addStaticGlobals):

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):

  • runtime/JSModuleNamespaceObject.cpp:

(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon):

  • runtime/JSONObject.cpp:

(JSC::JSONObject::finishCreation):

  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::ordinarySetSlow):
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::putGetter):
(JSC::JSObject::putSetter):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putIndexedDescriptor):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype):
(JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength):
(JSC::JSObject::getOwnPropertyDescriptor):
(JSC::putDescriptor):
(JSC::validateAndApplyPropertyDescriptor):

  • runtime/JSObject.h:

(JSC::JSObject::putDirect):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::putDirectInternal):

  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructor::finishCreation):
(JSC::JSPromiseConstructor::addOwnInternalSlots):

  • runtime/JSPromisePrototype.cpp:

(JSC::JSPromisePrototype::finishCreation):
(JSC::JSPromisePrototype::addOwnInternalSlots):

  • runtime/JSString.cpp:

(JSC::JSString::getStringPropertyDescriptor):

  • runtime/JSString.h:

(JSC::JSString::getStringPropertySlot):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):

  • runtime/JSTypedArrayViewConstructor.cpp:

(JSC::JSTypedArrayViewConstructor::finishCreation):

  • runtime/JSTypedArrayViewPrototype.cpp:

(JSC::JSTypedArrayViewPrototype::finishCreation):

  • runtime/LazyClassStructure.cpp:

(JSC::LazyClassStructure::Initializer::setConstructor):

  • runtime/Lookup.cpp:

(JSC::reifyStaticAccessor):
(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::HashTableValue::intrinsic const):
(JSC::HashTableValue::builtinGenerator const):
(JSC::HashTableValue::function const):
(JSC::HashTableValue::functionLength const):
(JSC::HashTableValue::propertyGetter const):
(JSC::HashTableValue::propertyPutter const):
(JSC::HashTableValue::domJIT const):
(JSC::HashTableValue::signature const):
(JSC::HashTableValue::accessorGetter const):
(JSC::HashTableValue::accessorSetter const):
(JSC::HashTableValue::constantInteger const):
(JSC::HashTableValue::lazyCellPropertyOffset const):
(JSC::HashTableValue::lazyClassStructureOffset const):
(JSC::HashTableValue::lazyPropertyCallback const):
(JSC::HashTableValue::builtinAccessorGetterGenerator const):
(JSC::HashTableValue::builtinAccessorSetterGenerator const):
(JSC::getStaticPropertySlotFromTable):
(JSC::putEntry):
(JSC::reifyStaticProperty):

  • runtime/MapConstructor.cpp:

(JSC::MapConstructor::finishCreation):

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototype::finishCreation):

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):

  • runtime/MathObject.cpp:

(JSC::MathObject::finishCreation):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::finishCreation):

  • runtime/NativeErrorPrototype.cpp:

(JSC::NativeErrorPrototype::finishCreation):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):

  • runtime/NumberPrototype.cpp:

(JSC::NumberPrototype::finishCreation):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::finishCreation):
(JSC::objectConstructorAssign):
(JSC::objectConstructorValues):
(JSC::objectConstructorDefineProperty):

  • runtime/ObjectPrototype.cpp:

(JSC::ObjectPrototype::finishCreation):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/PropertyDescriptor.cpp:

(JSC::PropertyDescriptor::writable const):
(JSC::PropertyDescriptor::enumerable const):
(JSC::PropertyDescriptor::configurable const):
(JSC::PropertyDescriptor::setUndefined):
(JSC::PropertyDescriptor::setDescriptor):
(JSC::PropertyDescriptor::setCustomDescriptor):
(JSC::PropertyDescriptor::setAccessorDescriptor):
(JSC::PropertyDescriptor::setWritable):
(JSC::PropertyDescriptor::setEnumerable):
(JSC::PropertyDescriptor::setConfigurable):
(JSC::PropertyDescriptor::setSetter):
(JSC::PropertyDescriptor::setGetter):
(JSC::PropertyDescriptor::attributesEqual const):
(JSC::PropertyDescriptor::attributesOverridingCurrent const):

  • runtime/PropertySlot.cpp:

(JSC::PropertySlot::customGetter const):

  • runtime/PropertySlot.h:

(JSC::operator| ):
(JSC::operator&):
(JSC::operator<):
(JSC::operator~):
(JSC::operator|=):
(JSC::PropertySlot::setUndefined):

  • runtime/ProxyConstructor.cpp:

(JSC::makeRevocableProxy):
(JSC::ProxyConstructor::finishCreation):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performHasProperty):

  • runtime/ProxyRevoke.cpp:

(JSC::ProxyRevoke::finishCreation):

  • runtime/ReflectObject.cpp:

(JSC::ReflectObject::finishCreation):
(JSC::reflectObjectDefineProperty):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::finishCreation):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::getOwnPropertySlot):

  • runtime/RegExpPrototype.cpp:

(JSC::RegExpPrototype::finishCreation):

  • runtime/ScopedArguments.cpp:

(JSC::ScopedArguments::overrideThings):

  • runtime/SetConstructor.cpp:

(JSC::SetConstructor::finishCreation):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototype::finishCreation):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::putDirect):
(JSC::SparseArrayEntry::put):

  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::finishCreation):

  • runtime/StringIteratorPrototype.cpp:

(JSC::StringIteratorPrototype::finishCreation):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):

  • runtime/Structure.cpp:

(JSC::Structure::nonPropertyTransition):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::prototypeChainMayInterceptStoreTo):

  • runtime/StructureInlines.h:

(JSC::Structure::add):

  • runtime/SymbolConstructor.cpp:

(JSC::SymbolConstructor::finishCreation):

  • runtime/SymbolPrototype.cpp:

(JSC::SymbolPrototype::finishCreation):

  • runtime/SymbolTable.h:

(JSC::SymbolTableEntry::Fast::getAttributes const):
(JSC::SymbolTableEntry::SymbolTableEntry):
(JSC::SymbolTableEntry::setAttributes):

  • runtime/TemplateRegistry.cpp:

(JSC::TemplateRegistry::getTemplateObject):

  • runtime/WeakMapConstructor.cpp:

(JSC::WeakMapConstructor::finishCreation):

  • runtime/WeakMapPrototype.cpp:

(JSC::WeakMapPrototype::finishCreation):

  • runtime/WeakSetConstructor.cpp:

(JSC::WeakSetConstructor::finishCreation):

  • runtime/WeakSetPrototype.cpp:

(JSC::WeakSetPrototype::finishCreation):

  • tools/JSDollarVMPrototype.cpp:

(JSC::JSDollarVMPrototype::finishCreation):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::WebAssemblyCompileErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyInstanceConstructor.cpp:

(JSC::WebAssemblyInstanceConstructor::finishCreation):

  • wasm/js/WebAssemblyLinkErrorConstructor.cpp:

(JSC::WebAssemblyLinkErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyMemoryConstructor.cpp:

(JSC::WebAssemblyMemoryConstructor::finishCreation):

  • wasm/js/WebAssemblyMemoryPrototype.cpp:
  • wasm/js/WebAssemblyModuleConstructor.cpp:

(JSC::WebAssemblyModuleConstructor::finishCreation):

  • wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:

(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyTableConstructor.cpp:

(JSC::WebAssemblyTableConstructor::finishCreation):

Source/WebCore:

No change in behavior.

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

  • bindings/js/JSDOMMapLike.cpp:

(WebCore::initializeBackingMap):
(WebCore::createBackingMap):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::finishCreation):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):

  • bindings/js/JSDOMWindowProperties.cpp:

(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::getOwnPropertySlotCommon):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginElementCustomGetOwnPropertySlot):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateIndexedGetter):
(GenerateNamedGetter):
(GetJSCAttributesForAttribute):
(GeneratePropertiesHashTable):
(addUnscopableProperties):
(GenerateImplementation):
(GenerateCallbackImplementationContent):
(GenerateHashTableValueArray):
(GenerateConstructorHelperMethods):
(ComputeFunctionSpecial):

  • bindings/scripts/test/JS/JSInterfaceName.cpp:

(WebCore::JSInterfaceNameConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSMapLike.cpp:

(WebCore::JSMapLikeConstructor::initializeProperties):
(WebCore::JSMapLikePrototype::finishCreation):

  • bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:

(WebCore::JSReadOnlyMapLikeConstructor::initializeProperties):
(WebCore::JSReadOnlyMapLikePrototype::finishCreation):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestCEReactions.cpp:

(WebCore::JSTestCEReactionsConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:

(WebCore::JSTestCEReactionsStringifierConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestCallTracer.cpp:

(WebCore::JSTestCallTracerConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestCallbackInterface.cpp:

(WebCore::JSTestCallbackInterfaceConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:

(WebCore::JSTestClassWithJSBuiltinConstructorConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::initializeProperties):
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):

  • bindings/scripts/test/JS/JSTestDOMJIT.cpp:

(WebCore::JSTestDOMJITConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::JSTestEnabledBySettingConstructor::initializeProperties):
(WebCore::JSTestEnabledBySetting::finishCreation):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTargetConstructor::initializeProperties):
(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachableConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::JSTestGlobalObjectConstructor::initializeProperties):
(WebCore::JSTestGlobalObject::finishCreation):

  • bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:

(WebCore::JSTestIndexedSetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:

(WebCore::JSTestIndexedSetterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot):
(WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:

(WebCore::JSTestIndexedSetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:

(WebCore::JSTestInterfaceLeadingUnderscoreConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestIterable.cpp:

(WebCore::JSTestIterableConstructor::initializeProperties):
(WebCore::JSTestIterablePrototype::finishCreation):

  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:

(WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:

(WebCore::JSTestNamedAndIndexedSetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:

(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot):
(WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:

(WebCore::JSTestNamedAndIndexedSetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorConstructor::initializeProperties):
(WebCore::JSTestNamedConstructorNamedConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:

(WebCore::JSTestNamedDeleterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:

(WebCore::JSTestNamedDeleterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:

(WebCore::JSTestNamedDeleterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:

(WebCore::JSTestNamedDeleterWithIndexedGetterConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:

(WebCore::JSTestNamedGetterCallWithConstructor::initializeProperties):
(WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot):
(WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:

(WebCore::JSTestNamedGetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:

(WebCore::JSTestNamedGetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:

(WebCore::JSTestNamedSetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:

(WebCore::JSTestNamedSetterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot):
(WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:

(WebCore::JSTestNamedSetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:

(WebCore::JSTestNamedSetterWithIndexedGetterConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:

(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:

(WebCore::JSTestNamedSetterWithOverrideBuiltinsConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:

(WebCore::JSTestNamedSetterWithUnforgablePropertiesConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:

(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNodeConstructor::initializeProperties):
(WebCore::JSTestNodePrototype::finishCreation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::initializeProperties):
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::JSTestObj::getOwnPropertySlot):
(WebCore::JSTestObj::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:

(WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:

(WebCore::JSTestOverrideBuiltinsConstructor::initializeProperties):
(WebCore::JSTestOverrideBuiltins::getOwnPropertySlot):
(WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestPluginInterface.cpp:

(WebCore::JSTestPluginInterfaceConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:

(WebCore::JSTestPromiseRejectionEventConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestSerialization.cpp:

(WebCore::JSTestSerializationConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:

(WebCore::JSTestSerializationIndirectInheritanceConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestSerializationInherit.cpp:

(WebCore::JSTestSerializationInheritConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:

(WebCore::JSTestSerializationInheritFinalConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestStringifier.cpp:

(WebCore::JSTestStringifierConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:

(WebCore::JSTestStringifierAnonymousOperationConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:

(WebCore::JSTestStringifierNamedOperationConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:

(WebCore::JSTestStringifierOperationImplementedAsConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:

(WebCore::JSTestStringifierOperationNamedToStringConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:

(WebCore::JSTestStringifierReadOnlyAttributeConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:

(WebCore::JSTestStringifierReadWriteAttributeConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::initializeProperties):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::getOwnPropertySlot):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::getOwnPropertySlot):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):

Source/WebKit:

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::getOwnPropertySlot):

3:33 PM Changeset in webkit [222472] by achristensen@apple.com
  • 15 edits
    2 deletes in trunk/Source

Stop using PolicyCallback
https://bugs.webkit.org/show_bug.cgi?id=176088

Reviewed by Andy Estes.

Source/WebCore:

This is what lambdas are for. No change in behavior.
Cancelling the callback is now the responsibility of the FrameLoaderClient, to whom we have given the lambda.
That is why there are changes in WebKit and WebKitLegacy where the FrameLoaderClient::cancelPolicyCheck finds the lambda it has stored.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoader.cpp:
  • loader/FrameLoader.cpp:
  • loader/FrameLoaderClient.h:
  • loader/PolicyCallback.cpp: Removed.
  • loader/PolicyCallback.h: Removed.
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):
(WebCore::PolicyChecker::stopCheck):
(WebCore::PolicyChecker::continueAfterNavigationPolicy): Deleted.

  • loader/PolicyChecker.h:

(WebCore::PolicyChecker::setSuggestedFilename): Deleted.

Source/WebKit:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::invalidatePolicyListener):

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebInspector.cpp:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm:

(-[WebFramePolicyListener invalidate]):
(-[WebFramePolicyListener receivedPolicyDecision:]):

2:46 PM Changeset in webkit [222471] by commit-queue@webkit.org
  • 14 edits in trunk

MediaStreamTrack.getSettings should compute its deviceId/groupId like enumerateDevices
https://bugs.webkit.org/show_bug.cgi?id=177433

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Jer Noble.

Source/WebCore:

Covered by improved test.

Hash the deviceId returned by getSettings as done by enumerateDevices/getUserMedia.
Do the same thing for groupId.
Make sure mock sources have their deviceId set consistently with mock devices.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::getSettings const):

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrack.idl:
  • platform/mediastream/mac/MockRealtimeAudioSourceMac.h:
  • platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:

(WebCore::MockRealtimeAudioSource::create):
(WebCore::MockRealtimeAudioSourceMac::MockRealtimeAudioSourceMac):

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSource::create):
(WebCore::MockRealtimeVideoSourceMac::MockRealtimeVideoSourceMac):

  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::create):
(WebCore::MockRealtimeAudioSource::createMuted):
(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource):

  • platform/mock/MockRealtimeAudioSource.h:
  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::create):
(WebCore::MockRealtimeVideoSource::createMuted):
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):

  • platform/mock/MockRealtimeVideoSource.h:

LayoutTests:

  • fast/mediastream/get-user-media-device-id.html:
2:43 PM Changeset in webkit [222470] by Joseph Pecoraro
  • 6 edits
    3 copies
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: Include a table in New Network Tab
https://bugs.webkit.org/show_bug.cgi?id=177206

Reviewed by Matt Baker and Brian Burg.

This includes an initial implementation of the NetworkTableContentView,
and a generic Table / TableColumn implementation ported from DataGrid.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New strings and files.

  • UserInterface/Views/NetworkGridContentView.css:

(.content-view:matches(.network, .network-grid) > .data-grid .cache-type):
(.cache-type): Deleted.

  • UserInterface/Views/ResourceDetailsSidebarPanel.css:

(.sidebar > .panel.resource-details .cache-type):
Make the .cache-type selector more specific for the legacy cases.

  • UserInterface/Views/NetworkTabContentView.css: Copied from Source/WebInspectorUI/UserInterface/Views/NetworkGridContentView.css.

(.content-view.network > .content-browser):

  • UserInterface/Views/NetworkTabContentView.js:

(WI.NetworkTabContentView.prototype.shown):
(WI.NetworkTabContentView.prototype.hidden):
(WI.NetworkTabContentView.prototype.closed):
NetworkTabContentView has a ContentBrowser so it should be passing
ContentBrowser lifecycle events (shown, hidden, closed) through to
the sub-content browser.

  • UserInterface/Views/TableColumn.js: Added.

(WI.TableColumn.prototype.get identifier):
(WI.TableColumn.prototype.get name):
(WI.TableColumn.prototype.get width):
(WI.TableColumn.prototype.get minWidth):
(WI.TableColumn.prototype.get maxWidth):
(WI.TableColumn.prototype.get hidden):
(WI.TableColumn.prototype.get defaultHidden):
(WI.TableColumn.prototype.get sortable):
(WI.TableColumn.prototype.get align):
(WI.TableColumn.prototype.get locked):
(WI.TableColumn.prototype.get flexible):
(WI.TableColumn.prototype.setWidth):
(WI.TableColumn.prototype.setHidden):
Model object for a column. Values are getter only. Columns may express
size constraints (min width / max width) that are respected as much as
possible. When a column is resized it dispatches an event.

  • UserInterface/Views/Table.js: Added.

(WI.Table):
(WI.Table.prototype.get element):
(WI.Table.prototype.get identifier):
(WI.Table.prototype.get dataSource):
(WI.Table.prototype.get delegate):
(WI.Table.prototype.get rowHeight):
(WI.Table.prototype.get selectedRow):
(WI.Table.prototype.get sortOrder):
(WI.Table.prototype.set sortOrder):
(WI.Table.prototype.get sortColumnIdentifier):
(WI.Table.prototype.set sortColumnIdentifier):
(WI.Table.prototype.resize):
(WI.Table.prototype.reloadData):
(WI.Table.prototype.reloadDataAddedToEndOnly):
(WI.Table.prototype.reloadRow):
(WI.Table.prototype.reloadCell):
(WI.Table.prototype.selectRow):
(WI.Table.prototype.clearSelectedRow):
(WI.Table.prototype.columnWithIdentifier):
(WI.Table.prototype.addColumn):
(WI.Table.prototype.showColumn):
(WI.Table.prototype.hideColumn):
(WI.Table.prototype.restoreScrollPosition):
(WI.Table.prototype.initialLayout):
(WI.Table.prototype.layout):
(WI.Table.prototype.resizerDragStarted):
(WI.Table.prototype.resizerDragging.growableSize):
(WI.Table.prototype.resizerDragging.shrinkableSize):
(WI.Table.prototype.resizerDragging.canGrow):
(WI.Table.prototype.resizerDragging.canShrink):
(WI.Table.prototype.resizerDragging.columnToResize):
(WI.Table.prototype.resizerDragging):
(WI.Table.prototype.resizerDragEnded):
(WI.Table.prototype._needsLayout):
(WI.Table.prototype._createHeaderCell):
(WI.Table.prototype._createFillerCell):
(WI.Table.prototype._createCell):
(WI.Table.prototype._getOrCreateRow):
(WI.Table.prototype._populatedCellForColumnAndRow):
(WI.Table.prototype._populateRow):
(WI.Table.prototype._resizeColumnsAndFiller.distributeRemainingPixels):
(WI.Table.prototype._resizeColumnsAndFiller.bestFit):
(WI.Table.prototype._resizeColumnsAndFiller):
(WI.Table.prototype._updateVisibleRows):
(WI.Table.prototype._applyColumnWidths):
(WI.Table.prototype._positionResizerElements):
(WI.Table.prototype._isRowVisible):
(WI.Table.prototype._indexToInsertColumn):
(WI.Table.prototype._handleScroll):
(WI.Table.prototype._handleKeyDown):
(WI.Table.prototype._handleClick):
(WI.Table.prototype._handleContextMenu):
(WI.Table.prototype._handleHeaderCellClicked):
(WI.Table.prototype._handleHeaderContextMenu):
Table is mostly a re-implementation of DataGrid. Much of its functionality
was a direct copy that was then modified and simplified for a smaller
and simpler feature set.

Table behaves more like Cocoa's NSTableView. A datasource supplies the
number of rows, which Table uses to resize appropriately. A delegate is
then called to populate cells in a row when they become visible. Table
does minimal caching, and in the event of data source changes
(resorting, adding rows, modifying rows, etc) the visible rows are
simply recreated from scratch. Clients should therefore make generating
a cell's contents as simple and performant as possible.

Unlike DataGrid, rows are just an <li> with a bunch of cells. Since the
number of rows are limited to (roughly) those that are visible, most
operations, like resizing, creates / modifies each of the visible cells.

Finally, Table's resizing operations behave more like flexible content
than DataGrid's neighbor only approach. This makes resizing the table
generally easier to do, but may need refinement to decide which columns
we would prefer to distribute columns during resizing.

  • UserInterface/Views/Table.css: Added.

(.table):
(.table > .header):
(.table > .header > .sortable:active):
(.table > .header > :matches(.sort-ascending, .sort-descending)):
(.table > .header > :matches(.sort-ascending, .sort-descending)::after):
(body[dir=ltr] .table > .header > :matches(.sort-ascending, .sort-descending)):
(body[dir=rtl] .table > .header > :matches(.sort-ascending, .sort-descending)):
(body[dir=ltr] .table > .header > :matches(.sort-ascending, .sort-descending)::after):
(body[dir=rtl] .table > .header > :matches(.sort-ascending, .sort-descending)::after):
(.table > .header > .sort-ascending::after):
(.table > .header > .sort-descending::after):
(.table > .data-container):
(.table > .data-container.not-scrollable):
(.table > .data-container > .data-list):
(.table > .data-container > .data-list.odd-first-zebra-stripe):
(.table > .data-container > .data-list > li):
(.table > .data-container > .data-list > li.selected):
(.table:focus > .data-container > .data-list li.selected):
(.table .cell):
(body[dir=ltr] .table .cell:not(:last-child)):
(body[dir=rtl] .table .cell:not(:last-child)):
(body[dir=ltr] .table .cell:first-child):
(body[dir=rtl] .table .cell:first-child):
(.table :not(.header) .cell:first-of-type):
(.table .cell.align-right):
(.table .cell.align-left):
(.table .cell.align-center):
Styles mostly taken from DataGrid with a few minor tweaks.

  • UserInterface/Views/NetworkTableContentView.css: Copied from Source/WebInspectorUI/UserInterface/Views/NetworkGridContentView.css.

(.content-view.network .table .icon):
(body[dir=ltr] .content-view.network .table .icon):
(body[dir=rtl] .content-view.network .table .icon):
(.content-view.network .table li:not(.filler) .cell.name):
(.content-view.network .table .cache-type):
(.content-view.network .table .error):

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):
(WI.NetworkTableContentView.shortDisplayNameForResourceType):
(WI.NetworkTableContentView.prototype.get navigationItems):
(WI.NetworkTableContentView.prototype.shown):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.tableNumberOfRows):
(WI.NetworkTableContentView.prototype.tableSortChanged):
(WI.NetworkTableContentView.prototype.tableCellClicked):
(WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
(WI.NetworkTableContentView.prototype.tableSelectedRowChanged):
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._populateTransferSizeCell):
(WI.NetworkTableContentView.prototype._generateSortComparator):
(WI.NetworkTableContentView.prototype.initialLayout):
(WI.NetworkTableContentView.prototype.layout):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._rowIndexForResource):
(WI.NetworkTableContentView.prototype._updateEntryForResource):
(WI.NetworkTableContentView.prototype._mainResourceDidChange):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
(WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
(WI.NetworkTableContentView.prototype._networkTimelineRecordAdded):
(WI.NetworkTableContentView.prototype._isDefaultSort):
(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
(WI.NetworkTableContentView.prototype._displayType):
(WI.NetworkTableContentView.prototype._entryForResource):
(WI.NetworkTableContentView.prototype._passFilter):
(WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._generateTypeFilter):
(WI.NetworkTableContentView.prototype._areFilterListsIdentical):
(WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
(WI.NetworkTableContentView.prototype._tableNameColumnDidChangeWidth):
The NetworkTableContentView has a Table and it is the table's data source
and delegate. It contains a complete list of entries, and a filtered list
of entries, which is the backing list of rows for the table. As entries
are created, updated, or filters modified, this generally modifies
entries, sorts, filters, and reloads the table. As much as possible it
batches operations in the usual layout loop.

2:30 PM Changeset in webkit [222469] by Ryan Haddad
  • 4 edits in trunk/Tools

Add High Sierra bots to buildbot and dashboard.
https://bugs.webkit.org/show_bug.cgi?id=177437

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Add High Sierra queues, move Leaks and JSC queues over from Sierra.
  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Add High Sierra.

(WebKitBuildbot):

2:28 PM Changeset in webkit [222468] by Chris Dumez
  • 18 edits in trunk

[WK2] Add API to query if a download was user-initiated
https://bugs.webkit.org/show_bug.cgi?id=177435
<rdar://problem/34498422>

Reviewed by Alex Christensen.

Source/WebKit:

Add C and Cocoa private API to query if a download was user-initiated.

For clarity, we now construct navigation object for subframe loads
as well (we used to do so only for main frame loads). This allows us
to store the user-intiated flag and the redirect chain on the navigation
object instead of the WebFrameProxy.

  • UIProcess/API/APINavigation.cpp:

(API::Navigation::Navigation):
(API::Navigation::appendRedirectionURL):

  • UIProcess/API/APINavigation.h:

(API::Navigation::takeRedirectChain):
(API::Navigation::setWasUserInitiated):
(API::Navigation::wasUserInitiated const):

  • UIProcess/API/C/WKDownload.cpp:

(WKDownloadGetWasUserInitiated):

  • UIProcess/API/C/WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownload.mm:

(-[_WKDownload wasUserInitiated]):

  • UIProcess/Downloads/DownloadProxy.h:

(WebKit::DownloadProxy::setWasUserInitiated):
(WebKit::DownloadProxy::wasUserInitiated const):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didFailProvisionalLoad):
(WebKit::WebFrameProxy::didFinishLoad):
(WebKit::WebFrameProxy::didFailLoad):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::title const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:

(TestWebKitAPI::decideDestinationWithSuggestedFilename):

  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(-[DownloadDelegate _downloadDidStart:]):
(-[DownloadDelegate _downloadDidFinish:]):
(runTest):
(TEST):
(-[BlobDownloadDelegate _downloadDidStart:]):
(-[BlobDownloadDelegate _downloadDidFinish:]):
(-[RedirectedDownloadDelegate _downloadDidStart:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):

2:17 PM Changeset in webkit [222467] by Chris Dumez
  • 60 edits
    1 move in trunk/Source

Make StoredCredentials an enum class and rename its header
https://bugs.webkit.org/show_bug.cgi?id=177455

Reviewed by Youenn Fablet.

Make StoredCredentials an enum class and rename its header for clarity. This was error-prone because 0 meant
"allow" and and 1 meant "do not allow". It was trivial to convert it to a boolean by mistake and get the
opposite behavior.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::requestStyleSheet):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::updateRequestForAccessControl):
(WebCore::createAccessControlPreflightRequest):
(WebCore::passesAccessControlCheck):
(WebCore::validatePreflightResponse):

  • loader/CrossOriginAccessControl.h:
  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
(WebCore::CrossOriginPreflightChecker::doPreflight):

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsRequest const):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):

  • loader/CrossOriginPreflightResultCache.h:

(WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::redirectReceived):
(WebCore::DocumentThreadableLoader::preflightSuccess):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/FrameLoader.h:
  • loader/LoaderStrategy.h:
  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::requestResource):

  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):

  • loader/ResourceLoaderOptions.h:

(WebCore::ResourceLoaderOptions::ResourceLoaderOptions):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):

  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoaderOptions::isolatedCopy const):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::loadFrom):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::defaultCachedResourceOptions):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::setAsPotentiallyCrossOrigin):
(WebCore::CachedResourceRequest::updateForAccessControl):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading):

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

(WebCore::WebCoreAVCFResourceLoader::startLoading):

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

(WebCore::WebCoreAVFResourceLoader::startLoading):

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::loadBlobResourceSynchronously):

  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::loadResourceSynchronously):

  • platform/network/ResourceHandle.h:
  • platform/network/StoredCredentialsPolicy.h: Renamed from Source/WebCore/platform/network/ResourceHandleTypes.h.
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::platformLoadResourceSynchronously):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously):

  • style/StylePendingResources.cpp:

(WebCore::Style::loadPendingImage):

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::docLoaderFunc):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::openFunc):

Source/WebKit:

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload):

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::didCompleteWithError):

  • NetworkProcess/NetworkCORSPreflightChecker.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::loadPing):

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::create):
(WebKit::NetworkDataTask::NetworkDataTask):

  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/NetworkDataTaskBlob.cpp:

(WebKit::NetworkDataTaskBlob::NetworkDataTaskBlob):

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::shouldUseCredentialStorage):

  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::willPerformHTTPRedirection):
(WebKit::PingLoad::makeCrossOriginAccessRequest):
(WebKit::PingLoad::makeSimpleCrossOriginAccessRequest):
(WebKit::PingLoad::makeCrossOriginAccessRequestWithPreflight):
(WebKit::PingLoad::preflightSuccess):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

  • NetworkProcess/capture/NetworkDataTaskReplay.cpp:

(WebKit::NetworkCapture::NetworkDataTaskReplay::NetworkDataTaskReplay):

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

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::tryPasswordBasedAuthentication):

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

(-[WKNetworkSessionDelegate existingTask:]):
(WebKit::NetworkSessionCocoa::dataTaskForIdentifier):

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::createRequest):
(WebKit::NetworkDataTaskSoup::authenticate):
(WebKit::NetworkDataTaskSoup::continueAuthenticate):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):

  • NetworkProcess/soup/NetworkDataTaskSoup.h:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):

  • WebProcess/Network/WebLoaderStrategy.h:

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::loadResourceSynchronously):

  • WebCoreSupport/WebResourceLoadScheduler.h:
2:11 PM Changeset in webkit [222466] by commit-queue@webkit.org
  • 2 edits in trunk/PerformanceTests

Speedometer: Fix typo
https://bugs.webkit.org/show_bug.cgi?id=177425

Patch by Mathias Bynens <mathias@qiwi.be> on 2017-09-25
Reviewed by Ryosuke Niwa.

  • Speedometer/InteractiveRunner.html: Fix typo: “Arithemtic Mean” → “Arithmetic Mean”.
2:08 PM Changeset in webkit [222465] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Remove unnecessary userVisibleString EditorClient function
https://bugs.webkit.org/show_bug.cgi?id=177456

Patch by Sam Weinig <sam@webkit.org> on 2017-09-25
Reviewed by Dan Bernstein.

Source/WebCore:

The implementation of userVisibleString has been in WebCore for sometime (in WebCoreNSURLExtras)
so there is no need to call through the EditorClient, just for it to call back to WebCore.

  • editing/Editor.h:

Keep userVisibleString helper function but make it static, as it no longer needs
any state. It is useful to have this helper, so non-ObjC code in Editor can get a
userVisibleString.

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::userVisibleString):

Call through to the WebCoreNSURLExtras implementation.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::plainTextFromPasteboard):
(WebCore::Editor::writeImageToPasteboard):
(WebCore::Editor::userVisibleString): Deleted.

  • editing/mac/WebContentReaderMac.mm:

(WebCore::WebContentReader::readFilenames):

Replace client calls with direct calls.

  • loader/EmptyClients.cpp:
  • page/EditorClient.h:

Remove client function.

  • testing/Internals.mm:

(WebCore::Internals::userVisibleString):

Replace client call with direct call.

Source/WebKit:

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

(WebKit::WebEditorClient::userVisibleString): Deleted.

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::WebEditorClient::userVisibleString): Deleted.

Remove userVisibleString client function.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::userVisibleString): Deleted.

Remove userVisibleString client function.

2:05 PM Changeset in webkit [222464] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build with <attachment> disabled

  • editing/mac/WebContentReaderMac.mm:
1:50 PM Changeset in webkit [222463] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix.

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:

(WebCore::InbandTextTrackPrivateAVCF::readNativeSampleBuffer):

1:38 PM Changeset in webkit [222462] by commit-queue@webkit.org
  • 32 edits
    1 delete in trunk

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

broke iOS build (Requested by alexchristensen on #webkit).

Reverted changeset:

"Add WKContentRuleList notify action type"
https://bugs.webkit.org/show_bug.cgi?id=177013
http://trac.webkit.org/changeset/222455

1:22 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
1:20 PM Changeset in webkit [222461] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

Unreviewed GTK test gardening

  • platform/gtk/TestExpectations:
1:07 PM Changeset in webkit [222460] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] run-api-tests is failing.
https://bugs.webkit.org/show_bug.cgi?id=177454

Reviewed by Brent Fulgham.

TestWebKit.exe has changed name to TestWebKitLegacy.exe.

  • Scripts/run-api-tests:

(testToolPaths):

1:06 PM Changeset in webkit [222459] by clopez@igalia.com
  • 3 edits in trunk/Source/WebCore

Building release with -DLOG_DISABLED=0 fails
https://bugs.webkit.org/show_bug.cgi?id=177441

Reviewed by Michael Catanzaro.

No new tests, it is a build fix.

  • Modules/indexeddb/IDBKeyPath.cpp:
  • Modules/indexeddb/IDBKeyPath.h:
12:55 PM Changeset in webkit [222458] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
https://bugs.webkit.org/show_bug.cgi?id=177244

Reviewed by Alex Christensen.

The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.

  • EWSTools/start-queue-win.sh:
12:47 PM Changeset in webkit [222457] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Switch back to partitioning (rather than blocking) prevalent origins without interaction
https://bugs.webkit.org/show_bug.cgi?id=177452
<rdar://problem/34632618>

Reviewed by Chris Dumez.

Temporarily revert to "partition-only" behavior, due to site compatibility issues with
full blocking.

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):

12:18 PM Changeset in webkit [222456] by achristensen@apple.com
  • 30 edits in trunk/Source

Separate form submission from PolicyChecker infrastructure
https://bugs.webkit.org/show_bug.cgi?id=177396

Reviewed by Geoffrey Garen.

Source/WebCore:

We used PolicyChecker for WillSubmitForm even though we just need a completion handler
with no parameters. That is what lambdas and WTF::Functions are for.

No change in behavior.

  • loader/EmptyClients.cpp:

(WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Deleted.

  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::continueLoadAfterWillSubmitForm): Deleted.

  • loader/PolicyChecker.h:

Source/WebKit:

  • UIProcess/API/APIFormClient.h:

(API::FormClient::willSubmitForm):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setInputDelegate:]):

  • UIProcess/WebFormClient.cpp:

(WebKit::WebFormClient::willSubmitForm):

  • UIProcess/WebFormClient.h:
  • UIProcess/WebFormSubmissionListenerProxy.cpp:

(WebKit::WebFormSubmissionListenerProxy::continueSubmission):
(WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy): Deleted.

  • UIProcess/WebFormSubmissionListenerProxy.h:

(WebKit::WebFormSubmissionListenerProxy::create):
(WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy):
(): Deleted.
(WebKit::WebFormSubmissionListenerProxy::operator new): Deleted.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy): Deleted.

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

(WebKit::WebPageProxy::willSubmitForm):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::setUpWillSubmitFormListener):
(WebKit::WebFrame::continueWillSubmitForm):

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::continueWillSubmitForm):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchWillSubmitForm):

12:17 PM Changeset in webkit [222455] by achristensen@apple.com
  • 32 edits
    1 add in trunk

Add WKContentRuleList notify action type
https://bugs.webkit.org/show_bug.cgi?id=177013
<rdar://problem/31073936>

Reviewed by Darin Adler.

Source/WebCore:

Covered by new API tests.

  • contentextensions/ContentExtensionActions.h:

(WebCore::ContentExtensions::hasStringArgument):

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
(WebCore::ContentExtensions::serializeActions):

  • contentextensions/ContentExtensionError.cpp:

(WebCore::ContentExtensions::contentExtensionErrorCategory):

  • contentextensions/ContentExtensionError.h:
  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadAction):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::Action):

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/PingLoader.cpp:

(WebCore::processContentExtensionRulesForLoad):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::applyBlockedStatus):

  • loader/cache/CachedResourceRequest.h:
  • page/ChromeClient.h:

Source/WebKit:

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::processContentExtensionRulesForLoad):

  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::contentRuleListNotification):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageNavigationClient):

  • UIProcess/API/C/WKPageNavigationClient.h:
  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::contentRuleListNotification):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::contentRuleListNotification):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::contentRuleListNotification):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::data):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::actionsEqual):
(TestWebKitAPI::sequenceInstances):
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
(TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.

(-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(makeWarnContentRuleList):
(TEST):

12:16 PM Changeset in webkit [222454] by weinig@apple.com
  • 42 edits in trunk/Source/WebCore

[WebIDL] Remove GetterMayThrowException
https://bugs.webkit.org/show_bug.cgi?id=177422

Reviewed by Youenn Fablet.

  • bindings/js/JSDOMConvertBase.h:

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

Add overloads of toJS and toJSNewlyCreated that take ThrowScopes and a value that
is not an ExceptionOr (keeping the existing overloads that take an ExceptionOr).
This allows NativeToJSValue to not need to know of a conversion can throw, as the
c++ type system will now make the determination for it.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateSerializerDefinition):
(NativeToJSValueUsingReferences):
(NativeToJSValueUsingPointers):
(NativeToJSValue):

Always assume an exception can be thrown for attributes now that the converters will
do the right thing based on whether the value is an ExceptionOr or not. Also, remove
$suppressExceptionCheck and $excludeNullability, they were never being set.

  • bindings/scripts/IDLAttributes.json:

Remove GetterMayThrowException from the list of supported extended attributes.

  • Modules/indexeddb/IDBRequest.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/webdatabase/SQLResultSet.idl:
  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestTypedefs.idl:
  • dom/Document.idl:
  • html/HTMLInputElement.idl:
  • page/DOMWindow.idl:
  • page/History.idl:
  • svg/SVGLength.idl:
  • xml/XMLHttpRequest.idl:
  • xml/XPathResult.idl:


Remove GetterMayThrowException extended attribute from IDL files.

  • bindings/scripts/test/JS/JSMapLike.cpp:
  • bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • bindings/scripts/test/JS/JSTestCallTracer.cpp:
  • bindings/scripts/test/JS/JSTestDOMJIT.cpp:
  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
  • bindings/scripts/test/JS/JSTestSerialization.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

Update test results.

12:03 PM Changeset in webkit [222453] by achristensen@apple.com
  • 2 edits in branches/safari-604-branch/Tools

Fix branch test build after r222431.
https://bugs.webkit.org/show_bug.cgi?id=177411

  • TestWebKitAPI/Tests/WebKit2Cocoa/JavaScriptDuringNavigation.mm:

(-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
Just do string comparison to avoid this error on some OSes:
error: instance method '-isEqualTo:' not found (return type defaults to 'id')

12:03 PM Changeset in webkit [222452] by timothy_horton@apple.com
  • 10 edits in trunk

Make progress on getting Mac CMake building again
https://bugs.webkit.org/show_bug.cgi?id=177443

Unreviewed, just "fixing" the build.

.:

  • Source/cmake/OptionsMac.cmake:

Turn on WEB_CRYPTO on Mac. We need to do a bigger cleanup of feature
defines, but this one is important because we have SUBTLE_CRYPTO on
and there is some amount of interdependency.

Source/WebCore:

  • PlatformMac.cmake:

Add some missing files and include paths.

Source/WebCore/PAL:

  • pal/PlatformMac.cmake:

Add some missing files and include paths.

Source/WebKit:

  • PlatformMac.cmake:

Add some missing files and include paths.

Source/WebKitLegacy:

  • PlatformMac.cmake:

Set up dependencies correctly for our mig-generated files.
MAIN_DEPENDENCY is for VS, not what it sounds like.

Add mig-generated files to WebKitLegacy, not WebKit (I think this was
missed in the WebKit2 rename).

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

Mark fast/loader/form-submission-after-beforeunload-cancel.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177445

Unreviewed test gardening.

  • platform/ios/TestExpectations:
10:43 AM Changeset in webkit [222450] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177323

Unreviewed test gardening.

  • platform/ios/TestExpectations:
10:33 AM Changeset in webkit [222449] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/cache-storage/cache-representation.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177438

Unreviewed test gardening.

  • platform/ios/TestExpectations:
10:26 AM Changeset in webkit [222448] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Update TestExpectations for WPT LayoutTests that crash.

Unreviewed test gardening.

9:01 AM Changeset in webkit [222447] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

webrtc/peer-connection-audio-mute.html is sometimes flaky
https://bugs.webkit.org/show_bug.cgi?id=172649

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

Iterating until getting the expected result to make test more stable.

  • webrtc/peer-connection-audio-mute.html:
  • webrtc/peer-connection-remote-audio-mute.html:
9:00 AM Changeset in webkit [222446] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Make captureCanvas-webrtc.html more robust
https://bugs.webkit.org/show_bug.cgi?id=177334

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

Making test more robust by printing synchronously the canvas and increasing.
the threshold for pixel comparison.
Minor refactoring for improving the readability.

  • webrtc/captureCanvas-webrtc.html:
8:59 AM Changeset in webkit [222445] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

LayoutTest webrtc/video-mute.html is very often failing
https://bugs.webkit.org/show_bug.cgi?id=177331

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

  • webrtc/video-mute.html: using getStats instead of internals to check whether black frames are received.
7:10 AM WebKitGTK/Gardening/Calendar edited by zandobersek@gmail.com
(diff)
6:38 AM Changeset in webkit [222444] by Ms2ger@igalia.com
  • 5 edits
    2 adds in trunk

Update waitSync and the TIMEOUT_IGNORED constant to use signed integers.
https://bugs.webkit.org/show_bug.cgi?id=177239

Reviewed by Žan Doberšek.

This matches the specification.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/constants.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::waitSync):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/webgl2/constants-expected.txt: Added.
  • fast/canvas/webgl/webgl2/constants.html: Added.
5:27 AM Changeset in webkit [222443] by nael.ouedraogo@crf.canon.fr
  • 5 edits in trunk/Source/WebCore

Align Media Source Extension IDL with spec
https://bugs.webkit.org/show_bug.cgi?id=177369

Reviewed by Sam Weinig.

Align IDL as per specification:

  • Modules/mediasource/AudioTrackMediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediasource/TextTrackMediaSource.idl:
  • Modules/mediasource/VideoTrackMediaSource.idl:
5:21 AM Changeset in webkit [222442] by clopez@igalia.com
  • 2 edits in trunk/Tools

REGRESSION(r222160) [GTK] [Debug] Internal compiler error on the buildbot (huge memory usage by GCC)
https://bugs.webkit.org/show_bug.cgi?id=177223

Reviewed by Carlos Garcia Campos.

When the user environment sets the variable NUMBER_OF_PROCESSORS
this should be passed down to the build system (ninja or make) always.

Playing with the number of this variable is needed when using icecc
(as you usually want to launch more parallel build process than your
number of cores), or when you want to limit the number of parallel
build process for hardware capacity reasons.

  • Scripts/build-webkit:
1:39 AM Changeset in webkit [222441] by Manuel Rego Casasnovas
  • 6 edits in trunk/Source/WebCore

[css-grid] Small refactoring adding RenderGrid::contentAlignment()
https://bugs.webkit.org/show_bug.cgi?id=177130

Reviewed by Sergio Villar Senin.

As a follow-up of r221931, this patch does a small refactoring
adding a new method RenderGrid::contentAlignment()
that is used from RenderGrid and GridTrackSizingAlgorithm.

No new tests, no change of behavior.

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):

  • rendering/RenderGrid.cpp:

(WebCore::contentAlignmentNormalBehaviorGrid):
(WebCore::RenderGrid::contentAlignment const):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset const):
(WebCore::RenderGrid::contentAlignmentNormalBehaviorGrid): Deleted.

  • rendering/RenderGrid.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::resolvedContentAlignment):
(WebCore::RenderStyle::resolvedAlignContent const):
(WebCore::RenderStyle::resolvedJustifyContent const):

  • rendering/style/RenderStyle.h:
12:28 AM Changeset in webkit [222440] by Manuel Rego Casasnovas
  • 9 edits
    2 adds in trunk

[css-grid] fit-content() tracks shouldn't stretch
https://bugs.webkit.org/show_bug.cgi?id=177300

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

Imported a new test in WPT covering several cases for this issue.

  • web-platform-tests/css/css-grid-1/alignment/grid-fit-content-tracks-dont-stretch-001-expected.txt: Added.
  • web-platform-tests/css/css-grid-1/alignment/grid-fit-content-tracks-dont-stretch-001.html: Added.
  • web-platform-tests/css/css-grid-1/alignment/w3c-import.log:

Source/WebCore:

The spec is pretty clear regarding this
(https://drafts.csswg.org/css-grid/#algo-stretch):

"This step sizes expands tracks that have an auto max track sizing

function by dividing any remaining positive, definite free space
equally amongst them."

The fit-content() tracks don't have an auto max track sizing function,
so they shouldn't be considered in this step of the algorithm.

The patch modifies GridTrackSizingAlgorithm::initializeTrackSizes()
so it doesn't consider fit-content() tracks as auto sized ones
(which are the ones later stretched in the last step of the algorithm).

Test: imported/w3c/web-platform-tests/css/css-grid-1/alignment/grid-fit-content-tracks-dont-stretch-001.html

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::initializeTrackSizes):
(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
(WebCore::GridTrackSizingAlgorithm::setup):
(WebCore::GridTrackSizingAlgorithm::reset):

  • rendering/GridTrackSizingAlgorithm.h:

LayoutTests:

Added new case to an existent test and also modified
the expected result in another one.

  • fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks-expected.txt:
  • fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks.html:
  • fast/css-grid-layout/grid-intrinsic-maximums-expected.html:

Sep 24, 2017:

10:57 PM Changeset in webkit [222439] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Incremental builds fail every time Web Inspector icons are removed
https://bugs.webkit.org/show_bug.cgi?id=177349

Patch by Fujii Hironori <Fujii Hironori> on 2017-09-24
Reviewed by Carlos Garcia Campos.

Removing GTK WebInspector image files always breaks the GTK and
WPE ports incremental builds.

  • Scripts/webkitdirs.pm:

(shouldRemoveCMakeCache): Check the timestamp of
Source/WebInspectorUI/UserInterface/Images/gtk directory if
isGtk() or isWPE().

8:02 PM Changeset in webkit [222438] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

Viewport fit is no longer experimental
https://bugs.webkit.org/show_bug.cgi?id=177417

Reviewed by Darin Adler.

  • Shared/WebPreferencesDefinitions.h:
7:05 PM WebIDLToDo edited by sam@webkit.org
(diff)
4:52 PM Changeset in webkit [222437] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

[GTK] Unreviewed, move webkit_hit_test_result_context_is_scrollbar in documentation

  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
11:55 AM Changeset in webkit [222436] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Reduce work during resizing
https://bugs.webkit.org/show_bug.cgi?id=177402

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-24
Reviewed by Matt Baker.

  • UserInterface/Views/ConsolePrompt.js:

(WI.ConsolePrompt.prototype.layout):
In the most common case there is no text so avoid doing work in CodeMirror.

11:30 AM Changeset in webkit [222435] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Remove CSS regions related fields from RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=177415

Reviewed by Sam Weinig.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator RegionFragment const): Deleted.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::avoidsFloats const): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout const):

  • rendering/style/RenderStyle.h:

(WebCore::pseudoElementRendererIsNeeded):
(WebCore::RenderStyle::hasFlowInto const): Deleted.
(WebCore::RenderStyle::flowThread const): Deleted.
(WebCore::RenderStyle::hasFlowFrom const): Deleted.
(WebCore::RenderStyle::regionThread const): Deleted.
(WebCore::RenderStyle::regionFragment const): Deleted.
(WebCore::RenderStyle::setFlowThread): Deleted.
(WebCore::RenderStyle::setRegionThread): Deleted.
(WebCore::RenderStyle::setRegionFragment): Deleted.
(WebCore::RenderStyle::initialFlowThread): Deleted.
(WebCore::RenderStyle::initialRegionThread): Deleted.
(WebCore::RenderStyle::initialRegionFragment): Deleted.

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h:
8:07 AM Changeset in webkit [222434] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

Alphabetize experimental features list
https://bugs.webkit.org/show_bug.cgi?id=177374

Reviewed by Darin Adler.

  • Shared/WebPreferencesDefinitions.h:
4:52 AM Changeset in webkit [222433] by jdiggs@igalia.com
  • 8 edits
    4 moves in trunk

[ATK] Object attributes are missing for ARIA live region roles
https://bugs.webkit.org/show_bug.cgi?id=171174

Reviewed by Chris Fleizach.

Source/WebCore:

Expose the values of aria-live, aria-atomic, and aria-relevant via AtkObject
attributes on live region elements and their descendants. In order to accomplish
exposure on descendants, add AccessibilityObject::ariaLiveRegionAncestor(). Add an
optional argument, excludeIfOff, to AccessibilityObject::isInsideARIALiveRegion()
and AccessibilityObject::supportsARIALiveRegion(). This is needed because we need
to expose live region properties via ATK even in the case where the live region
is disabled/off, but supportsARIALiveRegion() deliberately checks if the live
region is enabled.

Tests: accessibility/aria-liveregion-marquee-default.html

accessibility/aria-liveregions-attributes.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isInsideARIALiveRegion const):
(WebCore::AccessibilityObject::ariaLiveRegionAncestor const):
(WebCore::AccessibilityObject::supportsARIALiveRegion const):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

Tools:

Add support for testing property values for AXARIALive, AXARIAAtomic, and
AXARIARelevant. Also add handling for testing whether AXElementBusy is
"supported" (in ATK, busy is a state and is supported on all elements
regardless of whether the state is present or absent from the state set).

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):

LayoutTests:

Move two macOS tests to the shared layout test set.

  • accessibility/aria-liveregion-marquee-default-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default-expected.txt.
  • accessibility/aria-liveregion-marquee-default.html: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default.html.
  • accessibility/aria-liveregions-attributes-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes-expected.txt.
  • accessibility/aria-liveregions-attributes.html: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes.html.
  • platform/win/TestExpectations: Add the above tests to the list of known failures.
3:32 AM Changeset in webkit [222432] by zandobersek@gmail.com
  • 5 edits in trunk

[WebKit] Changing EME setting through InjectedBundle should update WebPreferencesStore
https://bugs.webkit.org/show_bug.cgi?id=177312

Reviewed by Carlos Garcia Campos.

Source/WebKit:

When enabling EME through the InjectedBundle for testing purposes, it's
only enabled in RuntimeEnabledFeatures, but not in WebPreferencesStore.
This causes failures on imported W3C tests that cover EME persistent
state licenses and perform parts of that test in a new window, where
the original RuntimeEnabledFeatures state doesn't have any effect.

To avoid those failures, when enabling EME feature for testing purposes
through InjectedBundle, the feature should also be enabled in the
WebPreferencesStore.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

LayoutTests:

Update test baselines for two tests that now properly execute (even if
they still fail) due to EME setting now also being updated in
WebPreferencesStore.

  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:
Note: See TracTimeline for information about the timeline view.