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

Timeline



Dec 10, 2017:

11:55 PM Changeset in webkit [225738] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed webkitpy fix on Linux platforms after r225721.

Add an empty 'linux' entry to the PUBLIC_TABLE mapping in the
VersionNameMap class. This avoids asserting in this class's
mapping_for_platform() method when the code is evaluated on a Linux
system, which happens when the static VERSION_FALLBACK_ORDER member in
the WinCairoPort class is constructed. This can occur during a
test-webkitpy run or when trying to construct a WPEPort instance in
PortFactory, which isn't possible because again the WinCairoPort
instance is constructed first, leading to the same assert in both cases.

  • Scripts/webkitpy/common/version_name_map.py:

(VersionNameMap.init):

9:04 PM Changeset in webkit [225737] by commit-queue@webkit.org
  • 4 edits
    1 copy
    6 adds in trunk/Tools

Add a script to automate W3c web-platform-tests pull request creations from WebKit commits
https://bugs.webkit.org/show_bug.cgi?id=169462

Patch by Youenn Fablet <youenn@apple.com> on 2017-12-10
Reviewed by Darin Adler.

Adding some git helper routines used by WPT exporter.
Copying WPT github utility files from Chromium.
Updating web.py/web_mock.py to cope with these new files.

Implementing test exporter in test_exporter.py.
This script takes a WebKit commit as input and will create a WPT commit in a local WPT clone.
It will then push the commit to a public GitHub repository identified by a username parameter.
This parameter is passed through the command line or searched through git config/environment variables.

The script can optionally create a pull request to the official WPT GitHub repository.
User must provide a GitHub token to allow the script to make the PR on behalf of the user.
In that case, a comment is added to the corresponding bugzilla if a bug ID is given or can be found from the change log,
to easily link the pull request with the bugzilla bug.

  • Scripts/export-w3c-test-changes: Added.
  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.reset_hard):
(Git):
(Git.am):
(Git.commit):
(Git.format_patch):
(Git.request_pull):
(Git.remote):
(Git.push):
(Git.checkout_new_branch):

  • Scripts/webkitpy/common/net/web.py:

(Web.request): Copied from Chromium.

  • Scripts/webkitpy/common/net/web_mock.py: Copied needed code from Chromium.
  • Scripts/webkitpy/w3c/test_exporter.py: Added.

(TestExporter):
(TestExporter.init):
(TestExporter._init_repository):
(TestExporter.download_and_commit_patch):
(TestExporter.clean):
(TestExporter.create_branch_with_patch):
(TestExporter.push_to_public_repository):
(TestExporter.make_pull_request):
(TestExporter.delete_local_branch):
(TestExporter.create_git_patch):
(TestExporter.create_upload_remote_if_needed):
(TestExporter.do_export):
(parse_args):
(configure_logging):
(configure_logging.LogHandler):
(configure_logging.LogHandler.format):
(main):

  • Scripts/webkitpy/w3c/test_exporter_unittest.py: Added.

(TestExporterTest):
(TestExporterTest.MockBugzilla):
(TestExporterTest.MockBugzilla.init):
(TestExporterTest.MockBugzilla.fetch_bug_dictionary):
(TestExporterTest.MockBugzilla.post_comment_to_bug):
(TestExporterTest.MockGit):
(TestExporterTest.MockGit.clone):
(TestExporterTest.MockGit.init):
(TestExporterTest.MockGit.fetch):
(TestExporterTest.MockGit.checkout):
(TestExporterTest.MockGit.reset_hard):
(TestExporterTest.MockGit.push):
(TestExporterTest.MockGit.format_patch):
(TestExporterTest.MockGit.delete_branch):
(TestExporterTest.MockGit.checkout_new_branch):
(TestExporterTest.MockGit.am):
(TestExporterTest.MockGit.commit):
(TestExporterTest.MockGit.remote):
(TestExporterTest.test_export):

  • Scripts/webkitpy/w3c/common.py: Copied from chromium.
  • Scripts/webkitpy/w3c/wpt_github.py: Copied from chromium.
  • Scripts/webkitpy/w3c/wpt_github_mock.py: Copied from chromium.
  • Scripts/webkitpy/w3c/wpt_github_unittest.py: Copied from chromium.
7:10 PM Changeset in webkit [225736] by commit-queue@webkit.org
  • 10 edits
    2 adds
    2 deletes in trunk

