Timeline



Jul 5, 2017:

10:51 PM Changeset in webkit [219191] by don.olmstead@sony.com
  • 154 edits
    1 copy
    2 moves in trunk

[WTF] Move SoftLinking.h into WTF
https://bugs.webkit.org/show_bug.cgi?id=174000

Reviewed by Alex Christensen.

Source/WebCore:

No new tests. No change in functionality

  • Modules/applepay/PaymentRequest.cpp:
  • Modules/applepay/cocoa/PaymentContactCocoa.mm:
  • Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm:
  • Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.cpp:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/cocoa/EditorCocoa.mm:
  • editing/cocoa/HTMLConverter.mm:
  • editing/ios/EditorIOS.mm:
  • page/CaptionUserPreferencesMediaAF.cpp:
  • page/cocoa/SettingsCocoa.mm:
  • page/ios/UserAgentIOS.mm:
  • page/mac/ServicesOverlayController.mm:
  • platform/audio/ios/AudioDestinationIOS.cpp:
  • platform/audio/ios/AudioFileReaderIOS.cpp:
  • platform/audio/ios/AudioSessionIOS.mm:
  • platform/audio/ios/MediaSessionManagerIOS.mm:
  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • platform/cf/MediaAccessibilitySoftLink.cpp:
  • platform/cf/MediaAccessibilitySoftLink.h:
  • platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
  • platform/cocoa/CoreVideoSoftLink.cpp:
  • platform/cocoa/CoreVideoSoftLink.h:
  • platform/cocoa/DataDetectorsCoreSoftLink.h:
  • platform/cocoa/NetworkExtensionContentFilter.mm:
  • platform/cocoa/ParentalControlsContentFilter.mm:
  • platform/cocoa/TelephoneNumberDetectorCocoa.cpp:
  • platform/cocoa/VideoToolboxSoftLink.cpp:
  • platform/cocoa/VideoToolboxSoftLink.h:
  • platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
  • platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
  • platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
  • platform/graphics/avfoundation/MediaPlaybackTargetMac.mm:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:
  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp:
  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
  • platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
  • platform/graphics/cocoa/FontCascadeCocoa.mm:
  • platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:
  • platform/graphics/cv/PixelBufferConformerCV.cpp:
  • platform/graphics/ios/FontCacheIOS.mm:
  • platform/graphics/mac/ComplexTextControllerCoreText.mm:
  • platform/graphics/mac/FontCacheMac.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/MediaTimeQTKit.mm:
  • platform/graphics/mac/PDFDocumentImageMac.mm:
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
  • platform/ios/DragImageIOS.mm:
  • platform/ios/PlatformPasteboardIOS.mm:
  • platform/ios/PlatformScreenIOS.mm:
  • platform/ios/PlatformSpeechSynthesizerIOS.mm:
  • platform/ios/QuickLookSoftLink.h:
  • platform/ios/QuickLookSoftLink.mm:
  • platform/ios/RemoteCommandListenerIOS.mm:
  • platform/ios/ThemeIOS.mm:
  • platform/ios/ValidationBubbleIOS.mm:
  • platform/ios/WebCoreMotionManager.mm:
  • platform/ios/WebItemProviderPasteboard.mm:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:
  • platform/mac/DragImageMac.mm:
  • platform/mac/MediaRemoteSoftLink.cpp:
  • platform/mac/MediaRemoteSoftLink.h:
  • platform/mac/SerializedPlatformRepresentationMac.mm:
  • platform/mac/WebPlaybackControlsManager.mm:
  • platform/mac/WebVideoFullscreenController.mm:
  • platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
  • platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:
  • platform/mediastream/libwebrtc/H264VideoToolBoxEncoder.mm:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:
  • platform/network/cf/CookieJarCFNet.cpp:
  • platform/network/ios/NetworkStateNotifierIOS.mm:
  • platform/network/ios/PreviewConverter.mm:
  • platform/network/mac/BlobDataFileReferenceMac.mm:
  • platform/spi/cocoa/AVKitSPI.h:

(-[AVTouchBarPlaybackControlsControlling NS_ENUM]): Deleted.

  • platform/spi/cocoa/NSAttributedStringSPI.h:
  • platform/spi/ios/DataDetectorsUISPI.h:
  • platform/spi/mac/AVFoundationSPI.h:
  • platform/spi/mac/DataDetectorsSPI.h:
  • platform/spi/mac/LookupSPI.h:
  • platform/spi/mac/TUCallSPI.h:
  • platform/win/ScrollbarThemeWin.cpp:
  • rendering/RenderThemeCocoa.mm:
  • rendering/RenderThemeIOS.mm:
  • rendering/RenderThemeWin.cpp:
  • testing/Internals.mm:
  • xml/XSLStyleSheetLibxslt.cpp:
  • xml/XSLTExtensions.cpp:
  • xml/XSLTProcessorLibxslt.cpp:
  • xml/XSLTUnicodeSort.cpp:

Source/WebKit/ios:

  • Misc/WebGeolocationCoreLocationProvider.mm:
  • WebView/WebPDFViewPlaceholder.mm:

Source/WebKit/mac:

  • Plugins/WebNetscapePluginView.mm:
  • Plugins/WebPluginController.mm:
  • WebCoreSupport/WebInspectorClient.mm:
  • WebView/WebFullScreenController.mm:
  • WebView/WebImmediateActionController.mm:
  • WebView/WebView.mm:

Source/WebKit/win:

  • WebKitClassFactory.cpp:
  • WebView.cpp:

Source/WebKit2:

  • Platform/mac/StringUtilities.mm:
  • Platform/spi/ios/ManagedConfigurationSPI.h:
  • Shared/Cocoa/DataDetectionResult.mm:
  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
  • Shared/ios/InteractionInformationAtPosition.mm:
  • Shared/ios/WebIconUtilities.mm:
  • Shared/mac/CookieStorageShim.mm:
  • Shared/mac/WebCoreArgumentCodersMac.mm:
  • UIProcess/API/Cocoa/_WKElementAction.mm:
  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
  • UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
  • UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
  • UIProcess/Cocoa/UIDelegate.mm:
  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  • UIProcess/ios/WKActionSheetAssistant.mm:
  • UIProcess/ios/WKContentViewInteraction.mm:
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
  • UIProcess/ios/forms/WKFileUploadPanel.mm:
  • UIProcess/mac/WKImmediateActionController.mm:
  • UIProcess/mac/WebInspectorProxyMac.mm:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
  • WebProcess/WebPage/mac/WebInspectorUIMac.mm:
  • WebProcess/cocoa/WebProcessCocoa.mm:

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/SoftLinking.h: Copied from Source/WebCore/platform/ios/QuickLookSoftLink.mm.
  • wtf/cocoa/SoftLinking.h: Renamed from Source/WebCore/platform/cocoa/SoftLinking.h.
  • wtf/win/SoftLinking.h: Renamed from Source/WebCore/platform/win/SoftLinking.h.

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(test_primary_header):
(ErrorCollector.init): Deleted.
(ErrorCollector.call): Deleted.
(ErrorCollector.results): Deleted.
(ErrorCollector.result_list): Deleted.
(ErrorCollector.verify_all_categories_are_seen): Deleted.
(MockIo.open): Deleted.
(CppFunctionsTest.test_convert_to_lower_with_underscores): Deleted.
(CppFunctionsTest.test_create_acronym): Deleted.
(CppFunctionsTest.test_is_c_or_objective_c): Deleted.
(CppFunctionsTest.test_parameter): Deleted.
(CppFunctionsTest.test_single_line_view): Deleted.
(CppFunctionsTest.test_create_skeleton_parameters): Deleted.
(CppFunctionsTest.test_find_parameter_name_index): Deleted.
(CppFunctionsTest.test_parameter_list): Deleted.
(CppFunctionsTest.test_check_parameter_against_text): Deleted.
(CppStyleTestBase.process_file_data): Deleted.
(CppStyleTestBase.perform_lint): Deleted.
(CppStyleTestBase.perform_single_line_lint): Deleted.
(CppStyleTestBase.perform_multi_line_lint): Deleted.
(CppStyleTestBase.perform_language_rules_check): Deleted.
(CppStyleTestBase.perform_function_lengths_check): Deleted.
(CppStyleTestBase.perform_pass_ptr_check): Deleted.
(CppStyleTestBase.perform_leaky_pattern_check): Deleted.
(CppStyleTestBase.perform_include_what_you_use): Deleted.
(CppStyleTestBase.perform_header_guard_check): Deleted.
(CppStyleTestBase.assert_lint): Deleted.
(CppStyleTestBase.assert_lint_one_of_many_errors_re): Deleted.
(CppStyleTestBase.assert_multi_line_lint): Deleted.
(CppStyleTestBase.assert_multi_line_lint_re): Deleted.
(CppStyleTestBase.assert_language_rules_check): Deleted.
(CppStyleTestBase.assert_include_what_you_use): Deleted.
(CppStyleTestBase.assert_header_guard): Deleted.
(CppStyleTestBase.assert_blank_lines_check): Deleted.
(CppStyleTestBase.assert_positions_equal): Deleted.
(FunctionDetectionTest.test_basic_function_detection): Deleted.
(FunctionDetectionTest.test_function_declaration_detection): Deleted.
(FunctionDetectionTest.test_pure_function_detection): Deleted.
(FunctionDetectionTest.test_override_and_final_function_detection): Deleted.
(FunctionDetectionTest.test_ignore_macros): Deleted.
(FunctionDetectionTest.test_non_functions): Deleted.
(FunctionDetectionTest.test_non_functions.Stuff): Deleted.
(FunctionDetectionTest.test_parameter_list): Deleted.
(Cpp11StyleTest.test_rvaule_reference_in_parameter_pack): Deleted.
(CppStyleTest.test_asm_lines_ignored): Deleted.
(CppStyleTest.test_get_line_width): Deleted.
(CppStyleTest.test_find_next_multi_line_comment_start): Deleted.
(CppStyleTest.test_find_next_multi_line_comment_end): Deleted.
(CppStyleTest.test_remove_multi_line_comments_from_range): Deleted.
(CppStyleTest.test_position): Deleted.
(CppStyleTest.test_rfind_in_lines): Deleted.
(CppStyleTest.test_close_expression): Deleted.
(CppStyleTest.test_spaces_at_end_of_line): Deleted.
(CppStyleTest.test_cstyle_cast): Deleted.
(CppStyleTest.test_runtime_casting): Deleted.
(CppStyleTest.test_runtime_selfinit): Deleted.
(CppStyleTest.test_runtime_rtti): Deleted.
(CppStyleTest.test_static_cast_readability): Deleted.
(CppStyleTest.test_check_for_unnamed_params): Deleted.
(CppStyleTest.void): Deleted.
(CppStyleTest.test_deprecated_cast): Deleted.
(CppStyleTest.test_mock_method): Deleted.
(CppStyleTest.test_sizeof_type): Deleted.
(CppStyleTest.cases): Deleted.
(CppStyleTest.for): Deleted.
(CppStyleTest.test_typedef_for_pointer_to_function): Deleted.
(CppStyleTest.test_typedef_for_pointer_to_function.void): Deleted.
(CppStyleTest.test_include_what_you_use_no_implementation_files): Deleted.
(CppStyleTest.test_include_what_you_use): Deleted.
(CppStyleTest.test_files_belong_to_same_module): Deleted.
(CppStyleTest.test_cleanse_line): Deleted.
(CppStyleTest.test_multi_line_comments): Deleted.
(CppStyleTest.test_multi_line_comments.Foo): Deleted.
(CppStyleTest.test_multiline_strings): Deleted.
(CppStyleTest.test_platformh_comments): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors.Foo): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors.Qualifier): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors.definition): Deleted.
(CppStyleTest.test_slash_star_comment_on_single_line): Deleted.
(CppStyleTest.test_suspicious_usage_of_if): Deleted.
(CppStyleTest.test_suspicious_usage_of_memset): Deleted.
(CppStyleTest.test_check_posix_threading): Deleted.
(CppStyleTest.test_insecure_string_operations): Deleted.
(CppStyleTest.test_format_strings): Deleted.
(CppStyleTest.test_insecure_temp_file): Deleted.
(CppStyleTest.test_variable_length_array_detection): Deleted.
(CppStyleTest.test_braces): Deleted.
(CppStyleTest.test_check_check): Deleted.
(CppStyleTest.test_brace_at_begin_of_line): Deleted.
(CppStyleTest.test_mismatching_spaces_in_parens): Deleted.
(CppStyleTest.test_spacing_for_fncall): Deleted.
(CppStyleTest.test_spacing_for_fncall.foo): Deleted.
(CppStyleTest.test_spacing_before_braces): Deleted.
(CppStyleTest.test_spacing_between_braces): Deleted.
(CppStyleTest.test_spacing_before_brackets): Deleted.
(CppStyleTest.test_cpp_lambda_functions): Deleted.
(CppStyleTest.test_objective_c_block): Deleted.
(CppStyleTest.test_objective_c_block_as_argument): Deleted.
(CppStyleTest.test_spacing_around_else): Deleted.
(CppStyleTest.test_spacing_for_binary_ops): Deleted.
(CppStyleTest.test_spacing_for_binary_ops.hash_map): Deleted.
(CppStyleTest.test_operator_methods): Deleted.
(CppStyleTest.test_spacing_in_objective_c_properties): Deleted.
(CppStyleTest.test_spacing_before_last_semicolon): Deleted.
(CppStyleTest.test_static_or_global_stlstrings): Deleted.
(CppStyleTest.test_no_spaces_in_function_calls): Deleted.
(CppStyleTest.test_one_spaces_between_code_and_comments): Deleted.
(CppStyleTest.test_one_spaces_after_punctuation_in_comments): Deleted.
(CppStyleTest.test_space_after_comment_marker): Deleted.
(CppStyleTest.test_newline_at_eof): Deleted.
(CppStyleTest.test_newline_at_eof.do_test): Deleted.
(CppStyleTest.test_extra_newlines_at_eof): Deleted.
(CppStyleTest.test_extra_newlines_at_eof.do_test): Deleted.
(CppStyleTest.test_invalid_utf8): Deleted.
(CppStyleTest.test_invalid_utf8.do_test): Deleted.
(CppStyleTest.test_is_blank_line): Deleted.
(CppStyleTest.test_blank_lines_check): Deleted.
(CppStyleTest.test_allow_blank_line_before_closing_namespace): Deleted.
(CppStyleTest.test_allow_blank_line_before_if_else_chain): Deleted.
(CppStyleTest.test_else_on_same_line_as_closing_braces): Deleted.
(CppStyleTest.test_else_clause_not_on_same_line_as_else): Deleted.
(CppStyleTest.test_comma): Deleted.
(CppStyleTest.test_declaration): Deleted.
(CppStyleTest.test_pointer_reference_marker_location): Deleted.
(CppStyleTest.test_indent): Deleted.
(CppStyleTest.test_indent.Foo): Deleted.
(CppStyleTest.test_not_alabel): Deleted.
(CppStyleTest.test_tab): Deleted.
(CppStyleTest.test_unnamed_namespaces_in_headers): Deleted.
(CppStyleTest.test_build_class): Deleted.
(CppStyleTest.test_build_class.definitions): Deleted.
(CppStyleTest.test_build_class.Foo): Deleted.
(CppStyleTest.test_build_class.DERIVE_FROM_GOO): Deleted.
(CppStyleTest.test_build_end_comment): Deleted.
(CppStyleTest.test_build_forward_decl): Deleted.
(CppStyleTest.test_build_forward_decl.Foo): Deleted.
(CppStyleTest.test_build_header_guard): Deleted.
(CppStyleTest.test_build_header_guard.Foo_h): Deleted.
(CppStyleTest.test_build_header_guard.Foo_h.for): Deleted.
(CppStyleTest.test_build_printf_format): Deleted.
(CppStyleTest.test_runtime_printf_format): Deleted.
(CppStyleTest.assert_lintLogCodeOnError): Deleted.
(CppStyleTest.test_build_storage_class): Deleted.
(CppStyleTest.test_build_storage_class.unsignedLongLong): Deleted.
(CppStyleTest.test_build_storage_class.declaration): Deleted.
(CppStyleTest.test_build_storage_class.after): Deleted.
(CppStyleTest.test_build_storage_class.is): Deleted.
(CppStyleTest.test_legal_copyright): Deleted.
(CppStyleTest.test_invalid_increment): Deleted.
(CppStyleTest.test_enum_bitfields): Deleted.
(CppStyleTest.test_plain_integral_bitfields): Deleted.
(CleansedLinesTest.test_init_empty): Deleted.
(CleansedLinesTest.test_collapse_strings): Deleted.
(OrderOfIncludesTest.tearDown): Deleted.
(OrderOfIncludesTest.test_check_next_include_orderno_config): Deleted.
(OrderOfIncludesTest.test_check_next_include_order
no_self): Deleted.
(OrderOfIncludesTest.test_check_next_include_orderlikely_then_config): Deleted.
(OrderOfIncludesTest.test_check_next_include_order
other_then_config): Deleted.
(OrderOfIncludesTest.test_check_next_include_orderconfig_then_other_then_likely): Deleted.
(OrderOfIncludesTest.test_check_alphabetical_include_order): Deleted.
(OrderOfIncludesTest.test_check_alphabetical_include_order_errors_reported_for_both_lines): Deleted.
(OrderOfIncludesTest.test_check_line_break_after_own_header): Deleted.
(OrderOfIncludesTest.test_check_line_break_before_own_header): Deleted.
(OrderOfIncludesTest.test_check_preprocessor_in_include_section): Deleted.
(OrderOfIncludesTest.test_check_preprocessor_in_include_section.BAZ): Deleted.
(OrderOfIncludesTest.test_check_preprocessor_in_include_section.FOOBAR): Deleted.
(OrderOfIncludesTest.test_primary_header): Deleted.
(OrderOfIncludesTest.test_public_primary_header): Deleted.
(OrderOfIncludesTest.test_check_wtf_includes): Deleted.
(OrderOfIncludesTest.test_classify_include): Deleted.
(OrderOfIncludesTest.test_try_drop_common_suffixes): Deleted.
(CheckForFunctionLengthsTest.tearDown): Deleted.
(CheckForFunctionLengthsTest.set_min_confidence): Deleted.
(CheckForFunctionLengthsTest.assert_function_lengths_check): Deleted.
(CheckForFunctionLengthsTest.trigger_lines): Deleted.
(CheckForFunctionLengthsTest.trigger_test_lines): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_definition): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_definition_ok): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_at_error_level): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_below_error_level): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_above_error_level): Deleted.
(CheckForFunctionLengthsTest.function_body): Deleted.
(CheckForFunctionLengthsTest.function_body_with_blank_lines): Deleted.
(CheckForFunctionLengthsTest.function_body_with_no_lints): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_declaration): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_declaration_with_block_following): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_class_definition): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_class_definition.Test): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_trivial): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_empty): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity1v0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity1v0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_plus_indented): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_plus_blanks): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_complex_definition_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_test): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_split_line_test): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_bad_test_doesnt_break): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_with_embedded_no_lints): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_with_no_lint): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity2): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity2): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity2): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity3): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity3): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity3): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity4): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity4): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity4): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity5): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity5): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity5): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_huge_lines): Deleted.
(CheckForFunctionLengthsTest.test_function_length_not_determinable): Deleted.
(NoNonVirtualDestructorsTest.test_no_error): Deleted.
(NoNonVirtualDestructorsTest.test_no_error.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_no_error.MyClass): Deleted.
(NoNonVirtualDestructorsTest.test_no_error.Qualified): Deleted.
(NoNonVirtualDestructorsTest.test_no_destructor_when_virtual_needed): Deleted.
(NoNonVirtualDestructorsTest.test_no_destructor_when_virtual_needed.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_enum_casing): Deleted.
(NoNonVirtualDestructorsTest.test_enum_casing.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_enum_casing.Enum123): Deleted.
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon): Deleted.
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.CPP11EnumClass): Deleted.
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.MyEnum): Deleted.
(NoNonVirtualDestructorsTest.test_destructor_non_virtual_when_virtual_needed): Deleted.
(NoNonVirtualDestructorsTest.test_destructor_non_virtual_when_virtual_needed.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_no_warn_when_derived): Deleted.
(NoNonVirtualDestructorsTest.test_no_warn_when_derived.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_internal_braces): Deleted.
(NoNonVirtualDestructorsTest.test_internal_braces.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Foo.Goo): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Goo): Deleted.
(NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor): Deleted.
(NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor.Foo.Goo): Deleted.
(NoNonVirtualDestructorsTest.test_qualified_class_needs_virtual_destructor): Deleted.
(NoNonVirtualDestructorsTest.test_qualified_class_needs_virtual_destructor.Qualified): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_no_error): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_no_error.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error.Foo): Deleted.
(LeakyPatternTest.assert_leaky_pattern_check): Deleted.
(LeakyPatternTest.test_get_dc): Deleted.
(LeakyPatternTest.test_get_dc.HWndDC): Deleted.
(LeakyPatternTest.test_own_get_dc): Deleted.
(LeakyPatternTest.test_create_dc): Deleted.
(LeakyPatternTest.test_create_compatible_dc): Deleted.
(WebKitStyleTest.test_indentation): Deleted.
(WebKitStyleTest.test_indentation.Foo): Deleted.
(WebKitStyleTest.test_indentation.Document): Deleted.
(WebKitStyleTest.test_spacing): Deleted.
(WebKitStyleTest.test_line_breaking): Deleted.
(WebKitStyleTest.test_braces): Deleted.
(WebKitStyleTest.test_braces.MyClass): Deleted.
(WebKitStyleTest.test_braces.NS_ENUM): Deleted.
(WebKitStyleTest.test_braces.CPP11EnumClass): Deleted.
(WebKitStyleTest.test_braces.SOMETHING): Deleted.
(WebKitStyleTest.test_null_false_zero): Deleted.
(WebKitStyleTest.test_directive_indentation): Deleted.
(WebKitStyleTest.test_using_std): Deleted.
(WebKitStyleTest.test_using_namespace): Deleted.
(WebKitStyleTest.test_max_macro): Deleted.
(WebKitStyleTest.test_min_macro): Deleted.
(WebKitStyleTest.test_wtf_move): Deleted.
(WebKitStyleTest.test_ctype_fucntion): Deleted.
(WebKitStyleTest.test_names): Deleted.
(WebKitStyleTest.test_names.HTMLDocument): Deleted.
(WebKitStyleTest.test_names.WebWindowFadeAnimation): Deleted.
(WebKitStyleTest.test_names.declarations): Deleted.
(WebKitStyleTest.test_names.struct): Deleted.
(WebKitStyleTest.test_names.VectorType): Deleted.
(WebKitStyleTest.test_parameter_names): Deleted.
(WebKitStyleTest.test_comments): Deleted.
(WebKitStyleTest.test_webkit_export_check): Deleted.
(WebKitStyleTest.test_member_initialization_list): Deleted.
(WebKitStyleTest.test_member_initialization_list.MyClass): Deleted.
(WebKitStyleTest.test_other): Deleted.
(CppCheckerTest.mock_handle_style_error): Deleted.
(CppCheckerTest._checker): Deleted.
(CppCheckerTest.test_init): Deleted.
(CppCheckerTest.test_eq): Deleted.
(CppCheckerTest.test_eq.mock_handle_style_error2): Deleted.
(CppCheckerTest.test_ne): Deleted.

  • TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
  • TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:
  • TestWebKitAPI/ios/DataInteractionSimulator.mm:
  • WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
  • WebKitTestRunner/ios/HIDEventGenerator.mm:
