Bug 12651

Summary: REGRESSION: With TOT Webkit installed, can't display signatures panel in Tiger Mail (Version 2.1)
Product: WebKit Reporter: Maciej Stachowiak <mjs>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ddkilzer
Priority: P1 Keywords: InRadar
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   

Description Maciej Stachowiak 2007-02-06 23:22:42 PST
2006-09-01 17:20:47 Chris Petersen:
* SUMMARY
With TOT Webkit installed, Tiger Mail 2.1 will not display the Signatures panel in Mail preferences dialog.

Console outputs the following data when I  click on the Signatures icon:

2006-09-01 17:06:15.766 Mail[528] *** NSUnarchiver: inconsistency between written and read data for object 0x0

* STEPS TO REPRODUCE
1. Build TOT (Tiger) and run Tiger Mail to use this frameworks via terminal (open -a Mail )
2. After Mail opens, Select Mail - Preferences
3. Click on Signatures icon in Preference dialog
4. Notice Signatures panel fails to display appear

* RESULTS
Signature panel should appear after I click on Signatures icon in Mail preferences dialog but doesn't.

* REGRESSION
Yes, this DOES work in stock Tiger.

2006-09-08 13:29:34 Justin Garcia:
This doesn't look editing-ish.  I think TimH might know how to fix this.

2006-09-09 08:33:40 Timothy Hatcher:
This sounds like out WebArchive format might have changed in TOT. The archives it is trying to open (signatures) would have been generated with shipping WebKit.

<rdar://problem/4714740>
Comment 1 David Kilzer (:ddkilzer) 2007-02-07 04:06:38 PST
Where are these webarchive files located on disk in Tiger?  I'd like to take a look at them.

Comment 2 David Kilzer (:ddkilzer) 2007-02-07 04:52:57 PST
(In reply to comment #1)
> Where are these webarchive files located on disk in Tiger?  I'd like to take a
> look at them.

Nevermind!  I guess I have to create one first.  :)

Comment 3 David Kilzer (:ddkilzer) 2007-02-07 06:14:09 PST
This bug occurs even if no signatures are defined, so I don't think this has anything to do with signatures that were created with an older version of WebKit.  Opening a .webarchive signature file created with Mail+shipping-WebKit in Safari+ToT-WebKit works fine.  The only thing that I can find wrong with the .webarchive signature file is its invalid use of the BODY tag:

<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV>David D. Kilzer</DIV><DIV>ddkilzer@webkit.org</DIV><DIV><BR class="khtml-block-placeholder"></DIV></BODY><br class="Apple-interchange-newline"></span>

Furthermore, the only WebKit method in the stack when the exception is thrown is WebView initiWithCoder: on this line in WebView.mm:

    result = [super initWithCoder:decoder];

This leads me to believe that the decoder passed into the method is somehow different on WebKit ToT than on shipping WebKit, although I'm not sure how it would differ.

Comment 4 David Kilzer (:ddkilzer) 2007-02-07 06:33:47 PST
Tested with a local debug build of WebKit r19463 with shipping Mail 2.1 (752/752.2) on Mac OS X 10.4.8 (8L127).

Comment 5 Maciej Stachowiak 2007-03-13 01:13:53 PDT
Resolved in Radar.