Reviewed by Maciej.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 4 Dec 2004 15:31:47 +0000 (15:31 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 4 Dec 2004 15:31:47 +0000 (15:31 +0000)
        - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
        an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
        in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.

        * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/English.lproj/StringsNotToBeLocalized.txt
WebKit/WebView.subproj/WebHTMLView.m

index b3e78f0d426d2279da55b993ff73528d6c810552..05207faa7ca1e1d1b04acd388e633b2eaf235b2b 100644 (file)
@@ -1,3 +1,15 @@
+2004-12-04  Darin Adler  <darin@apple.com>
+
+        Reviewed by Maciej.
+
+        - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
+
+        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
+        an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
+        in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.
+
+        * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.
+
 === Safari-173 ===
 
 2004-12-03  Ken Kocienda  <kocienda@apple.com>
index 20518ecfb420bad5c80e056c04060a0b431d2e8c..a818d58917ba6b5de0b78e7c62f597135c66e05b 100644 (file)
@@ -39,6 +39,7 @@
 "0x0"
 "1"
 "1000"
+"12px"
 "13"
 "16"
 "1800"
index 46de7c0d5c70c4d8cca15f7708dd9362388fdfe8..fb62c1d86547bee9d2dd6e2ad19142a02c3ab27e 100644 (file)
@@ -3160,12 +3160,15 @@ static WebHTMLView *lastHitView = nil;
     DOMCSSStyleDeclaration *style = [self _emptyStyle];
 
     NSColor *color = [dictionary objectForKey:NSBackgroundColorAttributeName];
-    if (color != nil) {
-        [style setBackgroundColor:[self _colorAsString:color]];
-    }
+    [style setBackgroundColor:[self _colorAsString:color]];
 
     NSFont *font = [dictionary objectForKey:NSFontAttributeName];
-    if (font != nil) {
+    if (font == nil) {
+        [style setFontFamily:@"Helvetica"];
+        [style setFontSize:@"12px"];
+        [style setFontWeight:@"normal"];
+        [style setFontStyle:@"normal"];
+    } else {
         NSFontManager *fm = [NSFontManager sharedFontManager];
         [style setFontFamily:[font familyName]];
         [style setFontSize:[NSString stringWithFormat:@"%0.fpx", [font pointSize]]];
@@ -3182,17 +3185,21 @@ static WebHTMLView *lastHitView = nil;
     }
 
     color = [dictionary objectForKey:NSForegroundColorAttributeName];
-    if (color != nil) {
-        [style setColor:[self _colorAsString:color]];
-    }
+    [style setColor:color ? [self _colorAsString:color] : @"black"];
 
     NSShadow *shadow = [dictionary objectForKey:NSShadowAttributeName];
-    if (shadow) {
-        [style setTextShadow:[self _shadowAsString:shadow]];
-    }
+    [style setTextShadow:[self _shadowAsString:shadow]];
 
     // FIXME: NSStrikethroughStyleAttributeName
-    // FIXME: NSSuperscriptAttributeName
+
+    int superscriptInt = [[dictionary objectForKey:NSSuperscriptAttributeName] intValue];
+    if (superscriptInt > 0)
+        [style setVerticalAlign:@"super"];
+    else if (superscriptInt < 0)
+        [style setVerticalAlign:@"sub"];
+    else
+        [style setVerticalAlign:@"baseline"];
+
     // FIXME: NSUnderlineStyleAttributeName
 
     return style;