10:49 PM Changeset in webkit [219190] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION: Stack overflow in RenderBlockFlow::layoutBlock after increasing the font size to max in some RTL vertical books.
https://bugs.webkit.org/show_bug.cgi?id=174144
<rdar://problem/32781038>

Reviewed by Simon Fraser.

Source/WebCore:

We set the start/end margin on the ruby renderer to support overhanging content. The margins ensure that
adjacent boxes on the line are placed properly respecting the overhanging content.
The line breaking algorithm also takes this value into account as it affects the line's available width.
We need to reset this value before laying out the lines, otherwise we might end up using this value on the line twice;
first as the renderer's margins (as the result of the previous layout) and second as the renderer's overhanging value.
Since this is not strictly part of the renderer's layout context (i.e. we set them during the line layout and not at
RenderRubyRun::layout) we can't rely on the ruby's layout logic to reset them.

Test: fast/ruby/ruby-overhang-margin-crash.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutLineBoxes):

LayoutTests:

  • fast/ruby/ruby-overhang-margin-crash-expected.txt: Added.
  • fast/ruby/ruby-overhang-margin-crash.html: Added.
10:33 PM Changeset in webkit [219189] by jmarcell@apple.com
  • 2 edits in tags/Safari-604.1.29/Source/WebKit2

Cherry-pick r219157. rdar://problem/32956929

10:33 PM Changeset in webkit [219188] by jmarcell@apple.com
  • 5 edits in tags/Safari-604.1.29/Source

Cherry-pick r219144. rdar://problem/33086744

10:01 PM Changeset in webkit [219187] by sbarati@apple.com
  • 7 edits
    1 add in trunk

NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
https://bugs.webkit.org/show_bug.cgi?id=174188
<rdar://problem/30581423>

Reviewed by Mark Lam.

JSTests:

  • stress/new-array-having-a-bad-time-double.js: Added.

(assert):
(foo):

Source/JavaScriptCore:

We were calling lowJSValue(edge) when we were speculating the
edge as double. This isn't allowed. We should have been using
lowDouble.

This patch also adds a new option, called useArrayAllocationProfiling,
which defaults to true. When false, it will make the array allocation
profile not actually sample seen arrays. It'll force the allocation
profile's predicted indexing type to be ArrayWithUndecided. Adding
this option made it trivial to write a test for this bug.

  • bytecode/ArrayAllocationProfile.cpp:

(JSC::ArrayAllocationProfile::updateIndexingType):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNewArray):

  • runtime/Options.h:

Tools:

  • Scripts/run-jsc-stress-tests:
9:51 PM Changeset in webkit [219186] by Yusuke Suzuki
  • 8 edits in trunk

Upgrade GCC baseline
https://bugs.webkit.org/show_bug.cgi?id=174155

Reviewed by Michael Catanzaro.

.:

This patch bumps the version of GCC from 4.9.0 to 5.0.0,
which is shipped with Ubuntu 16.04 LTS. And the latest
Debian stable (stretch) already ships newer GCC (6.3.0).
Remove workaround for old GCC. And move GCC version check
to the top-level CMakeLists.txt.

  • CMakeLists.txt:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitHelpers.cmake:

Source/WebCore:

Remove workaround for old GCC.

  • CMakeLists.txt:

Source/WTF:

  • wtf/Compiler.h:
8:42 PM Changeset in webkit [219185] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Group Inspector Style Sheets as part of the Stylesheets folder
https://bugs.webkit.org/show_bug.cgi?id=173435

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
Add special case for CSSStyleSheetTreeElement.

7:59 PM Changeset in webkit [219184] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed attempt to fix iOS build after r219177.

  • page/ios/UserAgentIOS.mm:
  • platform/spi/ios/UIKitSPI.h:
7:49 PM Changeset in webkit [219183] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed attempt to fix iOS build after r219177.

  • page/ios/UserAgentIOS.mm:
  • platform/spi/ios/UIKitSPI.h:
7:31 PM Changeset in webkit [219182] by Yusuke Suzuki
  • 3 edits
    1 add in trunk

WTF::StringImpl::copyChars segfaults when built with GCC 7
https://bugs.webkit.org/show_bug.cgi?id=173407

Reviewed by Andreas Kling.

JSTests:

  • stress/string-repeat-copy-chars-crash.js: Added.

(shouldBe):

Source/WTF:

With GCC 7, StringImpl::copyChars() behaves as unexpected.
This function violates strict aliasing rule.

This optimization is originally introduced to improve performance
in SunSpider's string tests in 2008. When running it in my Linux
box, it no longer causes any observable difference. So, we just
remove this optimization.

baseline patched

string-base64 7.7544+-0.1761 7.6138+-0.2071 might be 1.0185x faster
string-fasta 10.5429+-0.2746 ? 10.7500+-0.2669 ? might be 1.0196x slower
string-tagcloud 14.8588+-0.2828 14.8039+-0.3039
string-unpack-code 36.1769+-0.4251 35.3397+-0.5398 might be 1.0237x faster
string-validate-input 8.5182+-0.2206 8.3514+-0.2179 might be 1.0200x faster

  • wtf/text/StringImpl.h:

(WTF::StringImpl::copyChars):

7:30 PM Changeset in webkit [219181] by commit-queue@webkit.org
  • 2 edits in trunk/Source/bmalloc

reinterpret_cast does not evaluate to constexpr
https://bugs.webkit.org/show_bug.cgi?id=173622

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-07-05
Reviewed by Yusuke Suzuki.

  • bmalloc/Algorithm.h:

(bmalloc::mask):
(bmalloc::roundUpToMultipleOf):

7:29 PM Changeset in webkit [219180] by Devin Rousso
  • 2 edits
    1 move
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Split Canvas.svg into icons for 2D and 3D
https://bugs.webkit.org/show_bug.cgi?id=174057

Reviewed by Matt Baker.

  • UserInterface/Images/Canvas2D.svg: Added.
  • UserInterface/Images/Canvas3D.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/Canvas.svg.
  • UserInterface/Views/ResourceIcons.css:

(.canvas.canvas-2d .icon):
(.canvas:matches(.webgl, .webgl2, .webgpu) .icon):
(.canvas .icon): Deleted.

7:27 PM Changeset in webkit [219179] by Yusuke Suzuki
  • 8 edits in trunk/Source

Use std::lock_guard instead of std::unique_lock if move semantics and try_lock is not necessary
https://bugs.webkit.org/show_bug.cgi?id=174148

Reviewed by Mark Lam.

Source/WebCore:

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::~AudioSourceProviderAVFObjC):

Source/WTF:

It is not necessary to use std::unique_lock if we do not use additional features compared to std::lock_guard.

(WTF::ThreadHolder::get):
(WTF::ThreadHolder::initialize):
(WTF::ThreadHolder::destruct):

  • wtf/Threading.cpp:

(WTF::Thread::didExit):

  • wtf/ThreadingPthreads.cpp:

(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::signal):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
(WTF::Thread::establish):

  • wtf/ThreadingWin.cpp:

(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
(WTF::Thread::establish):

  • wtf/WordLock.cpp:

(WTF::WordLockBase::unlockSlow):

7:02 PM Changeset in webkit [219178] by Yusuke Suzuki
  • 147 edits
    1 delete in trunk

[WTF] Clean up StringStatics.cpp by using LazyNeverDestroyed<> for Atoms
https://bugs.webkit.org/show_bug.cgi?id=174150

Reviewed by Mark Lam.

Source/WebCore:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::captionDisplayMode):

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::binaryType):

  • accessibility/AXObjectCache.cpp:

(WebCore::createFromRenderer):

  • accessibility/AccessibilityMediaControls.cpp:

(WebCore::AccessibilityMediaControl::controlTypeName):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::language):
(WebCore::AccessibilityObject::defaultLiveRegionStatusForRole):
(WebCore::AccessibilityObject::actionVerb):
(WebCore::AccessibilityObject::getAttribute):
(WebCore::AccessibilityObject::placeholderValue):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::accessKey):
(WebCore::AccessibilityObject::ariaLiveRegionRelevant):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::accessKey):
(WebCore::AccessibilityRenderObject::actionVerb):

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::constructElementWithFallback):

  • bindings/js/JSCustomElementRegistryCustom.cpp:

(WebCore::JSCustomElementRegistry::define):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDefaultValue):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsNullBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyStringBody):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::selectorText):

  • css/CSSPrimitiveValue.cpp:

(WebCore::valueName):

  • css/CSSSelector.cpp:

(WebCore::simpleSelectorSpecificityInternal):
(WebCore::CSSSelector::specificityForPage):
(WebCore::CSSSelector::RareData::RareData):

  • css/CSSSelector.h:

(WebCore::CSSSelector::argument):

  • css/CSSSelectorList.cpp:

(WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):

  • css/PageRuleCollector.cpp:

(WebCore::checkPageSelectorComponents):

  • css/RuleSet.cpp:

(WebCore::computeMatchBasedOnRuleHash):
(WebCore::RuleSet::addRule):

  • css/SelectorChecker.cpp:

(WebCore::tagMatches):

  • css/SelectorFilter.cpp:

(WebCore::collectDescendantSelectorIdentifierHashes):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertStringOrAuto):
(WebCore::StyleBuilderConverter::convertStringOrNone):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueWebkitLocale):
(WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyValueContent):
(WebCore::StyleBuilderCustom::applyValueAlt):

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::namespaceURIFromPrefix):

  • css/makeprop.pl:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::parsePageSelector):

  • css/parser/CSSSelectorParser.cpp:

(WebCore::CSSSelectorParser::consumeCompoundSelector):
(WebCore::CSSSelectorParser::consumeName):
(WebCore::CSSSelectorParser::consumeAttribute):
(WebCore::CSSSelectorParser::defaultNamespace):
(WebCore::CSSSelectorParser::determineNamespace):
(WebCore::CSSSelectorParser::prependTypeSelectorIfNeeded):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::attributeNameTestingRequiresNamespaceRegister):
(WebCore::SelectorCompiler::equalTagNames):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):

  • dom/Attr.cpp:

(WebCore::Attr::setPrefix):
(WebCore::Attr::attachToElement):

  • dom/Attribute.h:

(WebCore::Attribute::nameMatchesFilter):

  • dom/ConstantPropertyMap.cpp:

(WebCore::ConstantPropertyMap::nameForProperty):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByTagNameNS):

  • dom/CustomElementReactionQueue.cpp:

(WebCore::CustomElementReactionQueue::enqueuePostUpgradeReactions):

  • dom/DatasetDOMStringMap.cpp:

(WebCore::convertPropertyNameToAttributeName):

  • dom/Document.cpp:

(WebCore::createUpgradeCandidateElement):
(WebCore::Document::createElementForBindings):
(WebCore::Document::importNode):
(WebCore::Document::hasValidNamespaceForElements):
(WebCore::Document::processBaseElement):
(WebCore::Document::dir):
(WebCore::Document::bgColor):
(WebCore::Document::fgColor):
(WebCore::Document::alinkColor):
(WebCore::Document::linkColorForBindings):
(WebCore::Document::vlinkColor):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::setBooleanAttribute):
(WebCore::Element::synchronizeAttribute):
(WebCore::Element::getAttribute):
(WebCore::Element::getAttributeNS):
(WebCore::Element::setAttribute):
(WebCore::Element::parserSetAttributes):
(WebCore::Element::didMoveToNewDocument):
(WebCore::Element::setPrefix):
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::removeAttributeInternal):
(WebCore::Element::addAttributeInternal):
(WebCore::Element::removeAttributeNS):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::computeInheritedLanguage):
(WebCore::Element::updateNameForDocument):
(WebCore::Element::updateIdForDocument):
(WebCore::Element::didAddAttribute):
(WebCore::Element::didRemoveAttribute):
(WebCore::Element::cloneAttributesFromElement):

  • dom/Element.h:

(WebCore::Element::attributeWithoutSynchronization):
(WebCore::Element::idForStyleResolution):
(WebCore::Element::getIdAttribute):
(WebCore::Element::getNameAttribute):

  • dom/EventTarget.cpp:

(WebCore::legacyType):

  • dom/MutationRecord.h:

(WebCore::MutationRecord::attributeName):
(WebCore::MutationRecord::attributeNamespace):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::removeNamedItemNS):

  • dom/Node.cpp:

(WebCore::Node::prefix):
(WebCore::Node::localName):
(WebCore::Node::namespaceURI):
(WebCore::Node::checkSetPrefix):
(WebCore::locateDefaultNamespace):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespaceURI):
(WebCore::locateNamespacePrefix):
(WebCore::Node::lookupPrefix):

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::addCachedTagCollectionNS):
(WebCore::NodeListsNodeData::addCachedCollection):
(WebCore::NodeListsNodeData::cachedCollection):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCachedTagCollectionNS):
(WebCore::NodeListsNodeData::removeCachedCollection):

  • dom/PseudoElement.cpp:

(WebCore::pseudoElementTagName):

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::init):
(WebCore::nullQName):
(WebCore::createQualifiedName):

  • dom/QualifiedName.h:

(WebCore::QualifiedName::hasPrefix):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::executeSingleTagNameSelectorData):

  • dom/SlotAssignment.cpp:

(WebCore::slotNameFromAttributeValue):

  • dom/SlotAssignment.h:

(WebCore::SlotAssignment::defaultSlotName):
(WebCore::ShadowRoot::didRemoveAllChildrenOfShadowHost):
(WebCore::ShadowRoot::didChangeDefaultSlot):

  • dom/TagCollection.cpp:

(WebCore::TagCollection::TagCollection):
(WebCore::HTMLTagCollection::HTMLTagCollection):

  • dom/TagCollection.h:

(WebCore::TagCollectionNS::elementMatches):

  • dom/make_names.pl:

(printNamesCppFile):
(printDefinitions):
(printFactoryCppFile):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::removeNodeAttribute):

  • editing/Editing.cpp:

(WebCore::createHTMLElement):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
(WebCore::MarkupAccumulator::shouldAddNamespaceElement):
(WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
(WebCore::MarkupAccumulator::appendNamespace):
(WebCore::MarkupAccumulator::appendOpenTag):
(WebCore::MarkupAccumulator::appendAttribute):

  • editing/gtk/EditorGtk.cpp:

(WebCore::elementURL):

  • editing/markup.cpp:

(WebCore::AttributeChange::AttributeChange):

  • html/Autocapitalize.cpp:

(WebCore::stringForAutocapitalizeType):

  • html/Autofill.cpp:

(WebCore::AutofillData::createFromHTMLFormControlElement):

  • html/DOMTokenList.h:

(WebCore::DOMTokenList::item):

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::name):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::formControlType):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::toggleOpen):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::isCaseSensitiveAttribute):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::eventNameForEventHandlerAttribute):
(WebCore::toValidDirValue):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::name):
(WebCore::HTMLInputElement::updateType):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::doesHaveAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::createForJSConstructor):

  • html/HTMLParamElement.cpp:

(WebCore::HTMLParamElement::name):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::setMultiple):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::scope):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::mediaElementCrossOriginAttribute):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::~LabelsNodeList):

  • html/MediaController.cpp:

(MediaController::playbackState):
(eventNameForReadyState):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

  • html/parser/AtomicHTMLToken.h:

(WebCore::AtomicHTMLToken::initializeAttributes):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::stripLeadingAndTrailingHTMLSpaces):
(WebCore::parseHTMLHashNameReference):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::createForeignAttributesMap):

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::InbandTextTrack):

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::id):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::captionMenuOffItem):
(WebCore::TextTrack::captionMenuAutomaticItem):

  • html/track/TrackBase.cpp:

(WebCore::MediaTrackBase::setKindInternal):

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::scroll):

  • html/track/WebVTTElement.cpp:

(WebCore::nodeTypeToTagName):

  • html/track/WebVTTElement.h:
  • html/track/WebVTTToken.h:

(WebCore::WebVTTToken::StartTag):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):

  • loader/FrameLoader.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::clearFailedLoadURL):

  • loader/NavigationAction.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::showModalDialog):

  • page/EventHandler.cpp:

(WebCore::eventNameForTouchPointState):

  • page/FrameTree.cpp:

(WebCore::FrameTree::setName):
(WebCore::FrameTree::clearName):

  • page/Page.cpp:

(WebCore::Page::groupName):

  • platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::offsetForPosition):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::alternateFamilyName):

  • platform/graphics/FontDescription.h:

(WebCore::FontCascadeDescription::initialLocale):

  • platform/graphics/FontGenericFamilies.cpp:

(WebCore::genericFontFamilyForScript):

  • platform/graphics/InbandTextTrackPrivate.h:

(WebCore::InbandTextTrackPrivate::inBandMetadataTrackDispatchType):

  • platform/graphics/TrackPrivateBase.h:

(WebCore::TrackPrivateBase::id):
(WebCore::TrackPrivateBase::label):
(WebCore::TrackPrivateBase::language):

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:

(WebCore::AVTrackPrivateAVFObjCImpl::id):
(WebCore::AVTrackPrivateAVFObjCImpl::label):
(WebCore::AVTrackPrivateAVFObjCImpl::language):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:

(WebCore::InbandTextTrackPrivateAVCF::label):
(WebCore::InbandTextTrackPrivateAVCF::language):

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp:

(WebCore::InbandTextTrackPrivateLegacyAVCF::label):
(WebCore::InbandTextTrackPrivateLegacyAVCF::language):

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

(WebCore::InbandTextTrackPrivateAVFObjC::label):
(WebCore::InbandTextTrackPrivateAVFObjC::language):

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

(WebCore::InbandTextTrackPrivateLegacyAVFObjC::label):
(WebCore::InbandTextTrackPrivateLegacyAVFObjC::language):

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

(WebCore::metadataType):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::platformAlternateFamilyName):

  • platform/graphics/cocoa/FontDescriptionCocoa.cpp:

(WebCore::FontCascadeDescription::effectiveFamilyAt):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::platformAlternateFamilyName):

  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::create):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::platformAlternateFamilyName):

  • platform/mediastream/AudioTrackPrivateMediaStream.h:
  • platform/mediastream/RealtimeMediaSourceSettings.cpp:

(WebCore::RealtimeMediaSourceSettings::facingMode):

  • platform/mediastream/VideoTrackPrivateMediaStream.h:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::linkSuggestedFilename):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::markerText):

  • rendering/RenderText.cpp:

(WebCore::RenderText::previousOffset):
(WebCore::RenderText::nextOffset):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::textEmphasisMarkString):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::initialHyphenationString):
(WebCore::RenderStyle::initialTextEmphasisCustomMark):
(WebCore::RenderStyle::initialContentAltText):
(WebCore::RenderStyle::initialLineGrid):
(WebCore::RenderStyle::initialFlowThread):
(WebCore::RenderStyle::initialRegionThread):

  • style/StyleScope.cpp:

(WebCore::Style::Scope::collectActiveStyleSheets):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::getPresentationAttribute):

  • svg/SVGElement.h:

(WebCore::SVGAttributeHashTranslator::hash):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::transferSizeAttributesToTargetClone):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::constructAttributeName):

  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMInstance::requestLicense):

  • xml/XMLErrors.cpp:

(WebCore::createXHTMLParserErrorHeader):

  • xml/XPathStep.cpp:

(WebCore::XPath::nodeMatchesBasicTest):
(WebCore::XPath::Step::nodesInAxis):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::handleNamespaceAttributes):
(WebCore::handleElementAttributes):

Source/WebKit/mac:

  • DOM/DOM.mm:

(lookupElementClass):

Source/WTF:

This patch cleans up StringStatics.cpp and remove it from the tree.

  1. Move StringImpl methods to appropriate place, "StringImpl.cpp".

StringImpl::hashSlowCase() and StringImpl::concurrentHash() are defined in
StringStatics.cpp. But they should be defined in StringImpl.cpp.
This patch just moves them to StringImpl.cpp.

  1. Use LazyNeverDestroyed to initialize AtomicString atoms like emptyAtom.

Previously, we initialized AtomicString atoms like emptyAtom in a hacky way.
We first define them as extern global variables. However, AtomicString has
a non-trivial constructor. Thus, we cannot do this because it requires global
constructor calls. This is why we have StringStatics.cpp. In this file, we
include "StaticConstructors.h". After including this file, all the global
constructor call disabled in Windows. And in GCC environment, we allocate
void* storage for that variable. And we use placement new in AtomicString::init()
to initialize these storage.
However, we already have better way for that: LazyNeverDestroyed. It just allocates
storage like the above. And it does not have any global constructors. Thus
we can just declare it as a global variable. And we initialize them lazily in
AtomicString::init(). This way effectively avoids "StaticConstructors.h" hacky way.
And it makes "StringStatics.cpp" unnecessary.
Then, we just move these variables and AtomicString::init() to AtomicString.cpp.

And we also change emptyAtom to emptyAtom() to get the value from LazyNeverDestroyed<>.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::convertASCIICase):
(WTF::AtomicString::fromUTF8Internal):
(WTF::AtomicString::init):

  • wtf/text/AtomicString.h:

(WTF::nullAtom):
(WTF::emptyAtom):
(WTF::starAtom):
(WTF::xmlAtom):
(WTF::xmlnsAtom):
(WTF::AtomicString::fromUTF8):

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::toAtomicString):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::hashSlowCase):
(WTF::StringImpl::concurrentHash):

  • wtf/text/StringStatics.cpp: Removed.

Tools:

  • TestWebKitAPI/Tests/WTF/StringBuilder.cpp:

(TestWebKitAPI::TEST):

7:01 PM Changeset in webkit [219177] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

[iOS] User agent string incorrectly says "iPhone" instead of "iPad" on newer iPads
https://bugs.webkit.org/show_bug.cgi?id=174182
<rdar://problem/32868369>

Reviewed by Tim Horton.

In deviceNameForUserAgent() on iOS, we were forcefully returning "iPhone" if
[UIApplication _isClassic] returns true. Update check to return "iPad" if
[UIApplication _isClassic] returns true but [UIApplication _classMode] returns
UIApplicationSceneClassicModeOriginalPad.

  • page/ios/UserAgentIOS.mm:

(WebCore::isClassicPad):
(WebCore::isClassicPhone):
(WebCore::osNameForUserAgent):
(WebCore::deviceNameForUserAgent):

  • platform/spi/ios/UIKitSPI.h:
6:57 PM Changeset in webkit [219176] by Yusuke Suzuki
  • 21 edits in trunk/Source

WTF::Thread should have the threads stack bounds.
https://bugs.webkit.org/show_bug.cgi?id=173975

Reviewed by Keith Miller.

Source/JavaScriptCore:

There is a site in JSC that try to walk another thread's stack.
Currently, stack bounds are stored in WTFThreadData which is located
in TLS. Thus, only the thread itself can access its own WTFThreadData.
We workaround this situation by holding StackBounds in MachineThread in JSC,
but StackBounds should be put in WTF::Thread instead.

This patch moves StackBounds from WTFThreadData to WTF::Thread. StackBounds
information is tightly coupled with Thread. Thus putting it in WTF::Thread
is natural choice.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::MachineThread::MachineThread):
(JSC::MachineThreads::MachineThread::captureStack):

  • heap/MachineStackMarker.h:

(JSC::MachineThreads::MachineThread::stackBase):
(JSC::MachineThreads::MachineThread::stackEnd):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::updateStackLimits):
(JSC::VM::committedStackByteCount):

  • runtime/VM.h:

(JSC::VM::isSafeToRecurse):

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):

  • runtime/VMInlines.h:

(JSC::VM::ensureStackCapacityFor):

  • runtime/VMTraps.cpp:
  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::isSafeToRecurse):

Source/WebCore:

