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