1. 26 Aug, 2013 1 commit
  2. 22 Aug, 2013 1 commit
  3. 31 Jul, 2013 1 commit
    • bjonesbe@adobe.com's avatar
      Update scripts to reference contributors.json instead of committers.py in messaging · 694390b7
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119342
      
      Reviewed by Ryosuke Niwa.
      
      Change the scripts to point people to contributors.json instead of
      committers.py since the latter no longer contains the list of
      contributors.
      
      * Scripts/webkitpy/common/config/committervalidator.py:
      (CommitterValidator._contributors_json_path):
      (CommitterValidator._flag_permission_rejection_message):
      * Scripts/webkitpy/common/config/committervalidator_unittest.py:
      (CommitterValidatorTest.test_flag_permission_rejection_message):
      * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
      (Bugzilla._commit_queue_flag):
      * Scripts/webkitpy/common/watchlist/watchlistparser.py:
      (WatchListParser._validate):
      * Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
      (WatchListParserTest.test_cc_rule_with_invalid_email):
      * Scripts/webkitpy/tool/bot/feeders_unittest.py:
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      * Scripts/webkitpy/tool/steps/validatereviewer.py:
      (ValidateReviewer.run):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      694390b7
  4. 17 Jul, 2013 1 commit
  5. 27 Jun, 2013 1 commit
  6. 20 Jun, 2013 1 commit
  7. 18 Jun, 2013 1 commit
  8. 26 May, 2013 3 commits
  9. 25 May, 2013 4 commits
  10. 21 May, 2013 1 commit
  11. 20 May, 2013 1 commit
    • rniwa@webkit.org's avatar
      commit-queue should check for oops in changelog entries · 87929dee
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116395
      
      Reviewed by Martin Robinson.
      
      Make changelog validation fail when it contains oops!.
      
      * Scripts/webkitpy/tool/bot/commitqueuetask.py:
      (CommitQueueTask._validate_changelog):
      * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
      (CommitQueueTaskTest._run_through_task):
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      * Scripts/webkitpy/tool/steps/validatechangelogs.py:
      (ValidateChangeLogs.options):
      (ValidateChangeLogs._check_changelog_diff):
      (ValidateChangeLogs._changelog_contains_oops):
      (ValidateChangeLogs.run):
      * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:
      (ValidateChangeLogsTest._assert_start_line_produces_output):
      (ValidateChangeLogsTest.test_check_changelog_diff):
      (ValidateChangeLogsTest):
      (ValidateChangeLogsTest.test_changelog_contains_oops):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87929dee
  12. 17 May, 2013 1 commit
  13. 16 May, 2013 2 commits
  14. 01 May, 2013 1 commit
  15. 30 Apr, 2013 1 commit
    • glenn@skynav.com's avatar
      [webkitpy] suggest-nominations doesn't count all qualified patches · 34a6bba9
      glenn@skynav.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115285
      
      Reviewed by Benjamin Poulain.
      
      Fix commit analysis so that patches made by an existing committer are counted towards reviewer
      nomination. Improve commit log parsing.
      
      * Scripts/webkitpy/tool/commands/suggestnominations.py:
      (CommitLogError):
      (CommitLogError.__init__):
      (CommitLogMissingReviewer):
      (CommitLogMissingReviewer.__init__):
      (SuggestNominations):
      (SuggestNominations.__init__):
      (SuggestNominations._recent_commit_messages):
      (SuggestNominations._author_name_from_email):
      (SuggestNominations._contributor_from_email):
      (SuggestNominations._parse_commit_message):
      (SuggestNominations._count_commit):
      (SuggestNominations._count_recent_patches):
      (SuggestNominations._collect_nominations):
      (SuggestNominations._print_nominations):
      (SuggestNominations.execute):
      * Scripts/webkitpy/tool/commands/suggestnominations_unittest.py:
      (_make_options):
      (test_recent_commit_messages):
      (test_basic):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34a6bba9
  16. 25 Apr, 2013 2 commits
  17. 16 Apr, 2013 6 commits
    • rniwa@webkit.org's avatar
      Isolate Early Warning System definitions into a JSON · 349f2df9
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114558
      
      Reviewed by Benjamin Poulain.
      
      Added ews.json to common/config, and made tool/commands/__init__.py call
      AbstractEarlyWarningSystem.load_ews_classes to instantiate classes based on ews.json.
      
      Reland the patch since the EWS failure was a false positive.
      
      * Scripts/webkitpy/common/config/ews.json: Extracted from earlywarningsystem.py.
      * Scripts/webkitpy/tool/commands/__init__.py:
      * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
      (AbstractEarlyWarningSystem):
      (AbstractEarlyWarningSystem.__init__):
      (AbstractEarlyWarningSystem.load_ews_classes): Added. Loads ews.json.
      * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
      (EarlyWarningSystemTest._default_expected_logs):
      (_test_ews):
      (test_ewses):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      349f2df9
    • roger_fong@apple.com's avatar
      Unreviewed. Disable WinEWS tests, simply not enough bots. · ccc3e0b3
      roger_fong@apple.com authored
      All bots are running consistently now but the queue still keeps growing.
      Until we get more bots or make the tests faster, it doesn't seem wise to keep running tests.
      
      * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
      (WinEWS):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccc3e0b3
    • rniwa@webkit.org's avatar
      The list of contributors in committers.py should be a separate JSON · 207fdafa
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114673
      
      Reviewed by Anders Carlsson.
      
      Tools: 
      
      Added webkitpy/common/config/contributors.json, made CommitterList load it.
      
      * EWSTools/start-queue-mac.sh:
      * EWSTools/start-queue.sh:
      * Scripts/webkitpy/common/checkout/commitinfo.py:
      (CommitInfo.committer):
      * Scripts/webkitpy/common/config/contributors.json: Added.
      * Scripts/webkitpy/common/config/committers.py:
      (Reviewer.__init__):
      (CommitterList.__init__):
      (CommitterList.load_json): Added.
      (CommitterList.load_json.emails):
      (CommitterList.load_json.nicks):
      * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
      (MockCommitInfo.author):
      
      Websites/bugs.webkit.org: 
      
      Updated the Bugzilla autocompletion code to use contributors.json.
      Basically, this removes a large chunk of this JavaScript file.
      
      * committers-autocomplete.js:
      (WebKitCommitters):
      
      Websites/webkit.org: 
      
      Updated the website to refer to contributors.json instead of committers.py.
      
      * coding/commit-review-policy.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      207fdafa
    • rniwa@webkit.org's avatar
      Move webkitpy.layout_tests.port to webkitpy.port · b856b35d
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114668
      
      Reviewed by Maciej Stachowiak.
      
      Moved. Port objects knows a lot more than just layout_tests. They doesn't belong down in layout_tests.
      
      * Scripts/webkitpy/common/host.py:
      * Scripts/webkitpy/common/host_mock.py:
      * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
      * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
      * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:
      * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
      * Scripts/webkitpy/layout_tests/lint_test_expectations.py:
      * Scripts/webkitpy/layout_tests/port: Removed.
      * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
      * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
      * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
      * Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py:
      * Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
      * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
      * Scripts/webkitpy/performance_tests/perftest.py:
      * Scripts/webkitpy/performance_tests/perftest_unittest.py:
      * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
      * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
      * Scripts/webkitpy/port: Copied from Tools/Scripts/webkitpy/layout_tests/port.
      * Scripts/webkitpy/port/apple.py:
      * Scripts/webkitpy/port/base.py:
      * Scripts/webkitpy/port/base_unittest.py:
      * Scripts/webkitpy/port/config_unittest.py:
      (ConfigTest.test_default_configuration__standalone):
      * Scripts/webkitpy/port/driver_unittest.py:
      * Scripts/webkitpy/port/efl.py:
      * Scripts/webkitpy/port/efl_unittest.py:
      * Scripts/webkitpy/port/factory.py:
      * Scripts/webkitpy/port/factory_unittest.py:
      * Scripts/webkitpy/port/gtk.py:
      * Scripts/webkitpy/port/gtk_unittest.py:
      * Scripts/webkitpy/port/image_diff.py:
      * Scripts/webkitpy/port/image_diff_unittest.py:
      * Scripts/webkitpy/port/leakdetector_unittest.py:
      * Scripts/webkitpy/port/mac.py:
      * Scripts/webkitpy/port/mac_unittest.py:
      * Scripts/webkitpy/port/mock_drt.py:
      * Scripts/webkitpy/port/mock_drt_unittest.py:
      * Scripts/webkitpy/port/port_testcase.py:
      * Scripts/webkitpy/port/qt.py:
      * Scripts/webkitpy/port/qt_unittest.py:
      * Scripts/webkitpy/port/server_process_unittest.py:
      * Scripts/webkitpy/port/test.py:
      * Scripts/webkitpy/port/win.py:
      * Scripts/webkitpy/port/win_unittest.py:
      * Scripts/webkitpy/port/xvfbdriver.py:
      * Scripts/webkitpy/port/xvfbdriver_unittest.py:
      * Scripts/webkitpy/tool/bot/botinfo_unittest.py:
      * Scripts/webkitpy/tool/commands/gardenomatic.py:
      * Scripts/webkitpy/tool/commands/perfalizer_unittest.py:
      * Scripts/webkitpy/tool/commands/queries.py:
      * Scripts/webkitpy/tool/commands/queries_unittest.py:
      * Scripts/webkitpy/tool/commands/rebaseline.py:
      * Scripts/webkitpy/tool/servers/gardeningserver.py:
      * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
      * Scripts/webkitpy/tool/servers/rebaselineserver.py:
      * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b856b35d
    • rniwa@webkit.org's avatar
      Unreviewed, rolling out r148498. · d5f43fa1
      rniwa@webkit.org authored
      http://trac.webkit.org/changeset/148498
      https://bugs.webkit.org/show_bug.cgi?id=114669
      
      Appears to have broken EWS (Requested by rniwa on #webkit).
      
      * Scripts/webkitpy/common/config/ews.json: Removed.
      * Scripts/webkitpy/tool/commands/__init__.py:
      * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
      (AbstractEarlyWarningSystem):
      (AbstractEarlyWarningSystem.__init__):
      (AbstractEarlyWarningSystem.handle_script_error.does):
      (GtkEWS):
      (GtkWK2EWS):
      (EflEWS):
      (QtEWS):
      (QtWK2EWS):
      (WinEWS):
      (MacEWS):
      (MacWK2EWS):
      * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
      (EarlyWarningSystemTest._default_expected_logs):
      (_test_ews):
      (test_ewses):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5f43fa1
    • rniwa@webkit.org's avatar
      Isolate Early Warning System definitions into a JSON · ecf0937f
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114558
      
      Reviewed by Benjamin Poulain.
      
      Added ews.json to common/config, and made tool/commands/__init__.py call
      AbstractEarlyWarningSystem.load_ews_classes to instantiate classes based on ews.json.
      
      * Scripts/webkitpy/common/config/ews.json: Extracted from earlywarningsystem.py.
      * Scripts/webkitpy/tool/commands/__init__.py:
      * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
      (AbstractEarlyWarningSystem):
      (AbstractEarlyWarningSystem.__init__):
      (AbstractEarlyWarningSystem.load_ews_classes): Added. Loads ews.json.
      * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
      (EarlyWarningSystemTest._default_expected_logs):
      (_test_ews):
      (test_ewses):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ecf0937f
  18. 15 Apr, 2013 3 commits
  19. 13 Apr, 2013 5 commits
    • rniwa@webkit.org's avatar
      Build fix attempt for webkitbot. Unicodify everything. · b4f947bd
      rniwa@webkit.org authored
      * Scripts/webkitpy/tool/bot/irc_command.py:
      (Whois.execute):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4f947bd
    • rniwa@webkit.org's avatar
      webkitbot should provide full name, email address, and IRC nicknames on whois · cc05743d
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114494
      
      Reviewed by Benjamin Poulain.
      
      A response like the one below is useless. Improve it:
      webkitbot: rniwa: zdobersek is zdobersek (zandobersek@gmail.com). Why do you ask?
      
      We now report full name, email address, committer/reviewer status, and IRC nickname.
      
      Also teach webkitbot how to respond to ping.
      
      * Scripts/webkitpy/tool/bot/irc_command.py:
      (PingPong): Moved 
      (PingPong.execute):
      (Whois._full_record_and_nick): Renamed and rewritten.
      (Whois.execute):
      
      * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
      (IRCCommandTest.test_whois): Updated test cases as needed.
      
      * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
      (IRCBotTest.test_help): Added ping.
      
      * Scripts/webkitpy/tool/commands/newcommitbot.py:
      (NewCommitBot): Teached WKR how to respond to hi.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc05743d
    • rniwa@webkit.org's avatar
      Python test fix attempt after r148360. · 52193245
      rniwa@webkit.org authored
      * Scripts/webkitpy/tool/multicommandtool_unittest.py:
      (test_command_help):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52193245
    • rniwa@webkit.org's avatar
      Merge AbstractDeclarativeCommand into Command as a comment suggests · 014f1234
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114559
      
      Reviewed by Antti Koivisto.
      
      Merged two classes as the comment right above AbstractDeclarativeCommand suggested.
      We need to merge a lot more classes to make webkitpy hackable.
      
      * Scripts/webkitpy/tool/commands/abstractlocalservercommand.py:
      (AbstractLocalServerCommand):
      (AbstractLocalServerCommand.__init__):
      * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
      (AbstractSequencedCommand):
      (AbstractSequencedCommand.__init__):
      * Scripts/webkitpy/tool/commands/adduserstogroups.py:
      (AddUsersToGroups):
      * Scripts/webkitpy/tool/commands/analyzechangelog.py:
      (AnalyzeChangeLog):
      (AnalyzeChangeLog.__init__):
      * Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
      * Scripts/webkitpy/tool/commands/bugfortest.py:
      (BugForTest):
      * Scripts/webkitpy/tool/commands/bugsearch.py:
      (BugSearch):
      * Scripts/webkitpy/tool/commands/chromechannels.py:
      (ChromeChannels):
      (__init__):
      * Scripts/webkitpy/tool/commands/download.py:
      (AbstractPatchProcessingCommand):
      * Scripts/webkitpy/tool/commands/findusers.py:
      (FindUsers):
      * Scripts/webkitpy/tool/commands/openbugs.py:
      (OpenBugs):
      * Scripts/webkitpy/tool/commands/queries.py:
      (BugsToCommit):
      (PatchesInCommitQueue):
      (PatchesToCommitQueue):
      (PatchesToCommitQueue.__init__):
      (PatchesToReview):
      (PatchesToReview.__init__):
      (PatchesToReview.execute):
      (WhatBroke):
      (ResultsFor):
      (FailureReason):
      (FindFlakyTests):
      (TreeStatus):
      (CrashLog):
      (PrintExpectations):
      (PrintExpectations.__init__):
      (PrintBaselines):
      (PrintBaselines.__init__):
      * Scripts/webkitpy/tool/commands/queues.py:
      (AbstractQueue.__init__):
      * Scripts/webkitpy/tool/commands/rebaseline.py:
      (AbstractRebaseliningCommand):
      * Scripts/webkitpy/tool/commands/suggestnominations.py:
      (SuggestNominations):
      (SuggestNominations.__init__):
      * Scripts/webkitpy/tool/commands/upload.py:
      (CommitMessageForCurrentDiff):
      (CommitMessageForCurrentDiff.__init__):
      (CleanPendingCommit):
      (CleanReviewQueue):
      (AssignToCommitter):
      (PostCommits):
      (PostCommits.__init__):
      (MarkBugFixed):
      (MarkBugFixed.__init__):
      (CreateBug):
      (CreateBug.__init__):
      * Scripts/webkitpy/tool/multicommandtool.py:
      (Command):
      (Command.__init__):
      (Command.main):
      (HelpCommand):
      (HelpCommand.__init__):
      * Scripts/webkitpy/tool/multicommandtool_unittest.py:
      (TrivialCommand):
      (TrivialCommand.__init__):
      (LikesToRetry):
      (LikesToRetry.__init__):
      (CommandTest.test_name_with_arguments):
      (CommandTest.test_required_arguments):
      (test_command_help):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      014f1234
    • rniwa@webkit.org's avatar
      Remove more Chromium specific code from webkitpy · 77051524
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114552
      
      Reviewed by Philippe Normand.
      
      * Scripts/webkitpy/common/host.py:
      (Host.checkout):
      * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
      (JSONResultsGeneratorBase):
      (JSONResultsGeneratorBase.__init__):
      (JSONResultsGeneratorBase._is_results_all_of_type):
      * Scripts/webkitpy/layout_tests/port/base.py:
      (Port):
      (Port.expected_filename):
      * Scripts/webkitpy/performance_tests/perftestsrunner.py:
      (PerfTestsRunner._parse_args):
      * Scripts/webkitpy/tool/commands/queues.py:
      (PatchProcessingQueue._new_port_name_from_old):
      (CommitQueue.did_pass_testing_ews):
      * Scripts/webkitpy/tool/commands/rebaseline.py:
      (RebaselineTest._results_url):
      (Rebaseline._builder_with_name):
      * Scripts/webkitpy/tool/mocktool.py:
      (MockTool.irc):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77051524
  20. 12 Apr, 2013 2 commits
  21. 11 Apr, 2013 1 commit
    • rniwa@webkit.org's avatar
      Remove the rest of Chromium code from webkitpy · 24591c7c
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114420
      
      Reviewed by Benjamin Poulain.
      
      * Scripts/webkitpy/common/config/urls.py:
      (view_revision_url):
      * Scripts/webkitpy/common/host.py:
      (Host._engage_awesome_locale_hacks):
      (Host.initialize_scm):
      (Host):
      * Scripts/webkitpy/common/host_mock.py:
      (MockHost.__init__):
      (MockHost.checkout):
      * Scripts/webkitpy/common/net/buildbot/chromiumbuildbot.py: Removed.
      * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
      (JSONResultsGeneratorBase._insert_generic_metadata):
      * Scripts/webkitpy/layout_tests/models/test_expectations.py:
      (TestExpectationParser._tokenize_line):
      * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
      (ExpectationSyntaxTests.test_bare_name_and_bugs):
      (ExpectationSyntaxTests.test_warnings):
      * Scripts/webkitpy/layout_tests/port/base.py:
      (Port.skips_perf_test):
      (Port.path_to_test_expectations_file):
      (Port._port_flag_for_scripts):
      * Scripts/webkitpy/style/checkers/cpp.py:
      (check_function_definition):
      (check_include_line):
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      (OrderOfIncludesTest.test_check_wtf_includes):
      (WebKitStyleTest.test_webkit_export_check):
      * Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
      (TestExpectationsTestCase.test_valid_expectations):
      * Scripts/webkitpy/tool/bot/irc_command.py:
      (Rollout.execute):
      * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
      (IRCCommandTest.test_whois):
      * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
      (IRCBotTest.test_help):
      * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
      (SheriffBotTest.test_command_aliases):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24591c7c