When creating WebThread, we first allocate WebCore::ThreadGlobalData in UI thread
and share it with WebThread.
The problem is that WebCore::ThreadGlobalData has CachedResourceRequestInitiators.
It allocates AtomicString, which requires WTFThreadData.

Before this patch, it was OK because WTFThreadData does not touch threading related
things except for ThreadSpecific<>. However, after this patch, it touches
WTF::Thread::current() which requires WTF::initializeThreading().

In this patch, we call WTF::initializeThreading() before allocating WebCore::ThreadGlobalData.
And we also call AtomicString::init() before calling WebCore::ThreadGlobalData since
WebCore::ThreadGlobalData allocates AtomicString.

This fixes crashes in the iOS web threading environment (UIWebView).

  • platform/ios/wak/WebCoreThread.mm:

(StartWebThread):

Source/WTF:

We move StackBounds from WTFThreadData to WTF::Thread.
One important thing is that we should make valid StackBounds
visible to Thread::create() caller. When the caller get
WTF::Thread from Thread::create(), this WTF::Thread should
have a valid StackBounds. But StackBounds information can be
retrived only in the WTF::Thread's thread itself.

We also clean up WTF::initializeThreading. StringImpl::empty()
is now statically initialized by using constexpr constructor.
Thus we do not need to call StringImpl::empty() explicitly here.
And WTF::initializeThreading() does not have any main thread
affinity right now in all the platforms. So we fix the comment
in Threading.h. Then, now, WTF::initializeThreading() is called
in UI thread when using Web thread in iOS.

  • wtf/StackBounds.h:

(WTF::StackBounds::emptyBounds):
(WTF::StackBounds::StackBounds):

  • wtf/StackStats.cpp:

(WTF::StackStats::PerThreadStats::PerThreadStats):

  • wtf/Threading.cpp:

(WTF::threadEntryPoint):
(WTF::Thread::create):
(WTF::Thread::currentMayBeNull):
(WTF::Thread::initialize):
(WTF::initializeThreading):

  • wtf/Threading.h:

(WTF::Thread::stack):

  • wtf/ThreadingPthreads.cpp:

(WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated):
(WTF::Thread::current):
(WTF::initializeCurrentThreadEvenIfNonWTFCreated): Deleted.
(WTF::Thread::currentMayBeNull): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated):
(WTF::Thread::initializeCurrentThreadInternal):
(WTF::Thread::current):

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::stack): Deleted.

6:55 PM Changeset in webkit [219175] by jmarcell@apple.com
  • 7 edits
    1 add in tags/Safari-604.1.29

Cherry-pick r219154. rdar://problem/33067518

5:29 PM Changeset in webkit [219174] by Jonathan Bedard
  • 1 edit
    8 adds in trunk/LayoutTests

Move internal iOS 11 TestExpectations to OpenSource
<rdar://problem/32717028>

Unreviewed test gardening.

  • platform/ios-11/platform/ios/ios/fast/text/opticalFont-expected.txt: Added.
  • platform/ios-11/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Added.
  • platform/ios-11/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Added.
5:26 PM Changeset in webkit [219173] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

CSSFontStyleValue::isItalic seems a bit bogus.
https://bugs.webkit.org/show_bug.cgi?id=174149

Reviewed by Tim Horton.

Source/WebCore:

Simple typo.

Test: editing/execCommand/italicizeByCharacter-normal.html

  • css/CSSFontStyleValue.h:

LayoutTests:

  • editing/execCommand/italicizeByCharacter-normal-expected.txt: Added.
  • editing/execCommand/italicizeByCharacter-normal.html: Added.
5:05 PM Changeset in webkit [219172] by keith_miller@apple.com
  • 7 edits in trunk/Source

Crashing with information should have an abort reason
https://bugs.webkit.org/show_bug.cgi?id=174185

Reviewed by Saam Barati.

Source/JavaScriptCore:

Add crash information for the abstract interpreter and add an enum
value for object allocation sinking.

  • assembler/AbortReason.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::logDFGAssertionFailure):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

Source/WTF:

Fix an ifdef to actually work with X86_64. It turns out X64_64 is
not an architecture... Whoops.

  • wtf/Assertions.cpp:
5:05 PM Changeset in webkit [219171] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Skipped webgl/1.0.2/conformance/glsl/misc/shader-with-non-reserved-words.html.
https://bugs.webkit.org/show_bug.cgi?id=174100

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
5:01 PM Changeset in webkit [219170] by beidson@apple.com
  • 26 edits
    3 adds in trunk

Allow navigations in subframes to get a ShouldOpenExternalURLsPolicy of "ShouldAllow".
<rdar://problem/22485589> and https://bugs.webkit.org/show_bug.cgi?id=174178

Reviewed by Alex Christensen.

Source/WebCore:

Test: loader/navigation-policy/should-open-external-urls/subframe-navigated-programatically-by-main-frame.html

This patch introduces a new flag to FrameLoadRequest to track when it is known with certainty that a
FrameLoadRequest originates from the main frame.

Later, when calculating the final ShouldOpenExternalURLsPolicy, main frames navigating iframes get to propagate
their permissions to the iframe.

  • bindings/js/CommonVM.cpp:

(WebCore::lexicalFrameFromCommonVM): Helper to grab the current frame associated with the current JS callstack.

  • bindings/js/CommonVM.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::openInNewTab):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::navigate):

Add the new flag to FrameLoadRequest (and force almost everybody to explicitly include the flag):

  • loader/FrameLoadRequest.cpp:

(WebCore::FrameLoadRequest::FrameLoadRequest):

  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::navigationInitiatedByMainFrame):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::shouldOpenExternalURLsPolicyToApply): Helper that takes the new flag into account when deciding

what the final ShouldOpenExternalURLsPolicy will be.

(WebCore::applyShouldOpenExternalURLsPolicyToNewDocumentLoader):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::createWindow):
(WebCore::FrameLoader::applyShouldOpenExternalURLsPolicyToNewDocumentLoader): Deleted.

  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h:
  • loader/NavigationAction.h:

(WebCore::NavigationAction::navigationInitiatedByMainFrame):

  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledNavigation::ScheduledNavigation): Grab the "initiating frame" at the time the

ScheduledNavigation is created, as it dictates the policy we decide later.

(WebCore::ScheduledNavigation::navigationInitiatedByMainFrame):
(WebCore::NavigationScheduler::scheduleLocationChange):

  • page/ContextMenuController.cpp:

(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow):

Source/WebKit/ios:

Adopt to the new constructor for FrameLoadRequest.

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

Source/WebKit/mac:

Adopt to the new constructor for FrameLoadRequest.

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

Source/WebKit/win:

Adopt to the new constructor for FrameLoadRequest.

  • Plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::getURLNotify):
(WebCore::PluginView::getURL):
(WebCore::PluginView::handlePost):

Source/WebKit2:

Adopt to the new constructor for FrameLoadRequest.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::loadURL):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchCreatePage):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::openInNewTab):

LayoutTests:

Added a new explicit test and updated expectations for an old one.

  • loader/navigation-policy/should-open-external-urls/resources/main-frame-with-subframe-main-programatically-navigates-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt:
  • loader/navigation-policy/should-open-external-urls/subframe-navigated-programatically-by-main-frame-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/subframe-navigated-programatically-by-main-frame.html: Added.
4:56 PM Changeset in webkit [219169] by jmarcell@apple.com
  • 2 edits in tags/Safari-604.1.28.1.2/Source/WebKit2

Revert r218821. rdar://problem/33144483

4:54 PM Changeset in webkit [219168] by jmarcell@apple.com
  • 7 edits in tags/Safari-604.1.28.1.2/Source

Versioning.

4:44 PM Changeset in webkit [219167] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove unnecessary forward declartions now that we include Foundation.h

  • UIProcess/API/Cocoa/WKContentRuleListStore.h:
4:44 PM Changeset in webkit [219166] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked animations/needs-layout.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172397

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:40 PM Changeset in webkit [219165] by rniwa@webkit.org
  • 9 edits in trunk/Source

Make WebKit's public headers on Mac and iOS C++ module safe
https://bugs.webkit.org/show_bug.cgi?id=174175

Reviewed by Alex Christensen.

Fixed the header files.

Source/WebKit/mac:

  • Misc/WebDownload.h:
  • Misc/WebKitErrors.h:
  • Plugins/WebPluginContainer.h:
  • WebView/WebResourceLoadDelegate.h:

Source/WebKit2:

  • UIProcess/API/Cocoa/WKContentRuleList.h:
  • UIProcess/API/Cocoa/WKContentRuleListStore.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
4:36 PM Changeset in webkit [219164] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.28.2

Tag Safari-604.1.28.2.

4:30 PM Changeset in webkit [219163] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.28.1.2

Tag Safari-604.1.28.1.2.

3:29 PM Changeset in webkit [219162] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Another build fix, for Mac.

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::surfaceID):

3:27 PM Changeset in webkit [219161] by Chris Dumez
  • 11 edits in trunk/Source/WebKit2

[WK2] WebsiteDataStore::setResourceLoadStatisticsEnabled() updates processPools the store is not associated with
https://bugs.webkit.org/show_bug.cgi?id=174174

Reviewed by Brent Fulgham.

WebsiteDataStore::setResourceLoadStatisticsEnabled() updates processPools the store is not associated with.
Fix this by iterating over WebsiteDataStore::processPools() instead of WebProcessPool::allProcessPools().

Also rename shouldPartitionCookiesForTopPrivatelyOwnedDomains methods / IPC messages to
updateCookiePartitioningForTopPrivatelyOwnedDomains since this is a setter, not a getter.

Finally, drop ShouldPartitionCookiesForTopPrivatelyOwnedDomains IPC message to the NetworkProcessProxy
as well as corresponding methods as those appear to be unused.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::updateCookiePartitioningForTopPrivatelyOwnedDomains):
(WebKit::NetworkProcess::shouldPartitionCookiesForTopPrivatelyOwnedDomains): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::shouldPartitionCookiesForTopPrivatelyOwnedDomains): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setResourceLoadStatisticsEnabled):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::updateCookiePartitioningForTopPrivatelyOwnedDomains):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
(WebKit::WebsiteDataStore::registerSharedResourceLoadObserver):
(WebKit::WebsiteDataStore::shouldPartitionCookiesForTopPrivatelyOwnedDomains): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
3:25 PM Changeset in webkit [219160] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Further attempts to fix the iOS public SDK build.

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::surfaceID):

  • platform/spi/cocoa/IOSurfaceSPI.h:
3:08 PM Changeset in webkit [219159] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604.1.28-branch

Cherry-pick r219081. rdar://problem/33083972

2:52 PM Changeset in webkit [219158] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Async Image Decoding: Image flashes away briefly when tapping on tab in iPad tab picker
https://bugs.webkit.org/show_bug.cgi?id=174173
<rdar://problem/32431952>

Reviewed by Geoffrey Garen.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::addTransactionCallbackID):
When a client uses e.g. doAfterNextPresentationUpdate (or internally,
dispatchAfterEnsuringDrawing), they're doing so in the hopes that the
callback is called after the page is well-painted -- for example, to
remove a snapshot (in the tab picker case, as well as for navigation
gestures), or to *take* a snapshot. In all of these cases, it is
preferable to do a synchronous decode, to ensure that the image does
not flash away temporarily.

Use the existing mechanism that was implemented for the synchronous
activity state change flush to also force synchronous image decoding
any time there is a post-commit transaction callback.

2:40 PM Changeset in webkit [219157] by wenson_hsieh@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS DnD] [WK2] 3D touch fails to recognize when UIDragInteraction is enabled on phone
https://bugs.webkit.org/show_bug.cgi?id=174171
<rdar://problem/32956929>

Reviewed by Tim Horton.

By default, UIKit defers all competing long press gesture recognizers if dragging is enabled. However, this
would cause 3D touch to be prevented, due to UIKit asking us whether or not we can proceed with the 3D touch
gesture in -_interactionShouldBeginFromPreviewItemController:forPosition:, while the highlight long press
gesture recognizer is being deferred. To address this, we use SPI on UIDragInteraction to allow the highlight
long press gesture recognizer to recognize alongside the drag lift gesture. We then (already) manually cancel
the highlight long press gesture in _dragInteraction:prepareForSession:completion:.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _dragInteraction:shouldDelayCompetingGestureRecognizer:]):

2:26 PM Changeset in webkit [219156] by don.olmstead@sony.com
  • 6 edits
    1 add in trunk

[WinCairo] Consolidate CMake code related to CURL
https://bugs.webkit.org/show_bug.cgi?id=170860

Reviewed by Alex Christensen.

.:

  • Source/cmake/OptionsWinCairo.cmake:

Source/WebCore:

No new tests. No change in functionality.

  • PlatformWinCairo.cmake:
  • platform/Curl.cmake: Added.

Source/WebKit:

  • PlatformWin.cmake:
2:13 PM Changeset in webkit [219155] by mmaxfield@apple.com
  • 23 edits
    16 copies
    117 adds
    3 deletes in trunk

Remove copy of ICU headers from WebKit
https://bugs.webkit.org/show_bug.cgi?id=116407

Reviewed by Alex Christensen.

Source/JavaScriptCore:

Use WTF's copy of ICU headers.

  • Configurations/Base.xcconfig:
  • icu/unicode/localpointer.h: Removed.
  • icu/unicode/parseerr.h: Removed.
  • icu/unicode/platform.h: Removed.
  • icu/unicode/ptypes.h: Removed.
  • icu/unicode/putil.h: Removed.
  • icu/unicode/uchar.h: Removed.
  • icu/unicode/ucnv.h: Removed.
  • icu/unicode/ucnv_err.h: Removed.
  • icu/unicode/ucol.h: Removed.
  • icu/unicode/uconfig.h: Removed.
  • icu/unicode/ucurr.h: Removed.
  • icu/unicode/uenum.h: Removed.
  • icu/unicode/uiter.h: Removed.
  • icu/unicode/uloc.h: Removed.
  • icu/unicode/umachine.h: Removed.
  • icu/unicode/unorm.h: Removed.
  • icu/unicode/unorm2.h: Removed.
  • icu/unicode/urename.h: Removed.
  • icu/unicode/uscript.h: Removed.
  • icu/unicode/uset.h: Removed.
  • icu/unicode/ustring.h: Removed.
  • icu/unicode/utf.h: Removed.
  • icu/unicode/utf16.h: Removed.
  • icu/unicode/utf8.h: Removed.
  • icu/unicode/utf_old.h: Removed.
  • icu/unicode/utypes.h: Removed.
  • icu/unicode/uvernum.h: Removed.
  • icu/unicode/uversion.h: Removed.
  • runtime/IntlCollator.cpp:
  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::partTypeString):

  • runtime/JSGlobalObject.cpp:
  • runtime/StringPrototype.cpp:

(JSC::normalize):
(JSC::stringProtoFuncNormalize):

Source/WebCore:

Use WTF's copy of ICU headers.

No new tests because there is no behavior change.

  • Configurations/WebCore.xcconfig:
  • icu/unicode/bytestream.h: Removed.
  • icu/unicode/localpointer.h: Removed.
  • icu/unicode/parseerr.h: Removed.
  • icu/unicode/platform.h: Removed.
  • icu/unicode/ptypes.h: Removed.
  • icu/unicode/putil.h: Removed.
  • icu/unicode/rep.h: Removed.
  • icu/unicode/std_string.h: Removed.
  • icu/unicode/strenum.h: Removed.
  • icu/unicode/stringpiece.h: Removed.
  • icu/unicode/ubrk.h: Removed.
  • icu/unicode/uchar.h: Removed.
  • icu/unicode/ucnv.h: Removed.
  • icu/unicode/ucnv_err.h: Removed.
  • icu/unicode/ucol.h: Removed.
  • icu/unicode/uconfig.h: Removed.
  • icu/unicode/ucurr.h: Removed.
  • icu/unicode/uenum.h: Removed.
  • icu/unicode/uiter.h: Removed.
  • icu/unicode/uloc.h: Removed.
  • icu/unicode/umachine.h: Removed.
  • icu/unicode/unistr.h: Removed.
  • icu/unicode/unorm.h: Removed.
  • icu/unicode/unorm2.h: Removed.
  • icu/unicode/uobject.h: Removed.
  • icu/unicode/urename.h: Removed.
  • icu/unicode/uscript.h: Removed.
  • icu/unicode/uset.h: Removed.
  • icu/unicode/ustring.h: Removed.
  • icu/unicode/utext.h: Removed.
  • icu/unicode/utf.h: Removed.
  • icu/unicode/utf16.h: Removed.
  • icu/unicode/utf8.h: Removed.
  • icu/unicode/utf_old.h: Removed.
  • icu/unicode/utypes.h: Removed.
  • icu/unicode/uvernum.h: Removed.
  • icu/unicode/uversion.h: Removed.
  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKey::makeFlagsKey):

Source/WebKit/mac:

Use WTF's copy of ICU headers.

  • Configurations/WebKitLegacy.xcconfig:
  • icu/unicode/localpointer.h: Removed.
  • icu/unicode/parseerr.h: Removed.
  • icu/unicode/platform.h: Removed.
  • icu/unicode/ptypes.h: Removed.
  • icu/unicode/putil.h: Removed.
  • icu/unicode/uchar.h: Removed.
  • icu/unicode/uconfig.h: Removed.
  • icu/unicode/ucurr.h: Removed.
  • icu/unicode/uidna.h: Removed.
  • icu/unicode/uiter.h: Removed.
  • icu/unicode/umachine.h: Removed.
  • icu/unicode/unorm.h: Removed.
  • icu/unicode/unorm2.h: Removed.
  • icu/unicode/urename.h: Removed.
  • icu/unicode/uscript.h: Removed.
  • icu/unicode/ustring.h: Removed.
  • icu/unicode/utf.h: Removed.
  • icu/unicode/utf16.h: Removed.
  • icu/unicode/utf8.h: Removed.
  • icu/unicode/utf_old.h: Removed.
  • icu/unicode/utypes.h: Removed.
  • icu/unicode/uvernum.h: Removed.
  • icu/unicode/uversion.h: Removed.

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig:

Source/WTF:

Add an extra rsync command to CopyWTFHeaders which copies the ICU headers
to DSTROOT/usr/local/include/. These headers already live inside a
"unicode" folder, so an example path of a header is
DSTROOT/usr/local/include/unicode/uchar.h. This is already in the search
path of the other WebKit projects, so those other projects can remove
their explicit listing of the old place these headers lived.

Also add the remaining ICU 55.1 headers which the other projects (like
WebCore) need. Revert any local changes to these headers in favor of
using the GCC_PREPROCESSOR_DEFINITIONS build setting. This is so we can
compile the same way against unmodified headers.

  • Configurations/Base.xcconfig:
  • Configurations/CopyWTFHeaders.xcconfig:
  • WTF.xcodeproj/project.pbxproj:
  • icu/unicode/alphaindex.h: Added.
  • icu/unicode/appendable.h: Added.
  • icu/unicode/basictz.h: Added.
  • icu/unicode/brkiter.h: Added.

(BreakIterator::isBufferClone):

  • icu/unicode/bytestrie.h: Added.
  • icu/unicode/bytestriebuilder.h: Added.
  • icu/unicode/calendar.h: Added.

(Calendar::createInstance):
(Calendar::roll):
(Calendar::internalSet):
(Calendar::weekNumber):

  • icu/unicode/caniter.h: Added.
  • icu/unicode/chariter.h: Renamed from Source/WebCore/icu/unicode/chariter.h.
  • icu/unicode/choicfmt.h: Added.
  • icu/unicode/coleitr.h: Added.

(CollationElementIterator::primaryOrder):
(CollationElementIterator::secondaryOrder):
(CollationElementIterator::tertiaryOrder):
(CollationElementIterator::isIgnorable):

  • icu/unicode/coll.h: Added.
  • icu/unicode/compactdecimalformat.h: Added.
  • icu/unicode/curramt.h: Added.

(CurrencyAmount::getCurrency):
(CurrencyAmount::getISOCurrency):

  • icu/unicode/currpinf.h: Added.

(CurrencyPluralInfo::operator!=):

  • icu/unicode/currunit.h: Added.

(CurrencyUnit::getISOCurrency):

  • icu/unicode/datefmt.h: Added.
  • icu/unicode/dbbi.h: Added.
  • icu/unicode/dcfmtsym.h: Added.

(DecimalFormatSymbols::getSymbol):
(DecimalFormatSymbols::getConstSymbol):
(DecimalFormatSymbols::setSymbol):
(DecimalFormatSymbols::getLocale):
(DecimalFormatSymbols::getCurrencyPattern):

  • icu/unicode/decimfmt.h: Added.

(DecimalFormat::getConstSymbol):

  • icu/unicode/docmain.h: Added.
  • icu/unicode/dtfmtsym.h: Added.
  • icu/unicode/dtintrv.h: Added.

(DateInterval::getFromDate):
(DateInterval::getToDate):
(DateInterval::operator!=):

  • icu/unicode/dtitvfmt.h: Added.

(DateIntervalFormat::operator!=):

  • icu/unicode/dtitvinf.h: Added.

(DateIntervalInfo::operator!=):

  • icu/unicode/dtptngen.h: Added.
  • icu/unicode/dtrule.h: Added.
  • icu/unicode/enumset.h: Added.

(EnumSet::EnumSet):
(EnumSet::~EnumSet):
(EnumSet::clear):
(EnumSet::add):
(EnumSet::remove):
(EnumSet::contains):
(EnumSet::set):
(EnumSet::get):
(EnumSet::isValidEnum):
(EnumSet::isValidValue):
(EnumSet::operator=):
(EnumSet::getAll):
(EnumSet::flag):

  • icu/unicode/errorcode.h: Added.
  • icu/unicode/fieldpos.h: Added.

(FieldPosition::operator=):
(FieldPosition::operator==):
(FieldPosition::operator!=):

  • icu/unicode/filteredbrk.h: Added.
  • icu/unicode/fmtable.h: Added.

(Formattable::getDate):
(Formattable::getString):
(Formattable::getLong):
(Formattable::toUFormattable):
(Formattable::fromUFormattable):

  • icu/unicode/format.h: Added.
  • icu/unicode/fpositer.h: Added.
  • icu/unicode/gender.h: Added.
  • icu/unicode/gregocal.h: Added.
  • icu/unicode/icudataver.h: Added.
  • icu/unicode/icuplug.h: Added.
  • icu/unicode/idna.h: Added.
  • icu/unicode/listformatter.h: Added.

(ListFormatData::ListFormatData):

  • icu/unicode/locdspnm.h: Added.

(LocaleDisplayNames::createInstance):

  • icu/unicode/locid.h: Added.

(Locale::operator!=):
(Locale::getCountry):
(Locale::getLanguage):
(Locale::getScript):
(Locale::getVariant):
(Locale::getName):
(Locale::isBogus):

  • icu/unicode/measfmt.h: Added.
  • icu/unicode/measunit.h: Added.
  • icu/unicode/measure.h: Added.

(Measure::getNumber):
(Measure::getUnit):

  • icu/unicode/messagepattern.h: Added.
  • icu/unicode/msgfmt.h: Added.
  • icu/unicode/normalizer2.h: Added.
  • icu/unicode/normlzr.h: Added.

(Normalizer::operator!= ):
(Normalizer::quickCheck):
(Normalizer::isNormalized):
(Normalizer::compare):

  • icu/unicode/numfmt.h: Added.

(NumberFormat::isParseIntegerOnly):
(NumberFormat::isLenient):

  • icu/unicode/numsys.h: Added.
  • icu/unicode/parsepos.h: Added.

(ParsePosition::operator=):
(ParsePosition::operator==):
(ParsePosition::operator!=):
(ParsePosition::getIndex):
(ParsePosition::setIndex):
(ParsePosition::getErrorIndex):
(ParsePosition::setErrorIndex):

  • icu/unicode/plurfmt.h: Added.
  • icu/unicode/plurrule.h: Added.
  • icu/unicode/rbbi.h: Added.

(RuleBasedBreakIterator::operator!=):

  • icu/unicode/rbnf.h: Added.

(RuleBasedNumberFormat::isLenient):
(RuleBasedNumberFormat::getDefaultRuleSet):

  • icu/unicode/rbtz.h: Added.
  • icu/unicode/regex.h: Added.
  • icu/unicode/region.h: Added.
  • icu/unicode/reldatefmt.h: Added.
  • icu/unicode/resbund.h: Added.
  • icu/unicode/schriter.h: Added.
  • icu/unicode/scientificnumberformatter.h: Added.
  • icu/unicode/search.h: Added.

(SearchIterator::operator!=):

  • icu/unicode/selfmt.h: Added.
  • icu/unicode/simpletz.h: Added.

(SimpleTimeZone::setStartRule):
(SimpleTimeZone::setEndRule):
(SimpleTimeZone::getOffset):

  • icu/unicode/smpdtfmt.h: Added.

(SimpleDateFormat::get2DigitYearStart):

  • icu/unicode/sortkey.h: Added.

(CollationKey::operator!=):
(CollationKey::isBogus):
(CollationKey::getByteArray):

  • icu/unicode/stringtriebuilder.h: Added.
  • icu/unicode/stsearch.h: Added.
  • icu/unicode/symtable.h: Added.
  • icu/unicode/tblcoll.h: Added.
  • icu/unicode/timezone.h: Added.

(TimeZone::getID):
(TimeZone::setID):

  • icu/unicode/tmunit.h: Added.
  • icu/unicode/tmutamt.h: Added.

(TimeUnitAmount::operator!=):

  • icu/unicode/tmutfmt.h: Added.

(TimeUnitFormat::operator!=):

  • icu/unicode/translit.h: Added.

(Transliterator::getMaximumContextLength):
(Transliterator::setID):
(Transliterator::integerToken):
(Transliterator::pointerToken):

  • icu/unicode/tzfmt.h: Added.
  • icu/unicode/tznames.h: Added.
  • icu/unicode/tzrule.h: Added.
  • icu/unicode/tztrans.h: Added.
  • icu/unicode/ubidi.h: Added.
  • icu/unicode/ucal.h: Renamed from Source/JavaScriptCore/icu/unicode/ucal.h.
  • icu/unicode/ucasemap.h: Added.
  • icu/unicode/ucat.h: Added.
  • icu/unicode/ucharstrie.h: Added.
  • icu/unicode/ucharstriebuilder.h: Added.
  • icu/unicode/uchriter.h: Added.
  • icu/unicode/uclean.h: Added.
  • icu/unicode/ucnv_cb.h: Renamed from Source/WebCore/icu/unicode/ucnv_cb.h.
  • icu/unicode/ucnvsel.h: Added.
  • icu/unicode/ucoleitr.h: Renamed from Source/WebCore/icu/unicode/ucoleitr.h.
  • icu/unicode/uconfig.h:
  • icu/unicode/ucsdet.h: Renamed from Source/WebCore/icu/unicode/ucsdet.h.
  • icu/unicode/udat.h: Renamed from Source/JavaScriptCore/icu/unicode/udat.h.
  • icu/unicode/udata.h: Added.
  • icu/unicode/udateintervalformat.h: Added.
  • icu/unicode/udatpg.h: Renamed from Source/JavaScriptCore/icu/unicode/udatpg.h.
  • icu/unicode/udisplaycontext.h: Renamed from Source/JavaScriptCore/icu/unicode/udisplaycontext.h.
  • icu/unicode/ufieldpositer.h: Renamed from Source/JavaScriptCore/icu/unicode/ufieldpositer.h.
  • icu/unicode/uformattable.h: Renamed from Source/JavaScriptCore/icu/unicode/uformattable.h.
  • icu/unicode/ugender.h: Added.
  • icu/unicode/uidna.h: Renamed from Source/WebCore/icu/unicode/uidna.h.
  • icu/unicode/uldnames.h: Added.
  • icu/unicode/ulistformatter.h: Added.
  • icu/unicode/ulocdata.h: Added.
  • icu/unicode/umisc.h: Renamed from Source/JavaScriptCore/icu/unicode/umisc.h.
  • icu/unicode/umsg.h: Added.
  • icu/unicode/unifilt.h: Added.
  • icu/unicode/unifunct.h: Added.
  • icu/unicode/unimatch.h: Added.
  • icu/unicode/unirepl.h: Added.
  • icu/unicode/uniset.h: Added.

(UnicodeSet::operator!=):
(UnicodeSet::isFrozen):
(UnicodeSet::containsSome):
(UnicodeSet::isBogus):
(UnicodeSet::fromUSet):
(UnicodeSet::toUSet):
(UnicodeSet::span):
(UnicodeSet::spanBack):

  • icu/unicode/unum.h: Renamed from Source/JavaScriptCore/icu/unicode/unum.h.
  • icu/unicode/unumsys.h: Renamed from Source/JavaScriptCore/icu/unicode/unumsys.h.
  • icu/unicode/upluralrules.h: Added.
  • icu/unicode/uregex.h: Added.
  • icu/unicode/uregion.h: Added.
  • icu/unicode/urep.h: Added.
  • icu/unicode/ures.h: Added.

(ures_getUnicodeString):
(ures_getNextUnicodeString):
(ures_getUnicodeStringByIndex):
(ures_getUnicodeStringByKey):

  • icu/unicode/usearch.h: Renamed from Source/WebCore/icu/unicode/usearch.h.
  • icu/unicode/usetiter.h: Added.

(UnicodeSetIterator::isString):
(UnicodeSetIterator::getCodepoint):
(UnicodeSetIterator::getCodepointEnd):

  • icu/unicode/ushape.h: Renamed from Source/WebCore/icu/unicode/ushape.h.
  • icu/unicode/uspoof.h: Added.
  • icu/unicode/usprep.h: Added.
  • icu/unicode/ustdio.h: Added.
  • icu/unicode/ustream.h: Added.
  • icu/unicode/ustringtrie.h: Added.
  • icu/unicode/utf32.h: Added.
  • icu/unicode/utmscale.h: Added.
  • icu/unicode/utrace.h: Added.
  • icu/unicode/utrans.h: Added.
  • icu/unicode/utypes.h:
  • icu/unicode/vtzone.h: Added.

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
1:41 PM Changeset in webkit [219154] by Chris Dumez
  • 7 edits
    1 add in trunk

Regression(r218821): Bad cast to WebKit::DiagnosticLoggingClient in WKWebView's _setDiagnosticLoggingDelegate
https://bugs.webkit.org/show_bug.cgi?id=174163
<rdar://problem/33067518>

Reviewed by Alex Christensen.

Source/WebKit2:

After r218821, WebPageProxy::setDiagnosticLoggingClient() would no longer set the client in
private session. This is an issue because there is code in WKWebView which expects the
DiagnosticLoggingClient to be set and of a specific type. This would lead to bad casts in
WKWebView's _diagnosticLoggingDelegate / _setDiagnosticLoggingDelegate.

To avoid the issue, we now unconditionally update the client in
WebPageProxy::setDiagnosticLoggingClient(). Instead, we implement the logic for disabling
logging in private session in the logging methods themselves, via the
WebPageProxy::effectiveDiagnosticLoggingClient() helper instead.

I also added null checks in WKWebView's _diagnosticLoggingDelegate /
_setDiagnosticLoggingDelegate. Even though the WKWebView sets itself as the diagnostic
logging client, WebPageProxy::diagnosticLoggingClient() can still return null after
calling WebPageProxy::close(). Previously, we would have done a bad cast if the WKWebView's
client would have used this API after calling 'close' as well.

  • UIProcess/API/APIDiagnosticLoggingClient.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _diagnosticLoggingDelegate]):
(-[WKWebView _setDiagnosticLoggingDelegate:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setDiagnosticLoggingClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::effectiveDiagnosticLoggingClient):
(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):
(WebKit::WebPageProxy::logDiagnosticMessageWithEnhancedPrivacy):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::diagnosticLoggingClient):

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDiagnosticLogging.mm: Added.

(TEST):

1:32 PM Changeset in webkit [219153] by wenson_hsieh@apple.com
  • 5 edits
    1 add in trunk

When dragging a selection, clearing the selection in dragstart should not crash the web process
https://bugs.webkit.org/show_bug.cgi?id=174142
<rdar://problem/33067501>

Reviewed by Tim Horton.

Source/WebCore:

Currenly, if the page clears the current selection after dragging starts on selected content, the web process
will crash while attempting to write pasteboard data for a nonexistent selection. This patch adds a trivial
check for this case, bailing if no DHTML dragging data was specified by the page during a selection drag and the
selection has been cleared.

Also removes some unused code for estimating the bounds of the current selection. On iOS, dragging was actually
crashing earlier, in this codepath. However, this information isn't even used anymore, since the drag anchor
point is no longer necessary on iOS.

Test: DataInteractionTests.DoNotCrashWhenSelectionIsClearedInDragStart

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

Tools:

Adds a unit test checking that the web process does not crash when the selection is cleared while a selection
drag is starting up.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-clear-selection.html: Added.
  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(TestWebKitAPI::TEST):

1:27 PM Changeset in webkit [219152] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Try to fix iOS 10.3 public SDK builds.

  • platform/spi/cocoa/IOSurfaceSPI.h:
1:21 PM Changeset in webkit [219151] by Alan Bujtas
  • 8 edits in trunk

REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
https://bugs.webkit.org/show_bug.cgi?id=174070
LayoutTests/imported/w3c:

Reviewed by Simon Fraser.

  • web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt:

Source/WebCore:

<rdar://problem/32940653>

Reviewed by Simon Fraser.

Decouple in- and out-of-flow computed position values. Now we match blink's implementation on
in-flow values.
This also fixes the flickering content while scrolling on hbr.org.

Covered by existing test cases.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::positionOffsetValue):

LayoutTests:

Reviewed by Simon Fraser.

  • fast/css/getComputedStyle/computed-style-expected.txt:
1:13 PM Changeset in webkit [219150] by Devin Rousso
  • 13 edits
    8 adds in trunk

Web Inspector: Allow users to log any tracked canvas context
https://bugs.webkit.org/show_bug.cgi?id=173397
<rdar://problem/33111581>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/protocol/Canvas.json:

Add resolveCanvasContext command that returns a RemoteObject for the given canvas context.

Source/WebCore:

Tests: inspector/canvas/resolveCanvasContext-2d.html

inspector/canvas/resolveCanvasContext-webgl.html
inspector/canvas/resolveCanvasContext-webgl2.html
inspector/canvas/resolveCanvasContext-webgpu.html

  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::contextAsScriptValue):
(WebCore::InspectorCanvasAgent::resolveCanvasContext):

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.resolveCanvasContext):

  • UserInterface/Views/CanvasTreeElement.js:

(WebInspector.CanvasTreeElement.prototype.populateContextMenu):

LayoutTests:

  • inspector/canvas/resolveCanvasContext-2d-expected.txt: Added.
  • inspector/canvas/resolveCanvasContext-2d.html: Added.
  • inspector/canvas/resolveCanvasContext-webgl-expected.txt: Added.
  • inspector/canvas/resolveCanvasContext-webgl.html: Added.
  • inspector/canvas/resolveCanvasContext-webgl2-expected.txt: Added.
  • inspector/canvas/resolveCanvasContext-webgl2.html: Added.
  • inspector/canvas/resolveCanvasContext-webgpu-expected.txt: Added.
  • inspector/canvas/resolveCanvasContext-webgpu.html: Added.
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/win/TestExpectations:
1:10 PM Changeset in webkit [219149] by dbates@webkit.org
  • 4 edits in trunk

Do not pass API::FrameInfo for source frame or clear out page of target frame on
API navigation
https://bugs.webkit.org/show_bug.cgi?id=174170
<rdar://problem/33140328>

Reviewed by Brady Eidson.

Source/WebKit2:

As a step towards making it straightforward for an embedding client to determine whether
a WebPageProxy::decidePolicyForNavigationAction() callback was initiated from API we
should not pass frame info for the source frame and should not nullify the page pointer
in the target frame info.

Currently we always pass frame info for the source frame and nullify the page pointer
in both the source frame info and target frame info if the navigation was initiated from
API. This seems subtle and error prone. Instead we should not pass frame info for
the source frame and not nullify the page pointer in the target frame info as a step
towards making using this API less error-prone.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):

Tools:

Update tests as needed for the behavior change.

  • TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm:

(TEST):

1:07 PM Changeset in webkit [219148] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Add a few more WebKit2 owners
https://bugs.webkit.org/show_bug.cgi?id=174169

Reviewed by Brady Eidson.

  • Owners:
12:58 PM Changeset in webkit [219147] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Style sharing check for fullscreen element seems bogus.
https://bugs.webkit.org/show_bug.cgi?id=160196

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-07-05
Reviewed by Antti Koivisto.

No new tests (no easy way to test this reliably).

  • style/StyleSharingResolver.cpp:

(WebCore::Style::SharingResolver::canShareStyleWithElement):

12:56 PM Changeset in webkit [219146] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Add a logging channel for IOSurface allocations
https://bugs.webkit.org/show_bug.cgi?id=174167

Reviewed by Tim Horton.

Add an "IOSurface" log channel, make IOSurface TextStream-loggable, and log cached
and new IOSurface allocations. Do some namespace-related cleanup.

  • platform/Logging.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::WebCore::IOSurface::create):
(WebCore::WebCore::IOSurface::surfaceID):
(WebCore::operator<<):

12:53 PM Changeset in webkit [219145] by Antti Koivisto
  • 12 edits in trunk

Low memory notification shouldn't cause style recalc
https://bugs.webkit.org/show_bug.cgi?id=173574
<rdar://problem/32616997>

Reviewed by Andreas Kling.

Source/WebCore:

Patch mostly by Myles.

When we receive a low memory warning, we clear the style resolver. Previously, we were using
this as an opportunity to also purge the CSSFontSelector. However, purging the font selector
is wasteful, since the exact same set of CSSFontFace objects will be recreated as soon as the
CSSFontSelector is recreated. It's also harmful because this purge operation causes fonts to
be removed from the document's working set, and therefore triggers a relayout. Instead, this
call should be softened to only delete any transitory caches the CSSFontSelector owns.

We can simply delay the rebuild of the CSSFontSelector to
StyleResolver::appendAuthorStyleSheets(), when it's really needed. This way, we can sidestep
this whole problem.

There's also an added benefit: Now, buildStarted() doesn't have to be idempotent, so we can
enforce a stricter calling sequence with ASSERT()s.

  • css/CSSFontFaceSet.cpp:

(WebCore::CSSFontFaceSet::emptyCaches):

  • css/CSSFontFaceSet.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::emptyCaches):

Add a separate function to clear font selector caches.

(WebCore::CSSFontSelector::buildStarted):
(WebCore::CSSFontSelector::buildCompleted):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::fontModified):

No need to invalidate while building.

(WebCore::CSSFontSelector::fontRangesForFamily):

  • css/CSSFontSelector.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addCurrentSVGFontFaceRules):

Factor into a function from the constructor.

(WebCore::StyleResolver::appendAuthorStyleSheets):

Font selector build is now started and finished by StyleScope.

  • css/StyleResolver.h:
  • dom/Document.cpp:

(WebCore::Document::resolveStyle):

Call FrameView::styleDidChange() to update any custom scrollbars.
This bug was hidden by spurious style recalcs, tested by fast/css/scrollbar-dynamic-style-change.html

(WebCore::Document::userAgentShadowTreeStyleResolver):
(WebCore::Document::didClearStyleResolver):

Don't start the font selector rebuild after clearing the resolver. It would cause style recalc trashing.
Instead the build starts when the new resolver is constructed.

  • page/MemoryRelease.cpp:

(WebCore::releaseCriticalMemory):

Release font selector caches.

  • style/StyleScope.cpp:

(WebCore::Style::Scope::resolver):

LayoutTests:

  • platform/mac/printing/width-overflow-expected.txt:

1px width change that doesn't affect what is being tested.

12:05 PM Changeset in webkit [219144] by Brent Fulgham
  • 5 edits in trunk/Source

[WK2] Prevent ResourceLoadStatistics from triggering a cascade of read/write events
https://bugs.webkit.org/show_bug.cgi?id=174062\
<rdar://problem/33086744>

Reviewed by Chris Dumez.

Source/WebCore:

Treat DISPATCH_VNODE_DELETE, DISPATCH_VNODE_RENAME, and DISPATCH_VNODE_REVOKE as equivalent
"file is unavailable" events, and act as though the file was deleted. Don't listen for
DISPATCH_VNODE_EXTEND, since we always get a DISPATCH_VNODE_WRITE as well, and we only
want to read once.

Finally, add some logging to support future investigations.

  • platform/FileMonitor.h:

(WebCore::FileMonitor::platformMonitor): Expose dispatch_source_t for logging purposes.

  • platform/cocoa/FileMonitorCocoa.mm:

(WebCore::FileMonitor::startMonitoring): Add logging.
(WebCore::FileMonitor::stopMonitoring): Ditto.

Source/WebKit2:

ResourceLoadStatistics was triggering periods of high CPU use due to a cascade of read/write
operations:
(1) The 'makeRefPtr' call in FileMonitor::startMonitoring was capturing a reference to itself, preventing

the FileMonitor from being destroyed. This caused the file modification handler to fire in response
to our own write events, creating a ridiculous read/write cycle. This problem was addressed in
the short term by stopping the file monitor in WebResourceLoadStatisticsStore::stopMonitoringStatisticsStorage,
rather than relying on the destructor to shut things down. This will be improved in a
subsequent patch.

(2) 'syncWithExistingStatisticsStorageIfNeeded' was creating a FileMonitor during the write operation,

which exacerbated the chain of read/writes already present due to the self-reference described above.

(3) Because VNODE dispatch sources are low level, they do not offer a means of filtering out operations

triggered by the current process. To avoid this, I added code to track the file modification time, so
that we don't bother reading a file that holds data that is older than the in-memory data, even though
we receive a file modification dispatch. Writes seem to trigger a chain of notification events in rapid
succession. Once we've responded to the first of these events, we don't need to to further reads until
the data on disk changes again.

We also shouldn't allow the ResourceLoadStatistics worker thread to consume high CPU resources. Run it
as utility QoS, avoiding using the CPU when other work is going on.

Drive-by fix: The closure in setWritePersistentStoreCallback() should stop monitoring before writing
data, and should start monitoring after the write completes.

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): Run our worker queue
as a utility-level process.
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): Stop checking for
updates before writing, and begin checking again once the write is complete.
(WebKit::WebResourceLoadStatisticsStore::statisticsFileModificationTime): Added.
(WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): Avoid reading the file if it
was last modified on (or before) the time we last read the file.
(WebKit::WebResourceLoadStatisticsStore::refreshFromDisk): Ditto.
(WebKit::WebResourceLoadStatisticsStore::stopMonitoringStatisticsStorage): Explicitly stop file
monitoring so that the active file modification handler will terminate.
(WebKit::WebResourceLoadStatisticsStore::syncWithExistingStatisticsStorageIfNeeded): Do not begin
monitoring the file after syncing, since this is only used as part of an ongoing write operation.

11:40 AM Changeset in webkit [219143] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

11:36 AM Changeset in webkit [219142] by Jonathan Bedard
  • 1 edit
    80 adds in trunk/LayoutTests

Move internal iOS 11 TestExpectations to OpenSource
<rdar://problem/32717028>

Unreviewed test gardening.

  • platform/ios-11: Added.
11:31 AM Changeset in webkit [219141] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.29

Tag Safari-604.1.29.

11:14 AM Changeset in webkit [219140] by Jonathan Bedard
  • 20 edits
    5 copies
    6 adds in trunk

Add WebKitPrivateFrameworkStubs for iOS 11
https://bugs.webkit.org/show_bug.cgi?id=173988

Reviewed by David Kilzer.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: iphoneos and iphonesimulator should use the

same directory for private framework stubs.

Source/WebCore:

  • Configurations/WebCore.xcconfig: iphoneos and iphonesimulator should use the

same directory for private framework stubs.

Source/WebCore/PAL:

  • Configurations/PAL.xcconfig: iphoneos and iphonesimulator should use the

same directory for private framework stubs.

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig: iphoneos and iphonesimulator should

use the same directory for private framework stubs.

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig: iphoneos and iphonesimulator should use the

same directory for private framework stubs.

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig: iphoneos and iphonesimulator

should use the same directory for private framework stubs.

  • WebKitTestRunner/Configurations/Base.xcconfig: Ditto.

WebKitLibraries:

  • WebKitPrivateFrameworkStubs/iOS/9: Add Mac architecture for Simulator.
  • WebKitPrivateFrameworkStubs/iOS/10: Ditto..
  • WebKitPrivateFrameworkStubs/iOS/11: Added.
11:08 AM Changeset in webkit [219139] by aestes@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS] WKActionSheetAssistants can outlive their host views
https://bugs.webkit.org/show_bug.cgi?id=174160
<rdar://problem/20638607>

Reviewed by Tim Horton.

WKActionSheetAssistant keeps a raw pointer to its host UIView, and nothing clears it when
the host view is deallocated. If the assistant outlives the view, we can end up accessing a
pointer to a deallocated UIView and crashing.

I don't know how to reproduce such a crash, but this patch guards against it by doing the
following:

  1. Make _view a WeakObjCPtr in WKActionSheetAssistant to ensure it gets set to nil when the UIView is deallocated.
  2. Call -[WKActionSheetAssistant cleanupSheet] when a WKContentView or WKPDFView is deallocated, or when the Web process crashes. This will ensure the action sheet is dismissed and prevent the user from tapping on an action that's no longer valid.
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant superviewForSheet]):
(-[WKActionSheetAssistant _presentationRectForSheetGivenPoint:inHostView:]):
(-[WKActionSheetAssistant presentationRectForElementUsingClosestIndicatedRect]):
(-[WKActionSheetAssistant presentationRectForIndicatedElement]):
(-[WKActionSheetAssistant _shouldPresentAtTouchLocationForElementRect:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView dealloc]):

11:01 AM Changeset in webkit [219138] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Don't resolve an extra computed style for getComputedStyle in a display: none subtree.
https://bugs.webkit.org/show_bug.cgi?id=174145

Before this, we were also resolving the first ancestor's style as
inheriting from itself, which felt pretty wrong (though I think it's
not observable).

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-07-05
Reviewed by Antti Koivisto.

No new tests (non-observable behavior).

  • dom/Element.cpp:

(WebCore::Element::resolveComputedStyle):

10:56 AM Changeset in webkit [219137] by fred.wang@free.fr
  • 13 edits in trunk/Source

Move ScrolledContentsLayer property to ScrollingStateScrollingNode
https://bugs.webkit.org/show_bug.cgi?id=174134

Patch by Frederic Wang <fwang@igalia.com> on 2017-07-05
Reviewed by Simon Fraser.

Source/WebCore:

ScrollingStateFrameScrollingNode and ScrollingStateOverflowScrollingNode both use a
ScrolledContentsLayer property for the same purpose. This commit moves that property into
their parent class ScrollingStateScrollingNode, so that more code is shared between the two
classes. This will also help the refactoring in bug 174130.

No new tests, only dumped tree may change a bit.

  • page/scrolling/ScrollingStateFrameScrollingNode.cpp: Remove scrolled contents layer.

(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties):
(WebCore::ScrollingStateFrameScrollingNode::setScrolledContentsLayer): Deleted.

  • page/scrolling/ScrollingStateFrameScrollingNode.h: Ditto.
  • page/scrolling/ScrollingStateOverflowScrollingNode.cpp: Ditto.

(WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollingNode::dumpProperties):
(WebCore::ScrollingStateOverflowScrollingNode::setScrolledContentsLayer): Deleted.

  • page/scrolling/ScrollingStateOverflowScrollingNode.h: Ditto.

(): Deleted.
(WebCore::ScrollingStateOverflowScrollingNode::scrolledContentsLayer): Deleted.

  • page/scrolling/ScrollingStateScrollingNode.cpp: Add scrolled contents layer.

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateScrollingNode::dumpProperties): Use the label from the overflow class
which is different from the frame class. The dumping order may change a bit too.

  • page/scrolling/ScrollingStateScrollingNode.h: Add ScrolledContentsLayer to the enum and

scrolled contents layer.
(WebCore::ScrollingStateScrollingNode::scrolledContentsLayer):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren): Adjust enum value
to use ScrollingStateScrollingNode::ScrolledContentsLayer.

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode): Add encoding for scrolled contents
layer.
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode): Remove encoding for scrolled
contents layer.
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::encode): Ditto.
(ArgumentCoder<ScrollingStateScrollingNode>::decode): Add decoding for scrolled contents
layer.
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode): Remove decoding for scrolled
contents layer.
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::decode): Ditto.
(WebKit::dump): Move dumping of scrolled contents layer from overflow/frame nodes to
scrolling node.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Adjust enum value to use
ScrollingStateScrollingNode::ScrolledContentsLayer.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::commitStateBeforeChildren): Ditto.

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto.

10:43 AM Changeset in webkit [219136] by adachan@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix crash in UIKit: +[UIViewController _viewControllerForFullScreenPresentationFromView:]
https://bugs.webkit.org/show_bug.cgi?id=174143
<rdar://problem/28384582>

Reviewed by Wenson Hsieh.

In -[WKActionSheet willRotate], we can't guarantee that the action sheet belongs
in a window, and passing nil to +[UIViewController _viewControllerForFullScreenPresentationFromView:]
throws an exception. To fix this, bail early if the result from -hostViewForSheet is nil.

  • UIProcess/ios/WKActionSheet.mm:

(-[WKActionSheet willRotate]):

10:41 AM Changeset in webkit [219135] by eric.carlson@apple.com
  • 4 edits
    1 add in trunk

[MediaStream] Protect request and web view during gUM client callback
https://bugs.webkit.org/show_bug.cgi?id=174096
<rdar://problem/32833102>

Reviewed by Youenn Fablet.

Source/WebKit2:

Retain the message and WebView during asynchronous calls so they won't be
released if a navigation happens during a call to the UA for getUserMedia
or enumerateMediaDevices.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::requestUserMediaAuthorizationForDevices):
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: New test.
9:51 AM Changeset in webkit [219134] by jfbastien@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

WebAssembly: implement name section's module name, skip unknown sections
https://bugs.webkit.org/show_bug.cgi?id=172008

Reviewed by Keith Miller.

Parse the WebAssembly module name properly, and skip unknown
sections. This is useful because as toolchains support new types
of names we want to keep displaying the information we know about
and simply ignore new information. That capability was designed
into WebAssembly's name section.

Failure to commit this patch would mean that WebKit won't display
stack trace information, which would make developers sad.

Module names were added here: https://github.com/WebAssembly/design/pull/1055

Note that this patch doesn't do anything with the parsed name! Two
reasons for this: module names aren't supported in binaryen yet,
so I can't write a simple binary test; and using the name is a
slightly riskier change because it requires changing StackVisitor
+ StackFrame (where they print "[wasm code]") which requires
figuring out the frame's Module. The latter bit isn't trivial
because we only know wasm frames from their tag bits, and
CodeBlocks are always nullptr.

Binaryen bug: https://github.com/WebAssembly/binaryen/issues/1010

I filed #174098 to use the module name.

  • wasm/WasmFormat.h:

(JSC::Wasm::isValidNameType):

  • wasm/WasmNameSectionParser.cpp:
9:40 AM Changeset in webkit [219133] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Adjusted test expectations for tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html.
https://bugs.webkit.org/show_bug.cgi?id=168937

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:35 AM Changeset in webkit [219132] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Incorrect IfModule on Fedora with with PHP 7
https://bugs.webkit.org/show_bug.cgi?id=174159

Patch by Charlie Turner <cturner@igalia.com> on 2017-07-05
Reviewed by Michael Catanzaro.

  • http/conf/fedora-httpd-2.4-php7.conf:
9:17 AM Changeset in webkit [219131] by wenson_hsieh@apple.com
  • 2 edits in trunk/Tools

Unreviewed, guard iOS 11-dependent UIPasteboardTests to be iOS 11+ only

  • TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
9:11 AM Changeset in webkit [219130] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

ProcessingInstruction::clearExistingCachedSheet doesn't really exist.
https://bugs.webkit.org/show_bug.cgi?id=174146

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-07-05
Reviewed by Chris Dumez.

No new tests (no functionality change).

  • dom/ProcessingInstruction.h: Remove dead declaration.
9:07 AM Changeset in webkit [219129] by Matt Lewis
  • 11 edits in trunk

Unreviewed, rolling out r219128.

Spoke with engineer who originally submitted, Patch for APi
test to follow.

Reverted changeset:

"Unreviewed, rolling out r219070."
https://bugs.webkit.org/show_bug.cgi?id=174082
http://trac.webkit.org/changeset/219128

8:59 AM Changeset in webkit [219128] by Matt Lewis
  • 11 edits in trunk

Unreviewed, rolling out r219070.

This revision caused consistent failures of the API test
UIPasteboardTests.DoNotPastePlainTextAsURL on iOS.

Reverted changeset:

"Pasting single words copied to UIPasteboard inserts URLs in
editable areas"
https://bugs.webkit.org/show_bug.cgi?id=174082
http://trac.webkit.org/changeset/219070

8:53 AM Changeset in webkit [219127] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Receiving tracks should be ended when peer connection is being closed
https://bugs.webkit.org/show_bug.cgi?id=174109

Patch by Youenn Fablet <youenn@apple.com> on 2017-07-05
Reviewed by Eric Carlson.

Source/WebCore:

Test: webrtc/peer-connection-track-end.html

As per https://www.w3.org/TR/webrtc/#dom-rtcpeerconnection-close, tracks should be ended when peer connection is closed.
Also updating transceiver stopped state.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::doClose):

  • Modules/mediastream/RTCRtpReceiver.cpp:

(WebCore::RTCRtpReceiver::stop):

  • Modules/mediastream/RTCRtpReceiver.h:

LayoutTests:

  • webrtc/peer-connection-track-end-expected.txt: Added.
  • webrtc/peer-connection-track-end.html: Added.
7:05 AM Changeset in webkit [219126] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GLib] Incorrect <glib/gi18n.h> include in WebKitWebsiteData
https://bugs.webkit.org/show_bug.cgi?id=174093

Reviewed by Michael Catanzaro.

  • UIProcess/API/glib/WebKitWebsiteData.cpp: Include <glib/gi18n-lib.h>

rather than <glib/gi18n.h>, since the former has to be included in a
library while the latter should only be included in a standalone application.

Jul 4, 2017:

9:44 PM Changeset in webkit [219125] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

Unreviewed, review follow-up after r218961

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::updateFromSettings):

5:59 PM Changeset in webkit [219124] by Yusuke Suzuki
  • 4 edits in trunk/Source/WTF

[WTF] Make double-conversion's cache data constant and drop double_conversion::initialize()
https://bugs.webkit.org/show_bug.cgi?id=174124

Reviewed by Saam Barati.

We annotate double-conversion's cache data as const and constexpr. And move it out of function.
Since they are not involving global constructors, they are compiled as rodata and initialized
without calling double_conversion::initialize().

And we drop double_conversion::initialize() function since it is no longer necessary.

  • wtf/Threading.cpp:

(WTF::initializeThreading):

  • wtf/dtoa/cached-powers.cc:
  • wtf/dtoa/cached-powers.h:
3:07 PM Changeset in webkit [219123] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

RenderThemeCocoa::mediaControlsFormattedStringForDuration is leaking NSDateComponentsFormatters
https://bugs.webkit.org/show_bug.cgi?id=174138

Reviewed by Ryosuke Niwa.

Saw a random spin here during media playback. Looks like we are leaking.

  • rendering/RenderThemeCocoa.h:
  • rendering/RenderThemeCocoa.mm:

(WebCore::RenderThemeCocoa::mediaControlsFormattedStringForDuration):

Reuse NSDateComponentsFormatter.

2:53 PM BugsWebKitOrgImprovements edited by Michael Catanzaro
CC reviews on bugs when leaving a review (diff)
2:34 PM BugsWebKitOrgImprovements edited by sam@webkit.org
(diff)
1:14 PM Changeset in webkit [219122] by Michael Catanzaro
  • 1 edit
    2 deletes in trunk/Tools

Remove unused EFL logo from bot watcher dashboard
https://bugs.webkit.org/show_bug.cgi?id=174136

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL.png: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL@2x.png: Removed.
10:58 AM Changeset in webkit [219121] by Antti Koivisto
  • 6 edits in trunk

FrameView should not set RenderView::logicalWidth directly for printing
https://bugs.webkit.org/show_bug.cgi?id=174135

Reviewed by Zalan Bujtas.

Source/WebCore:

Renderer logicalWidth should be set by layout. Direct override by RenderView when printing means
that we don't layout children in all cases when the width changes. This is currently mostly hidden
by spurious layouts but causes problems when trying to fix other things that reduces those.

  • page/FrameView.cpp:

(WebCore::FrameView::forceLayoutForPagination):

Instead of calling setLogicalWidth directly call the new setPageLogicalSize that sets both the width
and the height uniformly.

  • rendering/RenderView.cpp:

(WebCore::RenderView::updateLogicalWidth):

Use pageLogicalSize->width() in printing state instead of skipping the logical width update entirely.
This ensures that the layout will progress to children when the page logical width changes.

(WebCore::RenderView::initializeLayoutState):
(WebCore::RenderView::layout):
(WebCore::RenderView::pageOrViewLogicalHeight):
(WebCore::RenderView::setPageLogicalSize):

  • rendering/RenderView.h:

Replace the existing m_pageLogicalHeight with std::optional m_pageLogicalSize.

LayoutTests:

  • platform/mac/printing/width-overflow-expected.txt:

This is a progression, view and root element sizes now match.
Printing output is not affected.

10:51 AM Changeset in webkit [219120] by Michael Catanzaro
  • 3 edits in trunk/Tools

[GTK] Add more GTK bots to dashboard
https://bugs.webkit.org/show_bug.cgi?id=174129

Reviewed by Carlos Alberto Lopez Perez.

We have a bunch of GTK bots that I never look at because they're not on the dashboard. Add
them.

This also changes the sort order to put WPE above GTK so that it's not buried under all the
less-essential GTK bots.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

10:43 AM Changeset in webkit [219119] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

[WTF] Initialize srandom and srand with cryptographically random number
https://bugs.webkit.org/show_bug.cgi?id=174123

Reviewed by Mark Lam.

Use cryptographically random number instead of current time as a seed.

  • wtf/RandomNumberSeed.h:

(WTF::initializeRandomNumberGenerator):

7:02 AM Changeset in webkit [219118] by Michael Catanzaro
  • 4 edits
    3 adds in trunk/Tools

[WPE] Add WPE to bot watcher dashboard
https://bugs.webkit.org/show_bug.cgi?id=174119

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/CREDIT: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.linux-wpe img.logo):

4:43 AM Changeset in webkit [219117] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Xcode duplicate UUID for DisallowCType.h and DispatchPtr.h
https://bugs.webkit.org/show_bug.cgi?id=174117

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-07-04
Reviewed by Alexey Proskuryakov.

  • WTF.xcodeproj/project.pbxproj:

Give DisallowCType.h and DispatchPtr.h different UUIDs.

4:12 AM Changeset in webkit [219116] by calvaris@igalia.com
  • 3 edits in trunk/Source/WebCore

[EME] Solve a couple of compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=174020

Reviewed by Michael Catanzaro.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::isPersistentType): Added default return and
assertion.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::updateKeyStatuses): This warning was
already solved but I think adding an assertion for the default
case can help catch errors in the future.

1:03 AM Changeset in webkit [219115] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Cleanup some StringBuilder use
https://bugs.webkit.org/show_bug.cgi?id=174118

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-07-04
Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • tools/FunctionOverrides.cpp:

(JSC::parseClause):

  • wasm/WasmOMGPlan.cpp:
  • wasm/WasmPlan.cpp:
  • wasm/WasmValidate.cpp:

Source/WebCore:

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::filterICECandidate):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
  • contentextensions/ContentExtension.cpp:

(WebCore::ContentExtensions::ContentExtension::compileGlobalDisplayNoneStyleSheet):

  • css/CSSFontStyleRangeValue.cpp:

(WebCore::CSSFontStyleRangeValue::customCSSText):

  • css/CSSFontStyleValue.cpp:

(WebCore::CSSFontStyleValue::customCSSText):

  • css/CSSGridAutoRepeatValue.cpp:

(WebCore::CSSGridAutoRepeatValue::customCSSText):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseFontFaceDescriptor):

  • dom/Attr.cpp:
  • html/canvas/WebGPURenderingContext.cpp:
  • html/parser/HTMLParserIdioms.cpp:
  • platform/network/ParsedContentType.cpp:
  • platform/network/cocoa/CookieCocoa.mm:
  • platform/text/mac/LocaleMac.mm:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::getAllResponseHeaders):

Source/WebKit2:

  • NetworkProcess/capture/NetworkCaptureManager.cpp:

(WebKit::NetworkCapture::Manager::hashToPath):

  • UIProcess/WebPageProxy.cpp:

Jul 3, 2017:

10:18 PM Changeset in webkit [219114] by sbarati@apple.com
  • 7 edits in trunk

LayoutTest workers/bomb.html is a Crash
https://bugs.webkit.org/show_bug.cgi?id=167757
<rdar://problem/33086462>

Reviewed by Keith Miller.

Source/JavaScriptCore:

VMTraps::SignalSender was accessing VM fields even after
the VM was destroyed. This happened when the SignalSender
thread was in the middle of its work() function while VMTraps
was notified that the VM was shutting down. The VM would proceed
to run its destructor even after the SignalSender thread finished
doing its work. This means that the SignalSender thread was accessing
VM field eve after VM was destructed (including itself, since it is
transitively owned by the VM). The VM must wait for the SignalSender
thread to shutdown before it can continue to destruct itself.

  • runtime/VMTraps.cpp:

(JSC::VMTraps::willDestroyVM):

Source/WTF:

  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThreadCondition::waitFor):

  • wtf/AutomaticThread.h:

LayoutTests:

  • platform/mac-wk2/TestExpectations:
9:33 PM Changeset in webkit [219113] by wenson_hsieh@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS DnD] [WK2] Callout bar should reappear after dragging ends for a text selection
https://bugs.webkit.org/show_bug.cgi?id=174116
<rdar://problem/33017845>

Reviewed by Ryosuke Niwa.

-willStartScrollingOverflow -didEndScrollingOverflow are helper methods on both the UIWKTextInteractionAssistant
and UIWebSelectionAssistant that handle hiding selection and callout bar UI during overflow scrolling and making
it reappear after scrolling ends. However, these hooks do not contain logic specific to scrolling, and simply
tell the inner UIWebSelectionView to either show or hide and are safe to invoke outside of the context of
scrolling.

This patch invokes these hooks when beginning a drag on a selection, and when a dragging ends, if it called
-willStartScrollingOverflow to begin with. We should rename these in the future to be something along the lines
of -hideSelectionViewAndControls and -showSelectionViewAndControls, respectively, and adopt these new names in
WebKit. We also move logic to hide the callout out of -itemsForBeginningSession: and into
-willAnimateLiftWithAnimator:, when the lift actually begins.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanUpDragSourceSessionState]):
(-[WKContentView _restoreCalloutBarIfNeeded]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):
(-[WKContentView dragInteraction:session:didEndWithOperation:]):

9:08 PM Changeset in webkit [219112] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Fix a typo pointed out by Andreas Kling.

  • public/v3/components/instant-file-uploader.js:

(InstantFileUploader.prototype._uploadFiles):

  • public/v3/models/uploaded-file.js:

(UploadedFile.fetchUploadedFileWithIdenticalHash): Renamed from fetchUnloadedFileWithIdenticalHash.

6:34 PM Changeset in webkit [219111] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFGBytecodeParser op_to_this does not access the correct instruction offset for to this status
https://bugs.webkit.org/show_bug.cgi?id=174110

Reviewed by Michael Saboff.

  • dfg/DFGByteCodeParser.cpp:

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

5:21 PM WebIDLToDo edited by sam@webkit.org
(diff)
5:16 PM Changeset in webkit [219110] by Lucas Forschler
  • 2 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=174105

Reviewed by Stephanie Lewis.

  • BuildSlaveSupport/built-product-archive:

(main): Add a -minify parser option
(createZip): Pass along the optional Minify argument if requested
(minifySource): This will trim down archives, logic limited to Mac platform.

5:10 PM Changeset in webkit [219109] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add a new assertion to object allocation sinking phase
https://bugs.webkit.org/show_bug.cgi?id=174107

Rubber stamped by Filip Pizlo.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
4:44 PM Changeset in webkit [219108] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Null RenderLayer* deref in FrameView::adjustTiledBackingCoverage()
https://bugs.webkit.org/show_bug.cgi?id=174106
<rdar://problem/33085838>

Reviewed by Tim Horton.

I haven't been able to reproduce this crash locally, but I have seen
video of someone who can, so here's a null check for the RenderView::layer()
which could be null if we're called between RenderView construction
and the first callback to RenderLayerModelObject::styleDidChange().

  • page/FrameView.cpp:

(WebCore::FrameView::adjustTiledBackingCoverage):

4:34 PM Changeset in webkit [219107] by Matt Lewis
  • 3 edits in trunk/LayoutTests

Removed expectations and skipped workers/bomb.html on mac.
https://bugs.webkit.org/show_bug.cgi?id=167757

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
4:19 PM Changeset in webkit [219106] by mrajca@apple.com
  • 19 edits in trunk

Add/remove appropriate media element behavior restrictions when updateWebsitePolicies is called
https://bugs.webkit.org/show_bug.cgi?id=174103

Reviewed by Alex Christensen.

Source/WebCore:

Test: Added API test.

Added support for updating rate change behavior restrictions on media elements that have already
been created.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateRateChangeRestrictions):

  • html/HTMLMediaElement.h:
  • page/Page.cpp:

(WebCore::Page::updateMediaElementRateChangeRestrictions):

  • page/Page.h:

Source/WebKit2:

Currently, when -[WKWebView evaluateJavaScript:completionHandler:] is invoked, we end up simulating
a user gesture unconditionally. This is not desireable for some tests, so I added a private variant
of this method that takes a boolean that is ultimately passed to executeScript for the
forceUserGesture parameter (instead of unconditionally passing true).

  • UIProcess/API/C/WKPage.cpp:

(WKPageRunJavaScriptInMainFrame):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:completionHandler:]):
(-[WKWebView _evaluateJavaScript:forceUserGesture:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runJavaScriptInMainFrame):

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

(WebKit::WebPage::runJavaScriptInMainFrame):
(WebKit::WebPage::updateWebsitePolicies): Update behavior restrictions on any existing media elements.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Added an API test.

  • TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Expose a pause method.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:

(TEST): Added test.

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView stringByEvaluatingJavaScript:]): Don't simulate a user gesture when invoking the script.

4:12 PM Changeset in webkit [219105] by commit-queue@webkit.org
  • 19 edits in trunk/Source

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

