Commit 2c19c447 authored by n.bansal@samsung.com's avatar n.bansal@samsung.com

Support NumCopies print preset

Blink side changes to support NumCopies print preset option.
Copies in print preview dialog should be set to value set for
NumCopies in pdf source document.

BUG=169120

Review URL: https://codereview.chromium.org/379793002

git-svn-id: svn://svn.chromium.org/blink/trunk@179042 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 446797c7
......@@ -1319,6 +1319,16 @@ bool WebLocalFrameImpl::isPrintScalingDisabledForPlugin(const WebNode& node)
return pluginContainer->isPrintScalingDisabled();
}
int WebLocalFrameImpl::getPrintCopiesForPlugin(const WebNode& node)
{
WebPluginContainerImpl* pluginContainer = node.isNull() ? pluginContainerFromFrame(frame()) : toWebPluginContainerImpl(node.pluginContainer());
if (!pluginContainer || !pluginContainer->supportsPaginatedPrint())
return 1;
return pluginContainer->getCopiesToPrint();
}
bool WebLocalFrameImpl::hasCustomPageSizeStyle(int pageIndex)
{
return frame()->document()->styleForPage(pageIndex)->pageSizeType() != PAGE_SIZE_AUTO;
......
......@@ -185,6 +185,7 @@ public:
virtual float getPrintPageShrink(int page) OVERRIDE;
virtual void printEnd() OVERRIDE;
virtual bool isPrintScalingDisabledForPlugin(const WebNode&) OVERRIDE;
virtual int getPrintCopiesForPlugin(const WebNode&) OVERRIDE;
virtual bool hasCustomPageSizeStyle(int pageIndex) OVERRIDE;
virtual bool isPageBoxVisible(int pageIndex) OVERRIDE;
virtual void pageSizeAndMarginsInPixels(
......
......@@ -328,6 +328,11 @@ bool WebPluginContainerImpl::isPrintScalingDisabled() const
return m_webPlugin->isPrintScalingDisabled();
}
int WebPluginContainerImpl::getCopiesToPrint() const
{
return m_webPlugin->getCopiesToPrint();
}
int WebPluginContainerImpl::printBegin(const WebPrintParams& printParams) const
{
return m_webPlugin->printBegin(printParams);
......
......@@ -134,6 +134,8 @@ public:
// If the plugin content should not be scaled to the printable area of
// the page, then this method should return true.
bool isPrintScalingDisabled() const;
// Returns number of copies to be printed.
int getCopiesToPrint() const;
// Sets up printing at the specified WebPrintParams. Returns the number of pages to be printed at these settings.
int printBegin(const WebPrintParams&) const;
// Prints the page specified by pageNumber (0-based index) into the supplied canvas.
......
......@@ -633,6 +633,12 @@ bool WebRemoteFrameImpl::isPrintScalingDisabledForPlugin(const WebNode&)
return false;
}
int WebRemoteFrameImpl::getPrintCopiesForPlugin(const WebNode&)
{
ASSERT_NOT_REACHED();
return 1;
}
bool WebRemoteFrameImpl::hasCustomPageSizeStyle(int pageIndex)
{
ASSERT_NOT_REACHED();
......
......@@ -131,6 +131,7 @@ public:
virtual float getPrintPageShrink(int page) OVERRIDE;
virtual void printEnd() OVERRIDE;
virtual bool isPrintScalingDisabledForPlugin(const WebNode&) OVERRIDE;
virtual int getPrintCopiesForPlugin(const WebNode&) OVERRIDE;
virtual bool hasCustomPageSizeStyle(int pageIndex) OVERRIDE;
virtual bool isPageBoxVisible(int pageIndex) OVERRIDE;
virtual void pageSizeAndMarginsInPixels(
......
......@@ -500,6 +500,9 @@ public:
// return true, otherwise return false.
virtual bool isPrintScalingDisabledForPlugin(const WebNode& = WebNode()) = 0;
// Returns the number of copies to be printed.
virtual int getPrintCopiesForPlugin(const WebNode& = WebNode()) = 0;
// CSS3 Paged Media ----------------------------------------------------
// Returns true if page box (margin boxes and page borders) is visible.
......
......@@ -114,6 +114,8 @@ public:
// Returns true if the printed content should not be scaled to
// the printer's printable area.
virtual bool isPrintScalingDisabled() { return false; }
// Returns number of copies to be printed.
virtual int getCopiesToPrint() { return 1; }
// Sets up printing with the specified printParams. Returns the number of
// pages to be printed at these settings.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment