[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
eric at webkit.org
eric at webkit.org
Thu Oct 29 20:47:31 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 6aac96f586c897ca2c6a4029c3951cc0fdd8b53c
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 19 07:17:40 2009 +0000
2009-10-19 Jakob Truelsen <antialize at gmail.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=29042
Allow one to customize the minimal and maximal shrink factors used when printing.
* page/PrintContext.cpp:
(WebCore::PrintContext::begin):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setPrintingMinimumShrinkFactor):
(WebCore::Settings::setPrintingMaximumShrinkFactor):
* page/Settings.h:
(WebCore::Settings::printingMinimumShrinkFactor):
(WebCore::Settings::printingMaximumShrinkFactor):
2009-10-19 Jakob Truelsen <antialize at gmail.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=29042
Allow one to costumize the minimal and maximal shrink factors,
Added methods setPrintingMinimumShrinkFactor, printingMinimumShrinkFactor,
setPrintingMaximumShrinkFactor, printingMaximumShrinkFactor to QWebSettings.
* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):
(QWebSettings::setPrintingMinimumShrinkFactor):
(QWebSettings::printingMinimumShrinkFactor):
(QWebSettings::setPrintingMaximumShrinkFactor):
(QWebSettings::printingMaximumShrinkFactor):
* Api/qwebsettings.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4470cf0..e27cc24 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2009-10-19 Jakob Truelsen <antialize at gmail.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29042
+ Allow one to customize the minimal and maximal shrink factors used when printing.
+
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::begin):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setPrintingMinimumShrinkFactor):
+ (WebCore::Settings::setPrintingMaximumShrinkFactor):
+ * page/Settings.h:
+ (WebCore::Settings::printingMinimumShrinkFactor):
+ (WebCore::Settings::printingMaximumShrinkFactor):
+
2009-10-18 Erik Arvidsson <arv at chromium.org>
Reviewed by Adam Barth.
@@ -1962,6 +1979,7 @@
(InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
* inspector/front-end/ScriptsPanel.js:
+>>>>>>> .r49765
2009-10-13 Yongjun Zhang <yongjun.zhang at nokia.com>
Reviewed by Ariya Hidayat.
diff --git a/WebCore/page/PrintContext.cpp b/WebCore/page/PrintContext.cpp
index 4d3a839..bba678a 100644
--- a/WebCore/page/PrintContext.cpp
+++ b/WebCore/page/PrintContext.cpp
@@ -25,6 +25,7 @@
#include "Frame.h"
#include "FrameView.h"
#include "RenderView.h"
+#include "Settings.h"
using namespace WebCore;
@@ -95,18 +96,23 @@ void PrintContext::computePageRects(const FloatRect& printRect, float headerHeig
void PrintContext::begin(float width)
{
- // By imaging to a width a little wider than the available pixels,
- // thin pages will be scaled down a little, matching the way they
- // print in IE and Camino. This lets them use fewer sheets than they
- // would otherwise, which is presumably why other browsers do this.
- // Wide pages will be scaled down more than this.
- const float PrintingMinimumShrinkFactor = 1.25f;
-
- // This number determines how small we are willing to reduce the page content
- // in order to accommodate the widest line. If the page would have to be
- // reduced smaller to make the widest line fit, we just clip instead (this
- // behavior matches MacIE and Mozilla, at least)
- const float PrintingMaximumShrinkFactor = 2.0f;
+ float PrintingMinimumShrinkFactor = m_frame->settings() ? m_frame->settings()->printingMinimumShrinkFactor() : 0.0f;
+ float PrintingMaximumShrinkFactor = m_frame->settings() ? m_frame->settings()->printingMaximumShrinkFactor() : 0.0f;
+
+ if (PrintingMaximumShrinkFactor < PrintingMinimumShrinkFactor || PrintingMinimumShrinkFactor <= 0.0f) {
+ // By imaging to a width a little wider than the available pixels,
+ // thin pages will be scaled down a little, matching the way they
+ // print in IE and Camino. This lets them use fewer sheets than they
+ // would otherwise, which is presumably why other browsers do this.
+ // Wide pages will be scaled down more than this.
+ PrintingMinimumShrinkFactor = 1.25f;
+
+ // This number determines how small we are willing to reduce the page content
+ // in order to accommodate the widest line. If the page would have to be
+ // reduced smaller to make the widest line fit, we just clip instead (this
+ // behavior matches MacIE and Mozilla, at least)
+ PrintingMaximumShrinkFactor = 2.0f;
+ }
float minLayoutWidth = width * PrintingMinimumShrinkFactor;
float maxLayoutWidth = width * PrintingMaximumShrinkFactor;
diff --git a/WebCore/page/Settings.cpp b/WebCore/page/Settings.cpp
index b8b9e8e..dddbf05 100644
--- a/WebCore/page/Settings.cpp
+++ b/WebCore/page/Settings.cpp
@@ -63,6 +63,8 @@ Settings::Settings(Page* page)
, m_maximumDecodedImageSize(numeric_limits<size_t>::max())
, m_localStorageQuota(5 * 1024 * 1024) // Suggested by the HTML5 spec.
, m_pluginAllowedRunTime(numeric_limits<unsigned>::max())
+ , m_printingMinimumShrinkFactor(0.0f)
+ , m_printingMaximumShrinkFactor(0.0f)
, m_isJavaEnabled(false)
, m_loadsImagesAutomatically(false)
, m_privateBrowsingEnabled(false)
@@ -539,4 +541,14 @@ void Settings::setExperimentalWebSocketsEnabled(bool enabled)
}
#endif
+void Settings::setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor)
+{
+ m_printingMinimumShrinkFactor = printingMinimumShrinkFactor;
+}
+
+void Settings::setPrintingMaximumShrinkFactor(float printingMaximumShrinkFactor)
+{
+ m_printingMaximumShrinkFactor = printingMaximumShrinkFactor;
+}
+
} // namespace WebCore
diff --git a/WebCore/page/Settings.h b/WebCore/page/Settings.h
index c3c397e..f066da4 100644
--- a/WebCore/page/Settings.h
+++ b/WebCore/page/Settings.h
@@ -275,6 +275,12 @@ namespace WebCore {
bool experimentalWebSocketsEnabled() const { return m_experimentalWebSocketsEnabled; }
#endif
+ void setPrintingMinimumShrinkFactor(float);
+ float printingMinimumShrinkFactor() const { return m_printingMinimumShrinkFactor; }
+
+ void setPrintingMaximumShrinkFactor(float);
+ float printingMaximumShrinkFactor() const { return m_printingMaximumShrinkFactor; }
+
private:
Page* m_page;
@@ -297,6 +303,8 @@ namespace WebCore {
size_t m_maximumDecodedImageSize;
unsigned m_localStorageQuota;
unsigned m_pluginAllowedRunTime;
+ float m_printingMinimumShrinkFactor;
+ float m_printingMaximumShrinkFactor;
bool m_isJavaEnabled : 1;
bool m_loadsImagesAutomatically : 1;
bool m_privateBrowsingEnabled : 1;
diff --git a/WebKit/qt/Api/qwebsettings.cpp b/WebKit/qt/Api/qwebsettings.cpp
index 8f03dc5..ffa21e4 100644
--- a/WebKit/qt/Api/qwebsettings.cpp
+++ b/WebKit/qt/Api/qwebsettings.cpp
@@ -62,6 +62,8 @@ public:
QString localStoragePath;
QString offlineWebApplicationCachePath;
qint64 offlineStorageDefaultQuota;
+ float printingMinimumShrinkFactor;
+ float printingMaximumShrinkFactor;
void apply();
WebCore::Settings* settings;
@@ -174,6 +176,12 @@ void QWebSettingsPrivate::apply()
QString storagePath = !localStoragePath.isEmpty() ? localStoragePath : global->localStoragePath;
settings->setLocalStorageDatabasePath(storagePath);
+ float minimumShrinkFactor = printingMinimumShrinkFactor > 0.0f ? printingMinimumShrinkFactor : global->printingMinimumShrinkFactor;
+ settings->setPrintingMinimumShrinkFactor(minimumShrinkFactor);
+
+ float maximumShrinkFactor = printingMaximumShrinkFactor > 0.0f ? printingMaximumShrinkFactor : global->printingMaximumShrinkFactor;
+ settings->setPrintingMaximumShrinkFactor(maximumShrinkFactor);
+
value = attributes.value(QWebSettings::ZoomTextOnly,
global->attributes.value(QWebSettings::ZoomTextOnly));
settings->setZoomsTextOnly(value);
@@ -378,6 +386,8 @@ QWebSettings::QWebSettings()
d->attributes.insert(QWebSettings::SessionStorageEnabled, true);
d->offlineStorageDefaultQuota = 5 * 1024 * 1024;
d->defaultTextEncoding = QLatin1String("iso-8859-1");
+ d->printingMinimumShrinkFactor = 0.0f;
+ d->printingMaximumShrinkFactor = 0.0f;
}
/*!
@@ -492,6 +502,60 @@ QString QWebSettings::defaultTextEncoding() const
}
/*!
+ \since 4.7
+ Specifies minimum shrink fator allowed for printing. If set to 0 a
+ default value is used.
+
+ When printing, content will be shrunk to reduce page usage, it
+ will reduced by a factor between printingMinimumShrinkFactor and
+ printingMaximumShrinkFactor.
+
+ \sa printingMinimumShrinkFactor()
+ \sa setPrintingMaximumShrinkFactor()
+ \sa printingMaximumShrinkFactor()
+*/
+void QWebSettings::setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor)
+{
+ d->printingMinimumShrinkFactor = printingMinimumShrinkFactor;
+ d->apply();
+}
+
+/*!
+ \since 4.7
+ returns the minimum shrink factor used for printing.
+
+ \sa setPrintingMinimumShrinkFactor()
+*/
+float QWebSettings::printingMinimumShrinkFactor() const
+{
+ return d->printingMinimumShrinkFactor;
+}
+
+/*!
+ \since 4.7
+ Specifies maximum shrink fator allowed for printing. If set to 0 a
+ default value is used.
+
+ \sa setPrintingMinimumShrinkFactor()
+*/
+void QWebSettings::setPrintingMaximumShrinkFactor(float printingMaximumShrinkFactor)
+{
+ d->printingMaximumShrinkFactor = printingMaximumShrinkFactor;
+ d->apply();
+}
+
+/*!
+ \since 4.7
+ returns the maximum shrink factor used for printing.
+
+ \sa setPrintingMinimumShrinkFactor()
+*/
+float QWebSettings::printingMaximumShrinkFactor() const
+{
+ return d->printingMaximumShrinkFactor;
+}
+
+/*!
Sets the path of the icon database to \a path. The icon database is used
to store "favicons" associated with web sites.
diff --git a/WebKit/qt/Api/qwebsettings.h b/WebKit/qt/Api/qwebsettings.h
index 4790823..e68ea53 100644
--- a/WebKit/qt/Api/qwebsettings.h
+++ b/WebKit/qt/Api/qwebsettings.h
@@ -103,6 +103,12 @@ public:
void setDefaultTextEncoding(const QString &encoding);
QString defaultTextEncoding() const;
+ void setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor);
+ float printingMinimumShrinkFactor() const;
+
+ void setPrintingMaximumShrinkFactor(float printingMaximimShrinkFactor);
+ float printingMaximumShrinkFactor() const;
+
static void setIconDatabasePath(const QString &location);
static QString iconDatabasePath();
static void clearIconDatabase();
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index 7880663..b3ab6d4 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,23 @@
+2009-10-19 Jakob Truelsen <antialize at gmail.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29042
+
+ Allow one to costumize the minimal and maximal shrink factors,
+ Added methods setPrintingMinimumShrinkFactor, printingMinimumShrinkFactor,
+ setPrintingMaximumShrinkFactor, printingMaximumShrinkFactor to QWebSettings.
+
+
+ * Api/qwebsettings.cpp:
+ (QWebSettingsPrivate::apply):
+ (QWebSettings::QWebSettings):
+ (QWebSettings::setPrintingMinimumShrinkFactor):
+ (QWebSettings::printingMinimumShrinkFactor):
+ (QWebSettings::setPrintingMaximumShrinkFactor):
+ (QWebSettings::printingMaximumShrinkFactor):
+ * Api/qwebsettings.h:
+
2009-10-18 Kenneth Rohde Christiansen <kenneth at webkit.org>
Reviewed by Simon Hausmann.
@@ -103,6 +123,7 @@
* Api/qgraphicswebview.cpp:
(QGraphicsWebView::event):
+>>>>>>> .r49765
2009-10-13 Girish Ramakrishnan <girish at forwardbias.in>
Reviewed by Simon Hausmann.
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list