[webkit-changes] [223018] trunk/Source/WebCore
Title: [223018] trunk/Source/WebCore Revision 223018 Author za...@apple.com Date 2017-10-06 21:15:03 -0700 (Fri, 06 Oct 2017) Log Message RenderTable should not hold a collection of raw pointers to RenderTableCaption https://bugs.webkit.org/show_bug.cgi?id=178026 Reviewed by Simon Fraser. Similar to sections, RenderTable should not store captions as raw pointers. Their lifetimes are not guaranteed to be sync with the RenderTable's. Covered by existing tests. * rendering/RenderTable.cpp: (WebCore::RenderTable::addCaption): (WebCore::RenderTable::removeCaption): (WebCore::RenderTable::addOverflowFromChildren): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::insertedIntoTree): (WebCore::RenderTableCaption::willBeRemovedFromTree): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderTable.cpp trunk/Source/WebCore/rendering/RenderTable.h trunk/Source/WebCore/rendering/RenderTableCaption.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (223017 => 223018) --- trunk/Source/WebCore/ChangeLog 2017-10-07 02:36:59 UTC (rev 223017) +++ trunk/Source/WebCore/ChangeLog 2017-10-07 04:15:03 UTC (rev 223018) @@ -1,3 +1,25 @@ +2017-10-06 Zalan Bujtas+ +RenderTable should not hold a collection of raw pointers to RenderTableCaption +https://bugs.webkit.org/show_bug.cgi?id=178026 + + +Reviewed by Simon Fraser. + +Similar to sections, RenderTable should not store captions as raw pointers. Their lifetimes are +not guaranteed to be sync with the RenderTable's. + +Covered by existing tests. + +* rendering/RenderTable.cpp: +(WebCore::RenderTable::addCaption): +(WebCore::RenderTable::removeCaption): +(WebCore::RenderTable::addOverflowFromChildren): +* rendering/RenderTable.h: +* rendering/RenderTableCaption.cpp: +(WebCore::RenderTableCaption::insertedIntoTree): +(WebCore::RenderTableCaption::willBeRemovedFromTree): + 2017-10-06 Daniel Bates Spelling error annotation should encompass hyphen in misspelled word that wraps across multiple lines Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (223017 => 223018) --- trunk/Source/WebCore/rendering/RenderTable.cpp 2017-10-07 02:36:59 UTC (rev 223017) +++ trunk/Source/WebCore/rendering/RenderTable.cpp 2017-10-07 04:15:03 UTC (rev 223018) @@ -218,15 +218,15 @@ section.addChild(WTFMove(child)); } -void RenderTable::addCaption(const RenderTableCaption* caption) +void RenderTable::addCaption(RenderTableCaption& caption) { -ASSERT(m_captions.find(caption) == notFound); -m_captions.append(const_cast (caption)); +ASSERT(m_captions.find() == notFound); +m_captions.append(makeWeakPtr(caption)); } -void RenderTable::removeCaption(const RenderTableCaption* oldCaption) +void RenderTable::removeCaption(RenderTableCaption& oldCaption) { -bool removed = m_captions.removeFirst(oldCaption); +bool removed = m_captions.removeFirst(); ASSERT_UNUSED(removed, removed); } @@ -686,7 +686,7 @@ // Add overflow from our caption. for (unsigned i = 0; i < m_captions.size(); i++) -addOverflowFromChild(m_captions[i]); +addOverflowFromChild(m_captions[i].get()); // Add overflow from our sections. for (RenderTableSection* section = topSection(); section; section = sectionBelow(section)) Modified: trunk/Source/WebCore/rendering/RenderTable.h (223017 => 223018) --- trunk/Source/WebCore/rendering/RenderTable.h 2017-10-07 02:36:59 UTC (rev 223017) +++ trunk/Source/WebCore/rendering/RenderTable.h 2017-10-07 04:15:03 UTC (rev 223018) @@ -256,8 +256,8 @@ const BorderValue& tableStartBorderAdjoiningCell(const RenderTableCell&) const; const BorderValue& tableEndBorderAdjoiningCell(const RenderTableCell&) const; -void addCaption(const RenderTableCaption*); -void removeCaption(const RenderTableCaption*); +void addCaption(RenderTableCaption&); +void removeCaption(RenderTableCaption&); void addColumn(const RenderTableCol*); void removeColumn(const RenderTableCol*); @@ -325,7 +325,7 @@ mutable Vector m_columnPos; mutable Vector m_columns; -mutable Vector m_captions; +mutable Vector m_captions; mutable Vector m_columnRenderers; unsigned effectiveIndexOfColumn(const RenderTableCol&) const; Modified: trunk/Source/WebCore/rendering/RenderTableCaption.cpp (223017 => 223018) --- trunk/Source/WebCore/rendering/RenderTableCaption.cpp 2017-10-07 02:36:59 UTC (rev 223017) +++ trunk/Source/WebCore/rendering/RenderTableCaption.cpp 2017-10-07 04:15:03 UTC (rev 223018) @@ -36,13 +36,13 @@ void RenderTableCaption::insertedIntoTree() { RenderBlockFlow::insertedIntoTree(); -table()->addCaption(this); +table()->addCaption(*this); } void
[webkit-changes] [223017] trunk/Source/WebKit
Title: [223017] trunk/Source/WebKit Revision 223017 Author wenson_hs...@apple.com Date 2017-10-06 19:36:59 -0700 (Fri, 06 Oct 2017) Log Message [iOS WK2] API tests added in r222991 are failing in iOS 11 test runners https://bugs.webkit.org/show_bug.cgi?id=178037 Reviewed by Tim Horton. This patch carries out some minor cleanup around UIKitSPI.h in WebKit2, so that the internal SDK isn't required to implement -[WKContentView insertTextSuggestion:]. * Platform/spi/ios/UIKitSPI.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView insertTextSuggestion:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (223016 => 223017) --- trunk/Source/WebKit/ChangeLog 2017-10-07 02:33:26 UTC (rev 223016) +++ trunk/Source/WebKit/ChangeLog 2017-10-07 02:36:59 UTC (rev 223017) @@ -1,3 +1,17 @@ +2017-10-06 Wenson Hsieh+ +[iOS WK2] API tests added in r222991 are failing in iOS 11 test runners +https://bugs.webkit.org/show_bug.cgi?id=178037 + +Reviewed by Tim Horton. + +This patch carries out some minor cleanup around UIKitSPI.h in WebKit2, so that the internal SDK isn't required +to implement -[WKContentView insertTextSuggestion:]. + +* Platform/spi/ios/UIKitSPI.h: +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView insertTextSuggestion:]): + 2017-10-06 Chris Dumez [Beacon][Cocoa] Beacon requests with BufferSource payload should not have a Content-Type HTTP header Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (223016 => 223017) --- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2017-10-07 02:33:26 UTC (rev 223016) +++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2017-10-07 02:36:59 UTC (rev 223017) @@ -43,17 +43,6 @@ #import #import #import -#if __has_include() -#import -#else -#import -@interface UIKeyboardLoginCredentialsSuggestion : UITextSuggestion - -@property (nonatomic, assign) NSString *username; -@property (nonatomic, assign) NSString *password; - -@end -#endif #import #import #import @@ -400,7 +389,8 @@ - (void)willStartScrollingOverflow; @end -@class UITextSuggestion; +@interface UITextSuggestion : NSObject +@end @protocol UITextInputSuggestionDelegate - (void)setSuggestions:(NSArray *)suggestions; @@ -964,6 +954,15 @@ - (UIResponder *)firstResponder; @end +#if __has_include() +#import +#else +@interface UIKeyboardLoginCredentialsSuggestion : UITextSuggestion +@property (nonatomic, assign) NSString *username; +@property (nonatomic, assign) NSString *password; +@end +#endif + WTF_EXTERN_C_BEGIN BOOL UIKeyboardEnabledInputModesAllowOneToManyShortcuts(); Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (223016 => 223017) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2017-10-07 02:33:26 UTC (rev 223016) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2017-10-07 02:36:59 UTC (rev 223017) @@ -2982,7 +2982,6 @@ [self.inputDelegate selectionDidChange:self]; } -#if USE(APPLE_INTERNAL_SDK) - (void)insertTextSuggestion:(UITextSuggestion *)textSuggestion { // FIXME: Replace NSClassFromString with actual class as soon as UIKit submitted the new class into the iOS SDK. @@ -2994,7 +2993,6 @@ if ([inputDelegate respondsToSelector:@selector(_webView:insertTextSuggestion:inInputSession:)]) [inputDelegate _webView:_webView insertTextSuggestion:textSuggestion inInputSession:_formInputSession.get()]; } -#endif // USE(APPLE_INTERNAL_SDK) - (NSString *)textInRange:(UITextRange *)range { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [223015] trunk
Title: [223015] trunk Revision 223015 Author fpi...@apple.com Date 2017-10-06 19:29:19 -0700 (Fri, 06 Oct 2017) Log Message Enable gigacage on iOS https://bugs.webkit.org/show_bug.cgi?id=177586 Reviewed by JF Bastien. JSTests: Add tests for when Gigacage gets runtime disabled. * stress/disable-gigacage-arrays.js: Added. (foo): * stress/disable-gigacage-strings.js: Added. (foo): * stress/disable-gigacage-typed-arrays.js: Added. (foo): Source/bmalloc: Introduce the ability to disable gigacage at runtime if allocation fails. If any step of gigacage allocation fails, we free all of the gigacages and turn off gigacage support. * CMakeLists.txt: * bmalloc.xcodeproj/project.pbxproj: * bmalloc/Cache.cpp: (bmalloc::Cache::scavenge): * bmalloc/Cache.h: (bmalloc::Cache::tryAllocate): (bmalloc::Cache::allocate): (bmalloc::Cache::deallocate): (bmalloc::Cache::reallocate): * bmalloc/Gigacage.cpp: (Gigacage::ensureGigacage): (Gigacage::runway): (Gigacage::totalSize): (Gigacage::shouldBeEnabled): (): Deleted. (Gigacage::Callback::Callback): Deleted. (Gigacage::Callback::function): Deleted. (Gigacage::PrimitiveDisableCallbacks::PrimitiveDisableCallbacks): Deleted. * bmalloc/Gigacage.h: (Gigacage::wasEnabled): (Gigacage::isEnabled): (Gigacage::runway): Deleted. (Gigacage::totalSize): Deleted. * bmalloc/HeapKind.cpp: Added. (bmalloc::isActiveHeapKind): (bmalloc::mapToActiveHeapKind): * bmalloc/HeapKind.h: (bmalloc::isActiveHeapKindAfterEnsuringGigacage): (bmalloc::mapToActiveHeapKindAfterEnsuringGigacage): * bmalloc/Scavenger.cpp: (bmalloc::Scavenger::scavenge): * bmalloc/bmalloc.h: (bmalloc::api::tryLargeMemalignVirtual): (bmalloc::api::freeLargeVirtual): (bmalloc::api::isEnabled): Source/_javascript_Core: The hardest part of enabling Gigacage on iOS is that it requires loading global variables while executing JS, so the LLInt needs to know how to load from global variables on all platforms that have Gigacage. So, this teaches ARM64 how to load from global variables. Also, this makes the code handle disabling the gigacage a bit better. * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::caged): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::cage): (JSC::AssemblyHelpers::cageConditionally): * offlineasm/arm64.rb: * offlineasm/asm.rb: * offlineasm/instructions.rb: Tools: Add a mode to test disabling Gigacage. * Scripts/run-jsc-stress-tests: * Scripts/webkitruby/jsc-stress-test-writer-default.rb: Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp trunk/Source/_javascript_Core/jit/AssemblyHelpers.h trunk/Source/_javascript_Core/offlineasm/arm64.rb trunk/Source/_javascript_Core/offlineasm/asm.rb trunk/Source/_javascript_Core/offlineasm/instructions.rb trunk/Source/bmalloc/CMakeLists.txt trunk/Source/bmalloc/ChangeLog trunk/Source/bmalloc/bmalloc/Cache.cpp trunk/Source/bmalloc/bmalloc/Cache.h trunk/Source/bmalloc/bmalloc/Gigacage.cpp trunk/Source/bmalloc/bmalloc/Gigacage.h trunk/Source/bmalloc/bmalloc/Heap.cpp trunk/Source/bmalloc/bmalloc/HeapKind.h trunk/Source/bmalloc/bmalloc/Scavenger.cpp trunk/Source/bmalloc/bmalloc/bmalloc.h trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj trunk/Tools/ChangeLog trunk/Tools/Scripts/run-jsc-stress-tests trunk/Tools/Scripts/webkitruby/jsc-stress-test-writer-default.rb Added Paths trunk/JSTests/stress/disable-gigacage-arrays.js trunk/JSTests/stress/disable-gigacage-strings.js trunk/JSTests/stress/disable-gigacage-typed-arrays.js trunk/Source/bmalloc/bmalloc/HeapKind.cpp Diff Modified: trunk/JSTests/ChangeLog (223014 => 223015) --- trunk/JSTests/ChangeLog 2017-10-07 00:25:00 UTC (rev 223014) +++ trunk/JSTests/ChangeLog 2017-10-07 02:29:19 UTC (rev 223015) @@ -1,3 +1,19 @@ +2017-09-29 Filip Pizlo+ +Enable gigacage on iOS +https://bugs.webkit.org/show_bug.cgi?id=177586 + +Reviewed by JF Bastien. + +Add tests for when Gigacage gets runtime disabled. + +* stress/disable-gigacage-arrays.js: Added. +(foo): +* stress/disable-gigacage-strings.js: Added. +(foo): +* stress/disable-gigacage-typed-arrays.js: Added. +(foo): + 2017-10-06 Commit Queue Unreviewed, rolling out r222791 and r222873. Added: trunk/JSTests/stress/disable-gigacage-arrays.js (0 => 223015) --- trunk/JSTests/stress/disable-gigacage-arrays.js (rev 0) +++ trunk/JSTests/stress/disable-gigacage-arrays.js 2017-10-07 02:29:19 UTC (rev 223015) @@ -0,0 +1,24 @@ +//@ runNoisyTestWithEnv "disable-gigacage", "GIGACAGE_ENABLED=0" + +(function() { +function foo(array, i) +{ +return array[i]; +} + +noInline(foo); + +var array = new Array(1000); +for (var i = 0; i < array.length; ++i) +array[i] = 5 - i; +for (var i = 0; i < 1000; ++i) { +var result = 0; +
[webkit-changes] [223014] trunk/Source
Title: [223014] trunk/Source Revision 223014 Author cdu...@apple.com Date 2017-10-06 17:25:00 -0700 (Fri, 06 Oct 2017) Log Message [Beacon][Cocoa] Beacon requests with BufferSource payload should not have a Content-Type HTTP header https://bugs.webkit.org/show_bug.cgi?id=178027 Reviewed by Youenn Fablet. Source/WebCore/PAL: Add new CFNetwork SPI. * pal/spi/cf/CFNetworkSPI.h: Source/WebKit: Use new NSURLSessionConfiguration._suppressedAutoAddedHTTPHeaders CFNetwork SPI to make sure that CFNetwork never adds a Content-Type HTTP headers to our requests when we did not add one. This is covered by the following tests on newer OSes: - imported/w3c/web-platform-tests/beacon/headers/header-content-type.html - http/tests/blink/sendbeacon/beacon-same-origin.html * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (223013 => 223014) --- trunk/Source/WebCore/PAL/ChangeLog 2017-10-07 00:18:04 UTC (rev 223013) +++ trunk/Source/WebCore/PAL/ChangeLog 2017-10-07 00:25:00 UTC (rev 223014) @@ -1,3 +1,15 @@ +2017-10-06 Chris Dumez+ +[Beacon][Cocoa] Beacon requests with BufferSource payload should not have a Content-Type HTTP header +https://bugs.webkit.org/show_bug.cgi?id=178027 + + +Reviewed by Youenn Fablet. + +Add new CFNetwork SPI. + +* pal/spi/cf/CFNetworkSPI.h: + 2017-10-05 Dean Jackson Lots of missing frames in YouTube360 when fullscreen on MacBook Modified: trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h (223013 => 223014) --- trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h 2017-10-07 00:18:04 UTC (rev 223013) +++ trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h 2017-10-07 00:25:00 UTC (rev 223014) @@ -134,6 +134,9 @@ #if PLATFORM(IOS) @property (nullable, copy) NSString *_CTDataConnectionServiceType; #endif +#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 11) +@property (nullable, copy) NSSet *_suppressedAutoAddedHTTPHeaders; +#endif @end #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 11) Modified: trunk/Source/WebKit/ChangeLog (223013 => 223014) --- trunk/Source/WebKit/ChangeLog 2017-10-07 00:18:04 UTC (rev 223013) +++ trunk/Source/WebKit/ChangeLog 2017-10-07 00:25:00 UTC (rev 223014) @@ -1,3 +1,22 @@ +2017-10-06 Chris Dumez + +[Beacon][Cocoa] Beacon requests with BufferSource payload should not have a Content-Type HTTP header +https://bugs.webkit.org/show_bug.cgi?id=178027 + + +Reviewed by Youenn Fablet. + +Use new NSURLSessionConfiguration._suppressedAutoAddedHTTPHeaders CFNetwork SPI to +make sure that CFNetwork never adds a Content-Type HTTP headers to our requests +when we did not add one. + +This is covered by the following tests on newer OSes: +- imported/w3c/web-platform-tests/beacon/headers/header-content-type.html +- http/tests/blink/sendbeacon/beacon-same-origin.html + +* NetworkProcess/cocoa/NetworkSessionCocoa.mm: +(WebKit::NetworkSessionCocoa::NetworkSessionCocoa): + 2017-10-06 Aishwarya Nirmal [iOS] Respect the "caret-color" CSS property when editing Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (223013 => 223014) --- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2017-10-07 00:18:04 UTC (rev 223013) +++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2017-10-07 00:25:00 UTC (rev 223014) @@ -572,6 +572,12 @@ NSURLSessionConfiguration *configuration = configurationForSessionID(m_sessionID); +#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 11) +// Without this, CFNetwork would sometimes add a Content-Type header to our requests (rdar://problem/34748470). +if ([configuration respondsToSelector:@selector(_suppressedAutoAddedHTTPHeaders)]) +configuration._suppressedAutoAddedHTTPHeaders = [NSSet setWithObject:@"Content-Type"]; +#endif + if (!allowsCellularAccess) configuration.allowsCellularAccess = NO; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [223013] trunk
Title: [223013] trunk Revision 223013 Author dba...@webkit.org Date 2017-10-06 17:18:04 -0700 (Fri, 06 Oct 2017) Log Message Spelling error annotation should encompass hyphen in misspelled word that wraps across multiple lines https://bugs.webkit.org/show_bug.cgi?id=177980 Reviewed by Simon Fraser. Source/WebCore: On macOS the spelling and grammar annotations for a word or word phrase encompass hyphenations added because the word or word phrase wraps across more than one line. The effect tends to be more aesthetically pleasing and consistent with how these annotations would be pointed out by a person in conversation: by identify the word or phrase that has a spelling or grammar issue regardless of whether that word or phrase is broken into halves due to line wrapping. The same argument applies to other annotations on macOS, including text matches. Therefore, we should always include any hyphens encompassed by a marker that were added due to line wrapping when painting the marker. Test: editing/spelling/spelling-marker-includes-hyphen.html * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintDocumentMarker): Compute the text run including any added hyphens. If a hyphen was added then the inline text box represents that text up to the hyphen. Adjust the end position of the marker to be the length of the text run if its greater than or equal to the length of the text box. LayoutTests: Add a test to ensure that a spelling error decoration encompasses the hyphen for a misspelled word that is hyphenated because it is broken across more than one line. * editing/spelling/spelling-marker-includes-hyphen-expected.html: Added. * editing/spelling/spelling-marker-includes-hyphen.html: Added. * platform/ios/TestExpectations: Mark the test as WontFix as spelling and grammar markers are not support on iOS. * platform/mac-wk2/TestExpectations: Mark the test as a failure due to . Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/InlineTextBox.cpp Added Paths trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen-expected.html trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen.html Diff Modified: trunk/LayoutTests/ChangeLog (223012 => 223013) --- trunk/LayoutTests/ChangeLog 2017-10-07 00:09:48 UTC (rev 223012) +++ trunk/LayoutTests/ChangeLog 2017-10-07 00:18:04 UTC (rev 223013) @@ -1,3 +1,20 @@ +2017-10-06 Daniel Bates+ +Spelling error annotation should encompass hyphen in misspelled word that wraps across multiple lines +https://bugs.webkit.org/show_bug.cgi?id=177980 + + +Reviewed by Simon Fraser. + +Add a test to ensure that a spelling error decoration encompasses the hyphen for a misspelled +word that is hyphenated because it is broken across more than one line. + +* editing/spelling/spelling-marker-includes-hyphen-expected.html: Added. +* editing/spelling/spelling-marker-includes-hyphen.html: Added. +* platform/ios/TestExpectations: Mark the test as WontFix as spelling and +grammar markers are not support on iOS. +* platform/mac-wk2/TestExpectations: Mark the test as a failure due to . + 2017-10-06 Matt Baker Web Inspector: Add Canvas tab and CanvasOverviewContentView Added: trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen-expected.html (0 => 223013) --- trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen-expected.html (rev 0) +++ trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen-expected.html 2017-10-07 00:18:04 UTC (rev 223013) @@ -0,0 +1,25 @@ + + + + +@font-face { +font-family: Ahem; +src: url("../../resources/Ahem.ttf"); +} +#test { +font-family: Ahem; +width: 100px; +} + + + + + +var testElement = document.getElementById("test"); +testElement.focus(); +document.execCommand("InsertText", false, "misllHlll"); // The H is a placeholder for the hyphen (had it been automatically inserted). +document.execCommand("InsertText", false, " "); // Trigger spell checker +testElement.blur(); + + + Added: trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen.html (0 => 223013) --- trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen.html (rev 0) +++ trunk/LayoutTests/editing/spelling/spelling-marker-includes-hyphen.html 2017-10-07 00:18:04 UTC (rev 223013) @@ -0,0 +1,27 @@ + + + + +@font-face { +font-family: Ahem; +src: url("../../resources/Ahem.ttf"); +} +#test { +font-family: Ahem; +-webkit-hyphens: auto; +hypens: auto; +width: 100px; +} + + + + + +var testElement = document.getElementById("test"); +testElement.focus(); +document.execCommand("InsertText", false, "misl");
[webkit-changes] [223012] trunk
Title: [223012] trunk Revision 223012 Author commit-qu...@webkit.org Date 2017-10-06 17:09:48 -0700 (Fri, 06 Oct 2017) Log Message Source/WebKit: [iOS] Respect the "caret-color" CSS property when editing https://bugs.webkit.org/show_bug.cgi?id=177489 Patch by Aishwarya Nirmalon 2017-10-06 Reviewed by Tim Horton. This change adds support for the caret-color property on iOS. * Shared/EditorState.cpp: (WebKit::EditorState::PostLayoutData::encode const): (WebKit::EditorState::PostLayoutData::decode): * Shared/EditorState.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView insertionPointColor]): * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::platformEditorState const): Tools: [iOS] Respect the "caret-color" CSS property when editing https://bugs.webkit.org/show_bug.cgi?id=177489 Patch by Aishwarya Nirmal on 2017-10-06 Reviewed by Tim Horton. Adds test for iOS caret color support. * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/ios/UIKitSPI.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/EditorState.cpp trunk/Source/WebKit/Shared/EditorState.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm trunk/Tools/TestWebKitAPI/ios/UIKitSPI.h Diff Modified: trunk/Source/WebKit/ChangeLog (223011 => 223012) --- trunk/Source/WebKit/ChangeLog 2017-10-06 23:31:42 UTC (rev 223011) +++ trunk/Source/WebKit/ChangeLog 2017-10-07 00:09:48 UTC (rev 223012) @@ -1,3 +1,22 @@ +2017-10-06 Aishwarya Nirmal + +[iOS] Respect the "caret-color" CSS property when editing +https://bugs.webkit.org/show_bug.cgi?id=177489 + + +Reviewed by Tim Horton. + +This change adds support for the caret-color property on iOS. + +* Shared/EditorState.cpp: +(WebKit::EditorState::PostLayoutData::encode const): +(WebKit::EditorState::PostLayoutData::decode): +* Shared/EditorState.h: +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView insertionPointColor]): +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::WebPage::platformEditorState const): + 2017-10-06 Brian Burg Web Inspector: clicking in Inspector webview clears the selection in the inspected page Modified: trunk/Source/WebKit/Shared/EditorState.cpp (223011 => 223012) --- trunk/Source/WebKit/Shared/EditorState.cpp 2017-10-06 23:31:42 UTC (rev 223011) +++ trunk/Source/WebKit/Shared/EditorState.cpp 2017-10-07 00:09:48 UTC (rev 223012) @@ -128,6 +128,7 @@ encoder << isStableStateUpdate; encoder << insideFixedPosition; encoder << hasPlainText; +encoder << caretColor; #endif #if PLATFORM(MAC) encoder << candidateRequestStartPosition; @@ -179,6 +180,8 @@ return false; if (!decoder.decode(result.hasPlainText)) return false; +if (!decoder.decode(result.caretColor)) +return false; #endif #if PLATFORM(MAC) if (!decoder.decode(result.candidateRequestStartPosition)) Modified: trunk/Source/WebKit/Shared/EditorState.h (223011 => 223012) --- trunk/Source/WebKit/Shared/EditorState.h 2017-10-06 23:31:42 UTC (rev 223011) +++ trunk/Source/WebKit/Shared/EditorState.h 2017-10-07 00:09:48 UTC (rev 223012) @@ -102,6 +102,7 @@ bool isStableStateUpdate { false }; bool insideFixedPosition { false }; bool hasPlainText { false }; +WebCore::Color caretColor; #endif #if PLATFORM(MAC) uint64_t candidateRequestStartPosition { 0 }; Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (223011 => 223012) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2017-10-06 23:31:42 UTC (rev 223011) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2017-10-07 00:09:48 UTC (rev 223012) @@ -2025,6 +2025,11 @@ - (UIColor *)insertionPointColor { +if (!_page->editorState().isMissingPostLayoutData) { +WebCore::Color caretColor = _page->editorState().postLayoutData().caretColor; +if (caretColor.isValid()) +return [UIColor colorWithCGColor:cachedCGColor(caretColor)]; +} return [UIColor insertionPointColor]; } Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (223011 => 223012) --- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2017-10-06 23:31:42 UTC (rev 223011) +++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2017-10-07 00:09:48 UTC (rev 223012) @@ -228,8 +228,10 @@ } postLayoutData.insideFixedPosition = startNodeIsInsideFixedPosition || endNodeIsInsideFixedPosition; if (!selection.isNone()) { -if (m_assistedNode && m_assistedNode->renderer()) +if (m_assistedNode &&
[webkit-changes] [223011] trunk
Title: [223011] trunk Revision 223011 Author mattba...@apple.com Date 2017-10-06 16:31:42 -0700 (Fri, 06 Oct 2017) Log Message Web Inspector: Add Canvas tab and CanvasOverviewContentView https://bugs.webkit.org/show_bug.cgi?id=177604 Reviewed by Devin Rousso. Source/WebInspectorUI: This patch adds experimental feature support for the Canvas tab. Initially the tab provides only an overview of the canvases in the page, and will exist side-by-side with the existing experimental Canvas UI. * Localizations/en.lproj/localizedStrings.js: * UserInterface/Base/Main.js: (WI.contentLoaded): * UserInterface/Base/Setting.js: * UserInterface/Images/Canvas.svg: Added. * UserInterface/Images/CanvasOverview.svg: Added. * UserInterface/Main.html: Add new art and canvas UI classes. * UserInterface/Models/Canvas.js: (WI.Canvas.requestNode): (WI.Canvas.prototype.requestContent): (WI.Canvas.prototype.requestCSSCanvasClientNodes): (WI.Canvas.prototype.requestSize.calculateSize.getAttributeValue): (WI.Canvas.prototype.requestSize.calculateSize): (WI.Canvas.prototype.requestSize.getPropertyValue): (WI.Canvas.prototype.requestSize): Use promises to retrieve canvas data asynchronously. * UserInterface/Models/CollectionTypes.js: Added. (WI.CanvasCollection): New location for concrete collection types. Having a class to type check makes using a collection as a represented object a bit simpler. * UserInterface/Views/CanvasContentView.css: (.content-view.canvas:not(.tab)): (.content-view.canvas:not(.tab) > .preview): (.content-view.canvas:not(.tab) > .preview > img): (.content-view.canvas:not(.tab) > :matches(header, footer)): (.content-view.canvas): Deleted. (.content-view.canvas > .preview): Deleted. (.content-view.canvas > .preview > img): Deleted. During the transition to the new Canvas tab, CanvasContentView needs to support being shown as a full-size content view, and as an item in a CollectionContentView. Hide header and footer elements by default. * UserInterface/Views/CanvasContentView.js: (WI.CanvasContentView): (WI.CanvasContentView.prototype.refresh): (WI.CanvasContentView.prototype.initialLayout): (WI.CanvasContentView.prototype.layout): (WI.CanvasContentView.prototype.shown): (WI.CanvasContentView.prototype.attached): (WI.CanvasContentView.prototype.detached): (WI.CanvasContentView.prototype._showError): (WI.CanvasContentView.prototype._refreshPixelSize): (WI.CanvasContentView.prototype._showGridButtonClicked): (WI.CanvasContentView.prototype._updateImageGrid): (WI.CanvasContentView.prototype._updateMemoryCost): (WI.CanvasContentView.prototype._updatePixelSize): (WI.CanvasContentView.prototype._updateRecordNavigationItem): (WI.CanvasContentView.prototype.hidden): Deleted. (WI.CanvasContentView.prototype.closed): Deleted. (WI.CanvasContentView.prototype._showPreview): Deleted. Added new UI for display in the Canvas overview. These elements are always created, but only appear when the canvas is viewed as a "card". Canvas previews are no longer shown as soon as they are available from the backend. Instead, once the canvas content is ready a layout is scheduled. This guarantees that refreshing all canvases at once causes no flicker, and introduces no perceptible delay. Finally, the "Cancel recording" tooltip has been renamed "Stop recording", to match the behavior of the command. * UserInterface/Views/CanvasDetailsSidebarPanel.js: (WI.CanvasDetailsSidebarPanel.prototype._refreshSourceSection.this._canvas.requestNode.): Deleted. Canvas.prototype.requestNode now returns a promise. * UserInterface/Views/CanvasOverviewContentView.css: Added. (.content-view.canvas-overview): (.content-view.canvas-overview .content-view.canvas): (.content-view.canvas-overview .content-view.canvas.selected:not(.is-recording)): (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)): (.content-view.canvas-overview .content-view.canvas > header): (.content-view.canvas-overview .content-view.canvas.is-recording > header): (.content-view.canvas-overview .content-view.canvas > header > .titles,): (.content-view.canvas-overview .content-view.canvas > header > .titles > .title): (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,): (.content-view.canvas-overview .content-view.canvas > header .subtitle::before): (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .title): (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): (.content-view.canvas-overview .content-view.canvas.is-recording > header > .navigation-bar > .item): (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar): (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording) > header > .navigation-bar): (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop.disabled): (.content-view.canvas-overview
[webkit-changes] [223010] trunk/Source/JavaScriptCore
Title: [223010] trunk/Source/_javascript_Core Revision 223010 Author msab...@apple.com Date 2017-10-06 16:21:48 -0700 (Fri, 06 Oct 2017) Log Message Enable RegExp JIT for match only Unicode RegExp's https://bugs.webkit.org/show_bug.cgi?id=178033 Reviewed by JF Bastien. I forgot to turn on JIT'ing for match-only Unicode RegExp's in r221052. Do it now. * runtime/RegExp.cpp: (JSC::RegExp::compileMatchOnly): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/RegExp.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (223009 => 223010) --- trunk/Source/_javascript_Core/ChangeLog 2017-10-06 23:15:31 UTC (rev 223009) +++ trunk/Source/_javascript_Core/ChangeLog 2017-10-06 23:21:48 UTC (rev 223010) @@ -1,3 +1,15 @@ +2017-10-06 Michael Saboff+ +Enable RegExp JIT for match only Unicode RegExp's +https://bugs.webkit.org/show_bug.cgi?id=178033 + +Reviewed by JF Bastien. + +I forgot to turn on JIT'ing for match-only Unicode RegExp's in r221052. Do it now. + +* runtime/RegExp.cpp: +(JSC::RegExp::compileMatchOnly): + 2017-10-06 Alex Christensen Build fix after r223002. Modified: trunk/Source/_javascript_Core/runtime/RegExp.cpp (223009 => 223010) --- trunk/Source/_javascript_Core/runtime/RegExp.cpp 2017-10-06 23:15:31 UTC (rev 223009) +++ trunk/Source/_javascript_Core/runtime/RegExp.cpp 2017-10-06 23:21:48 UTC (rev 223010) @@ -345,7 +345,7 @@ } #if ENABLE(YARR_JIT) -if (!pattern.m_containsBackreferences && !pattern.containsUnsignedLengthPattern() && !unicode() && vm->canUseRegExpJIT()) { +if (!pattern.m_containsBackreferences && !pattern.containsUnsignedLengthPattern() && vm->canUseRegExpJIT()) { Yarr::jitCompile(pattern, charSize, vm, m_regExpJITCode, Yarr::MatchOnly); if (!m_regExpJITCode.isFallBack()) { m_state = JITCode; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [223009] trunk/Source/WebCore
Title: [223009] trunk/Source/WebCore Revision 223009 Author za...@apple.com Date 2017-10-06 16:15:31 -0700 (Fri, 06 Oct 2017) Log Message RenderTable should not hold a collection of raw pointers to RenderTableCol https://bugs.webkit.org/show_bug.cgi?id=178030 Reviewed by Simon Fraser. In addition to the m_columnRenderersValid flag, this patch ensures that we don't dereference stale column renderers even when the flag is out of sync. Covered by existing tests. * rendering/RenderTable.cpp: (WebCore::RenderTable::updateColumnCache const): (WebCore::RenderTable::slowColElement const): * rendering/RenderTable.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderTable.cpp trunk/Source/WebCore/rendering/RenderTable.h Diff Modified: trunk/Source/WebCore/ChangeLog (223008 => 223009) --- trunk/Source/WebCore/ChangeLog 2017-10-06 23:06:07 UTC (rev 223008) +++ trunk/Source/WebCore/ChangeLog 2017-10-06 23:15:31 UTC (rev 223009) @@ -1,5 +1,23 @@ 2017-10-06 Zalan Bujtas+RenderTable should not hold a collection of raw pointers to RenderTableCol +https://bugs.webkit.org/show_bug.cgi?id=178030 + + +Reviewed by Simon Fraser. + +In addition to the m_columnRenderersValid flag, this patch ensures that +we don't dereference stale column renderers even when the flag is out of sync. + +Covered by existing tests. + +* rendering/RenderTable.cpp: +(WebCore::RenderTable::updateColumnCache const): +(WebCore::RenderTable::slowColElement const): +* rendering/RenderTable.h: + +2017-10-06 Zalan Bujtas + RootInlineBox should not hold a collection of raw pointers to RenderBox https://bugs.webkit.org/show_bug.cgi?id=178025 Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (223008 => 223009) --- trunk/Source/WebCore/rendering/RenderTable.cpp 2017-10-06 23:06:07 UTC (rev 223008) +++ trunk/Source/WebCore/rendering/RenderTable.cpp 2017-10-06 23:15:31 UTC (rev 223009) @@ -931,7 +931,7 @@ for (RenderTableCol* columnRenderer = firstColumn(); columnRenderer; columnRenderer = columnRenderer->nextColumn()) { if (columnRenderer->isTableColumnGroupWithColumnChildren()) continue; -m_columnRenderers.append(columnRenderer); +m_columnRenderers.append(makeWeakPtr(columnRenderer)); // FIXME: We should look to compute the effective column index successively from previous values instead of // calling colToEffCol(), which is in O(numEffCols()). Although it's unlikely that this is a hot function. m_effectiveColumnIndexMap.add(columnRenderer, colToEffCol(columnIndex)); @@ -1027,8 +1027,9 @@ updateColumnCache(); unsigned columnCount = 0; -for (unsigned i = 0; i < m_columnRenderers.size(); i++) { -RenderTableCol* columnRenderer = m_columnRenderers[i]; +for (auto& columnRenderer : m_columnRenderers) { +if (!columnRenderer) +continue; unsigned span = columnRenderer->span(); unsigned startCol = columnCount; ASSERT(span >= 1); @@ -1039,10 +1040,10 @@ *startEdge = startCol == col; if (endEdge) *endEdge = endCol == col; -return columnRenderer; +return columnRenderer.get(); } } -return 0; +return nullptr; } void RenderTable::recalcSections() const Modified: trunk/Source/WebCore/rendering/RenderTable.h (223008 => 223009) --- trunk/Source/WebCore/rendering/RenderTable.h 2017-10-06 23:06:07 UTC (rev 223008) +++ trunk/Source/WebCore/rendering/RenderTable.h 2017-10-06 23:15:31 UTC (rev 223009) @@ -326,7 +326,7 @@ mutable Vector m_columnPos; mutable Vector m_columns; mutable Vector m_captions; -mutable Vector m_columnRenderers; +mutable Vector m_columnRenderers; unsigned effectiveIndexOfColumn(const RenderTableCol&) const; typedef HashMap EffectiveColumnIndexMap; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [223008] trunk/LayoutTests
Title: [223008] trunk/LayoutTests Revision 223008 Author ryanhad...@apple.com Date 2017-10-06 16:06:07 -0700 (Fri, 06 Oct 2017) Log Message LayoutTest http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=177679 Reviewed by Alexey Proskuryakov. Move runTest() from an inline script to a load event handler to avoid a race between parsing and navigation. * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: * http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html Diff Modified: trunk/LayoutTests/ChangeLog (223007 => 223008) --- trunk/LayoutTests/ChangeLog 2017-10-06 23:05:43 UTC (rev 223007) +++ trunk/LayoutTests/ChangeLog 2017-10-06 23:06:07 UTC (rev 223008) @@ -1,3 +1,15 @@ +2017-10-06 Ryan Haddad+ +LayoutTest http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=177679 + +Reviewed by Alexey Proskuryakov. + +Move runTest() from an inline script to a load event handler to avoid a race between parsing and navigation. + +* http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: +* http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html: + 2017-10-05 Joseph Pecoraro Web Inspector: Network Tab - Headers Detail View Modified: trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt (223007 => 223008) --- trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt 2017-10-06 23:05:43 UTC (rev 223007) +++ trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt 2017-10-06 23:06:07 UTC (rev 223008) @@ -2,8 +2,9 @@ main frame - didCommitLoadForFrame main frame - didReceiveTitle: Test for Partitioned Cookies With and Without User Interaction main frame - didChangeLocationWithinPageForFrame +main frame - didFinishDocumentLoadForFrame main frame - willPerformClientRedirectToURL: http://localhost:8000/loading/resourceLoadStatistics/resources/set-cookie.php?name=firstPartyCookie=value#http://127.0.0.1:8000/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html#step2 -main frame - didFinishDocumentLoadForFrame +main frame - didHandleOnloadEventsForFrame main frame - didFinishLoadForFrame main frame - didStartProvisionalLoadForFrame main frame - didCancelClientRedirectForFrame @@ -16,12 +17,12 @@ main frame - didCancelClientRedirectForFrame main frame - didCommitLoadForFrame main frame - didReceiveTitle: Test for Partitioned Cookies With and Without User Interaction +main frame - didFinishDocumentLoadForFrame main frame - didChangeLocationWithinPageForFrame frame "-->" - didStartProvisionalLoadForFrame -main frame - didFinishDocumentLoadForFrame +main frame - didHandleOnloadEventsForFrame frame "-->" - didCommitLoadForFrame frame "-->" - didFinishDocumentLoadForFrame -main frame - didHandleOnloadEventsForFrame main frame - didChangeLocationWithinPageForFrame frame "-->" - didStartProvisionalLoadForFrame frame "-->" - didHandleOnloadEventsForFrame @@ -42,8 +43,8 @@ frame "-->" - didHandleOnloadEventsForFrame frame "-->" - didFinishLoadForFrame main frame - didFinishLoadForFrame - + Frame: '-->' Modified: trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html (223007 => 223008) --- trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html 2017-10-06 23:05:43 UTC (rev 223007) +++ trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html 2017-10-06 23:06:07 UTC (rev 223008) @@ -5,7 +5,7 @@ Test for Partitioned Cookies With and Without User Interaction -+