WebCore:
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 22 Dec 2003 19:32:49 +0000 (19:32 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 22 Dec 2003 19:32:49 +0000 (19:32 +0000)
- WebCore part of fix for <rdar://problem/3515706>:
REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor

        Reviewed by Darin.

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge computePageRectsWithPrintWidth:printHeight:]):
renamed method for clarity; now iterates over pages horizontally as well
as vertically; assume x starts at 0 as we were already assuming that y
starts at 0; now returns autoreleased result

WebKit:

- WebKit part of fix for <rdar://problem/3515706>:
REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor

        Reviewed by Darin.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _userScaleFactorForPrintOperation:]):
new method, extracts the scale factor provided by the user in
the Page Setup dialog
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
take user scale factor into account
        (-[WebHTMLView knowsPageRange:]):
renamed local var scaleFactor -> totalScaleFactor for clarity;
take user scale factor into account for print width; now assumes
        computePageRects returns autoreleased result.

        * WebKit.pbproj/project.pbxproj:
Xcode version wars; Darin says these don't affect the build.

WebBrowser:

        Reviewed by Darin.

        * WebBrowser.pbproj/project.pbxproj:
Xcode version wars; Darin says these don't affect the build.

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

WebCore/ChangeLog-2005-08-23
WebCore/kwq/WebCoreBridge.h
WebCore/kwq/WebCoreBridge.mm
WebKit/ChangeLog
WebKit/WebKit.pbproj/project.pbxproj
WebKit/WebView.subproj/WebHTMLView.m

index 15122f7a74fcf7f766ec3f21c3cc9dc5a0d8330b..28d41bbd068857691a2f71cc10fc1abdcc2f5084 100644 (file)
@@ -1,3 +1,17 @@
+2003-12-22  John Sullivan  <sullivan@apple.com>
+
+       - WebCore part of fix for <rdar://problem/3515706>: 
+       REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor
+
+        Reviewed by Darin.
+
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge computePageRectsWithPrintWidth:printHeight:]):
+       renamed method for clarity; now iterates over pages horizontally as well 
+       as vertically; assume x starts at 0 as we were already assuming that y
+       starts at 0; now returns autoreleased result
+
 2003-12-22  Darin Adler  <darin@apple.com>
 
         Reviewed by John.
index ddca20b7ef8194937e5d48812c20f00aa1edb909..202ec8d834218e595483ea46bcb8a6d306e0bd78 100644 (file)
@@ -151,7 +151,7 @@ typedef enum {
 - (BOOL)needsLayout;
 - (void)drawRect:(NSRect)rect;
 - (void)adjustPageHeightNew:(float *)newBottom top:(float)oldTop bottom:(float)oldBottom limit:(float)bottomLimit;
-- (NSArray*)computePageRects:(float)pageWidth withPageHeight:(float)pageHeight;
+- (NSArray*)computePageRectsWithPrintWidth:(float)printWidth printHeight:(float)printHeight;
 
 - (void)setUsesInactiveTextBackgroundColor:(BOOL)uses;
 - (BOOL)usesInactiveTextBackgroundColor;
index cbc71561dd3100f6152e1b003213d6497cd479e3..0b708e99b3507bbf06e3030ae36e0fcd15456bd6 100644 (file)
@@ -471,28 +471,33 @@ static BOOL nowPrinting(WebCoreBridge *self)
     [self drawRect:rect withPainter:&painter];
 }
 