crashing constantly when initializing UIWebView (Requested by
thorton on #webkit).

Reverted changeset:

"WTF::Thread should have the threads stack bounds."
https://bugs.webkit.org/show_bug.cgi?id=173975
http://trac.webkit.org/changeset/219060

4:12 PM Changeset in webkit [219104] by Matt Lewis
  • 23 edits
    7 copies
    16 moves
    84 adds
    116 deletes in trunk

Unreviewed, rolling out r219103.

Caused multiple build failures.

Reverted changeset:

"Remove copy of ICU headers from WebKit"
https://bugs.webkit.org/show_bug.cgi?id=116407
http://trac.webkit.org/changeset/219103

3:54 PM Changeset in webkit [219103] by Jonathan Bedard
  • 23 edits
    132 adds
    3 deletes in trunk

Remove copy of ICU headers from WebKit
https://bugs.webkit.org/show_bug.cgi?id=116407

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2017-07-03
Reviewed by Alex Christensen.

Source/JavaScriptCore:

Use WTF's copy of ICU headers.

  • Configurations/Base.xcconfig:
  • icu/unicode/localpointer.h: Removed.
  • icu/unicode/parseerr.h: Removed.
  • icu/unicode/platform.h: Removed.
  • icu/unicode/ptypes.h: Removed.
  • icu/unicode/putil.h: Removed.
  • icu/unicode/uchar.h: Removed.
  • icu/unicode/ucnv.h: Removed.
  • icu/unicode/ucnv_err.h: Removed.
  • icu/unicode/ucol.h: Removed.
  • icu/unicode/uconfig.h: Removed.
  • icu/unicode/ucurr.h: Removed.
  • icu/unicode/uenum.h: Removed.
  • icu/unicode/uiter.h: Removed.
  • icu/unicode/uloc.h: Removed.
  • icu/unicode/umachine.h: Removed.
  • icu/unicode/unorm.h: Removed.
  • icu/unicode/unorm2.h: Removed.
  • icu/unicode/urename.h: Removed.
  • icu/unicode/uscript.h: Removed.
  • icu/unicode/uset.h: Removed.
  • icu/unicode/ustring.h: Removed.
  • icu/unicode/utf.h: Removed.
  • icu/unicode/utf16.h: Removed.
  • icu/unicode/utf8.h: Removed.
  • icu/unicode/utf_old.h: Removed.
  • icu/unicode/utypes.h: Removed.
  • icu/unicode/uvernum.h: Removed.
  • icu/unicode/uversion.h: Removed.
  • runtime/IntlCollator.cpp:
  • runtime/IntlDateTimeFormat.cpp:
  • runtime/JSGlobalObject.cpp:
  • runtime/StringPrototype.cpp:

Source/WebCore:

Use WTF's copy of ICU headers.

No new tests because there is no behavior change.

  • Configurations/WebCore.xcconfig:
  • icu/unicode/bytestream.h: Removed.
  • icu/unicode/localpointer.h: Removed.
  • icu/unicode/parseerr.h: Removed.
  • icu/unicode/platform.h: Removed.
  • icu/unicode/ptypes.h: Removed.
  • icu/unicode/putil.h: Removed.
  • icu/unicode/rep.h: Removed.
  • icu/unicode/std_string.h: Removed.
  • icu/unicode/strenum.h: Removed.
  • icu/unicode/stringpiece.h: Removed.
  • icu/unicode/ubrk.h: Removed.
  • icu/unicode/uchar.h: Removed.
  • icu/unicode/ucnv.h: Removed.
  • icu/unicode/ucnv_err.h: Removed.
  • icu/unicode/ucol.h: Removed.
  • icu/unicode/uconfig.h: Removed.
  • icu/unicode/ucurr.h: Removed.
  • icu/unicode/uenum.h: Removed.
  • icu/unicode/uiter.h: Removed.
  • icu/unicode/uloc.h: Removed.
  • icu/unicode/umachine.h: Removed.
  • icu/unicode/unistr.h: Removed.
  • icu/unicode/unorm.h: Removed.
  • icu/unicode/unorm2.h: Removed.
  • icu/unicode/uobject.h: Removed.
  • icu/unicode/urename.h: Removed.
  • icu/unicode/uscript.h: Removed.
  • icu/unicode/uset.h: Removed.
  • icu/unicode/ustring.h: Removed.
  • icu/unicode/utext.h: Removed.
  • icu/unicode/utf.h: Removed.
  • icu/unicode/utf16.h: Removed.
  • icu/unicode/utf8.h: Removed.
  • icu/unicode/utf_old.h: Removed.
  • icu/unicode/utypes.h: Removed.
  • icu/unicode/uvernum.h: Removed.
  • icu/unicode/uversion.h: Removed.

Source/WebKit/mac:

Use WTF's copy of ICU headers.

  • Configurations/WebKitLegacy.xcconfig:
  • icu/unicode/localpointer.h: Removed.
  • icu/unicode/parseerr.h: Removed.
  • icu/unicode/platform.h: Removed.
  • icu/unicode/ptypes.h: Removed.
  • icu/unicode/putil.h: Removed.
  • icu/unicode/uchar.h: Removed.
  • icu/unicode/uconfig.h: Removed.
  • icu/unicode/ucurr.h: Removed.
  • icu/unicode/uidna.h: Removed.
  • icu/unicode/uiter.h: Removed.
  • icu/unicode/umachine.h: Removed.
  • icu/unicode/unorm.h: Removed.
  • icu/unicode/unorm2.h: Removed.
  • icu/unicode/urename.h: Removed.
  • icu/unicode/uscript.h: Removed.
  • icu/unicode/ustring.h: Removed.
  • icu/unicode/utf.h: Removed.
  • icu/unicode/utf16.h: Removed.
  • icu/unicode/utf8.h: Removed.
  • icu/unicode/utf_old.h: Removed.
  • icu/unicode/utypes.h: Removed.
  • icu/unicode/uvernum.h: Removed.
  • icu/unicode/uversion.h: Removed.

Source/WebKit2:

Use WTF's copy of ICU headers.

  • Configurations/BaseTarget.xcconfig:

Source/WTF:

Add an extra rsync command to CopyWTFHeaders which copies the ICU headers
to DSTROOT/usr/local/include/. These headers already live inside a
"unicode" folder, so an example path of a header is
DSTROOT/usr/local/include/unicode/uchar.h. This is already in the search
path of the other WebKit projects, so those other projects can remove
their explicit listing of the old place these headers lived.

Also add the remaining ICU 55.1 headers which the other projects (like
WebCore) need. Revert any local changes to these headers in favor of
using the GCC_PREPROCESSOR_DEFINITIONS build setting. This is so we can
compile the same way against unmodified headers.

  • Configurations/Base.xcconfig:
  • Configurations/CopyWTFHeaders.xcconfig:
  • WTF.xcodeproj/project.pbxproj:
  • icu/unicode/alphaindex.h: Added.
  • icu/unicode/appendable.h: Added.
  • icu/unicode/basictz.h: Added.
  • icu/unicode/brkiter.h: Added.

(BreakIterator::isBufferClone):

  • icu/unicode/bytestrie.h: Added.
  • icu/unicode/bytestriebuilder.h: Added.
  • icu/unicode/calendar.h: Added.

(Calendar::createInstance):
(Calendar::roll):
(Calendar::internalSet):
(Calendar::weekNumber):

  • icu/unicode/caniter.h: Added.
  • icu/unicode/chariter.h: Renamed from Source/WebCore/icu/unicode/chariter.h.
  • icu/unicode/choicfmt.h: Added.
  • icu/unicode/coleitr.h: Added.

(CollationElementIterator::primaryOrder):
(CollationElementIterator::secondaryOrder):
(CollationElementIterator::tertiaryOrder):
(CollationElementIterator::isIgnorable):

  • icu/unicode/coll.h: Added.
  • icu/unicode/compactdecimalformat.h: Added.
  • icu/unicode/curramt.h: Added.

(CurrencyAmount::getCurrency):
(CurrencyAmount::getISOCurrency):

  • icu/unicode/currpinf.h: Added.

(CurrencyPluralInfo::operator!=):

  • icu/unicode/currunit.h: Added.

(CurrencyUnit::getISOCurrency):

  • icu/unicode/datefmt.h: Added.
  • icu/unicode/dbbi.h: Added.
  • icu/unicode/dcfmtsym.h: Added.

(DecimalFormatSymbols::getSymbol):
(DecimalFormatSymbols::getConstSymbol):
(DecimalFormatSymbols::setSymbol):
(DecimalFormatSymbols::getLocale):
(DecimalFormatSymbols::getCurrencyPattern):

  • icu/unicode/decimfmt.h: Added.

(DecimalFormat::getConstSymbol):

  • icu/unicode/docmain.h: Added.
  • icu/unicode/dtfmtsym.h: Added.
  • icu/unicode/dtintrv.h: Added.

(DateInterval::getFromDate):
(DateInterval::getToDate):
(DateInterval::operator!=):

  • icu/unicode/dtitvfmt.h: Added.

(DateIntervalFormat::operator!=):

  • icu/unicode/dtitvinf.h: Added.

(DateIntervalInfo::operator!=):

  • icu/unicode/dtptngen.h: Added.
  • icu/unicode/dtrule.h: Added.
  • icu/unicode/enumset.h: Added.

(EnumSet::EnumSet):
(EnumSet::~EnumSet):
(EnumSet::clear):
(EnumSet::add):
(EnumSet::remove):
(EnumSet::contains):
(EnumSet::set):
(EnumSet::get):
(EnumSet::isValidEnum):
(EnumSet::isValidValue):
(EnumSet::operator=):
(EnumSet::getAll):
(EnumSet::flag):

  • icu/unicode/errorcode.h: Added.
  • icu/unicode/fieldpos.h: Added.

(FieldPosition::operator=):
(FieldPosition::operator==):
(FieldPosition::operator!=):

  • icu/unicode/filteredbrk.h: Added.
  • icu/unicode/fmtable.h: Added.

(Formattable::getDate):
(Formattable::getString):
(Formattable::getLong):
(Formattable::toUFormattable):
(Formattable::fromUFormattable):

  • icu/unicode/format.h: Added.
  • icu/unicode/fpositer.h: Added.
  • icu/unicode/gender.h: Added.
  • icu/unicode/gregocal.h: Added.
  • icu/unicode/icudataver.h: Added.
  • icu/unicode/icuplug.h: Added.
  • icu/unicode/idna.h: Added.
  • icu/unicode/listformatter.h: Added.

(ListFormatData::ListFormatData):

  • icu/unicode/locdspnm.h: Added.

(LocaleDisplayNames::createInstance):

  • icu/unicode/locid.h: Added.

(Locale::operator!=):
(Locale::getCountry):
(Locale::getLanguage):
(Locale::getScript):
(Locale::getVariant):
(Locale::getName):
(Locale::isBogus):

  • icu/unicode/measfmt.h: Added.
  • icu/unicode/measunit.h: Added.
  • icu/unicode/measure.h: Added.

(Measure::getNumber):
(Measure::getUnit):

  • icu/unicode/messagepattern.h: Added.
  • icu/unicode/msgfmt.h: Added.
  • icu/unicode/normalizer2.h: Added.
  • icu/unicode/normlzr.h: Added.

(Normalizer::operator!= ):
(Normalizer::quickCheck):
(Normalizer::isNormalized):
(Normalizer::compare):

  • icu/unicode/numfmt.h: Added.

(NumberFormat::isParseIntegerOnly):
(NumberFormat::isLenient):

  • icu/unicode/numsys.h: Added.
  • icu/unicode/parsepos.h: Added.

(ParsePosition::operator=):
(ParsePosition::operator==):
(ParsePosition::operator!=):
(ParsePosition::getIndex):
(ParsePosition::setIndex):
(ParsePosition::getErrorIndex):
(ParsePosition::setErrorIndex):

  • icu/unicode/plurfmt.h: Added.
  • icu/unicode/plurrule.h: Added.
  • icu/unicode/rbbi.h: Added.

(RuleBasedBreakIterator::operator!=):

  • icu/unicode/rbnf.h: Added.

(RuleBasedNumberFormat::isLenient):
(RuleBasedNumberFormat::getDefaultRuleSet):

  • icu/unicode/rbtz.h: Added.
  • icu/unicode/regex.h: Added.
  • icu/unicode/region.h: Added.
  • icu/unicode/reldatefmt.h: Added.
  • icu/unicode/resbund.h: Added.
  • icu/unicode/schriter.h: Added.
  • icu/unicode/scientificnumberformatter.h: Added.
  • icu/unicode/search.h: Added.

(SearchIterator::operator!=):

  • icu/unicode/selfmt.h: Added.
  • icu/unicode/simpletz.h: Added.

(SimpleTimeZone::setStartRule):
(SimpleTimeZone::setEndRule):
(SimpleTimeZone::getOffset):

  • icu/unicode/smpdtfmt.h: Added.

(SimpleDateFormat::get2DigitYearStart):

  • icu/unicode/sortkey.h: Added.

(CollationKey::operator!=):
(CollationKey::isBogus):
(CollationKey::getByteArray):

  • icu/unicode/stringtriebuilder.h: Added.
  • icu/unicode/stsearch.h: Added.
  • icu/unicode/symtable.h: Added.
  • icu/unicode/tblcoll.h: Added.
  • icu/unicode/timezone.h: Added.

(TimeZone::getID):
(TimeZone::setID):

  • icu/unicode/tmunit.h: Added.
  • icu/unicode/tmutamt.h: Added.

(TimeUnitAmount::operator!=):

  • icu/unicode/tmutfmt.h: Added.

(TimeUnitFormat::operator!=):

  • icu/unicode/translit.h: Added.

(Transliterator::getMaximumContextLength):
(Transliterator::setID):
(Transliterator::integerToken):
(Transliterator::pointerToken):

  • icu/unicode/tzfmt.h: Added.
  • icu/unicode/tznames.h: Added.
  • icu/unicode/tzrule.h: Added.
  • icu/unicode/tztrans.h: Added.
  • icu/unicode/ubidi.h: Added.
  • icu/unicode/ucal.h: Renamed from Source/JavaScriptCore/icu/unicode/ucal.h.
  • icu/unicode/ucasemap.h: Added.
  • icu/unicode/ucat.h: Added.
  • icu/unicode/ucharstrie.h: Added.
  • icu/unicode/ucharstriebuilder.h: Added.
  • icu/unicode/uchriter.h: Added.
  • icu/unicode/uclean.h: Added.
  • icu/unicode/ucnv_cb.h: Renamed from Source/WebCore/icu/unicode/ucnv_cb.h.
  • icu/unicode/ucnvsel.h: Added.
  • icu/unicode/ucoleitr.h: Renamed from Source/WebCore/icu/unicode/ucoleitr.h.
  • icu/unicode/uconfig.h:
  • icu/unicode/ucsdet.h: Renamed from Source/WebCore/icu/unicode/ucsdet.h.
  • icu/unicode/udat.h: Renamed from Source/JavaScriptCore/icu/unicode/udat.h.
  • icu/unicode/udata.h: Added.
  • icu/unicode/udateintervalformat.h: Added.
  • icu/unicode/udatpg.h: Renamed from Source/JavaScriptCore/icu/unicode/udatpg.h.
  • icu/unicode/udisplaycontext.h: Renamed from Source/JavaScriptCore/icu/unicode/udisplaycontext.h.
  • icu/unicode/ufieldpositer.h: Renamed from Source/JavaScriptCore/icu/unicode/ufieldpositer.h.
  • icu/unicode/uformattable.h: Renamed from Source/JavaScriptCore/icu/unicode/uformattable.h.
  • icu/unicode/ugender.h: Added.
  • icu/unicode/uidna.h: Renamed from Source/WebCore/icu/unicode/uidna.h.
  • icu/unicode/uldnames.h: Added.
  • icu/unicode/ulistformatter.h: Added.
  • icu/unicode/ulocdata.h: Added.
  • icu/unicode/umisc.h: Renamed from Source/JavaScriptCore/icu/unicode/umisc.h.
  • icu/unicode/umsg.h: Added.
  • icu/unicode/unifilt.h: Added.
  • icu/unicode/unifunct.h: Added.
  • icu/unicode/unimatch.h: Added.
  • icu/unicode/unirepl.h: Added.
  • icu/unicode/uniset.h: Added.

(UnicodeSet::operator!=):
(UnicodeSet::isFrozen):
(UnicodeSet::containsSome):
(UnicodeSet::isBogus):
(UnicodeSet::fromUSet):
(UnicodeSet::toUSet):
(UnicodeSet::span):
(UnicodeSet::spanBack):

  • icu/unicode/unum.h: Renamed from Source/JavaScriptCore/icu/unicode/unum.h.
  • icu/unicode/unumsys.h: Renamed from Source/JavaScriptCore/icu/unicode/unumsys.h.
  • icu/unicode/upluralrules.h: Added.
  • icu/unicode/uregex.h: Added.
  • icu/unicode/uregion.h: Added.
  • icu/unicode/urep.h: Added.
  • icu/unicode/ures.h: Added.

(ures_getUnicodeString):
(ures_getNextUnicodeString):
(ures_getUnicodeStringByIndex):
(ures_getUnicodeStringByKey):

  • icu/unicode/usearch.h: Renamed from Source/WebCore/icu/unicode/usearch.h.
  • icu/unicode/usetiter.h: Added.

(UnicodeSetIterator::isString):
(UnicodeSetIterator::getCodepoint):
(UnicodeSetIterator::getCodepointEnd):

  • icu/unicode/ushape.h: Renamed from Source/WebCore/icu/unicode/ushape.h.
  • icu/unicode/usprep.h: Added.
  • icu/unicode/ustdio.h: Added.
  • icu/unicode/ustream.h: Added.
  • icu/unicode/ustringtrie.h: Added.
  • icu/unicode/utf32.h: Added.
  • icu/unicode/utmscale.h: Added.
  • icu/unicode/utrace.h: Added.
  • icu/unicode/utrans.h: Added.
  • icu/unicode/utypes.h:
  • icu/unicode/vtzone.h: Added.

Tools:

Use WTF's copy of ICU headers.

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
3:46 PM Changeset in webkit [219102] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

REGRESSION(Variation Fonts): Specifying Skia by PostScript name does not yield the expected result
https://bugs.webkit.org/show_bug.cgi?id=174079
<rdar://problem/33040854>

Reviewed by Alex Christensen.

Source/WebCore:

Because Skia is a variation font, its PostScript name contains values to apply to its variation
axes. However, WebKit's variation code was overwriting these intrinsive values with ones specified
by CSS. Therefore, the intrinsic ones were being ignored. The solution is just to pass a flag from
the lookup code to the variations code describing if the font was created via a PostScript name,
and to not apply the CSS properties to it if it was.

Test: fast/text/variations/skia-postscript-name.html

  • platform/graphics/FontCache.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::preparePlatformFont):
(WebCore::platformFontLookupWithFamily):
(WebCore::fontWithFamily):

LayoutTests:

  • fast/text/variations/skia-postscript-name-expected-mismatch.html: Added.
  • fast/text/variations/skia-postscript-name.html: Added.
  • platform/ios-simulator/TestExpectations:
3:29 PM Changeset in webkit [219101] by keith_miller@apple.com
  • 2 edits in trunk/Source/WTF

Fix ifndef in Assertions.h
https://bugs.webkit.org/show_bug.cgi?id=174104

Reviewed by Saam Barati.

The ifndef should have been checking for
CRASH_WITH_SECURITY_IMPLICATION_AND_INFO since that is what the
ifndef defines.

  • wtf/Assertions.h:
3:28 PM Changeset in webkit [219100] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437

Unreviewed test gardening, update test expectations for failing tests.

  • platform/win/TestExpectations:
3:17 PM Changeset in webkit [219099] by beidson@apple.com
  • 22 edits in trunk

Switch all WebKit API related to favicons from WebIconDatabase over to new WebCore::IconLoader mechanism.
https://bugs.webkit.org/show_bug.cgi?id=174073

Reviewed by Andy Estes.

Source/WebCore:

Covered by existing API test.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startIconLoading):

  • loader/EmptyClients.cpp:
  • loader/FrameLoaderClient.h:

Source/WebKit/mac:

WebView now keeps a direct copy of its main frame icon as a member variable.
It populates that variable by finding exactly one Favicon LinkIcon from WebCore and loading it.

This change causes a progression in KVO observation of the mainFrameIcon property as we now
have both the old icon and new icon at the time it changes.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::prepareForDataSourceReplacement):
(WebFrameLoaderClient::getLoadDecisionForIcons):
(WebFrameLoaderClient::finishedLoadingIcon):
(WebFrameLoaderClient::dispatchDidReceiveIcon): Deleted.
(WebFrameLoaderClient::registerForIconNotification): Deleted.

  • WebView/WebView.mm:

(+[WebView _setIconLoadingEnabled:]):
(+[WebView _isIconLoadingEnabled]):
(-[WebView mainFrameIcon]):
(-[WebView _setMainFrameIcon:]):
(-[WebView _receivedIconChangedNotification:]): Deleted.
(-[WebView _registerForIconNotification:]): Deleted.
(-[WebView _dispatchDidReceiveIconFromWebFrame:]): Deleted.

  • WebView/WebViewData.h:
  • WebView/WebViewInternal.h:
  • WebView/WebViewPrivate.h:

Source/WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDidReceiveIcon): Deleted.
(WebFrameLoaderClient::registerForIconNotification): Deleted.

  • WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::getLoadDecisionForIcons):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon): Deleted.
(WebKit::WebFrameLoaderClient::registerForIconNotification): Deleted.
(WebKit::WebFrameLoaderClient::getLoadDecisionForIcon): Deleted.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setIconDatabaseEnabled): Call new SPI for this setting instead of WebIconDatabase stuff.

  • TestWebKitAPI/Tests/mac/WebViewIconLoading.mm:

(-[MainFrameIconKVO observeValueForKeyPath:ofObject:change:context:]):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/block-favicon-expected.txt: Updated results to actually catch the load being blocked due to CSP.
2:51 PM Changeset in webkit [219098] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add better crash logging for allocation sinking phase
https://bugs.webkit.org/show_bug.cgi?id=174102
<rdar://problem/33112092>

Rubber stamped by Filip Pizlo.

I'm trying to gather better information from crashlogs about why
we're crashing in the allocation sinking phase. I'm adding a allocation
sinking specific RELEASE_ASSERT as well as marking a few functions as
NEVER_INLINE to have the stack traces in the crash trace contain more
actionable information.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
2:49 PM Changeset in webkit [219097] by commit-queue@webkit.org
  • 16 edits in trunk/Source

[WebIDL] Remove more unnecessary uses of the preprocessor in idl files
https://bugs.webkit.org/show_bug.cgi?id=174083

Patch by Sam Weinig <sam@webkit.org> on 2017-07-03
Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_NAVIGATOR_STANDALONE.

Source/WebCore:

Purge as much preprocessor use as possible.

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_NAVIGATOR_STANDALONE.

  • animation/Animatable.idl:

Remove unnecessary check for LANGUAGE_OBJECTIVE_C. We no longer generate those bindings.

  • html/MediaError.idl:

Use [Conditional] rather than the preprocessor.

  • page/Navigator.idl:

Use [Conditional] rather than the preprocessor with the new ENABLE_NAVIGATOR_STANDALONE.

  • testing/Internals.cpp:
  • testing/Internals.h:

Expose setQuickLookPassword on all platforms, as it doesn't hurt since it is only for testing,
but make the implementation do nothing.

  • testing/Internals.idl:

Use [Conditional] rather than the preprocessor.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_NAVIGATOR_STANDALONE.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_NAVIGATOR_STANDALONE.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_NAVIGATOR_STANDALONE.

2:44 PM Changeset in webkit [219096] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked media/track/track-cues-sorted-before-dispatch.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=168092

Unreviewed test gardening.

  • platform/wk2/TestExpectations:
2:43 PM Changeset in webkit [219095] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Fix compilation errors
https://bugs.webkit.org/show_bug.cgi?id=174085

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-07-03
Reviewed by Alex Christensen.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlContext::initCookieSession):

  • platform/network/curl/CurlContext.h:
2:38 PM Changeset in webkit [219094] by Matt Lewis
  • 4 edits
    1 delete in trunk

Unreviewed, rolling out r219083.

The revision caused an API failure on all testing platforms.

Reverted changeset:

"[MediaStream] Protect request and web view during gUM client
callback"
https://bugs.webkit.org/show_bug.cgi?id=174096
http://trac.webkit.org/changeset/219083

2:16 PM Changeset in webkit [219093] by rniwa@webkit.org
  • 2 edits
    1 add in trunk/Websites/perf.webkit.org

Add an admin page to manage uploaded files
https://bugs.webkit.org/show_bug.cgi?id=174089

Reviewed by Andreas Kling.

Add an admin page to see the disk usage per user as well as the total, and to prune any zombie files (ones marked
as deleted but aren't actually deleted in the filesystem).

  • public/admin/files.php: Added.

(format_size): Added.

  • public/include/admin-header.php:
2:14 PM Changeset in webkit [219092] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Roots uploaded by bots don't get author specified properly
https://bugs.webkit.org/show_bug.cgi?id=174087

Reviewed by Andreas Kling.

When a root file is uploaded from the bot, we manually specify the remote user to upload_file_in_transaction.
However, this was getting ignored by create_uploaded_file_from_form_data since it was always calling
remote_user_name to get the user name off of $_SERVER.

Fixed the bug by passing in the user name from upload_file_in_transaction to create_uploaded_file_from_form_data.

  • public/include/uploaded-file-helpers.php:

(create_uploaded_file_from_form_data): Take the remote user as an argument instead of calling remote_user_name.
(upload_file_in_transaction):

  • server-tests/api-upload-root-tests.js: Updated an existing test cases to make sure root files' author is set.

(createTestGroupWihPatch): Manually override the author of a test group for testing.

2:13 PM Changeset in webkit [219091] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

Prune unused uploaded files when the file quota is reached
https://bugs.webkit.org/show_bug.cgi?id=174086

Reviewed by Andreas Kling.

Made /privileged-api/uploaded-file and /api/upload-root automatically delete old uploaded files when
uploading a new file results in the file quota to be exceeded. Also added the notion of the total quota
to avoid running out of a disk when there are hundreds of users each uploading near their quota.

  • config.json: Added a sample total disk quota of 100GB.
  • public/include/uploaded-file-helpers.php:

(query_file_usage_for_user): Renamed from query_total_file_size.
(query_total_file_usage): Added.
(upload_file_in_transaction):
(delete_file): Added.
(prune_old_files): Added.

  • server-tests/privileged-api-upload-file-tests.js: Added tests for deleting old uploaded files as well as

tests for the total quota.

  • server-tests/resources/test-server.js:

(TestServer.prototype.testConfig): Added uploadTotalQuotaInMB to the test configuration.

2:01 PM Changeset in webkit [219090] by commit-queue@webkit.org
  • 7 edits in trunk

WebAudioSourceProviderAVFObjC should not reconfigure for each data call
https://bugs.webkit.org/show_bug.cgi?id=174101

Patch by Youenn Fablet <youenn@apple.com> on 2017-07-03
Reviewed by Eric Carlson.

Source/WebCore:

Covered by manual testing, in particular
https://webrtc.github.io/samples/src/content/peerconnection/webaudio-output/
and https://webrtc.github.io/samples/src/content/getusermedia/volume/.
Also improved LayoutTests web audio peer connection tests to make them more robust.

Before the patch, reconfiguration of the web audio provider was happening for every audioSamplesAvailable call.
It is now happening only when the format of the audio samples is changing.
Changed some member fields from uinque_ptr to optional as a minor improvement.

  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:

(WebCore::WebAudioSourceProviderAVFObjC::provideInput):
(WebCore::WebAudioSourceProviderAVFObjC::prepare):
(WebCore::WebAudioSourceProviderAVFObjC::unprepare):
(WebCore::WebAudioSourceProviderAVFObjC::audioSamplesAvailable):

LayoutTests:

  • TestExpectations:
  • webrtc/peer-connection-audio-mute2.html:
  • webrtc/peer-connection-remote-audio-mute2.html:
1:17 PM Changeset in webkit [219089] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Stop using dispatch_async in ResourceHandleCFURLConnectionDelegateWithOperationQueue
https://bugs.webkit.org/show_bug.cgi?id=174059

Reviewed by Andy Estes.

Use dispatch_async_f and callOnMainThread instead.
No change in behavior.
This will allow me to use this code on Windows.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):