Incorrect bounds inside <mover>/<munder> when a stretchy operator is present
https://bugs.webkit.org/show_bug.cgi?id=179682

Patch by Minsheng Liu <lambda@liu.ms> on 2017-12-10
Reviewed by Frédéric Wang.

Source/WebCore:

Currently a stretchy operator inside <mover>/<munder>/<munderover> is stretched
during paint() rather than layout(), which leads to both end user confusion
and many unexpected behaviors. This patch rewrites
RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren()
to both eliminate the issue and make operator stretching more standard
conforming.

A test is added to check the stretch width of stretchy operators in various
scenarios:
mathml/opentype/munderover-stretch-width.html

A previous test is updated:
mathml/opentype/opentype-stretchy-horizontal.html

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::resetStretchSize):
(WebCore::RenderMathMLOperator::paint):

  • rendering/mathml/RenderMathMLOperator.h:

(WebCore::RenderMathMLOperator::setStretchWidthLocked):
(WebCore::RenderMathMLOperator::isStretchWidthLocked const):

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::toHorizontalStretchyOperator):
(WebCore::fixLayoutAfterStretch):
(WebCore::RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren):

LayoutTests:

Added test case: mathml/opentype/munderover-stretch-width.html

Updated test case: mathml/opentype/opentype-stretchy-horizontal
We update the test file to make sure the stretchy <mo> has zero lspace/rspace.
Expected results for macOS and iOS are included.

  • mathml/opentype/munderover-stretch-width-expected.txt: Added.
  • mathml/opentype/munderover-stretch-width.html: Added.
  • mathml/opentype/opentype-stretchy-horizontal.html:
  • platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
  • platform/ios/mathml/opentype/opentype-stretchy-horizontal-expected.png:
  • platform/ios/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.png:
  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
  • platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
5:32 PM Changeset in webkit [225735] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

[WTF] Reduce sizeof(Thread) by adjusting alignment
https://bugs.webkit.org/show_bug.cgi?id=180630

Reviewed by Saam Barati.

Reduce sizeof(Thread) slightly by adjusting alignment.

  • wtf/Threading.h:
5:10 PM Changeset in webkit [225734] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Harden a few assertions in GC sweep
https://bugs.webkit.org/show_bug.cgi?id=180634

Reviewed by Saam Barati.

This turns one dynamic check into a release assertion and upgrades another assertion to a release
assertion.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::Handle::sweep):

1:11 PM Changeset in webkit [225733] by Konstantin Tokarev
  • 84 edits in trunk

[python] Modernize "except" usage for python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=180612

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

  • inspector/scripts/generate-inspector-protocol-bindings.py:

Tools:

  • BuildSlaveSupport/build.webkit.org-config/committer_auth.py:

(CommitterAuth.auth_json):
(CommitterAuth.authenticate):
(CommitterAuth.is_webkit_committer):
(CommitterAuth.is_webkit_trac_user):

  • BuildSlaveSupport/wait-for-SVN-server.py:

(getLatestSVNRevision):

  • QueueStatusServer/handlers/updatebase.py:

(UpdateBase._int_from_request):

  • Scripts/webkitpy/bindings/main.py:

(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.detect_changes):

  • Scripts/webkitpy/codegen/main.py:

(BuiltinsGeneratorTests.generate_from_js_builtins):
(BuiltinsGeneratorTests.detect_changes):

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLog.parse_latest_entry_from_file):

  • Scripts/webkitpy/common/checkout/checkout.py:

(Checkout.bug_id_for_this_commit):

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.in_working_directory):
(Git.clone):
(Git._string_to_int_or_none):
(Git._commit_on_branch):

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.revisions_changing_file):

  • Scripts/webkitpy/common/config/committers.py:

(CommitterList.load_json):

  • Scripts/webkitpy/common/message_pool.py:

(_Worker.run):

  • Scripts/webkitpy/common/net/buildbot/buildbot.py:

(Builder.force_build.predicate):
(Builder._fetch_revision_to_build_map):
(BuildBot._fetch_build_dictionary):

  • Scripts/webkitpy/common/net/credentials.py:

(Credentials._credentials_from_git):

  • Scripts/webkitpy/common/net/networktransaction.py:

(NetworkTransaction.run):

  • Scripts/webkitpy/common/net/networktransaction_unittest.py:

(NetworkTransactionTest.test_exception):
(NetworkTransactionTest.test_timeout):

  • Scripts/webkitpy/common/net/statusserver.py:

(StatusServer._fetch_url):

  • Scripts/webkitpy/common/net/unittestresults.py:

(UnitTestResults.results_from_string):

  • Scripts/webkitpy/common/prettypatch.py:

(PrettyPatch.check_pretty_patch):
(PrettyPatch.pretty_patch_text):

  • Scripts/webkitpy/common/prettypatch_unittest.py:

(PrettyPatchTest.check_ruby):

  • Scripts/webkitpy/common/system/autoinstall.py:

(AutoInstaller._extract_tar):
(AutoInstaller._unzip):
(AutoInstaller._replace_domain_with_next_mirror):
(AutoInstaller._download_to_stream):
(AutoInstaller.install):

  • Scripts/webkitpy/common/system/crashlogs.py:

(CrashLogs._find_newest_log_darwin):
(CrashLogs._find_newest_log_win):
(CrashLogs._find_all_logs_darwin):

  • Scripts/webkitpy/common/system/executive.py:

(Executive.kill_process):
(Executive.running_pids):

  • Scripts/webkitpy/common/system/filesystem.py:

(FileSystem.maybe_make_directory):
(FileSystem.remove):

  • Scripts/webkitpy/common/system/user.py:

(User._wait_on_list_response):
(User.edit):
(User.page):
(User.can_open_url):

  • Scripts/webkitpy/common/system/workspace.py:

(Workspace.create_zip):

  • Scripts/webkitpy/common/watchlist/watchlistparser.py:

(WatchListParser._parse_definition_section):

  • Scripts/webkitpy/common/webkitunittest.py:

(TestCase._assertRaisesRegexp):

  • Scripts/webkitpy/inspector/main.py:

(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.detect_changes):

  • Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:

(LayoutTestFinder._read_test_names_from_file):

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(LayoutTestRunner.run_tests):

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.upload_results):

  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:

(JSONResultsGenerator.upload_json_files):
(JSONResultsGenerator._get_archived_json_results):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(MiscTests.test_parse_warning):
(SemanticTests.test_bad_bugid):

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:

(summarize_results):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(main):

  • Scripts/webkitpy/layout_tests/servers/http_server.py:

(Lighttpd._remove_stale_logs):

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase._is_running_on_port):
(HttpServerBase._check_that_all_ports_are_available):

  • Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:

(BaseTest.assert_servers_are_down):
(BaseTest.assert_servers_are_up):
(BaseTest.integration_test_serverfails):
(BaseTest.maybe_make_dir):

  • Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:

(run_server):

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
  • Scripts/webkitpy/layout_tests/servers/websocket_server.py:

(PyWebSocket.is_running):
(PyWebSocket._remove_stale_logs):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(_merge_slave_config_json):
(_merge_outputs_if_needed):
(_upload_json):

  • Scripts/webkitpy/port/base.py:

(Port._build_driver):
(Port._build_image_diff):
(Port._symbols_string):

  • Scripts/webkitpy/port/leakdetector.py:

(LeakDetector.count_total_bytes_and_unique_leaks):
(LeakDetector.check_for_leaks):

  • Scripts/webkitpy/port/leakdetector_valgrind.py:

(LeakDetectorValgrind._parse_leaks_output):

  • Scripts/webkitpy/port/mac.py:

(MacPort.reset_preferences):
(MacPort.stop_helper):

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase.assert_servers_are_down):
(PortTestCase.assert_servers_are_up):
(PortTestCase.integration_test_http_serverfails):
(PortTestCase.integration_test_websocket_server
fails):

  • Scripts/webkitpy/port/server_process.py:

(ServerProcess.write):
(ServerProcess._wait_for_data_and_update_buffers_using_select):
(ServerProcess._non_blocking_read_win32):

  • Scripts/webkitpy/port/win.py:

(WinPort._runtime_feature_list):

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver._xvfb_read_display_id):

  • Scripts/webkitpy/style/checkers/jsonchecker.py:

(JSONChecker.check):

  • Scripts/webkitpy/style/checkers/xml.py:

(XMLChecker.check):

  • Scripts/webkitpy/style/filereader.py:

(TextFileReader.process_file):

  • Scripts/webkitpy/style/filereader_unittest.py:

(TextFileReaderTest.test_process_filedoes_not_exist):

  • Scripts/webkitpy/style/optparser.py:

(ArgumentParser.parse):

  • Scripts/webkitpy/tool/bot/irc_command.py:

(CreateBug.execute):
(Rollout.execute):

  • Scripts/webkitpy/tool/bot/ircbot.py:

(IRCBot.process_message):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader.py:

(LayoutTestResultsReader._read_file_contents):

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

(PatchAnalysisTask._run_command):

  • Scripts/webkitpy/tool/bot/queueengine.py:

(QueueEngine.run):

  • Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:

(AbstractSequencedCommand.execute):

  • Scripts/webkitpy/tool/commands/download.py:

(AbstractPatchSequencingCommand._prepare_to_process):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(AbstractEarlyWarningSystem.review_patch):

  • Scripts/webkitpy/tool/commands/queries.py:

(FailureReason._blame_line_for_revision):

  • Scripts/webkitpy/tool/commands/queues.py:

(AbstractQueue._cc_watchers):
(AbstractQueue.run_webkit_patch):
(CommitQueue.process_work_item):
(StyleQueue.review_patch):

  • Scripts/webkitpy/tool/commands/rebaseline.py:

(AbstractParallelRebaselineCommand._run_webkit_patch):

  • Scripts/webkitpy/tool/commands/stepsequence.py:

(StepSequence.run_and_handle_errors):

  • Scripts/webkitpy/tool/commands/suggestnominations.py:

(SuggestNominations._count_recent_patches):

  • Scripts/webkitpy/tool/multicommandtool.py:

(MultiCommandTool.main):

  • Scripts/webkitpy/tool/servers/rebaselineserver.py:

(_rebaseline_test):
(_move_test_baselines):

  • Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:

(AddSvnMimetypeForPngTest.test_run):

  • Scripts/webkitpy/tool/steps/checkstyle.py:

(CheckStyle.run):

  • Scripts/webkitpy/tool/steps/commit.py:

(Commit._check_test_expectations):
(Commit.run):

  • Scripts/webkitpy/tool/steps/confirmdiff.py:

(ConfirmDiff._show_pretty_diff):

  • Scripts/webkitpy/tool/steps/haslanded.py:

(HasLanded.diff_diff):

  • Scripts/webkitpy/tool/steps/preparechangelog.py:

(PrepareChangeLog.run):

  • Scripts/webkitpy/tool/steps/promptforbugortitle.py:

(PromptForBugOrTitle.run):

  • Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py:

(SortXcodeProjectFiles.run):

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:

(WebDriverW3CWebServer._wait_for_server.check_port):

  • TestResultServer/model/datastorefile.py:

(DataStoreFile.save_data):

  • jhbuild/jhbuildutils.py:

(enter_jhbuild_environment_if_available):

8:47 AM Changeset in webkit [225732] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

APIClient.h uses things from <tuple> without including it explicitly
https://bugs.webkit.org/show_bug.cgi?id=180609

Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-12-10
Reviewed by Darin Adler.

  • Shared/API/APIClient.h:
5:14 AM Changeset in webkit [225731] by Yusuke Suzuki
  • 4 edits in trunk/Source/WebCore

Unreviewed, follow-up patch after r225470
https://bugs.webkit.org/show_bug.cgi?id=180308

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
Use consistent operands.

  • bindings/js/JSCallbackData.h:

(WebCore::JSCallbackData::JSCallbackData):
Use class field initializer.

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::openFunc):
Use consistent operands.

5:00 AM Changeset in webkit [225730] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

Unreviewed, follow-up patch after r225726
https://bugs.webkit.org/show_bug.cgi?id=180622

Suggested by Darin. We should take care of signed-extension of char.

  • wtf/text/StringHasher.h:

(WTF::StringHasher::defaultConverter):

Dec 9, 2017:

6:53 PM Changeset in webkit [225729] by Darin Adler
  • 1 edit
    2 adds in trunk/LayoutTests

Add test demonstrating leaks that happen when we create reference cycles with DOM objects
https://bugs.webkit.org/show_bug.cgi?id=180323

Reviewed by Filip Pizlo.

  • fast/dom/reference-cycle-leaks-expected.txt: Added.
  • fast/dom/reference-cycle-leaks.html: Added.
1:42 PM Changeset in webkit [225728] by Yusuke Suzuki
  • 4 edits in trunk/Source/WTF

[WTF] Remove RELAXED_CONSTEXPR
https://bugs.webkit.org/show_bug.cgi?id=180624

Reviewed by JF Bastien.

