1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "printing/backend/print_backend.h" 6 7 #include <algorithm> 8 9 #include "third_party/icu/source/common/unicode/uchar.h" 10 #include "ui/base/text/text_elider.h" 11 12 namespace { 13 14 const wchar_t kDefaultDocumentTitle[] = L"Untitled Document"; 15 const int kMaxDocumentTitleLength = 50; 16 17 } // namespace 18 19 namespace printing { 20 21 PrinterBasicInfo::PrinterBasicInfo() 22 : printer_status(0), 23 is_default(false) {} 24 25 PrinterBasicInfo::~PrinterBasicInfo() {} 26 27 PrinterSemanticCapsAndDefaults::PrinterSemanticCapsAndDefaults() 28 : color_changeable(false), 29 duplex_capable(false), 30 color_default(false), 31 duplex_default(UNKNOWN_DUPLEX_MODE) {} 32 33 PrinterSemanticCapsAndDefaults::~PrinterSemanticCapsAndDefaults() {} 34 35 PrinterCapsAndDefaults::PrinterCapsAndDefaults() {} 36 37 PrinterCapsAndDefaults::~PrinterCapsAndDefaults() {} 38 39 PrintBackend::~PrintBackend() {} 40 41 string16 PrintBackend::SimplifyDocumentTitle(const string16& title) { 42 string16 no_controls(title); 43 no_controls.erase( 44 std::remove_if(no_controls.begin(), no_controls.end(), &u_iscntrl), 45 no_controls.end()); 46 string16 result; 47 ui::ElideString(no_controls, kMaxDocumentTitleLength, &result); 48 return result; 49 } 50 51 } // namespace printing 52