1:15 PM Changeset in webkit [219088] by Jonathan Bedard
  • 3 edits in trunk/Tools

webkitpy: Properly number duplicated crashlogs
https://bugs.webkit.org/show_bug.cgi?id=172002

Reviewed by Aakash Jain.

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

(CrashLogs._find_all_logs_darwin): Number multiple crash logs for a single process with
an increasing integer.

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

(CrashLogsTest.create_crash_logs_darwin): Create duplicated crashlog for testing.
(CrashLogsTest.test_find_all_log_darwin): Now 7 Darwin logs instead of 5.
(CrashLogsTest.test_duplicate_log_darwin): Test that duplicated logs are correctly numbered.

12:47 PM Changeset in webkit [219087] by rniwa@webkit.org
  • 11 edits
    1 add in trunk

WebContent processes crash when the network process crashes with pending connection requests
https://bugs.webkit.org/show_bug.cgi?id=174065
<rdar://problem/30359835>

Reviewed by Tim Horton.

Source/WebKit2:

The bug was caused by the UI process clearing away pending network connection requests whenever the existing
network process crashed. This resulted in WebContent process killing itself inside ensureNetworkProcessConnection.

Fixed the bug by re-launching a new network process when this happens. We don't try to re-launch a new process
if the previous attempt to launch a network process had failed.

This patch splits NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch into networkProcessFailedToLaunch
and networkProcessCrashed to differentiate those two cases, and invoke the respective callbacks in WebProcessPool.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _networkProcessIdentifier]): Added.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessCrashed): Added.
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Split into the two following functions.
(WebKit::NetworkProcessProxy::networkProcessFailedToLaunch): Extracted from networkProcessCrashedOrFailedToLaunch.
(WebKit::NetworkProcessProxy::clearCallbackStates): Extracted from networkProcessCrashedOrFailedToLaunch
(WebKit::NetworkProcessProxy::didClose): Call networkProcessCrashed.
(WebKit::NetworkProcessProxy::didFinishLaunching): Call networkProcessFailedToLaunch.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::networkProcessCrashed): Start a new network process when there are pending connection
requests the crached network failed to fullfil.
(WebKit::WebProcessPool::networkProcessFailedToLaunch):

  • UIProcess/WebProcessPool.h:

Tools:

Add a API to ensure UI process tries to relaunch a new network process when the network process
crashes with pending network connection requests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/NetworkProcessCrashWithPendingConnection.mm: Added.
  • TestWebKitAPI/cocoa/TestNavigationDelegate.h:
  • TestWebKitAPI/cocoa/TestNavigationDelegate.mm:

(-[TestNavigationDelegate webViewWebContentProcessDidTerminate:]): Added.

12:11 PM Changeset in webkit [219086] by achristensen@apple.com
  • 2 edits in trunk/LayoutTests

Rebase test after r219024
https://bugs.webkit.org/show_bug.cgi?id=174051

  • fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame-expected.txt:
12:04 PM Changeset in webkit [219085] by Jonathan Bedard
  • 3 edits
    3 adds in trunk/LayoutTests

Run webgl tests on iOS ports
https://bugs.webkit.org/show_bug.cgi?id=173000

Unreviewed test gardening.

  • platform/ios-device/TestExpectations: Garden webgl tests.
  • platform/ios-simulator/TestExpectations: Ditto.
  • platform/ios/TestExpectations: Ditto.
  • platform/ios/fast/canvas/webgl: Added.
  • platform/ios/fast/canvas/webgl/css-webkit-canvas-expected.txt: Added.
  • platform/ios/fast/canvas/webgl/css-webkit-canvas-repaint-expected.txt: Added.
11:55 AM Changeset in webkit [219084] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Expose unobscuredSafeAreaInsets on WebView
https://bugs.webkit.org/show_bug.cgi?id=174075
<rdar://problem/33096997>

Reviewed by Beth Dakin.

  • WebView/WebView.mm:

(-[WebView _setUnobscuredSafeAreaInsets:]):
(-[WebView _unobscuredSafeAreaInsets]):

  • WebView/WebViewPrivate.h:

Expose unobscuredSafeAreaInsets as a new private property on WebView,
similar to how it is exposed in WebKit2.

11:55 AM Changeset in webkit [219083] by eric.carlson@apple.com
  • 4 edits
    1 add in trunk

[MediaStream] Protect request and web view during gUM client callback
https://bugs.webkit.org/show_bug.cgi?id=174096
<rdar://problem/32833102>

Reviewed by Youenn Fablet.

Source/WebKit2:

Retain the message and WebView during asynchronous calls so they won't be
released if a navigation happens during a call to the UA for getUserMedia
or enumerateMediaDevices.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::requestUserMediaAuthorizationForDevices):
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: New test.
11:36 AM Changeset in webkit [219082] by aestes@apple.com
  • 24 edits
    5 adds in trunk

[Xcode] Add an experimental setting to build with ccache
https://bugs.webkit.org/show_bug.cgi?id=173875

Reviewed by Tim Horton.

Source/bmalloc:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/ThirdParty/ANGLE:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/ThirdParty/libwebrtc:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/WebCore:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/WebCore/PAL:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/WebKit/mac:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/WebKit2:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Source/WTF:

  • Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

Tools:

On systems that already have ccache(1) installed, this patch adds experimental support for
it to Xcode builds. It can be enabled with the WK_USE_CCACHE build setting.

When ccache is enabled, CC is overridden to invoke Tools/ccache/ccache-clang. This script
finds the "-isysroot" argument to determine the active SDK, uses xcrun(1) and the SDK to
find the toolchain from which to run clang, and then invokes ccache with the required
arguments.

ccache is invoked with CCACHE_SLOPPINESS="pch_defines,time_macros", which is required for
precompiled headers to work properly [1].

LDPLUSPLUS is overridden to invoke Tools/ccache/ccache-clang++. It behaves the same as
ccache-clang, except it tells ccache to execute clang++ instead of clang. This is important
during linking.

[1] https://ccache.samba.org/manual.html#_precompiled_headers

  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.
  • MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
  • MobileMiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig: Ditto.
  • ccache/README.md: Added.
  • ccache/ccache-clang: Added.
  • ccache/ccache-clang++: Added.
  • ccache/ccache.xcconfig: Added. Overrides CC and LDPLUSPLUS when WK_USE_CACHE=YES.
11:35 AM Changeset in webkit [219081] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r218910): Crash inside textMarkerDataForFirstPositionInTextControl
https://bugs.webkit.org/show_bug.cgi?id=174077
<rdar://problem/33083972>

Reviewed by Chris Fleizach.

Source/WebCore:

The bug was caused by textMarkerDataForFirstPositionInTextControl assuming that
there is always a root editable element (a.k.a. editing host) in the text control.
When the text control is readonly or disabled, this is not the case.

Fixed the bug by adding an early exit when there is no editing host.

Test: accessibility/mac/input-type-change-crash.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::textMarkerDataForFirstPositionInTextControl):

LayoutTests:

Added a regression test for changing the input element's type during editing.

  • accessibility/mac/input-type-change-crash-expected.txt: Added.
  • accessibility/mac/input-type-change-crash.html: Added.
11:31 AM Changeset in webkit [219080] by sbarati@apple.com
  • 4 edits in trunk/LayoutTests

Unreviewed. Mark workers/bomb.html as flaky.

  • platform/ios-device/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
11:23 AM Changeset in webkit [219079] by sbarati@apple.com
  • 2 edits in trunk/JSTests

Skip unshiftCountSlowCase-correct-postCapacity.js on debug builds since it takes a long time to run.

  • stress/unshiftCountSlowCase-correct-postCapacity.js:
11:21 AM Changeset in webkit [219078] by Devin Rousso
  • 13 edits
    11 adds
    2 deletes in trunk

Web Inspector: Support listing WebGL2 and WebGPU contexts
https://bugs.webkit.org/show_bug.cgi?id=173396

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/protocol/Canvas.json:
  • inspector/scripts/codegen/generator.py:

(Generator.stylized_name_for_enum_value):
Add cases for handling new Canvas.ContextType protocol enumerations:

  • "webgl2" maps to WebGL2
  • "webgpu" maps to WebGPU

Source/WebCore:

Tests: inspector/canvas/create-context-2d.html

inspector/canvas/create-context-webgl.html
inspector/canvas/create-context-webgl2.html
inspector/canvas/create-context-webgpu.html

Split "inspector/canvas/create-canvas-contexts.html" into a test for each context type.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContextWebGPU):

  • inspector/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::buildObjectForCanvas):

Source/WebInspectorUI:

  • UserInterface/Models/Canvas.js:

(WebInspector.Canvas.fromPayload):
(WebInspector.Canvas.displayNameForContextType):

LayoutTests:

  • inspector/canvas/create-canvas-contexts-expected.txt: Removed.
  • inspector/canvas/create-canvas-contexts.html: Removed.
  • inspector/canvas/create-context-2d-expected.txt: Added.
  • inspector/canvas/create-context-2d.html: Added.
  • inspector/canvas/create-context-webgl-expected.txt: Added.
  • inspector/canvas/create-context-webgl.html: Added.
  • inspector/canvas/create-context-webgl2-expected.txt: Added.
  • inspector/canvas/create-context-webgl2.html: Added.
  • inspector/canvas/create-context-webgpu-expected.txt: Added.
  • inspector/canvas/create-context-webgpu.html: Added.
  • inspector/canvas/resources/create-context-utilities.css: Added.

(.canvas):

  • inspector/canvas/resources/create-context-utilities.js: Added.

(createAttachedCanvas):
(createDetachedCanvas):
(createCSSCanvas):
(destroyCanvases):
(TestPage.registerInitializer.awaitCanvasAdded):
(TestPage.registerInitializer.awaitCanvasRemoved):
(TestPage.registerInitializer.window.initializeTestSuite):
(TestPage.registerInitializer.window.addSimpleTestCase):
(TestPage.registerInitializer.window.addCSSCanvasTestCase):

  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:

Split the existing canvas lifecycle tests into one for each context type. This allows
platforms that don't support certain context types to ignore just those tests (e.g. WebGPU).

10:22 AM Changeset in webkit [219077] by matthew_hanson@apple.com
  • 7 edits in branches/safari-604.1.28-branch/Source

Versioning.

10:20 AM Changeset in webkit [219076] by achristensen@apple.com
  • 4 edits in trunk

REGRESSION(r215096) Queries of URLs with non-special schemes should not percent-encode single quotes
https://bugs.webkit.org/show_bug.cgi?id=174051

Reviewed by Tim Horton.

Source/WebCore:

In r215096 I added ' to the set of characters to be percent-encoded in queries,
but for interoperability and compatibility we need to do this only for special schemes, like http.

Covered by new API tests.

  • platform/URLParser.cpp:

(WebCore::isC0Control):
(WebCore::shouldPercentEncodeQueryByte):
(WebCore::URLParser::utf8QueryEncode):
(WebCore::URLParser::encodeQuery):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

10:18 AM Changeset in webkit [219075] by Chris Fleizach
  • 8 edits
    2 adds in trunk

AX: role="none" (or presentation) does not work on iframes
https://bugs.webkit.org/show_bug.cgi?id=173930
<rdar://problem/33034347>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Support setting a presentational role on an iframe so that the AXWebArea disappears from the hierarchy.
Accomplish this by adding children for attachment and scroll view elements the way other children are added.
That is, only add the non-ignored children directly (which means move the addChild logic into AccessibilityObject.)

Test: accessibility/presentation-role-iframe.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::AccessibilityNodeObject):
(WebCore::AccessibilityNodeObject::insertChild): Deleted.
(WebCore::AccessibilityNodeObject::addChild): Deleted.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::AccessibilityObject):
(WebCore::AccessibilityObject::insertChild):
(WebCore::AccessibilityObject::addChild):
(WebCore::nodeHasPresentationRole):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::addChild): Deleted.
(WebCore::AccessibilityObject::insertChild): Deleted.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::webAreaIsPresentational):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::addAttachmentChildren):

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::addChildren):

LayoutTests:

  • accessibility/presentation-role-iframe-expected.txt: Added.
  • accessibility/presentation-role-iframe.html: Added.
10:17 AM Changeset in webkit [219074] by achristensen@apple.com
  • 4 edits in trunk/LayoutTests

Rebase test after r219024
https://bugs.webkit.org/show_bug.cgi?id=174051

LayoutTests/imported/w3c:

  • web-platform-tests/url/url-setters-expected.txt:

LayoutTests:

  • http/tests/security/no-popup-from-sandbox-top-expected.txt:
9:57 AM Changeset in webkit [219073] by Matt Lewis
  • 4 edits in trunk

Unreviewed, rolling out r219024.

This patch cause 3 didferent test to fail.

Reverted changeset:

"REGRESSION(r215096) Queries of URLs with non-special schemes
should not percent-encode single quotes"
https://bugs.webkit.org/show_bug.cgi?id=174051
http://trac.webkit.org/changeset/219024

9:56 AM Changeset in webkit [219072] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r219030.

This was a rebaseline of a test that was broken with revision
r219024

Reverted changeset:

"Rebase test after r219024"
https://bugs.webkit.org/show_bug.cgi?id=174051
http://trac.webkit.org/changeset/219030

9:02 AM Changeset in webkit [219071] by Brent Fulgham
  • 9 edits in trunk

Drop ResourceLoadStatisticsStore's statisticsLock
https://bugs.webkit.org/show_bug.cgi?id=174080

Patch by Chris Dumez <Chris Dumez> on 2017-07-03
Reviewed by Brent Fulgham.

Source/WebKit2:

Drop ResourceLoadStatisticsStore's statisticsLock. It added complexity and was only needed
do that the SPI exposed to WebKitTestRunner would query the store synchronously from the
main thread. Instead, I made the SPI asynchronous and make sure we always access the store
from the same background thread. As a result, there is no longer any need for locking.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _resourceLoadStatisticsIsPrevalentResource:completionHandler:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsHadUserInteraction:completionHandler:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsIsGrandfathered:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/Storage/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::isPrevalentResource):
(WebKit::ResourceLoadStatisticsStore::isGrandFathered):
(WebKit::ResourceLoadStatisticsStore::ensureResourceStatisticsForPrimaryDomain):
(WebKit::ResourceLoadStatisticsStore::createEncoderFromData):
(WebKit::ResourceLoadStatisticsStore::readDataFromDecoder):
(WebKit::ResourceLoadStatisticsStore::clearInMemory):
(WebKit::ResourceLoadStatisticsStore::mergeStatistics):
(WebKit::ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler):
(WebKit::ResourceLoadStatisticsStore::processStatistics):
(WebKit::ResourceLoadStatisticsStore::topPrivatelyControlledDomainsToRemoveWebsiteDataFor):
(WebKit::ResourceLoadStatisticsStore::sortedPrevalentResourceTelemetry):
(WebKit::ResourceLoadStatisticsStore::updateStatisticsForRemovedDataRecords):
(WebKit::ResourceLoadStatisticsStore::handleFreshStartWithEmptyOrNoStore):

  • UIProcess/Storage/ResourceLoadStatisticsStore.h:
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded):
(WebKit::WebResourceLoadStatisticsStore::refreshFromDisk):
(WebKit::WebResourceLoadStatisticsStore::clearInMemoryData):
(WebKit::WebResourceLoadStatisticsStore::submitTelemetry):
(WebKit::WebResourceLoadStatisticsStore::logUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::clearUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::clearPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::isGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectTo):

  • UIProcess/WebResourceLoadStatisticsStore.h:

Tools:

Port WebKitTestRunner to new Asynchronous Cocoa SPI.

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::isStatisticsPrevalentResource):
(WTR::TestController::isStatisticsHasHadUserInteraction):
(WTR::TestController::isStatisticsGrandfathered):

4:26 AM Changeset in webkit [219070] by wenson_hsieh@apple.com
  • 11 edits in trunk

Pasting single words copied to UIPasteboard inserts URLs in editable areas
https://bugs.webkit.org/show_bug.cgi?id=174082
<rdar://problem/33046992>

Reviewed by Tim Horton.

Source/WebCore:

Currently, our heuristics for coercing plain text to URLs when reading URLs off of the UIPasteboard allows URLs
to be created as long as -[UIPasteboard valuesForPasteboardType:inItemSet:] returns a non-null NSURL. However,
UIPasteboard automatically coerces any NSString into an NSURL if it initializes an NSURL via +URLWithString:.
Thus, single-word strings such as "hello" that are written to the pasteboard as "public.utf8-plain-text" can
be read back as NSURLs for "public.url". This currently causes bugs in shipping software: e.g. copying and
pasting a single word from an editable input or textarea and pasting into a rich contenteditable area using
WebKit1 inserts a link. However, when combined with another change in WebKit that attempts to read "public.url"
before "public.text" when reading plain text from the pasteboard, this now also affects pasting in plain text
areas, where pasted plain-text strings that are not URLs will paste as URL-encoded strings anyways (for
instance, replacing "[hello]" with "%5Bhello%5D").

To fix this, and existing issues with pasting single words in contenteditables, we make
PlatformPasteboard::readString and PlatformPasteboard::readURL only accept a coerced NSURL as an URL if it also
parses as a valid URL in WebKit (otherwise, we return an empty string).

Tests:

UIPasteboardTests.DoNotPastePlainTextAsURL
UIPasteboardTests.PastePlainTextAsURL
UIPasteboardTests.PasteURLWithPlainTextAsURL

  • platform/PlatformPasteboard.h:
  • platform/ios/AbstractPasteboard.h:
  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::allowReadingURLAtIndex):

Allow an URL to be read if either (1) an URL was explicitly specified in the UIPasteboard, or (2) the "proposed"
URL returned from -valuesForPasteboardType: is valid.

(WebCore::PlatformPasteboard::readString):
(WebCore::PlatformPasteboard::readURL):

Consult allowReadingURLAtIndex here (in the case of ::readString, only if the given pasteboard type is
"public.url").

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

(-[WebItemProviderPasteboard itemProviders]):
(-[WebItemProviderPasteboard setItemProviders:]):

Source/WebKit2:

Add a hook to WKPreferences to allow programatic pasting.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setDOMPasteAllowed:]):
(-[WKPreferences _domPasteAllowed]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

Adds 3 new unit tests to UIPasteboardTests to test cases of pasting plain text and URLs.

  • TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:

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

3:58 AM Changeset in webkit [219069] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK+ and WPE build fix when building with GCC 4.9.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::renderNextFrame): Don't use brace-list
initialization to override the m_forceRepaintAsync struct. Instead, manually
assign the OptionalCallbackID() value to the m_forceRepaintAsync.callbackID
member variable, and override the m_forceRepaintAsync.needsFreshFlush member
variable with false.

3:11 AM Changeset in webkit [219068] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Remove an unused function export
https://bugs.webkit.org/show_bug.cgi?id=174084

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-07-03
Reviewed by Yusuke Suzuki.

  • wtf/Threading.h:
2:56 AM Changeset in webkit [219067] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

[ThreadedCompositor] Update and retrieve scene attributes under a Lock
https://bugs.webkit.org/show_bug.cgi?id=173762

Reviewed by Carlos Garcia Campos.

Instead of dispatching separate tasks on the composition run loop, update
various scene attributes by locking a common lock object and updating the
appropriate attribute.

In ThreadedCompositor::renderLayerTree(), where these attributes are used
in scene composition, the lock is again obtained and the attributes copied
into local variables, releasing the lock afterwards. The attribute values
in local copies are then used for that renderLayerTree() invocation.

This approach is more efficient than dispatching separate tasks that can
race against renderLayerTree() dispatches.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::ThreadedCompositor):
(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::setScaleFactor):
(WebKit::ThreadedCompositor::setScrollPosition):
(WebKit::ThreadedCompositor::setViewportSize):
(WebKit::ThreadedCompositor::setDrawsBackground):
(WebKit::ThreadedCompositor::renderLayerTree):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
2:00 AM Changeset in webkit [219066] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit/mac

Expose WebPreferences for viewport-fit and constant() properties
https://bugs.webkit.org/show_bug.cgi?id=174072
<rdar://problem/33096639>

