summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/renderer/print_web_view_helper.cc4
-rw-r--r--chrome/renderer/print_web_view_helper.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc
index 518529d..5ca14e6 100644
--- a/chrome/renderer/print_web_view_helper.cc
+++ b/chrome/renderer/print_web_view_helper.cc
@@ -82,6 +82,8 @@ PrepareFrameAndViewForPrint::PrepareFrameAndViewForPrint(
print_layout_size.set_height(static_cast<int>(
static_cast<double>(print_layout_size.height()) * 1.25));
+ if (WebFrame* web_frame = web_view_->mainFrame())
+ prev_scroll_offset_ = web_frame->scrollOffset();
prev_view_size_ = web_view->size();
web_view->resize(print_layout_size);
@@ -97,6 +99,8 @@ PrepareFrameAndViewForPrint::PrepareFrameAndViewForPrint(
PrepareFrameAndViewForPrint::~PrepareFrameAndViewForPrint() {
frame_->printEnd();
web_view_->resize(prev_view_size_);
+ if (WebFrame* web_frame = web_view_->mainFrame())
+ web_frame->setScrollOffset(prev_scroll_offset_);
}
diff --git a/chrome/renderer/print_web_view_helper.h b/chrome/renderer/print_web_view_helper.h
index 5c7afcc..dfe3e92 100644
--- a/chrome/renderer/print_web_view_helper.h
+++ b/chrome/renderer/print_web_view_helper.h
@@ -60,6 +60,7 @@ class PrepareFrameAndViewForPrint {
WebKit::WebView* web_view_;
gfx::Size print_canvas_size_;
gfx::Size prev_view_size_;
+ gfx::Size prev_scroll_offset_;
int expected_pages_count_;
bool use_browser_overlays_;