1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file. 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "printing/printing_utils.h" 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include <algorithm> 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "third_party/icu/source/common/unicode/uchar.h" 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ui/gfx/text_elider.h" 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace { 13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const int kMaxDocumentTitleLength = 50; 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace printing { 17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)base::string16 SimplifyDocumentTitle(const base::string16& title) { 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) base::string16 no_controls(title); 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) no_controls.erase( 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) std::remove_if(no_controls.begin(), no_controls.end(), &u_iscntrl), 22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) no_controls.end()); 23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) base::string16 result; 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) gfx::ElideString(no_controls, kMaxDocumentTitleLength, &result); 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) return result; 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} // namespace printing 29