Title: [107948] trunk/Source/WebKit2
- Revision
- 107948
- Author
- carlo...@webkit.org
- Date
- 2012-02-16 09:16:10 -0800 (Thu, 16 Feb 2012)
Log Message
[GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=78712
Reviewed by Martin Robinson.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
Simplify the code to select the printer.
(WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
before rendering the page and cairo_restore() when page has been
rendered.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (107947 => 107948)
--- trunk/Source/WebKit2/ChangeLog 2012-02-16 17:10:58 UTC (rev 107947)
+++ trunk/Source/WebKit2/ChangeLog 2012-02-16 17:16:10 UTC (rev 107948)
@@ -1,5 +1,19 @@
2012-02-16 Carlos Garcia Campos <cgar...@igalia.com>
+ [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=78712
+
+ Reviewed by Martin Robinson.
+
+ * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
+ (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
+ Simplify the code to select the printer.
+ (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
+ before rendering the page and cairo_restore() when page has been
+ rendered.
+
+2012-02-16 Carlos Garcia Campos <cgar...@igalia.com>
+
[GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=76448
Modified: trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp (107947 => 107948)
--- trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp 2012-02-16 17:10:58 UTC (rev 107947)
+++ trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp 2012-02-16 17:16:10 UTC (rev 107948)
@@ -55,21 +55,15 @@
static gboolean enumeratePrintersFunction(GtkPrinter* printer, WebPrintOperationGtkUnix* printOperation)
{
- GtkPrinter* selectedPrinter = 0;
const char* printerName = gtk_print_settings_get_printer(printOperation->printSettings());
- if (printerName) {
- if (!strcmp(printerName, gtk_printer_get_name(printer)))
- selectedPrinter = printer;
- } else if (gtk_printer_is_default(printer))
- selectedPrinter = printer;
-
- if (!selectedPrinter)
+ if ((printerName && strcmp(printerName, gtk_printer_get_name(printer)))
+ || (!printerName && !gtk_printer_is_default(printer)))
return FALSE;
static int jobNumber = 0;
const char* applicationName = g_get_application_name();
GOwnPtr<char>jobName(g_strdup_printf("%s job #%d", applicationName ? applicationName : "WebKit", ++jobNumber));
- printOperation->m_printJob = adoptGRef(gtk_print_job_new(jobName.get(), selectedPrinter,
+ printOperation->m_printJob = adoptGRef(gtk_print_job_new(jobName.get(), printer,
printOperation->printSettings(),
printOperation->pageSetup()));
return TRUE;
@@ -327,6 +321,7 @@
void WebPrintOperationGtk::renderPage(int pageNumber)
{
startPage(m_cairoContext.get());
+ cairo_save(m_cairoContext.get());
if (m_needsRotation)
rotatePage();
@@ -340,6 +335,7 @@
WebCore::GraphicsContext graphicsContext(&platformContext);
m_printContext->spoolPage(graphicsContext, pageNumber, pageWidth);
+ cairo_restore(m_cairoContext.get());
endPage(m_cairoContext.get());
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes