[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

bfulgham at webkit.org bfulgham at webkit.org
Thu Apr 8 00:43:45 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit e8f9a2a494ddfdf4512f5359c75521f95bbcde0d
Author: bfulgham at webkit.org <bfulgham at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Dec 20 06:55:57 2009 +0000

    Provide an example implementation for printing under Windows.
    http://bugs.webkit.org/show_bug.cgi?id=32504.`
    
    Reviewed by Adam Roben.
    
    * WinLauncher/PrintWebUIDelegate.cpp: Added.
    (PrintWebUIDelegate::QueryInterface):
    (PrintWebUIDelegate::AddRef):
    (PrintWebUIDelegate::Release):
    (PrintWebUIDelegate::webViewPrintingMarginRect):
    * WinLauncher/PrintWebUIDelegate.h: Added.
    (PrintWebUIDelegate::PrintWebUIDelegate):
    (PrintWebUIDelegate::createWebViewWithRequest):
    (PrintWebUIDelegate::webViewShow):
    (PrintWebUIDelegate::webViewClose):
    (PrintWebUIDelegate::webViewFocus):
    (PrintWebUIDelegate::webViewUnfocus):
    (PrintWebUIDelegate::webViewFirstResponder):
    (PrintWebUIDelegate::makeFirstResponder):
    (PrintWebUIDelegate::setStatusText):
    (PrintWebUIDelegate::webViewStatusText):
    (PrintWebUIDelegate::webViewAreToolbarsVisible):
    (PrintWebUIDelegate::setToolbarsVisible):
    (PrintWebUIDelegate::webViewIsStatusBarVisible):
    (PrintWebUIDelegate::setStatusBarVisible):
    (PrintWebUIDelegate::webViewIsResizable):
    (PrintWebUIDelegate::setResizable):
    (PrintWebUIDelegate::setFrame):
    (PrintWebUIDelegate::webViewFrame):
    (PrintWebUIDelegate::setContentRect):
    (PrintWebUIDelegate::webViewContentRect):
    (PrintWebUIDelegate::runJavaScriptAlertPanelWithMessage):
    (PrintWebUIDelegate::runJavaScriptConfirmPanelWithMessage):
    (PrintWebUIDelegate::runJavaScriptTextInputPanelWithPrompt):
    (PrintWebUIDelegate::runBeforeUnloadConfirmPanelWithMessage):
    (PrintWebUIDelegate::runOpenPanelForFileButtonWithResultListener):
    (PrintWebUIDelegate::mouseDidMoveOverElement):
    (PrintWebUIDelegate::contextMenuItemsForElement):
    (PrintWebUIDelegate::validateUserInterfaceItem):
    (PrintWebUIDelegate::shouldPerformAction):
    (PrintWebUIDelegate::dragDestinationActionMaskForDraggingInfo):
    (PrintWebUIDelegate::willPerformDragDestinationAction):
    (PrintWebUIDelegate::dragSourceActionMaskForPoint):
    (PrintWebUIDelegate::willPerformDragSourceAction):
    (PrintWebUIDelegate::contextMenuItemSelected):
    (PrintWebUIDelegate::hasCustomMenuImplementation):
    (PrintWebUIDelegate::trackCustomPopupMenu):
    (PrintWebUIDelegate::measureCustomMenuItem):
    (PrintWebUIDelegate::drawCustomMenuItem):
    (PrintWebUIDelegate::addCustomMenuDrawingData):
    (PrintWebUIDelegate::cleanUpCustomMenuDrawingData):
    (PrintWebUIDelegate::canTakeFocus):
    (PrintWebUIDelegate::takeFocus):
    (PrintWebUIDelegate::registerUndoWithTarget):
    (PrintWebUIDelegate::removeAllActionsWithTarget):
    (PrintWebUIDelegate::setActionTitle):
    (PrintWebUIDelegate::undo):
    (PrintWebUIDelegate::redo):
    (PrintWebUIDelegate::canUndo):
    (PrintWebUIDelegate::canRedo):
    (PrintWebUIDelegate::printFrame):
    (PrintWebUIDelegate::ftpDirectoryTemplatePath):
    (PrintWebUIDelegate::webViewHeaderHeight):
    (PrintWebUIDelegate::webViewFooterHeight):
    (PrintWebUIDelegate::drawHeaderInRect):
    (PrintWebUIDelegate::drawFooterInRect):
    (PrintWebUIDelegate::canRunModal):
    (PrintWebUIDelegate::createModalDialog):
    (PrintWebUIDelegate::runModal):
    (PrintWebUIDelegate::isMenuBarVisible):
    (PrintWebUIDelegate::setMenuBarVisible):
    (PrintWebUIDelegate::runDatabaseSizeLimitPrompt):
    (PrintWebUIDelegate::paintCustomScrollbar):
    (PrintWebUIDelegate::paintCustomScrollCorner):
    * WinLauncher/WinLauncher.cpp: Add new UI delegate for print support.
    (WinLauncherWebHost::updateAddressBar): check-webkit-style fixes.
    (WinLauncherWebHost::QueryInterface): check-webkit-style fixes.
    (WinLauncherWebHost::AddRef): check-webkit-style fixes.
    (WinLauncherWebHost::Release): check-webkit-style fixes.
    (resizeSubViews): check-webkit-style fixes.
    (_tWinMain): check-webkit-style fixes.
    (MyRegisterClass): check-webkit-style fixes.
    (InitInstance): check-webkit-style fixes.
    (AbortProc): New print support function.
    (getPrinterDC): New print support function.
    (initDocStruct): New print support function.
    (PrintView): New printing implementation.
    (WndProc): Add support for printing.
    (MyEditProc): check-webkit-style fixes.
    (About): check-webkit-style fixes.
    (loadURL): check-webkit-style fixes.
    * WinLauncher/WinLauncher.h:
    (WinLauncherWebHost::WinLauncherWebHost):
    (WinLauncherWebHost::didStartProvisionalLoadForFrame):
    (WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
    (WinLauncherWebHost::didFailProvisionalLoadWithError):
    (WinLauncherWebHost::didCommitLoadForFrame):
    (WinLauncherWebHost::didReceiveTitle):
    (WinLauncherWebHost::didReceiveIcon):
    (WinLauncherWebHost::didFinishLoadForFrame):
    (WinLauncherWebHost::didFailLoadWithError):
    (WinLauncherWebHost::didChangeLocationWithinPageForFrame):
    (WinLauncherWebHost::willPerformClientRedirectToURL):
    (WinLauncherWebHost::didCancelClientRedirectForFrame):
    (WinLauncherWebHost::willCloseFrame):
    (WinLauncherWebHost::windowScriptObjectAvailable):
    * WinLauncher/WinLauncher.rc: Add menu entry for printing.
    * WinLauncher/WinLauncher.vcproj: Add new files.
    * WinLauncher/resource.h: Add menu entry for printing.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 420ca9d..358a366 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,115 @@
+2009-12-19  Brent Fulgham  <bfulgham at webkit.org>
+
+        Reviewed by Adam Roben.
+
+        Provide an example implementation for printing under Windows.
+        http://bugs.webkit.org/show_bug.cgi?id=32504.`
+
+        * WinLauncher/PrintWebUIDelegate.cpp: Added.
+        (PrintWebUIDelegate::QueryInterface):
+        (PrintWebUIDelegate::AddRef):
+        (PrintWebUIDelegate::Release):
+        (PrintWebUIDelegate::webViewPrintingMarginRect):
+        * WinLauncher/PrintWebUIDelegate.h: Added.
+        (PrintWebUIDelegate::PrintWebUIDelegate):
+        (PrintWebUIDelegate::createWebViewWithRequest):
+        (PrintWebUIDelegate::webViewShow):
+        (PrintWebUIDelegate::webViewClose):
+        (PrintWebUIDelegate::webViewFocus):
+        (PrintWebUIDelegate::webViewUnfocus):
+        (PrintWebUIDelegate::webViewFirstResponder):
+        (PrintWebUIDelegate::makeFirstResponder):
+        (PrintWebUIDelegate::setStatusText):
+        (PrintWebUIDelegate::webViewStatusText):
+        (PrintWebUIDelegate::webViewAreToolbarsVisible):
+        (PrintWebUIDelegate::setToolbarsVisible):
+        (PrintWebUIDelegate::webViewIsStatusBarVisible):
+        (PrintWebUIDelegate::setStatusBarVisible):
+        (PrintWebUIDelegate::webViewIsResizable):
+        (PrintWebUIDelegate::setResizable):
+        (PrintWebUIDelegate::setFrame):
+        (PrintWebUIDelegate::webViewFrame):
+        (PrintWebUIDelegate::setContentRect):
+        (PrintWebUIDelegate::webViewContentRect):
+        (PrintWebUIDelegate::runJavaScriptAlertPanelWithMessage):
+        (PrintWebUIDelegate::runJavaScriptConfirmPanelWithMessage):
+        (PrintWebUIDelegate::runJavaScriptTextInputPanelWithPrompt):
+        (PrintWebUIDelegate::runBeforeUnloadConfirmPanelWithMessage):
+        (PrintWebUIDelegate::runOpenPanelForFileButtonWithResultListener):
+        (PrintWebUIDelegate::mouseDidMoveOverElement):
+        (PrintWebUIDelegate::contextMenuItemsForElement):
+        (PrintWebUIDelegate::validateUserInterfaceItem):
+        (PrintWebUIDelegate::shouldPerformAction):
+        (PrintWebUIDelegate::dragDestinationActionMaskForDraggingInfo):
+        (PrintWebUIDelegate::willPerformDragDestinationAction):
+        (PrintWebUIDelegate::dragSourceActionMaskForPoint):
+        (PrintWebUIDelegate::willPerformDragSourceAction):
+        (PrintWebUIDelegate::contextMenuItemSelected):
+        (PrintWebUIDelegate::hasCustomMenuImplementation):
+        (PrintWebUIDelegate::trackCustomPopupMenu):
+        (PrintWebUIDelegate::measureCustomMenuItem):
+        (PrintWebUIDelegate::drawCustomMenuItem):
+        (PrintWebUIDelegate::addCustomMenuDrawingData):
+        (PrintWebUIDelegate::cleanUpCustomMenuDrawingData):
+        (PrintWebUIDelegate::canTakeFocus):
+        (PrintWebUIDelegate::takeFocus):
+        (PrintWebUIDelegate::registerUndoWithTarget):
+        (PrintWebUIDelegate::removeAllActionsWithTarget):
+        (PrintWebUIDelegate::setActionTitle):
+        (PrintWebUIDelegate::undo):
+        (PrintWebUIDelegate::redo):
+        (PrintWebUIDelegate::canUndo):
+        (PrintWebUIDelegate::canRedo):
+        (PrintWebUIDelegate::printFrame):
+        (PrintWebUIDelegate::ftpDirectoryTemplatePath):
+        (PrintWebUIDelegate::webViewHeaderHeight):
+        (PrintWebUIDelegate::webViewFooterHeight):
+        (PrintWebUIDelegate::drawHeaderInRect):
+        (PrintWebUIDelegate::drawFooterInRect):
+        (PrintWebUIDelegate::canRunModal):
+        (PrintWebUIDelegate::createModalDialog):
+        (PrintWebUIDelegate::runModal):
+        (PrintWebUIDelegate::isMenuBarVisible):
+        (PrintWebUIDelegate::setMenuBarVisible):
+        (PrintWebUIDelegate::runDatabaseSizeLimitPrompt):
+        (PrintWebUIDelegate::paintCustomScrollbar):
+        (PrintWebUIDelegate::paintCustomScrollCorner):
+        * WinLauncher/WinLauncher.cpp: Add new UI delegate for print support.
+        (WinLauncherWebHost::updateAddressBar): check-webkit-style fixes.
+        (WinLauncherWebHost::QueryInterface): check-webkit-style fixes.
+        (WinLauncherWebHost::AddRef): check-webkit-style fixes.
+        (WinLauncherWebHost::Release): check-webkit-style fixes.
+        (resizeSubViews): check-webkit-style fixes.
+        (_tWinMain): check-webkit-style fixes.
+        (MyRegisterClass): check-webkit-style fixes.
+        (InitInstance): check-webkit-style fixes.
+        (AbortProc): New print support function.
+        (getPrinterDC): New print support function.
+        (initDocStruct): New print support function.
+        (PrintView): New printing implementation.
+        (WndProc): Add support for printing.
+        (MyEditProc): check-webkit-style fixes.
+        (About): check-webkit-style fixes.
+        (loadURL): check-webkit-style fixes.
+        * WinLauncher/WinLauncher.h:
+        (WinLauncherWebHost::WinLauncherWebHost):
+        (WinLauncherWebHost::didStartProvisionalLoadForFrame):
+        (WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
+        (WinLauncherWebHost::didFailProvisionalLoadWithError):
+        (WinLauncherWebHost::didCommitLoadForFrame):
+        (WinLauncherWebHost::didReceiveTitle):
+        (WinLauncherWebHost::didReceiveIcon):
+        (WinLauncherWebHost::didFinishLoadForFrame):
+        (WinLauncherWebHost::didFailLoadWithError):
+        (WinLauncherWebHost::didChangeLocationWithinPageForFrame):
+        (WinLauncherWebHost::willPerformClientRedirectToURL):
+        (WinLauncherWebHost::didCancelClientRedirectForFrame):
+        (WinLauncherWebHost::willCloseFrame):
+        (WinLauncherWebHost::windowScriptObjectAvailable):
+        * WinLauncher/WinLauncher.rc: Add menu entry for printing.
+        * WinLauncher/WinLauncher.vcproj: Add new files.
+        * WinLauncher/resource.h: Add menu entry for printing.
+
 2009-12-19  Adam Barth  <abarth at webkit.org>
 
         Unreviewed.  Tweak the CSS to make the dashboard prettier.
diff --git a/WebKitTools/WinLauncher/PrintWebUIDelegate.cpp b/WebKitTools/WinLauncher/PrintWebUIDelegate.cpp
new file mode 100644
index 0000000..f2f0122
--- /dev/null
+++ b/WebKitTools/WinLauncher/PrintWebUIDelegate.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009 Brent Fulgham. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "stdafx.h"
+#include "PrintWebUIDelegate.h"
+
+#include <commctrl.h>
+#include <commdlg.h>
+#include <objbase.h>
+#include <shlwapi.h>
+#include <wininet.h>
+
+#include <WebKit/WebKitCOMAPI.h>
+
+static const int MARGIN = 20;
+
+HRESULT PrintWebUIDelegate::QueryInterface(REFIID riid, void** ppvObject)
+{
+    *ppvObject = 0;
+    if (IsEqualIID(riid, IID_IUnknown))
+        *ppvObject = static_cast<IWebUIDelegate*>(this);
+    else if (IsEqualIID(riid, IID_IWebUIDelegate))
+        *ppvObject = static_cast<IWebUIDelegate*>(this);
+    else
+        return E_NOINTERFACE;
+
+    AddRef();
+    return S_OK;
+}
+
+ULONG PrintWebUIDelegate::AddRef(void)
+{
+    return ++m_refCount;
+}
+
+ULONG PrintWebUIDelegate::Release(void)
+{
+    ULONG newRef = --m_refCount;
+    if (!newRef)
+        delete this;
+
+    return newRef;
+}
+
+HRESULT PrintWebUIDelegate::webViewPrintingMarginRect(IWebView* view, RECT* rect)
+{
+    if (!view || !rect)
+        return E_POINTER;
+
+    IWebFrame* mainFrame = 0;
+    if (FAILED(view->mainFrame(&mainFrame)))
+        return E_FAIL;
+
+    IWebFramePrivate* privateFrame = 0;
+    if (FAILED(mainFrame->QueryInterface(&privateFrame))) {
+        mainFrame->Release();
+        return E_FAIL;
+    }
+
+    privateFrame->frameBounds(rect);
+
+    rect->left += MARGIN;
+    rect->top += MARGIN;
+    rect->right -= MARGIN; 
+    rect->bottom -= MARGIN;
+
+    privateFrame->Release();
+    mainFrame->Release();
+
+    return S_OK;
+}
diff --git a/WebKitTools/WinLauncher/PrintWebUIDelegate.h b/WebKitTools/WinLauncher/PrintWebUIDelegate.h
new file mode 100644
index 0000000..1d7d701
--- /dev/null
+++ b/WebKitTools/WinLauncher/PrintWebUIDelegate.h
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009 Brent Fulgham. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef PrintWebUIDelegate_h
+#define PrintWebUIDelegate_h
+
+#include <WebKit/WebKit.h>
+
+class PrintWebUIDelegate : public IWebUIDelegate {
+public:
+    PrintWebUIDelegate() : m_refCount(1) {}
+
+    // IUnknown
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef(void);
+    virtual ULONG STDMETHODCALLTYPE Release(void);
+
+    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(IWebView*, IWebURLRequest*, IWebView**) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewShow(IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewClose(IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewFocus(IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(IWebView*, OLE_HANDLE*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(IWebView*, OLE_HANDLE) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setStatusText(IWebView*, BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewStatusText(IWebView*, BSTR*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(IWebView*, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(IWebView*, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(IWebView*, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setResizable(IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setFrame(IWebView*, RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewFrame(IWebView*, RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setContentRect(IWebView*, RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewContentRect(IWebView*, RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(IWebView*, BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(IWebView*, BSTR, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(IWebView*, BSTR, BSTR, BSTR*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(IWebView*, BSTR, IWebFrame*, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(IWebView*, IWebOpenPanelResultListener*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(IWebView*, IPropertyBag*, UINT) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(IWebView*, IPropertyBag*, OLE_HANDLE, OLE_HANDLE*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(IWebView*, UINT, BOOL, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(IWebView*, UINT, UINT) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(IWebView*, IDataObject*, WebDragDestinationAction*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(IWebView*, WebDragDestinationAction, IDataObject*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(IWebView*, LPPOINT, WebDragSourceAction*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(IWebView*, WebDragSourceAction, LPPOINT, IDataObject*, IDataObject**) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(IWebView*, void*, IPropertyBag*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(IWebView*, OLE_HANDLE, LPPOINT) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem(IWebView*, void*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem(IWebView*, void*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(IWebView*, OLE_HANDLE) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(IWebView*, OLE_HANDLE) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE canTakeFocus(IWebView*, BOOL, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE takeFocus(IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(IWebUndoTarget*, BSTR, IUnknown*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(IWebUndoTarget*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setActionTitle(BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE undo() { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE redo() { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE canUndo(BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE canRedo(BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE printFrame(IWebView*, IWebFrame *) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(IWebView*, BSTR*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(IWebView*, float*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(IWebView*, float*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(IWebView*, RECT*, OLE_HANDLE) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(IWebView*, RECT*, OLE_HANDLE, UINT, UINT) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(IWebView*, RECT*);
+    virtual HRESULT STDMETHODCALLTYPE canRunModal(IWebView*, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE createModalDialog(IWebView*, IWebURLRequest*, IWebView**) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runModal(IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(IWebView*, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(IWebView*, BSTR, IWebFrame*, BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(IWebView*, HDC, RECT, WebScrollBarControlSize, WebScrollbarControlState, WebScrollbarControlPart, BOOL, float, float, WebScrollbarControlPartMask) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(IWebView*, HDC, RECT) { return E_NOTIMPL; }
+
+private:
+    int m_refCount;
+};
+
+#endif
diff --git a/WebKitTools/WinLauncher/WinLauncher.cpp b/WebKitTools/WinLauncher/WinLauncher.cpp
index 2dda619..04051ea 100644
--- a/WebKitTools/WinLauncher/WinLauncher.cpp
+++ b/WebKitTools/WinLauncher/WinLauncher.cpp
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2006, 2008 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2009 Brent Fulgha.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -28,10 +29,13 @@
 #include <WebKit/WebKitCOMAPI.h>
 
 #include <commctrl.h>
+#include <commdlg.h>
 #include <objbase.h>
 #include <shlwapi.h>
 #include <wininet.h>
 
+#include "PrintWebUIDelegate.h"
+
 #define MAX_LOADSTRING 100
 #define URLBAR_HEIGHT  24
 
@@ -43,6 +47,7 @@ long DefEditProc;
 IWebView* gWebView = 0;
 HWND gViewWindow = 0;
 WinLauncherWebHost* gWebHost = 0;
+PrintWebUIDelegate* gPrintDelegate = 0;
 TCHAR szTitle[MAX_LOADSTRING];                    // The title bar text
 TCHAR szWindowClass[MAX_LOADSTRING];            // the main window class name
 
@@ -187,6 +192,12 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
     if (FAILED(hr))
         goto exit;
 
+    gPrintDelegate = new PrintWebUIDelegate;
+    gPrintDelegate->AddRef();
+    hr = gWebView->setUIDelegate(gPrintDelegate);
+    if (FAILED (hr))
+        goto exit;
+
     hr = gWebView->setHostWindow((OLE_HANDLE) hMainWnd);
     if (FAILED(hr))
         goto exit;
@@ -232,6 +243,7 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
     }
 
 exit:
+    gPrintDelegate->Release();
     gWebView->Release();
     shutDownWebKit();
 #ifdef _CRTDBG_MAP_ALLOC
@@ -281,6 +293,86 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
    return TRUE;
 }
 
+static BOOL CALLBACK AbortProc(HDC hDC, int Error)
+{
+    MSG msg;
+    while (::PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
+        ::TranslateMessage(&msg);
+        ::DispatchMessage(&msg);
+    }
+
+    return TRUE;
+}
+
+static HDC getPrinterDC()
+{
+    PRINTDLG pdlg;
+    memset(&pdlg, 0, sizeof(PRINTDLG));
+    pdlg.lStructSize = sizeof(PRINTDLG);
+    pdlg.Flags = PD_PRINTSETUP | PD_RETURNDC;
+
+    ::PrintDlg(&pdlg);
+
+    return pdlg.hDC;
+}
+
+static void initDocStruct(DOCINFO* di, TCHAR* docname)
+{
+    memset(di, 0, sizeof(DOCINFO));
+    di->cbSize = sizeof(DOCINFO);
+    di->lpszDocName = docname;
+}
+
+void PrintView(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+    HDC printDC = getPrinterDC();
+    if (!printDC) {
+        ::MessageBox(0, _T("Error creating printing DC"), _T("Error"), MB_APPLMODAL | MB_OK);
+        return;
+    }
+
+    if (::SetAbortProc(printDC, AbortProc) == SP_ERROR) {
+        ::MessageBox(0, _T("Error setting up AbortProc"), _T("Error"), MB_APPLMODAL | MB_OK);
+        return;
+    }
+
+    IWebFrame* frame = 0;
+    if (FAILED(gWebView->mainFrame(&frame)))
+        goto exit;
+
+    IWebFramePrivate* framePrivate = 0;
+    if (FAILED(frame->QueryInterface(&framePrivate)))
+        goto exit;
+
+    framePrivate->setInPrintingMode(TRUE, printDC);
+
+    UINT pageCount = 0;
+    framePrivate->getPrintedPageCount(printDC, &pageCount);
+
+    DOCINFO di;
+    initDocStruct(&di, _T("WebKit Doc"));
+    ::StartDoc(printDC, &di);
+
+    // FIXME: Need CoreGraphics implementation
+    void* graphicsContext = 0;
+    for (size_t page = 0; page < pageCount; ++page) {
+        ::StartPage(printDC);
+        framePrivate->spoolPages(printDC, page, page, graphicsContext);
+        ::EndPage(printDC);
+    }
+
+    framePrivate->setInPrintingMode(FALSE, printDC);
+
+    ::EndDoc(printDC);
+    ::DeleteDC(printDC);
+
+exit:
+    if (frame)
+        frame->Release();
+    if (framePrivate)
+        framePrivate->Release();
+}
+
 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 {
     int wmId, wmEvent;
@@ -299,6 +391,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
             case IDM_EXIT:
                 DestroyWindow(hWnd);
                 break;
+            case IDM_PRINT:
+                PrintView(hWnd, message, wParam, lParam);
+                break;
             default:
                 return DefWindowProc(hWnd, message, wParam, lParam);
         }
diff --git a/WebKitTools/WinLauncher/WinLauncher.h b/WebKitTools/WinLauncher/WinLauncher.h
index 03e9dd5..adc2b17 100644
--- a/WebKitTools/WinLauncher/WinLauncher.h
+++ b/WebKitTools/WinLauncher/WinLauncher.h
@@ -1,115 +1,115 @@
-/*
- * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#pragma once
-
-#include "resource.h"
-#include <WebKit/WebKit.h>
-
-class WinLauncherWebHost : public IWebFrameLoadDelegate
-{
-public:
-    WinLauncherWebHost() : m_refCount(1) {}
-
-    // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
-
-    // IWebFrameLoadDelegate
-    virtual HRESULT STDMETHODCALLTYPE didStartProvisionalLoadForFrame( 
-        /* [in] */ IWebView* webView,
-        /* [in] */ IWebFrame* /*frame*/) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didReceiveServerRedirectForProvisionalLoadForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didFailProvisionalLoadWithError( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebError *error,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didCommitLoadForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame) { return updateAddressBar(webView); }
-    
-    virtual HRESULT STDMETHODCALLTYPE didReceiveTitle( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR title,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didReceiveIcon( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ OLE_HANDLE hBitmap,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didFinishLoadForFrame( 
-        /* [in] */ IWebView* webView,
-        /* [in] */ IWebFrame* /*frame*/) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didFailLoadWithError( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebError *error,
-        /* [in] */ IWebFrame *forFrame) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didChangeLocationWithinPageForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-
-    virtual HRESULT STDMETHODCALLTYPE willPerformClientRedirectToURL( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR url,
-        /* [in] */ double delaySeconds,
-        /* [in] */ DATE fireDate,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE didCancelClientRedirectForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-    
-    virtual HRESULT STDMETHODCALLTYPE willCloseFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame) { return S_OK; }
-    
-    virtual /* [local] */ HRESULT STDMETHODCALLTYPE windowScriptObjectAvailable( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ JSContextRef context,
-        /* [in] */ JSObjectRef windowScriptObject)  { return S_OK; }
-
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#pragma once
+
+#include "resource.h"
+#include <WebKit/WebKit.h>
+
+class WinLauncherWebHost : public IWebFrameLoadDelegate
+{
+public:
+    WinLauncherWebHost() : m_refCount(1) {}
+
+    // IUnknown
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef(void);
+    virtual ULONG STDMETHODCALLTYPE Release(void);
+
+    // IWebFrameLoadDelegate
+    virtual HRESULT STDMETHODCALLTYPE didStartProvisionalLoadForFrame( 
+        /* [in] */ IWebView* webView,
+        /* [in] */ IWebFrame* /*frame*/) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didReceiveServerRedirectForProvisionalLoadForFrame( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didFailProvisionalLoadWithError( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ IWebError *error,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didCommitLoadForFrame( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ IWebFrame *frame) { return updateAddressBar(webView); }
+    
+    virtual HRESULT STDMETHODCALLTYPE didReceiveTitle( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ BSTR title,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didReceiveIcon( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ OLE_HANDLE hBitmap,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didFinishLoadForFrame( 
+        /* [in] */ IWebView* webView,
+        /* [in] */ IWebFrame* /*frame*/) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didFailLoadWithError( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ IWebError *error,
+        /* [in] */ IWebFrame *forFrame) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didChangeLocationWithinPageForFrame( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+
+    virtual HRESULT STDMETHODCALLTYPE willPerformClientRedirectToURL( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ BSTR url,
+        /* [in] */ double delaySeconds,
+        /* [in] */ DATE fireDate,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE didCancelClientRedirectForFrame( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+    
+    virtual HRESULT STDMETHODCALLTYPE willCloseFrame( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ IWebFrame *frame) { return S_OK; }
+    
+    virtual /* [local] */ HRESULT STDMETHODCALLTYPE windowScriptObjectAvailable( 
+        /* [in] */ IWebView *webView,
+        /* [in] */ JSContextRef context,
+        /* [in] */ JSObjectRef windowScriptObject)  { return S_OK; }
+
     virtual /* [local] */ HRESULT STDMETHODCALLTYPE didClearWindowObject( 
         /* [in] */ IWebView *webView,
         /* [in] */ JSContextRef context,
         /* [in] */ JSObjectRef windowScriptObject,
         /* [in] */ IWebFrame *frame) { return S_OK; }
-
-    // WinLauncherWebHost
-
-protected:
-    HRESULT updateAddressBar(IWebView* webView);
-
-protected:
-    ULONG                   m_refCount;
-};
+
+    // WinLauncherWebHost
+
+protected:
+    HRESULT updateAddressBar(IWebView* webView);
+
+protected:
+    ULONG                   m_refCount;
+};
diff --git a/WebKitTools/WinLauncher/WinLauncher.rc b/WebKitTools/WinLauncher/WinLauncher.rc
index f4b2cd4..172ed4a 100644
--- a/WebKitTools/WinLauncher/WinLauncher.rc
+++ b/WebKitTools/WinLauncher/WinLauncher.rc
@@ -42,6 +42,7 @@ IDC_WINLAUNCHER MENU
 BEGIN
     POPUP "&File"
     BEGIN
+        MENUITEM "&Print\tCtrl-P",              IDM_PRINT
         MENUITEM "E&xit",                       IDM_EXIT
     END
     POPUP "&Help"
@@ -74,8 +75,8 @@ CAPTION "About"
 FONT 8, "System", 0, 0, 0x0
 BEGIN
     ICON            IDI_WINLAUNCHER,IDC_MYICON,14,9,20,20
-    LTEXT           "WinLauncher Version 1.1",IDC_STATIC,49,10,119,8,SS_NOPREFIX
-    LTEXT           "Copyright (C) 2008",IDC_STATIC,49,20,119,8
+    LTEXT           "WinLauncher Version 1.2",IDC_STATIC,49,10,119,8,SS_NOPREFIX
+    LTEXT           "Copyright (C) 2009",IDC_STATIC,49,20,119,8
     DEFPUSHBUTTON   "OK",IDOK,195,6,30,11,WS_GROUP
 END
 
diff --git a/WebKitTools/WinLauncher/WinLauncher.vcproj b/WebKitTools/WinLauncher/WinLauncher.vcproj
index 9b7c42c..4546865 100644
--- a/WebKitTools/WinLauncher/WinLauncher.vcproj
+++ b/WebKitTools/WinLauncher/WinLauncher.vcproj
@@ -409,6 +409,10 @@
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
 			>
 			<File
+				RelativePath=".\PrintWebUIDelegate.cpp"
+				>
+			</File>
+			<File
 				RelativePath=".\stdafx.cpp"
 				>
 				<FileConfiguration
@@ -463,6 +467,10 @@
 			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
 			>
 			<File
+				RelativePath=".\PrintWebUIDelegate.h"
+				>
+			</File>
+			<File
 				RelativePath=".\Resource.h"
 				>
 			</File>
diff --git a/WebKitTools/WinLauncher/resource.h b/WebKitTools/WinLauncher/resource.h
index 6a21684..c98fac7 100644
--- a/WebKitTools/WinLauncher/resource.h
+++ b/WebKitTools/WinLauncher/resource.h
@@ -8,6 +8,7 @@
 #define IDD_ABOUTBOX                    103
 #define IDM_ABOUT                       104
 #define IDM_EXIT                        105
+#define IDM_PRINT                       106
 #define IDI_WINLAUNCHER                 107
 #define IDI_SMALL                       108
 #define IDC_WINLAUNCHER                 109

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list