From 71678a25c1e98285aeec498c00b05420958ae278 Mon Sep 17 00:00:00 2001 From: "enrica@apple.com" Date: Thu, 19 Jan 2012 16:55:15 +0000 Subject: [PATCH] editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName. https://bugs.webkit.org/show_bug.cgi?id=76588 Source/WebCore: Reviewed by Dan Bernstein. Added TestWebKitAPI test. * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]): Tools: Added test. Reviewed by Dan Bernstein. * TestWebKitAPI/Tests/mac/InspectorBar.mm: (TestWebKitAPI::TEST): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105416 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 13 +++++++++++++ Source/WebCore/platform/mac/HTMLConverter.mm | 2 ++ Tools/ChangeLog | 13 +++++++++++++ Tools/TestWebKitAPI/Tests/mac/InspectorBar.mm | 9 ++++++++- 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 55d74a4..ba6ece7 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,16 @@ +2012-01-18 Enrica Casucci + + editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName. + https://bugs.webkit.org/show_bug.cgi?id=76588 + + + Reviewed by Dan Bernstein. + + Added TestWebKitAPI test. + + * platform/mac/HTMLConverter.mm: + (+[WebHTMLConverter editingAttributedStringFromRange:]): + 2012-01-18 Alexander Pavlov Web Inspector: Implement screen resolution emulation backend diff --git a/Source/WebCore/platform/mac/HTMLConverter.mm b/Source/WebCore/platform/mac/HTMLConverter.mm index ef4ca3a..5ce5446 100644 --- a/Source/WebCore/platform/mac/HTMLConverter.mm +++ b/Source/WebCore/platform/mac/HTMLConverter.mm @@ -1693,6 +1693,8 @@ static NSInteger _colCompare(id block1, id block2, void *) if (!renderer) continue; RenderStyle* style = renderer->style(); + if (style->textDecorationsInEffect() & UNDERLINE) + [attrs.get() setObject:[NSNumber numberWithInteger:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName]; NSFont *font = style->font().primaryFont()->getNSFont(); [attrs.get() setObject:font forKey:NSFontAttributeName]; if (style->visitedDependentColor(CSSPropertyColor).alpha()) diff --git a/Tools/ChangeLog b/Tools/ChangeLog index 798c67f..07b6b37 100644 --- a/Tools/ChangeLog +++ b/Tools/ChangeLog @@ -1,3 +1,16 @@ +2012-01-18 Enrica Casucci + + editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName. + https://bugs.webkit.org/show_bug.cgi?id=76588 + + + Added test. + + Reviewed by Dan Bernstein. + + * TestWebKitAPI/Tests/mac/InspectorBar.mm: + (TestWebKitAPI::TEST): + 2012-01-19 Tor Arne Vestbø [Qt] Do full incremental builds until bots use update-webkit diff --git a/Tools/TestWebKitAPI/Tests/mac/InspectorBar.mm b/Tools/TestWebKitAPI/Tests/mac/InspectorBar.mm index 7e46565..bebf50a 100644 --- a/Tools/TestWebKitAPI/Tests/mac/InspectorBar.mm +++ b/Tools/TestWebKitAPI/Tests/mac/InspectorBar.mm @@ -56,13 +56,19 @@ TEST(WebKit1, InspectorBarTest) RetainPtr inspectorBarController(AdoptNS, [InspectorBarController new]); webView.get().frameLoadDelegate = inspectorBarController.get(); - [webView.get().mainFrame loadHTMLString:@"Lorem ipsum sit amet" baseURL:[NSURL URLWithString:@"about:blank"]]; + [webView.get().mainFrame loadHTMLString:@"Lorem ipsum sit amet" baseURL:[NSURL URLWithString:@"about:blank"]]; Util::run(&didFinishLoad); DOMDocument *document = webView.get().mainFrameDocument; [[document body] focus]; [webView.get() selectAll:nil]; + + NSAttributedString *attrString = [(NSView *)[[[webView.get() mainFrame] frameView] documentView] attributedSubstringFromRange:NSMakeRange(0, 5)]; + NSDictionary *attributes = [attrString attributesAtIndex:0 effectiveRange:0]; + + EXPECT_TRUE([[attributes objectForKey:NSUnderlineStyleAttributeName] intValue] != 0); + [webView.get() changeAttributes:inspectorBarController.get()]; DOMNode *currentNode = [document body]; @@ -71,6 +77,7 @@ TEST(WebKit1, InspectorBarTest) DOMCSSStyleDeclaration *style = [document getComputedStyle:(DOMElement *)currentNode pseudoElement:nil]; EXPECT_WK_STREQ(@"rgb(0, 0, 0)", [style color]); + } } // namespace TestWebKitAPI -- 2.7.4