-// Vertical pagination hook from AppKit
-- (NSArray*)computePageRects: (float)printWidth withPageHeight: (float)printHeight
-{    
+// Used by pagination code called from AppKit when a standalone web page is printed.
+- (NSArray*)computePageRectsWithPrintWidth:(float)printWidth printHeight:(float)printHeight
+{
     [self _setupRootForPrinting:YES];
-    NSMutableArray* pages = [[NSMutableArray alloc] initWithCapacity:5];
+    NSMutableArray* pages = [NSMutableArray arrayWithCapacity:5];
+       if (printWidth == 0 || printHeight == 0) {
+               return pages;
+       }
+       
     KHTMLView* view = _part->view();
     NSView* documentView = view->getDocumentView();
     if (!documentView)
         return pages;
-    
+       
     float currPageHeight = printHeight;
     float docHeight = NSHeight([documentView bounds]);
-    float pageX = NSMinX([documentView bounds]);
-    float pageWidth = NSWidth([documentView bounds]);
+    float docWidth = NSWidth([documentView bounds]);
     
     // We need to give the part the opportunity to adjust the page height at each step.
     for (float i = 0; i < docHeight; i += currPageHeight) {
         float proposedBottom = kMin(docHeight, i + printHeight);
         _part->adjustPageHeight(&proposedBottom, i, proposedBottom, i);
         currPageHeight = proposedBottom - i;
-        NSValue* val = [NSValue valueWithRect: NSMakeRect(pageX, i, pageWidth, currPageHeight)];
-        [pages addObject: val];
+               for (float j = 0; j < docWidth; j += printWidth) {
+                       NSValue* val = [NSValue valueWithRect: NSMakeRect(j, i, printWidth, currPageHeight)];
+                       [pages addObject: val];
+               }
     }
     [self _setupRootForPrinting:NO];
     
index a13d68bc153811380c1537cf719bb6dba1b0e7a4..0e6ee11c3ea7d26b525ab6d067656941282f06ba 100644 (file)
@@ -1,3 +1,24 @@
+2003-12-22  John Sullivan  <sullivan@apple.com>
+
+       - WebKit part of fix for <rdar://problem/3515706>: 
+       REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor
+
+        Reviewed by Darin.
+
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView _userScaleFactorForPrintOperation:]):
+       new method, extracts the scale factor provided by the user in
+       the Page Setup dialog
+        (-[WebHTMLView _scaleFactorForPrintOperation:]):
+       take user scale factor into account
+        (-[WebHTMLView knowsPageRange:]):
+       renamed local var scaleFactor -> totalScaleFactor for clarity;
+       take user scale factor into account for print width; now assumes
+        computePageRects returns autoreleased result.
+
+        * WebKit.pbproj/project.pbxproj:
+       Xcode version wars; Darin says these don't affect the build.
+
 2003-12-21  Darin Adler  <darin@apple.com>
 
         Reviewed by John.
index 95cfe9e1fa61b2072342e72391fc0ca41c631667..3baed6d9f50f7c65a177cd290b351feba5efac44 100644 (file)
@@ -61,7 +61,7 @@
                        sourceTree = "<group>";
                };
                034768E0FF38A50411DB9C8B = {
-                       expectedFileType = wrapper.framework;
+                       explicitFileType = wrapper.framework;
                        fallbackIsa = PBXFileReference;
                        isa = PBXFrameworkReference;
                        path = WebKit.framework;
                        sourceTree = "<group>";
                };
                089C1667FE841158C02AAC07 = {
-                       expectedFileType = text.plist.strings;
                        fileEncoding = 10;
                        isa = PBXFileReference;
+                       lastKnownFileType = text.plist.strings;
                        name = English;
                        path = English.lproj/InfoPlist.strings;
                        refType = 4;
                        shellScript = "if [ -f ../Tools/Scripts/embed-into-alex ]; then sh ../Tools/Scripts/embed-into-alex; fi";
                };
                2568C72C0174912D0ECA149E = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKit.h;
                        refType = 4;
                        sourceTree = "<group>";
 //2D3
 //2D4
                2D36FD5E03F78F9E00A80166 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFormDelegatePrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                2D81DAB203EB0B2D00A80166 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFormDelegate.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                2D81DAB303EB0B2D00A80166 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebFormDelegate.m;
                        refType = 4;
                        sourceTree = "<group>";
 //353
 //354
                35081D9202B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHTMLRepresentation.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9302B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebHTMLRepresentation.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9402B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHTMLView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9502B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebHTMLView.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9602B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHTMLViewPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9802B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebImageRepresentation.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9902B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebImageRepresentation.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9A02B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebImageView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081D9B02B6D4D80ACA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebImageView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                35081DA602B6D4E40ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebTextRepresentation.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081DA702B6D4E40ACA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebTextRepresentation.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081DA802B6D4E40ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebTextView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                35081DA902B6D4E40ACA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebTextView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                35081DAE02B6D4F50ACA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDocument.h;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = "<group>";
                };
                35F3577F0198AAB80ACA1520 = {
-                       expectedFileType = text.plist.strings;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = text.plist.strings;
                        name = English;
                        path = English.lproj/Localizable.strings;
                        refType = 4;
 //393
 //394
                3944606B020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDynamicScrollBarsView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                3944606C020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebDynamicScrollBarsView.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                3944606E020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPreferences.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                39446070020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDataSource.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                39446071020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebDataSource.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                39446072020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDataSourcePrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                39446074020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFrame.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                3944607A020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebException.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                3944607B020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebException.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                3944607D020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebBackForwardList.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                3944607E020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebBackForwardList.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                3944607F020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHistoryItem.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                39446080020F50ED0ECA1767 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebHistoryItem.m;
                        refType = 4;
                        sourceTree = "<group>";
 //513
 //514
                5128F1F904719A4200CA2D3A = {
-                       expectedFileType = image.tiff;
                        isa = PBXFileReference;
+                       lastKnownFileType = image.tiff;
                        name = missing_image.tiff;
                        path = Resources/missing_image.tiff;
                        refType = 4;
                        };
                };
                513D422E034CF55A00CA2ACD = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebResourceLoadDelegate.h;
                        path = WebView.subproj/WebResourceLoadDelegate.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                51443F9A0429392B00CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPolicyDelegate.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                51443F9B0429392B00CA2D3A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebPolicyDelegate.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                51443F9C0429392B00CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPolicyDelegatePrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                5152FADD033FC50400CA2ACD = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebDefaultContextMenuDelegate.h;
                        path = WebView.subproj/WebDefaultContextMenuDelegate.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                5152FADE033FC50400CA2ACD = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebDefaultContextMenuDelegate.m;
                        path = WebView.subproj/WebDefaultContextMenuDelegate.m;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                5152FADF033FC50400CA2ACD = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebDefaultPolicyDelegate.h;
                        path = WebView.subproj/WebDefaultPolicyDelegate.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                5152FAE0033FC50400CA2ACD = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebDefaultPolicyDelegate.m;
                        path = WebView.subproj/WebDefaultPolicyDelegate.m;
                        refType = 2;
                        };
                };
                5152FAE5033FC52200CA2ACD = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebFrameLoadDelegate.h;
                        path = WebView.subproj/WebFrameLoadDelegate.h;
                        refType = 2;
                        };
                };
                515E27CC0458C86500CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebUIDelegate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                515E27CF0458CA4B00CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDefaultUIDelegate.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                515E27D00458CA4B00CA2D3A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebDefaultUIDelegate.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                516F296F03A6C45A00CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHistoryItemPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                517FA6A903709FCE00CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebUnicode.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                517FA6AA03709FCE00CA2D3A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebUnicode.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                517FA6AB03709FCE00CA2D3A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebUnicodeTables.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                51A8B52E04282B5900CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFrameView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                51A8B52F04282B5900CA2D3A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebFrameView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                51A8B53204282BD200CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFrameViewPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                51A8B579042834F700CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                51A8B57A042834F700CA2D3A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                51A8B57D0428353A00CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebViewPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                51F6866C0366057300CA2D3A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebBaseResourceHandleDelegate.h;
                        path = WebView.subproj/WebBaseResourceHandleDelegate.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                51F6866D0366057300CA2D3A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebBaseResourceHandleDelegate.m;
                        path = WebView.subproj/WebBaseResourceHandleDelegate.m;
                        refType = 2;
 //653
 //654
                6523FACF032DA06B005EFCFF = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebControllerSets.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                6523FAD0032DA06B005EFCFF = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebControllerSets.m;
                        refType = 4;
                        sourceTree = "<group>";
                        shellScript = "ln -sf Versions/Current/Frameworks ${SYMROOT}/WebKit.framework/Frameworks; ln -sf Versions/Current/Frameworks ${DSTROOT}/System/Library/Frameworks/WebKit.framework/Frameworks; echo -n \"\"";
                };
                6578F5DE045F817400000128 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDownload.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                6578F5DF045F817400000128 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebDownload.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                65A7D44A0568AB2600E70EF6 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebUIDelegatePrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        shellScript = "ln -sf Versions/Current/Frameworks ${SYMROOT}/WebKit.framework/Frameworks; ln -sf Versions/Current/Frameworks ${DSTROOT}/System/Library/Frameworks/WebKit.framework/Frameworks; echo -n \"\"";
                };
                65DA2608052CC18700A97B31 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebHistory.m;
                        refType = 4;
                        sourceTree = "<group>";
 //703
 //704
                700BC50B04144DA100A80182 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDefaultResourceLoadDelegate.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                700BC50C04144DA100A80182 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebDefaultResourceLoadDelegate.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                7082F56F038EADAA00A80180 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKitNSStringExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                7082F570038EADAA00A80180 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebKitNSStringExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                70BC9ED604144F3200A80182 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebDefaultFrameLoadDelegate.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                70BC9ED804144FC500A80182 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDefaultFrameLoadDelegate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                70ECD6CC043B727400A80181 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebDataProtocol.h;
                        path = WebView.subproj/WebDataProtocol.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                70ECD6CD043B727400A80181 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebDataProtocol.m;
                        path = WebView.subproj/WebDataProtocol.m;
                        refType = 2;
 //833
 //834
                830E81830585375700AD0891 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKeyGeneration.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                830E81840585375700AD0891 = {
-                       expectedFileType = sourcecode.cpp.cpp;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.cpp.cpp;
                        path = WebKeyGeneration.cpp;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                830E81E005853AC000AD0891 = {
-                       expectedFileType = wrapper.framework;
                        isa = PBXFileReference;
+                       lastKnownFileType = wrapper.framework;
                        name = Security.framework;
                        path = /System/Library/Frameworks/Security.framework;
                        refType = 0;
                        };
                };
                830E821505853B0B00AD0891 = {
-                       expectedFileType = wrapper.framework;
                        isa = PBXFileReference;
+                       lastKnownFileType = wrapper.framework;
                        name = SecurityNssAsn1.framework;
                        path = /System/Library/PrivateFrameworks/SecurityNssAsn1.framework;
                        refType = 0;
                        };
                };
                833987810543012D00EE146E = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDocumentPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                83402EF6035A588900BE770A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNetscapePluginRepresentation.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                83402EF7035A588900BE770A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNetscapePluginRepresentation.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                83402EFA035A58D100BE770A = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNetscapePluginStream.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                83402EFB035A58D100BE770A = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNetscapePluginStream.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                83730F9803FB1E660004736E = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebKitErrors.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                8398847A03426FB000BC5F5E = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSImageExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                8398847B03426FB000BC5F5E = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSImageExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                83E4AF46036652150000E506 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebBasePluginPackage.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                83E4AF47036652150000E506 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebBasePluginPackage.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                83E4AF4B036659440000E506 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPluginPackage.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                83E4AF4C036659440000E506 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebPluginPackage.m;
                        refType = 4;
                        sourceTree = "<group>";
 //843
 //844
                8467275C0367158500CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPluginController.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                8467275D0367158500CA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebPluginController.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                84723BE3056D719E0044BFEA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKeyGenerator.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                84723BE4056D719E0044BFEA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebKeyGenerator.m;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = "<group>";
                };
                848DFF840365FE6A00CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPlugin.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                848DFF850365FE6A00CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPluginContainer.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                848DFF860365FE6A00CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPluginViewFactory.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                84CA5F7E042685E800CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKitErrorsPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                84D4BFF70348EF7600CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNetscapePluginEmbeddedView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                84D4BFF80348EF7600CA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNetscapePluginEmbeddedView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                84D4BFFB0348EF9D00CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNetscapePluginDocumentView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                84D4BFFC0348EF9D00CA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNetscapePluginDocumentView.m;
                        refType = 4;
                        sourceTree = "<group>";
 //933
 //934
                9311022803667CF1008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFileButton.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9311022903667CF1008635CE = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebFileButton.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                93154EF103A41270008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPanelAuthenticationHandler.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                93154EF203A41270008635CE = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebPanelAuthenticationHandler.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                931A72D203265920008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebBaseNetscapePluginViewPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = "<group>";
                };
                932399D8034CF7F6008635CE = {
-                       expectedFileType = text;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = text;
                        name = English;
                        path = English.lproj/StringsNotToBeLocalized.txt;
                        refType = 4;
                        sourceTree = "<group>";
                };
                933D659903413FF2008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebClipView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                933D659A03413FF2008635CE = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebClipView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = "<group>";
                };
                9345D17C0365BF35008635CE = {
-                       expectedFileType = wrapper.nib;
                        isa = PBXFileReference;
+                       lastKnownFileType = wrapper.nib;
                        name = English;
                        path = Panels.subproj/English.lproj/WebAuthenticationPanel.nib;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9345D4E80365C58D008635CE = {
-                       expectedFileType = wrapper.nib;
                        isa = PBXFileReference;
+                       lastKnownFileType = wrapper.nib;
                        name = English;
                        path = English.lproj/WebJavaScriptTextInputPanel.nib;
                        refType = 4;
                        };
                };
                9345D4EA0365C5B2008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebJavaScriptTextInputPanel.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9345D4EB0365C5B2008635CE = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebJavaScriptTextInputPanel.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                9345DDAE0365FB27008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSWindowExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9345DDAF0365FB27008635CE = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSWindowExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                9345DDB20365FFD0008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSControlExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9345DDB30365FFD0008635CE = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSControlExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                93AEB17D032C1735008635CE = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKitLogging.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                93AEB17E032C1735008635CE = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebKitLogging.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                93D623DD051E791F002F47DD = {
-                       expectedFileType = "compiled.mach-o.dylib";
                        isa = PBXFileReference;
+                       lastKnownFileType = "compiled.mach-o.dylib";
                        name = libicucore.dylib;
                        path = /usr/lib/libicucore.dylib;
                        refType = 0;
                        sourceTree = "<group>";
                };
                9CAE9D070252A4130ECA16EA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPreferencesPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                9CE1F8A002A5C6F30ECA2ACD = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebImageRenderer.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9CE1F8A102A5C6F30ECA2ACD = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebImageRenderer.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9CE1F8A202A5C6F30ECA2ACD = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebImageRendererFactory.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                9CE1F8A302A5C6F30ECA2ACD = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebImageRendererFactory.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                9CF0E249021361B00ECA16EA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFramePrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
 //BE3
 //BE4
                BE07CEA7047538F000CA289C = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDatabase.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE07CEA8047538F000CA289C = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebDatabase.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE07CEA9047538F000CA289C = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebFileDatabase.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE07CEAA047538F000CA289C = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebFileDatabase.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE07CEAB047538F000CA289C = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebLRUFileList.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE07CEAC047538F000CA289C = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebLRUFileList.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                BE1B2F5504755C7700CA289C = {
-                       expectedFileType = wrapper.framework;
                        fallbackIsa = PBXFileReference;
                        isa = PBXFrameworkReference;
+                       lastKnownFileType = wrapper.framework;
                        path = Foundation.framework;
                        refType = 3;
                        sourceTree = BUILT_PRODUCTS_DIR;
                        };
                };
                BE26F18D05517E0800BFA0C3 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebGraphicsBridge.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE26F18E05517E0800BFA0C3 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebGraphicsBridge.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                BE6DC39904C62C4E004D0EF6 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSURLExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE6DC39A04C62C4E004D0EF6 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSURLExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                BE887BFF056D3A6E009BB3E7 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSEventExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BE887C00056D3A6E009BB3E7 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSEventExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                BECD14290565830A005BB09C = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSDataExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BECD142A0565830A005BB09C = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSDataExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                BEE18F920472A0CF00CA289C = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebAssertions.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BEE18F930472A0CF00CA289C = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebAssertions.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                BEE18F990472B73200CA289C = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebLocalizableStrings.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BEE18F9A0472B73200CA289C = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebLocalizableStrings.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                BEE52D4A0473032500CA289C = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKitSystemBits.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                BEE52D4B0473032500CA289C = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebKitSystemBits.m;
                        refType = 4;
                        sourceTree = "<group>";
 //ED3
 //ED4
                ED21B9810528F7AA003299AC = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebDocumentInternal.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                ED2B2474033A2DA800C1A526 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSPasteboardExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                ED2B2475033A2DA800C1A526 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSPasteboardExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
 //F53
 //F54
                F508946902B71D59018A9CD4 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNSViewExtras.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F508946A02B71D59018A9CD4 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNSViewExtras.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5143A370221DCCE01A80181 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebFrame.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F520FB190221DEFD01C1A525 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHistory.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F528E3E9031E91AD01CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebIconDatabase.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F528E3EA031E91AD01CA2ACA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebIconDatabase.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F528E3EB031E91AD01CA2ACA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebIconDatabasePrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = SOURCE_ROOT;
                };
                F53444CE02E87CBA018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKitStatistics.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F53444CF02E87CBA018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebKitStatistics.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F53444D202E87D4B018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKitStatisticsPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5488CF402CB04EE01FF6274 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebCookieAdapter.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5488CF502CB04EE01FF6274 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebCookieAdapter.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F560BEBC030DAF4401C1A526 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebSearchableTextView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F560BEBD030DAF4401C1A526 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebSearchableTextView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = "<group>";
                };
                F57D194B034E734901A80180 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebDOMDocument.h;
                        path = DOM.subproj/WebDOMDocument.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F57D194C034E734901A80180 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebDOMDocument.m;
                        path = DOM.subproj/WebDOMDocument.m;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F57D194D034E734901A80180 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebDOMElement.h;
                        path = DOM.subproj/WebDOMElement.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F57D194E034E734901A80180 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebDOMElement.m;
                        path = DOM.subproj/WebDOMElement.m;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F57D1951034E734901A80180 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebDOMNode.h;
                        path = DOM.subproj/WebDOMNode.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F57D1952034E734901A80180 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebDOMNode.m;
                        path = DOM.subproj/WebDOMNode.m;
                        refType = 2;
                        };
                };
                F57FB8C4034E180101A80180 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebDebugDOMNode.h;
                        path = WebView.subproj/WebDebugDOMNode.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F57FB8C5034E180101A80180 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebDebugDOMNode.m;
                        path = WebView.subproj/WebDebugDOMNode.m;
                        refType = 2;
                        };
                };
                F5883BDE025E5C6A01000102 = {
-                       expectedFileType = image.tiff;
                        isa = PBXFileReference;
+                       lastKnownFileType = image.tiff;
                        name = nullplugin.tiff;
                        path = Resources/nullplugin.tiff;
                        refType = 4;
                        };
                };
                F5883BE0025E5E9D01000102 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNullPluginView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5883BE1025E5E9D01000102 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNullPluginView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        name = OptimizedWithSymbols;
                };
                F5927D4E02D26C5E01CA2DBB = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebKitErrors.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5934C8802E894F50197FBCF = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebIconLoader.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5934C8902E894F50197FBCF = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebIconLoader.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F59668C802AD2923018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebStringTruncator.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F59668C902AD2923018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebStringTruncator.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F59EAE3E0253C7EE018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebCoreStatistics.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F59EAE410253C8DE018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebCoreStatistics.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5A55DC702BAA2E8018635CC = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHTMLRepresentationPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5A672B90263866E01000102 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebBaseNetscapePluginStream.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5A672BA0263866E01000102 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebBaseNetscapePluginStream.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5AEBB3D024A527601C1A526 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebPreferences.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5AFB45E02B94DC8018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebBridge.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5AFB45F02B94DC8018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebBridge.m;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = "<group>";
                };
                F5B36B410281DF55018635CB = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebTextRenderer.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5B36B420281DF55018635CB = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebTextRenderer.m;
                        path = WebCoreSupport.subproj/WebTextRenderer.m;
                        refType = 2;
                        };
                };
                F5B36B450281DF9C018635CB = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebTextRendererFactory.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5B36B460281DF9C018635CB = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebTextRendererFactory.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5B67130023EDF8901C1A525 = {
-                       expectedFileType = image.tiff;
                        isa = PBXFileReference;
+                       lastKnownFileType = image.tiff;
                        name = url_icon.tiff;
                        path = Resources/url_icon.tiff;
                        refType = 4;
                        };
                };
                F5B92B820223191D01C1A525 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebHistoryPrivate.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5C283730284676D018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebKitPrefix.h;
                        path = ../WebKitPrefix.h;
                        refType = 4;
                        };
                };
                F5C2869302846DCD018635CA = {
-                       expectedFileType = wrapper.framework;
                        fallbackIsa = PBXFileReference;
                        isa = PBXFrameworkReference;
+                       lastKnownFileType = wrapper.framework;
                        name = ApplicationServices.framework;
                        path = /System/Library/Frameworks/ApplicationServices.framework;
                        refType = 0;
                        sourceTree = "<absolute>";
                };
                F5C2869402846DCD018635CA = {
-                       expectedFileType = wrapper.framework;
                        fallbackIsa = PBXFileReference;
                        isa = PBXFrameworkReference;
+                       lastKnownFileType = wrapper.framework;
                        name = Carbon.framework;
                        path = /System/Library/Frameworks/Carbon.framework;
                        refType = 0;
                        sourceTree = "<absolute>";
                };
                F5C2869502846DCD018635CA = {
-                       expectedFileType = wrapper.framework;
                        fallbackIsa = PBXFileReference;
                        isa = PBXFrameworkReference;
+                       lastKnownFileType = wrapper.framework;
                        name = Cocoa.framework;
                        path = /System/Library/Frameworks/Cocoa.framework;
                        refType = 0;
                        };
                };
                F5D538E802441F2601A80181 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebMainResourceClient.h;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5D538EC02441FDD01A80181 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebMainResourceClient.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5E0A76E02B8FEE401C1A525 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebURLsWithTitles.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5E0A76F02B8FEE401C1A525 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebURLsWithTitles.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5E0E10802BC45F8018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebSubresourceClient.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5E0E10902BC45F8018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebSubresourceClient.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5E7B24503025CE801A80180 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebGlyphBuffer.h;
                        path = WebCoreSupport.subproj/WebGlyphBuffer.h;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F5E7B24603025CE801A80180 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebGlyphBuffer.m;
                        path = WebCoreSupport.subproj/WebGlyphBuffer.m;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                };
                F5EBC45502134BC301CA1520 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebBaseNetscapePluginView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5EBC45602134BC301CA1520 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebBaseNetscapePluginView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5F7171E0288493C018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebNetscapePluginPackage.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5F7171F0288493C018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebNetscapePluginPackage.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5F717200288493C018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebPluginDatabase.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5F717210288493C018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebPluginDatabase.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5F717220288493C018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = npapi.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5F717230288493C018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = npapi.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5F7174C02885C5B018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebViewFactory.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5F7174D02885C5B018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebViewFactory.m;
                        refType = 4;
                        sourceTree = "<group>";
                        };
                };
                F5F732D202FF4D4F01A80180 = {
-                       expectedFileType = sourcecode.exports;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.exports;
                        path = WebKit.exp;
                        refType = 2;
                        sourceTree = SOURCE_ROOT;
                        };
                };
                F5F81C3902B67C26018635CA = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        name = WebRenderNode.h;
                        path = ../WebView.subproj/WebRenderNode.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F5F81C3A02B67C26018635CA = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        name = WebRenderNode.m;
                        path = ../WebView.subproj/WebRenderNode.m;
                        refType = 4;
 //F73
 //F74
                F738C9E903FAD3DF0321FBE0 = {
-                       expectedFileType = file;
                        fallbackIsa = PBXFileReference;
                        isa = PBXFrameworkReference;
+                       lastKnownFileType = file;
                        name = JavaScriptCore.framework;
                        path = build/JavaScriptCore.framework;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F738C9EA03FAD3DF0321FBE0 = {
-                       expectedFileType = file;
                        fallbackIsa = PBXFileReference;
                        isa = PBXFrameworkReference;
+                       lastKnownFileType = file;
                        name = WebCore.framework;
                        path = build/WebCore.framework;
                        refType = 4;
                        };
                };
                F79B974804019934036909D2 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = CarbonUtils.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F79B974904019934036909D2 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = CarbonUtils.m;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = SOURCE_ROOT;
                };
                F7EBEE9003F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = CarbonWindowAdapter.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEE9103F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = CarbonWindowAdapter.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEE9203F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = CarbonWindowContentView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEE9303F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = CarbonWindowContentView.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEE9403F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = CarbonWindowFrame.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEE9503F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = CarbonWindowFrame.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEE9A03F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = HIViewAdapter.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEE9B03F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = HIViewAdapter.m;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEEAA03F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = HIWebView.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F7EBEEAB03F9DBA103CA0DE6 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = HIWebView.m;
                        refType = 4;
                        sourceTree = "<group>";
                        sourceTree = "<group>";
                };
                F8CA15B5029A39D901000122 = {
-                       expectedFileType = sourcecode.c.h;
                        fileEncoding = 30;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.h;
                        path = WebAuthenticationPanel.h;
                        refType = 4;
                        sourceTree = "<group>";
                };
                F8CA15B6029A39D901000122 = {
-                       expectedFileType = sourcecode.c.objc;
                        fileEncoding = 4;
                        isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
                        path = WebAuthenticationPanel.m;
                        refType = 4;
                        sourceTree = "<group>";
index cbef0445d4c20d279788839ecc63228c4e655a91..35eba4da61384768cc2214c09ffc251ee42c1eef 100644 (file)
@@ -1688,6 +1688,11 @@ static WebHTMLView *lastHitView = nil;
     return [printInfo paperSize].width - [printInfo leftMargin] - [printInfo rightMargin];
 }
 
