Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2733)

Unified Diff: chrome/browser/printing/page_overlays.cc

Issue 149212: Move printing related stuff to the root printing project from the browser pro... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/printing/page_overlays.cc
===================================================================
--- chrome/browser/printing/page_overlays.cc (revision 20026)
+++ chrome/browser/printing/page_overlays.cc (working copy)
@@ -1,206 +0,0 @@
-// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/printing/page_overlays.h"
-
-#include "app/gfx/text_elider.h"
-#include "base/logging.h"
-#include "base/string_util.h"
-#include "chrome/browser/printing/printed_document.h"
-#include "chrome/browser/printing/printed_page.h"
-
-namespace {
-
-// Replaces a subpart of a string by other value, and returns the position right
-// after the new value.
-size_t ReplaceKey(std::wstring* string,
- size_t offset,
- size_t old_string_len,
- const std::wstring& new_string) {
- string->replace(offset, old_string_len, new_string);
- return offset + new_string.size();
-}
-
-} // namespace
-
-namespace printing {
-
-const wchar_t* const PageOverlays::kTitle = L"{title}";
-const wchar_t* const PageOverlays::kTime = L"{time}";
-const wchar_t* const PageOverlays::kDate = L"{date}";
-const wchar_t* const PageOverlays::kPage = L"{page}";
-const wchar_t* const PageOverlays::kPageCount = L"{pagecount}";
-const wchar_t* const PageOverlays::kPageOnTotal = L"{pageontotal}";
-const wchar_t* const PageOverlays::kUrl = L"{url}";
-
-PageOverlays::PageOverlays()
- : top_left(kDate),
- top_center(kTitle),
- top_right(),
- bottom_left(kUrl),
- bottom_center(),
- bottom_right(kPageOnTotal) {
-}
-
-bool PageOverlays::Equals(const PageOverlays& rhs) const {
- return top_left == rhs.top_left &&
- top_center == rhs.top_center &&
- top_right == rhs.top_right &&
- bottom_left == rhs.bottom_left &&
- bottom_center == rhs.bottom_center &&
- bottom_right == rhs.bottom_right;
-}
-
-const std::wstring& PageOverlays::GetOverlay(HorizontalPosition x,
- VerticalPosition y) const {
- switch (x) {
- case LEFT:
- switch (y) {
- case TOP:
- return top_left;
- case BOTTOM:
- return bottom_left;
- }
- break;
- case CENTER:
- switch (y) {
- case TOP:
- return top_center;
- case BOTTOM:
- return bottom_center;
- }
- break;
- case RIGHT:
- switch (y) {
- case TOP:
- return top_right;
- case BOTTOM:
- return bottom_right;
- }
- break;
- }
- NOTREACHED();
- return EmptyWString();
-}
-
-void PageOverlays::SetOverlay(HorizontalPosition x, VerticalPosition y,
- std::wstring& input) {
- switch (x) {
- case LEFT:
- switch (y) {
- case TOP:
- top_left = input;
- break;
- case BOTTOM:
- bottom_left = input;
- break;
- default:
- NOTREACHED();
- break;
- }
- break;
- case CENTER:
- switch (y) {
- case TOP:
- top_center = input;
- break;
- case BOTTOM:
- bottom_center = input;
- break;
- default:
- NOTREACHED();
- break;
- }
- break;
- case RIGHT:
- switch (y) {
- case TOP:
- top_right = input;
- break;
- case BOTTOM:
- bottom_right = input;
- break;
- default:
- NOTREACHED();
- break;
- }
- break;
- default:
- NOTREACHED();
- break;
- }
-}
-
-//static
-std::wstring PageOverlays::ReplaceVariables(const std::wstring& input,
- const PrintedDocument& document,
- const PrintedPage& page) {
- std::wstring output(input);
- for (size_t offset = output.find(L'{', 0);
- offset != std::wstring::npos;
- offset = output.find(L'{', offset)) {
-
- if (0 == output.compare(offset,
- wcslen(kTitle),
- kTitle)) {
- offset = ReplaceKey(&output,
- offset,
- wcslen(kTitle),
- document.name());
- } else if (0 == output.compare(offset,
- wcslen(kTime),
- kTime)) {
- offset = ReplaceKey(&output,
- offset,
- wcslen(kTime),
- document.time());
- } else if (0 == output.compare(offset,
- wcslen(kDate),
- kDate)) {
- offset = ReplaceKey(&output,
- offset,
- wcslen(kDate),
- document.date());
- } else if (0 == output.compare(offset,
- wcslen(kPage),
- kPage)) {
- offset = ReplaceKey(&output,
- offset,
- wcslen(kPage),
- IntToWString(page.page_number()));
- } else if (0 == output.compare(offset,
- wcslen(kPageCount),
- kPageCount)) {
- offset = ReplaceKey(&output,
- offset,
- wcslen(kPageCount),
- IntToWString(document.page_count()));
- } else if (0 == output.compare(offset,
- wcslen(kPageOnTotal),
- kPageOnTotal)) {
- std::wstring replacement;
- replacement = IntToWString(page.page_number());
- replacement += L"/";
- replacement += IntToWString(document.page_count());
- offset = ReplaceKey(&output,
- offset,
- wcslen(kPageOnTotal),
- replacement);
- } else if (0 == output.compare(offset,
- wcslen(kUrl),
- kUrl)) {
- // TODO(maruel): http://b/1126373 gfx::ElideUrl(document.url(), ...)
- offset = ReplaceKey(&output,
- offset,
- wcslen(kUrl),
- UTF8ToWide(document.url().spec()));
- } else {
- // There is just a { in the string.
- ++offset;
- }
- }
- return output;
-}
-
-} // namespace printing

Powered by Google App Engine
This is Rietveld 408576698