All of our required compilers support relaxed constexpr in C++14.
We can drop RELAXED_CONSTEXPR macro in our tree.

  • wtf/Compiler.h:
  • wtf/Expected.h:

(std::experimental::fundamentals_v3::expected::operator*):
(std::experimental::fundamentals_v3::expected::value):
(std::experimental::fundamentals_v3::expected::error):

  • wtf/Unexpected.h:

(std::experimental::fundamentals_v3::unexpected::value):
(std::experimental::fundamentals_v3::unexpected::value const):

12:34 PM Changeset in webkit [225727] by Yusuke Suzuki
  • 4 edits in trunk

Fix WTF::Hasher tuple expansion with variadic args
https://bugs.webkit.org/show_bug.cgi?id=180623

Reviewed by JF Bastien.

Source/WTF:

We expand a tuple with ..., and use this in a function's argument list.
And in this argument list, we call add() for each value. This will be
expanded as follows.

[] (...) { }((add(hasher, std::get<i>(values)), 0)...);

will become,

[] (...) { }((add(hasher, std::get<0>(values)), 0), (add(hasher, std::get<1>(values)), 0), ...);

However, the evaluation order of the C++ argument is unspecified. Actually,
in GCC environment, this add() is not called in our expected order. As a
result, currently we have test failures in TestWTF.

This patch just uses variadic templates to expand tuples, and call add() in
our expected order. This patch fixes an existing failure of TestWTF in GCC environment.

  • wtf/Hasher.h:

(WTF::Hasher::computeHash):
(WTF::addArgs):
(WTF::addTupleHelper):
(WTF::add):

Tools:

  • TestWebKitAPI/Tests/WTF/Hasher.cpp:

(TestWebKitAPI::TEST):

12:11 PM Changeset in webkit [225726] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

Use relaxed constexpr for StringHasher
https://bugs.webkit.org/show_bug.cgi?id=180622

Reviewed by JF Bastien.

Now VC++ is updated and all the WebKit compilers support C++14 relaxed constexpr.
This patch uses relaxed constexpr for StringHasher constexpr implementation

  • wtf/text/StringHasher.h:

(WTF::StringHasher::addCharactersAssumingAligned):
(WTF::StringHasher::Converter):
(WTF::StringHasher::computeHashAndMaskTop8Bits):
(WTF::StringHasher::computeHash):
(WTF::StringHasher::computeLiteralHash):
(WTF::StringHasher::computeLiteralHashAndMaskTop8Bits):
(WTF::StringHasher::defaultConverter):
(WTF::StringHasher::avalancheBits):
(WTF::StringHasher::finalize):
(WTF::StringHasher::finalizeAndMaskTop8Bits):
(WTF::StringHasher::avoidZero):
(WTF::StringHasher::calculateWithRemainingLastCharacter):
(WTF::StringHasher::calculateWithTwoCharacters):
(WTF::StringHasher::processPendingCharacter const):
(WTF::StringHasher::StringHasher): Deleted.
(WTF::StringHasher::avalancheBits3): Deleted.
(WTF::StringHasher::avalancheBits2): Deleted.
(WTF::StringHasher::avalancheBits1): Deleted.
(WTF::StringHasher::avalancheBits0): Deleted.
(WTF::StringHasher::calculateWithRemainingLastCharacter1): Deleted.
(WTF::StringHasher::calculateWithRemainingLastCharacter0): Deleted.
(WTF::StringHasher::calculate1): Deleted.
(WTF::StringHasher::calculate0): Deleted.
(WTF::StringHasher::calculate): Deleted.
(WTF::StringHasher::computeLiteralHashImpl): Deleted.

11:48 AM Changeset in webkit [225725] by fpizlo@apple.com
  • 11 edits
    4 adds in trunk/Source/JavaScriptCore

InferredType should not use UnconditionalFinalizer
https://bugs.webkit.org/show_bug.cgi?id=180456

Reviewed by Saam Barati.

This turns InferredStructure into a cell so that we can unconditionally finalize them without
having to add things to the UnconditionalFinalizer list. I'm removing all uses of
UnconditionalFinalizers and WeakReferenceHarvesters because the data structures used to manage
them are a top cause of lock contention in the parallel GC. Also, we don't need those data
structures if we use IsoSubspaces, subspace iteration, and marking constraints.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • heap/Heap.cpp:

(JSC::Heap::finalizeUnconditionalFinalizers):

  • heap/Heap.h:
  • runtime/InferredStructure.cpp: Added.

(JSC::InferredStructure::create):
(JSC::InferredStructure::destroy):
(JSC::InferredStructure::createStructure):
(JSC::InferredStructure::visitChildren):
(JSC::InferredStructure::finalizeUnconditionally):
(JSC::InferredStructure::InferredStructure):
(JSC::InferredStructure::finishCreation):

  • runtime/InferredStructure.h: Added.
  • runtime/InferredStructureWatchpoint.cpp: Added.

(JSC::InferredStructureWatchpoint::fireInternal):

  • runtime/InferredStructureWatchpoint.h: Added.
  • runtime/InferredType.cpp:

(JSC::InferredType::visitChildren):
(JSC::InferredType::willStoreValueSlow):
(JSC::InferredType::makeTopSlow):
(JSC::InferredType::set):
(JSC::InferredType::removeStructure):
(JSC::InferredType::InferredStructureWatchpoint::fireInternal): Deleted.
(JSC::InferredType::InferredStructureFinalizer::finalizeUnconditionally): Deleted.
(JSC::InferredType::InferredStructure::InferredStructure): Deleted.

  • runtime/InferredType.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
8:58 AM Changeset in webkit [225724] by Konstantin Tokarev
  • 14 edits in trunk

[python] Replace print >> operator with print() function for python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=180611

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

  • Scripts/make-js-file-arrays.py:

(main):

Tools:

  • CygwinDownloader/cygwin-downloader.py:

(download_url_to_file):

  • Scripts/webkitpy/common/system/profiler.py:

(Perf.profile_after_exit):

  • Scripts/webkitpy/common/version_check.py:
  • Scripts/webkitpy/layout_tests/lint_test_expectations.py:

(main):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(main):

  • Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:

(run_server):

  • Scripts/webkitpy/tool/commands/analyzechangelog.py:

(ChangeLogAnalyzer._print_status):

  • Scripts/webkitpy/tool/commands/queries.py:

(BugsToCommit.execute):
(PatchesInCommitQueue.execute):
(PatchesToCommitQueue.execute):
(PatchesToReview._print_report):
(WhatBroke._print_builder_line):
(WhatBroke._print_blame_information_for_builder):
(WhatBroke.execute):
(ResultsFor._print_layout_test_results):
(ResultsFor.execute):
(FailureReason._print_blame_information_for_transition):
(FailureReason._explain_failures_for_builder):
(FailureReason._builder_to_explain):
(FailureReason.execute):
(FindFlakyTests._find_failures):
(FindFlakyTests._print_statistics):
(FindFlakyTests._walk_backwards_from):
(execute):
(PrintExpectations.execute):
(PrintBaselines.execute):
(PrintBaselines._print_baselines):
(FindResolvedBugs.execute):

  • Scripts/webkitpy/tool/commands/rebaseline.py:

(AbstractParallelRebaselineCommand._run_webkit_patch):
(AbstractParallelRebaselineCommand._rebaseline):

  • Scripts/webkitpy/tool/servers/gardeningserver.py:

(GardeningHTTPRequestHandler.rebaselineall):

  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:

(GardeningServerTest.disabled_test_rebaselineall.run_command):
(GardeningServerTest):

2:41 AM Changeset in webkit [225723] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

iOS: Crash in Document::updateLayout() via Document::processViewport
https://bugs.webkit.org/show_bug.cgi?id=180619
<rdar://problem/35717575>

Reviewed by Zalan Bujtas.

Source/WebCore:

The crash is caused by modern media controls updating the layout in the middle of insertedIntoAncestor
via HTMLMediaElement::setControllerJSProperty inside Document::pageScaleFactorChangedAndStable.

Fixed the crash by delaying the work to update the viewport configuration until didFinishInsertingNode
since updating the viewport configuration results in a lot of related code running in response,
and making sure all that code never tries to execute an author script is not attainable in the short term,
and a maintenance nightmare in the long term.

Test: media/ios/viewport-change-with-video.html

  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::insertedIntoAncestor):
(WebCore::HTMLMetaElement::didFinishInsertingNode): Added.

  • html/HTMLMetaElement.h:

LayoutTests:

Added a regression test for the crash.

  • media/ios/viewport-change-with-video-expected.txt: Added.
  • media/ios/viewport-change-with-video.html: Added.
Note: See TracTimeline for information about the timeline view.