+- (float)_userScaleFactorForPrintOperation:(NSPrintOperation *)printOperation
+{
+       return [[[[printOperation printInfo] dictionary] objectForKey:NSPrintScalingFactor] floatValue];
+}
+
 - (float)_scaleFactorForPrintOperation:(NSPrintOperation *)printOperation
 {
     float viewWidth = NSWidth([self bounds]);
@@ -1695,7 +1700,11 @@ static WebHTMLView *lastHitView = nil;
         ERROR("%@ has no width when printing", self);
         return 1.0;
     }
-    return MAX(1/PrintingMaximumShrinkFactor, [self _availablePaperWidthForPrintOperation:printOperation]/viewWidth);
+       
+    float userScaleFactor = [self _userScaleFactorForPrintOperation:printOperation];
+    float maxShrinkToFitScaleFactor = 1/PrintingMaximumShrinkFactor;
+    float shrinkToFitScaleFactor = [self _availablePaperWidthForPrintOperation:printOperation]/viewWidth;
+    return userScaleFactor * MAX(maxShrinkToFitScaleFactor, shrinkToFitScaleFactor);
 }
 
 // FIXME 3491344: This is a secret AppKit-internal method that we need to override in order
@@ -1729,9 +1738,11 @@ static WebHTMLView *lastHitView = nil;
     // you'd simply see the printer fonts on screen. As of this writing, this does not happen with Safari.
 
     range->location = 1;
-    float scaleFactor = [self _scaleFactorForPrintOperation:[NSPrintOperation currentOperation]];
-    _private->pageRects = [[self _bridge] computePageRects:NSWidth([self bounds]) 
-                                            withPageHeight:[self _calculatePrintHeight]/scaleFactor];
+    float totalScaleFactor = [self _scaleFactorForPrintOperation:[NSPrintOperation currentOperation]];
+    float userScaleFactor = [self _userScaleFactorForPrintOperation:[NSPrintOperation currentOperation]];
+    [_private->pageRects release];
+    _private->pageRects = [[[self _bridge] computePageRectsWithPrintWidth:NSWidth([self bounds])/userScaleFactor
+                                                             printHeight:[self _calculatePrintHeight]/totalScaleFactor] retain];
     range->length = [_private->pageRects count];
     return YES;
 }