| Index: ui/base/l10n/time_format.cc
|
| diff --git a/ui/base/l10n/time_format.cc b/ui/base/l10n/time_format.cc
|
| deleted file mode 100644
|
| index 5154c6dd9d30fec53c3d65eb5d8c576edded6c72..0000000000000000000000000000000000000000
|
| --- a/ui/base/l10n/time_format.cc
|
| +++ /dev/null
|
| @@ -1,136 +0,0 @@
|
| -// Copyright (c) 2011 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 "ui/base/l10n/time_format.h"
|
| -
|
| -#include <limits>
|
| -
|
| -#include "base/lazy_instance.h"
|
| -#include "base/logging.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "base/time/time.h"
|
| -#include "third_party/icu/source/common/unicode/unistr.h"
|
| -#include "ui/base/l10n/formatter.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -#include "ui/base/ui_base_export.h"
|
| -#include "ui/strings/grit/ui_strings.h"
|
| -
|
| -using base::Time;
|
| -using base::TimeDelta;
|
| -using ui::TimeFormat;
|
| -
|
| -namespace ui {
|
| -
|
| -UI_BASE_EXPORT base::LazyInstance<FormatterContainer> g_container =
|
| - LAZY_INSTANCE_INITIALIZER;
|
| -
|
| -// static
|
| -base::string16 TimeFormat::Simple(TimeFormat::Format format,
|
| - TimeFormat::Length length,
|
| - const base::TimeDelta& delta) {
|
| - return Detailed(format, length, 0, delta);
|
| -}
|
| -
|
| -// static
|
| -base::string16 TimeFormat::Detailed(TimeFormat::Format format,
|
| - TimeFormat::Length length,
|
| - int cutoff,
|
| - const base::TimeDelta& delta) {
|
| - if (delta < TimeDelta::FromSeconds(0)) {
|
| - NOTREACHED() << "Negative duration";
|
| - return base::string16();
|
| - }
|
| -
|
| - // Negative cutoff: always use two-value format.
|
| - if (cutoff < 0)
|
| - cutoff = std::numeric_limits<int>::max();
|
| -
|
| - const TimeDelta one_minute(TimeDelta::FromMinutes(1));
|
| - const TimeDelta one_hour(TimeDelta::FromHours(1));
|
| - const TimeDelta one_day(TimeDelta::FromDays(1));
|
| - const TimeDelta half_second(TimeDelta::FromMilliseconds(500));
|
| - const TimeDelta half_minute(TimeDelta::FromSeconds(30));
|
| - const TimeDelta half_hour(TimeDelta::FromMinutes(30));
|
| - const TimeDelta half_day(TimeDelta::FromHours(12));
|
| -
|
| - // Rationale: Start by determining major (first) unit, then add minor (second)
|
| - // unit if mandated by |cutoff|.
|
| - icu::UnicodeString time_string;
|
| - const Formatter* formatter = g_container.Get().Get(format, length);
|
| - if (delta < one_minute - half_second) {
|
| - // Anything up to 59.500 seconds is formatted as seconds.
|
| - const int seconds = static_cast<int>((delta + half_second).InSeconds());
|
| - formatter->Format(Formatter::UNIT_SEC, seconds, time_string);
|
| -
|
| - } else if (delta < one_hour - (cutoff < 60 ? half_minute : half_second)) {
|
| - // Anything up to 59.5 minutes (respectively 59:59.500 when |cutoff| permits
|
| - // two-value output) is formatted as minutes (respectively minutes and
|
| - // seconds).
|
| - if (delta >= cutoff * one_minute - half_second) {
|
| - const int minutes = (delta + half_minute).InMinutes();
|
| - formatter->Format(Formatter::UNIT_MIN, minutes, time_string);
|
| - } else {
|
| - const int minutes = (delta + half_second).InMinutes();
|
| - const int seconds = static_cast<int>(
|
| - (delta + half_second).InSeconds() % 60);
|
| - formatter->Format(Formatter::TWO_UNITS_MIN_SEC,
|
| - minutes, seconds, time_string);
|
| - }
|
| -
|
| - } else if (delta < one_day - (cutoff < 24 ? half_hour : half_minute)) {
|
| - // Anything up to 23.5 hours (respectively 23:59:30.000 when |cutoff|
|
| - // permits two-value output) is formatted as hours (respectively hours and
|
| - // minutes).
|
| - if (delta >= cutoff * one_hour - half_minute) {
|
| - const int hours = (delta + half_hour).InHours();
|
| - formatter->Format(Formatter::UNIT_HOUR, hours, time_string);
|
| - } else {
|
| - const int hours = (delta + half_minute).InHours();
|
| - const int minutes = (delta + half_minute).InMinutes() % 60;
|
| - formatter->Format(Formatter::TWO_UNITS_HOUR_MIN,
|
| - hours, minutes, time_string);
|
| - }
|
| -
|
| - } else {
|
| - // Anything bigger is formatted as days (respectively days and hours).
|
| - if (delta >= cutoff * one_day - half_hour) {
|
| - const int days = (delta + half_day).InDays();
|
| - formatter->Format(Formatter::UNIT_DAY, days, time_string);
|
| - } else {
|
| - const int days = (delta + half_hour).InDays();
|
| - const int hours = (delta + half_hour).InHours() % 24;
|
| - formatter->Format(Formatter::TWO_UNITS_DAY_HOUR,
|
| - days, hours, time_string);
|
| - }
|
| - }
|
| -
|
| - const int capacity = time_string.length() + 1;
|
| - DCHECK_GT(capacity, 1);
|
| - base::string16 result;
|
| - UErrorCode error = U_ZERO_ERROR;
|
| - time_string.extract(static_cast<UChar*>(WriteInto(&result, capacity)),
|
| - capacity, error);
|
| - DCHECK(U_SUCCESS(error));
|
| - return result;
|
| -}
|
| -
|
| -// static
|
| -base::string16 TimeFormat::RelativeDate(
|
| - const Time& time,
|
| - const Time* optional_midnight_today) {
|
| - Time midnight_today = optional_midnight_today ? *optional_midnight_today :
|
| - Time::Now().LocalMidnight();
|
| - TimeDelta day = TimeDelta::FromMicroseconds(Time::kMicrosecondsPerDay);
|
| - Time tomorrow = midnight_today + day;
|
| - Time yesterday = midnight_today - day;
|
| - if (time >= tomorrow)
|
| - return base::string16();
|
| - else if (time >= midnight_today)
|
| - return l10n_util::GetStringUTF16(IDS_PAST_TIME_TODAY);
|
| - else if (time >= yesterday)
|
| - return l10n_util::GetStringUTF16(IDS_PAST_TIME_YESTERDAY);
|
| - return base::string16();
|
| -}
|
| -
|
| -} // namespace ui
|
|
|