Reviewed by Ryosuke Niwa.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences viewportFitEnabled]):
(-[WebPreferences setViewportFitEnabled:]):
(-[WebPreferences constantPropertiesEnabled]):
(-[WebPreferences setConstantPropertiesEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

1:42 AM Changeset in webkit [219065] by Yusuke Suzuki
  • 2 edits in trunk/JSTests

Unreviewed, annotate dont--reserve-huge-capacity-lexer.js with $memoryLimited

It requires too much memory.

  • stress/dont-reserve-huge-capacity-lexer.js:
12:46 AM Changeset in webkit [219064] by zandobersek@gmail.com
  • 7 edits in trunk

[GCrypt] Implement CryptoKeyEC SPKI exports
https://bugs.webkit.org/show_bug.cgi?id=173646

Reviewed by Jiewen Tan.

Source/WebCore:

No new tests -- affected tests are now passing and are unskipped.

Implement libgcrypt-based support for SPKI exports of EC keys.

Initially, the ECParameters structure is created so that it will be later embedded
into the SubjectPublicKeyInfo structure. First the root element of this structure
is written into, specifying namedCurve as the chosen member (even if other choices
are not really available). We then write out the object identifier into this
namedCurve member that properly represents this key's curve type.

The SubjectPublicKeyInfo structure is created next. We write out id-ecPublicKey
identifier as the chosen algorithm identifier. Web Crypto specification demands
that the id-ecDH identifier is used in case of ECDH keys, but no existing test in
the W3C test suite expects this, so this should be revisited later. Data of the
previously-constructed ECParameters structure is written out into the
AlgorithmIdentifier's parameters member.

The q MPI data is then retrieved. Its size is validated, as well as the first
byte of data in order to ensure the MPI represents an uncompressed EC point.
The data is then written into the subjectPublicKey member.

Finally the encoded SubjectPublicKeyInfo structure data is extracted and returned
from the platformExportSpki() function, completion the export operation.

  • crypto/gcrypt/CryptoKeyECGCrypt.cpp:

(WebCore::curveIdentifier):
(WebCore::CryptoKeyEC::platformExportSpki):

Source/WebCore/PAL:

No new tests -- covered by existing Web Crypto tests.

Add three new libtasn1 utility functions.

createStructure() is a simple wrapper around asn1_create_element(), creating a new
ASN.1 structure for the specified definition that's listed in WebCrypto.asn. The
existing decodeStructure() is modified to use this new addition.

encodedData() retrieves the ASN.1-encoded data of the specified element that's
located in the passed-in asn1_node. This is used when retrieving SPKI or PKCS#8
data from filled-out ASN.1 structures.

writeElement() writes the provided data to the given asn1_node object under the
specified element, using the given size. True is returned if this operation was
successful.

  • pal/crypto/tasn1/Utilities.cpp:

(PAL::TASN1::createStructure):
(PAL::TASN1::decodeStructure):
(PAL::TASN1::encodedData):
(PAL::TASN1::writeElement):

  • pal/crypto/tasn1/Utilities.h:

LayoutTests:

  • platform/gtk/TestExpectations:

Unskip tests that cover SPKI exports of EC keys.

Jul 2, 2017:

10:51 PM Changeset in webkit [219063] by bshafiei@apple.com
  • 7 edits in tags/Safari-604.1.28.1.1/Source

Versioning.

10:49 PM Changeset in webkit [219062] by bshafiei@apple.com
  • 1 copy in tags/Safari-604.1.28.1.1

New tag.

8:42 PM Changeset in webkit [219061] by commit-queue@webkit.org
  • 15 edits in trunk

[WebIDL] Remove special casing for RegExp which is no longer required by the spec
https://bugs.webkit.org/show_bug.cgi?id=174025

Patch by Sam Weinig <sam@webkit.org> on 2017-07-02
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/blob/Blob-constructor-expected.txt:

Update results to passing.

Source/WebCore:

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDictionaryImplementationContent):
(GenerateOverloadDispatcher):
Remove special casing.

  • bindings/scripts/IDLParser.pm:

(parseNonAnyType):
Remove parsing of RegExp.

  • bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
  • bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:

Update test results.

LayoutTests:

  • fast/files/blob-constructor-expected.txt:
  • fast/files/blob-constructor.html:
  • fast/files/file-constructor-expected.txt:
  • fast/files/file-constructor.html:

Update tests/results for change in conversions of RegExp.

8:15 PM WebIDLToDo edited by sam@webkit.org
(diff)
5:50 PM Changeset in webkit [219060] by Yusuke Suzuki
  • 19 edits in trunk/Source

WTF::Thread should have the threads stack bounds.
https://bugs.webkit.org/show_bug.cgi?id=173975

Reviewed by Mark Lam.

Source/JavaScriptCore:

There is a site in JSC that try to walk another thread's stack.
Currently, stack bounds are stored in WTFThreadData which is located
in TLS. Thus, only the thread itself can access its own WTFThreadData.
We workaround this situation by holding StackBounds in MachineThread in JSC,
but StackBounds should be put in WTF::Thread instead.

This patch moves StackBounds from WTFThreadData to WTF::Thread. StackBounds
information is tightly coupled with Thread. Thus putting it in WTF::Thread
is natural choice.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::MachineThread::MachineThread):
(JSC::MachineThreads::MachineThread::captureStack):

  • heap/MachineStackMarker.h:

(JSC::MachineThreads::MachineThread::stackBase):
(JSC::MachineThreads::MachineThread::stackEnd):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::updateStackLimits):
(JSC::VM::committedStackByteCount):

  • runtime/VM.h:

(JSC::VM::isSafeToRecurse):

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):

  • runtime/VMInlines.h:

(JSC::VM::ensureStackCapacityFor):

  • runtime/VMTraps.cpp:
  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::isSafeToRecurse):

Source/WTF:

We move StackBounds from WTFThreadData to WTF::Thread.
One important thing is that we should make valid StackBounds
visible to Thread::create() caller. When the caller get
WTF::Thread from Thread::create(), this WTF::Thread should
have a valid StackBounds. But StackBounds information can be
retrived only in the WTF::Thread's thread itself.

  • wtf/StackBounds.h:

(WTF::StackBounds::emptyBounds):
(WTF::StackBounds::StackBounds):

  • wtf/StackStats.cpp:

(WTF::StackStats::PerThreadStats::PerThreadStats):

  • wtf/Threading.cpp:

(WTF::threadEntryPoint):
(WTF::Thread::create):
(WTF::Thread::currentMayBeNull):
(WTF::Thread::initialize):

  • wtf/Threading.h:

(WTF::Thread::stack):

  • wtf/ThreadingPthreads.cpp:

(WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated):
(WTF::Thread::current):
(WTF::initializeCurrentThreadEvenIfNonWTFCreated): Deleted.
(WTF::Thread::currentMayBeNull): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated):
(WTF::Thread::initializeCurrentThreadInternal):
(WTF::Thread::current):

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::stack): Deleted.

12:38 PM Changeset in webkit [219059] by beidson@apple.com
  • 2 edits
    1 add in trunk/Tools

Add API test for all parts of WebKit1 API related to favicons.
https://bugs.webkit.org/show_bug.cgi?id=174069

Reviewed by Andy Estes.

These two API tests cover all WebKit1 API related to icons.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/WebViewIconLoading.mm: Added.

(mainResourceData):
(defaultFaviconData):
(customFaviconData):
(imageFromData):
(+[IconLoadingProtocol canInitWithRequest:]):
(+[IconLoadingProtocol canonicalRequestForRequest:]):
(-[IconLoadingProtocol startLoading]):
(-[IconLoadingProtocol stopLoading]):
(-[IconLoadingFrameLoadDelegate webView:didReceiveIcon:forFrame:]):
(-[MainFrameIconKVO observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::TEST):

11:43 AM Changeset in webkit [219058] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

RealtimeOutgoingVideoSource should pass frame timestamp
https://bugs.webkit.org/show_bug.cgi?id=174055

Patch by Youenn Fablet <youenn@apple.com> on 2017-07-02
Reviewed by Eric Carlson.

Covered by manual testing since this only affects video encoding quality.

  • platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:

(WebCore::RealtimeOutgoingVideoSource::sendFrame):

Jul 1, 2017:

11:48 PM Changeset in webkit [219057] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit

Expose viewport-fit value to UIKit via viewport arguments dictionary
https://bugs.webkit.org/show_bug.cgi?id=174071
<rdar://problem/33096620>

Reviewed by Wenson Hsieh.

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.mm:

(nameForViewportFitValue):
(dictionaryForViewportArguments):
Make use of the named constants we already have for these; the code
that reads this dictionary uses them, so we might as well!

Add viewport-fit -> { auto, contain, cover } to the dictionary.

  • WebKit.iOS.exp:

Source/WebKit/mac:

  • History/WebHistoryItem.mm:
  • History/WebHistoryItemPrivate.h:

Add another dictionary key and three values.

9:40 PM Changeset in webkit [219056] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

<rdar://problem/33096441> r219055 broke non-iOS builds.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::lookupFallbackFont):

7:06 PM Changeset in webkit [219055] by mitz@apple.com
  • 54 edits
    1 delete in trunk

[iOS] Remove code only needed when building for iOS 9.x
https://bugs.webkit.org/show_bug.cgi?id=174068

Reviewed by Tim Horton.

Source/bmalloc:

  • bmalloc/BPlatform.h:
  • bmalloc/VMAllocate.h:

(bmalloc::vmPageSizePhysical):

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:
  • jit/ExecutableAllocator.cpp:
  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::isDataDetectorLink):
(WebCore::DataDetection::shouldCancelDefaultAction):
(WebCore::constructURLStringForResult):
(WebCore::DataDetection::detectContentInRange):

  • page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::vmPageSize):

  • platform/cocoa/DataDetectorsCoreSoftLink.h:
  • platform/cocoa/DataDetectorsCoreSoftLink.mm:
  • platform/graphics/FontPlatformData.cpp:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(layerContentsFormat):
(PlatformCALayerCocoa::updateContentsFormat):
(PlatformCALayerCocoa::backingStoreBytesPerPixel):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::extendedSRGBColorSpaceRef):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::drawPDFPage):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::lookupFallbackFont):

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::variantCapsSupportsCharacterForSynthesis):
(WebCore::Font::platformWidthForGlyph):

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::ctFont):

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::sinkIntoImage):

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::setTimebase):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::systemFontModificationAttributes):
(WebCore::systemFontDescriptor):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

  • platform/ios/LegacyTileGridTile.mm:

(WebCore::LegacyTileGridTile::LegacyTileGridTile):

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenSupportsExtendedColor):

  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS):
(WebCore::RemoteCommandListenerIOS::~RemoteCommandListenerIOS):
(WebCore::RemoteCommandListenerIOS::updateSupportedCommands):

  • platform/spi/cf/CFNetworkSPI.h:
  • platform/spi/cg/CoreGraphicsSPI.h:
  • platform/spi/cocoa/DataDetectorsCoreSPI.h:
  • platform/spi/cocoa/QuartzCoreSPI.h:
  • platform/spi/mac/AVFoundationSPI.h:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView dealloc]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession setSuggestions:]):
(-[WKFormInputSession invalidate]):
(-[WKContentView insertTextSuggestion:]):
(contentTypeFromFieldName):
(-[WKContentView textInputTraits]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

  • config.h:

Source/WTF:

  • wtf/Platform.h:
  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
  • wtf/spi/darwin/dyldSPI.h:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(-[HIDEventGenerator _createIOHIDEventType:]):

WebKitLibraries:

  • WebKitPrivateFrameworkStubs/iOS/9: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/AppSupport.framework: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/AppSupport.framework/AppSupport.tbd: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/AssertionServices.framework: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/AssertionServices.framework/AssertionServices.tbd: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/CorePDF.framework: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/CorePDF.framework/CorePDF.tbd: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/GraphicsServices.framework: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/GraphicsServices.framework/GraphicsServices.tbd: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/IOSurface.framework: Removed.
  • WebKitPrivateFrameworkStubs/iOS/9/IOSurface.framework/IOSurface.tbd: Removed.
4:29 PM Changeset in webkit [219054] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

REGRESSION(r218371): Reeder's default font is Times instead of San Francisco
https://bugs.webkit.org/show_bug.cgi?id=173617
<rdar://problem/32969819>

Reviewed by Simon Fraser.

Source/WebCore:

On systems where USE_PLATFORM_SYSTEM_FALLBACK_LIST is set to true, the code in
platformFontWithFamilySpecialCase() is still used when @font-face blocks specify
src:local(system-ui), which made the assertion erroneously fire.

Unfortunately, our architecture is such that an @font-face block represents a
single entry in the font-family fallback list, which means it would be quite
difficult to make local(system-ui) in an @font-face block expand at the level
of the font cascade. So, this patch simply reverts to the previous behavior for
local(system-ui) (which doesn't include the entire Core Text cascade list).
This means that "font-family: system-ui" and "src: local(system-ui)" have
different behavior, which is undesirable, but architecturally difficult to
solve. I've added some FIXMEs to the code in the relevant places and filed
https://bugs.webkit.org/show_bug.cgi?id=174023.

Test: fast/text/font-face-local-system.html

  • platform/graphics/cocoa/FontDescriptionCocoa.cpp:

(WebCore::FontCascadeDescription::effectiveFamilyAt):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::systemFontDescriptor):
(WebCore::platformFontWithFamilySpecialCase):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::platformFontWithFamilySpecialCase):

LayoutTests:

  • fast/text/font-face-local-system-expected.html: Added.
  • fast/text/font-face-local-system.html: Added.
2:42 PM Changeset in webkit [219053] by Caio Lima
  • 2 edits in trunk/Source/WTF

[JSC] WTFGetBacktrace can return numberOfFrames == 0 in some architectures
https://bugs.webkit.org/show_bug.cgi?id=172768

Reviewed by Mark Lam.

In some architectures, like ARMv6 running on a Raspberry pi, the
backtrace function from "execinfo.h" is returning 0. In
that case, the RELEASE_ASSERT in StackTrace::captureStackTrace
fails causing a runtime crash.
This patch is adding a guard for the case described above to
avoid a runtime crash in such case.

  • wtf/StackTrace.cpp:

(WTF::StackTrace::captureStackTrace):

2:37 PM Changeset in webkit [219052] by beidson@apple.com
  • 9 edits in trunk

When setting a custom cookie storage location on a WKWebsiteDataStore, cookies aren't actually removed.
<rdar://problem/32410662> and https://bugs.webkit.org/show_bug.cgi?id=174035

Reviewed by Alex Christensen.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _terminateNetworkProcess]):

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

(WebKit::WebProcessPool::ensureNetworkProcess): Take an optional WebsiteDataStore. If one is passed in,

send it to either the existing or new network process.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters): Resolve paths first.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2:26 PM Changeset in webkit [219051] by rniwa@webkit.org
  • 50 edits in trunk/Source

Frame.h doesn't need to include FrameLoader.h, IntRect.h, and NavigationScheduler.h
https://bugs.webkit.org/show_bug.cgi?id=174004

Reviewed by Simon Fraser.

Source/WebCore:

Made FrameLoader and NavigationScheduler UniqueRef in Frame so that we can forward declare them,
and forward declared IntPoint and IntRect to avoid including FrameLoader.h, IntRect.h,
and NavigationScheduler.h in Frame.h

  • Modules/mediastream/MediaStream.cpp:
  • Modules/webaudio/AudioContext.cpp:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect): Avoid calling loader().mixedContentChecker().canRunInsecureContent(~)
on a nullptr even though this used to work because we weren't de-referencing it.

  • bindings/js/ScriptController.cpp:
  • dom/Document.cpp:
  • dom/EventDispatcher.cpp:
  • editing/Editor.cpp:
  • editing/cocoa/EditorCocoa.mm:
  • editing/ios/EditorIOS.mm:
  • editing/mac/EditorMac.mm:
  • history/CachedPage.cpp:
  • html/HTMLObjectElement.cpp:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::DocumentLoader::~DocumentLoader): Check !isLoading() before accessing frameLoader to avoid
accessing m_frame->loader() inside ~FrameLoader.

  • html/parser/XSSAuditor.cpp:
  • html/parser/XSSAuditorDelegate.cpp:
  • inspector/InspectorInstrumentation.h:
  • loader/CrossOriginPreflightChecker.cpp:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::setOpener): Avoid accessing this FrameLoader via m_opener->loader() when it's
this FrameLoader inside ~FrameLoader since UniqueRef<FrameLoader> is clears itself before calling
the destructor of FrameLoader.

  • loader/ImageLoader.cpp:
  • loader/LinkLoader.cpp:
  • loader/SubframeLoader.cpp:
  • loader/appcache/ApplicationCacheGroup.cpp:
  • loader/appcache/DOMApplicationCache.cpp:
  • mathml/MathMLElement.cpp:
  • page/DOMWindow.cpp:
  • page/Frame.cpp:

(WebCore::Frame::Frame):
(WebCore::Frame::init): Moved here from Frame.h
(WebCore::Frame::setDocument):

  • page/Frame.h:

(WebCore::Frame::loader):
(WebCore::Frame::navigationScheduler):

  • page/History.cpp:
  • page/Location.cpp:
  • page/PerformanceLogging.cpp:
  • page/PerformanceNavigation.cpp:
  • page/UserContentProvider.cpp:
  • page/ios/FrameIOS.mm:

(WebCore::Frame::initWithSimpleHTMLDocument):

  • plugins/PluginInfoProvider.cpp:
  • replay/ReplayInputCreationMethods.cpp:
  • replay/UserInputBridge.cpp:
  • xml/XSLTProcessorLibxslt.cpp:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit/mac:

  • WebCoreSupport/WebPluginInfoProvider.mm:

Source/WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::transitionToCommittedForNewPage):

Source/WebKit2:

  • WebProcess/Plugins/WebPluginInfoProvider.cpp:
  • WebProcess/WebPage/WebInspector.cpp:
2:12 PM Changeset in webkit [219050] by mitz@apple.com
  • 155 edits
    3 deletes in trunk

[macOS] Remove code only needed when building for OS X Yosemite
https://bugs.webkit.org/show_bug.cgi?id=174067

Reviewed by Tim Horton.

Source/bmalloc:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • API/WebKitAvailability.h:
  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):

  • html/HTMLCanvasElement.cpp:
  • page/WheelEventDeltaFilter.cpp:

(WebCore::WheelEventDeltaFilter::create):

  • page/mac/WheelEventDeltaFilterMac.h:
  • page/mac/WheelEventDeltaFilterMac.mm:
  • page/scrolling/ScrollingMomentumCalculator.cpp:
  • page/scrolling/mac/ScrollingMomentumCalculatorMac.h:
  • page/scrolling/mac/ScrollingMomentumCalculatorMac.mm:
  • platform/cocoa/NetworkExtensionContentFilter.mm:

(replacementDataFromDecisionInfo):
(WebCore::NetworkExtensionContentFilter::initialize):
(WebCore::NetworkExtensionContentFilter::willSendRequest):
(WebCore::NetworkExtensionContentFilter::responseReceived):
(WebCore::NetworkExtensionContentFilter::addData):
(WebCore::NetworkExtensionContentFilter::finishedAddingData):
(WebCore::NetworkExtensionContentFilter::unblockHandler):

  • platform/graphics/ComplexTextController.h:
  • platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:

(PlatformCAAnimationCocoa::setTimingFunction):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::platformAlternateFamilyName):

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::platformInit):

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::sinkIntoImage):

  • platform/graphics/cocoa/WebGPULayer.mm:

(-[WebGPULayer initWithGPUDevice:]):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):

  • platform/graphics/mac/WebGLLayer.mm:

(-[WebGLLayer initWithGraphicsContext3D:]):

  • platform/mac/BlacklistUpdater.mm:
  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenSupportsExtendedColor):

  • platform/mac/ValidationBubbleMac.mm:

(WebCore::ValidationBubble::ValidationBubble):

  • platform/mac/WebGLBlacklist.mm:

(WebCore::WebGLBlacklist::create):

  • platform/network/cocoa/WebCoreNSURLSession.h:
  • platform/network/cocoa/WebCoreNSURLSession.mm:
  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate):

  • platform/network/mac/CookieJarMac.mm:

(WebCore::setCookiesFromDOM):

  • platform/spi/cf/CFNetworkSPI.h:
  • platform/spi/cg/CoreGraphicsSPI.h:
  • platform/spi/cocoa/NEFilterSourceSPI.h:
  • platform/spi/cocoa/NSURLConnectionSPI.h:
  • platform/spi/cocoa/QuartzCoreSPI.h:
  • platform/spi/mac/NSScrollingInputFilterSPI.h:
  • platform/spi/mac/NSScrollingMomentumCalculatorSPI.h:
  • platform/spi/mac/TUCallSPI.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::levelIndicatorFor):

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendKERNTable):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):

Source/WebCore/PAL:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]):

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::startWindowDrag):
(-[WebInspectorWindowController window]):

  • WebView/WebView.mm:

(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):

Source/WebKit2:

  • Configurations/Base.xcconfig:
  • Configurations/BaseTarget.xcconfig:
  • Configurations/BaseXPCService.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/NetworkService.xcconfig:
  • Configurations/PluginService.32.xcconfig:
  • Configurations/PluginService.64.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebContentService.xcconfig:
  • Configurations/WebKit.xcconfig:
  • DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Removed.
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::platformInvalidate):
(IPC::Connection::platformInitialize):
(IPC::Connection::open):
(IPC::Connection::exceptionSourceEventHandler): Deleted.
(IPC::Connection::setShouldCloseConnectionOnMachExceptions): Deleted.

  • Platform/mac/LayerHostingContext.h:
  • Platform/mac/LayerHostingContext.mm:

(WebKit::LayerHostingContext::createFencePort):

  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Removed.
  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::updateLayerHostingContext):

  • PluginProcess/mac/PluginProcessShim.mm:
  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
  • Shared/ChildProcess.h:
  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::getPluginInfoFromPropertyLists):
(WebKit::NetscapePluginModule::getPluginInfo):
(WebKit::contentsOfPropertyListAtURL): Deleted.
(WebKit::getMIMETypesFromPluginBundle): Deleted.

  • Shared/Plugins/PluginProcessCreationParameters.cpp:

(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):

  • Shared/Plugins/PluginProcessCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::setSharedHTTPCookieStorage):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):
(fixUpBotchedPageUIClient): Deleted.

  • UIProcess/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::updateLayer):
(WebKit::WebViewImpl::startWindowDrag):

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate): Deleted.

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::platformInitializePluginProcess):
(WebKit::PluginProcessProxy::createPropertyListFile): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setTopContentInset):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::rootViewToWindow):
(WebKit::PageClientImpl::startWindowDrag):

  • UIProcess/mac/RemoteWebInspectorProxyMac.mm:

(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::createFence):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate): Deleted.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::createFrontendWindow):
(WebKit::WebInspectorProxy::platformStartWindowDrag):

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Removed.
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(WebKit::addAnimationToLayer):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

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

Source/WTF:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • wtf/Platform.h:
  • wtf/mac/AppKitCompatibilityDeclarations.h:
  • wtf/spi/cocoa/SecuritySPI.h:
  • wtf/text/TextBreakIterator.cpp:

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

  • DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:

(-[DumpRenderTreeDraggingInfo resetSpringLoading]):

  • MiniBrowser/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
  • TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm:
  • TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/mac/StringTruncator.mm:

(TestWebKitAPI::TEST):

  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize):

  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:

(-[WebKitTestRunnerDraggingInfo resetSpringLoading]):

9:10 AM Changeset in webkit [219049] by Chris Dumez
  • 14 edits
    4 deletes in trunk

Replace ResourceLoadStatisticsStore C API with Cocoa SPI
https://bugs.webkit.org/show_bug.cgi?id=174060

Reviewed by Brent Fulgham.

Source/WebKit2:

Replace ResourceLoadStatisticsStore C API by Cocoa SPI. The new Cocoa SPI is on
WKWebsiteDataStore, which allows us to get rid of the WebResourceLoadStatisticsManager
singleton as the SPI can now interact directly with the WebResourceLoadStatisticsStore.

  • UIProcess/API/C/WKResourceLoadStatisticsManager.cpp: Removed.
  • UIProcess/API/C/WKResourceLoadStatisticsManager.h: Removed.

Drop old C API.

  • UIProcess/WebResourceLoadStatisticsManager.cpp: Removed.
  • UIProcess/WebResourceLoadStatisticsManager.h: Removed.

Drop WebResourceLoadStatisticsManager singleton which was only required by the
C API. This is because the C API was global, rather than working on a specific
store.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:

Add new Cocoa SPI on WKWebsiteDataStore. This is only used for testing.

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
Stop registering the store with the WebResourceLoadStatisticsManager singleton,
as this singleton is gone.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::resourceLoadStatistics):
Add new getter to retrieve the WebResourceLoadStatisticsStore from the
WebsiteDataStore. This is needed by the new Cocoa SPI.

  • WebKit2.xcodeproj/project.pbxproj:

Drop some files.

Tools:

Port WebKitTestRunner over to the new Cocoa SPI.

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
Drop calls to the WKResourceLoadStatisticsStore C API here. Those were
no-ops since this code runs in the WebContent process, not the
UIProcess.

  • WebKitTestRunner/TestController.cpp:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:
7:28 AM Changeset in webkit [219048] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Add a warning if WEBGL2 is enabled without WEBGL
https://bugs.webkit.org/show_bug.cgi?id=174054

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-07-01
Reviewed by Sam Weinig.

  • wtf/FeatureDefines.h:
2:36 AM Changeset in webkit [219047] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix for GCC
https://bugs.webkit.org/show_bug.cgi?id=174034

  • b3/testb3.cpp:

(JSC::B3::testDoubleLiteralComparison):

Note: See TracTimeline for information about the timeline view.