Skip to content

Commit

Permalink
Rename many Time functions:
Browse files Browse the repository at this point in the history
* `FromDoubleT()` -> `FromSecondsSinceUnixEpoch()`
* `ToDoubleT()` -> `InSecondsFSinceUnixEpoch()`
* `FromJsTime()` -> `FromMillisecondsSinceUnixEpoch()`
* `ToJsTime*()` -> `InMillisecondsFSinceUnixEpoch*()`
* `FromJavaTime()` -> `FromMillisecondsSinceUnixEpoch()`
* `ToJavaTime()` -> `InMillisecondsSinceUnixEpoch()`

These are more descriptive of the functionality.

No other changes, aside from typecasting fixes in the following files:

* chrome/browser/ash/arc/fileapi/arc_documents_provider_root.cc
* third_party/blink/renderer/modules/notifications/notification_data.cc
* third_party/blink/renderer/modules/notifications/notification_data_test.cc

Further cleanup will happen separately, since this CL as-is isn't really
reviewable, only stampable.

Bug: none
No-Try: True
Change-Id: I9ba11d4a5ff0692e6060e3aa47327a6dfc37bbe5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4956111
Owners-Override: Gabriel Charette <gab@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1213083}
  • Loading branch information
pkasting authored and Chromium LUCI CQ committed Oct 21, 2023
1 parent 1c84358 commit 08b91b4
Show file tree
Hide file tree
Showing 631 changed files with 3,679 additions and 2,710 deletions.
2 changes: 1 addition & 1 deletion android_webview/browser/aw_feature_list_creator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ void AwFeatureListCreator::SetUpFieldTrials() {
// than base::Time::Now() because we want to compute seed freshness based on
// the initial download time, which happened in the service at some earlier
// point.
seed_date = base::Time::FromJavaTime(seed_proto->date());
seed_date = base::Time::FromMillisecondsSinceUnixEpoch(seed_proto->date());

seed = std::make_unique<variations::SeedResponse>();
seed->data = seed_proto->seed_data();
Expand Down
2 changes: 1 addition & 1 deletion android_webview/js_sandbox/service/js_sandbox_isolate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ class JsSandboxIsolate::InspectorClient final
double currentTimeMS() override {
// Note: although this is not monotonically increasing time, this reflects
// the behaviour of Blink code.
return base::Time::Now().ToDoubleT() * 1000.0;
return base::Time::Now().InSecondsFSinceUnixEpoch() * 1000.0;
}

private:
Expand Down
3 changes: 2 additions & 1 deletion ash/constants/ash_pref_names.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,8 @@ inline constexpr char kAudioOutputDevicesUserPriority[] =
"settings.audio.output_user_priority";

// A dictionary pref that maps device id string to the timestamp of the last
// time the audio device was connected, in `base::Time::ToDoubleT()`'s format.
// time the audio device was connected, in
// `base::Time::InSecondsFSinceUnixEpoch()`'s format.
inline constexpr char kAudioDevicesLastSeen[] = "settings.audio.last_seen";

// A string pref storing an identifier that is getting sent with parental
Expand Down
7 changes: 4 additions & 3 deletions ash/display/display_prefs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ void LoadDisplayTouchAssociations(PrefService* local_state) {
kTouchAssociationTimestamp);
if (!value)
continue;
info.timestamp = base::Time().FromDoubleT(*value);
info.timestamp = base::Time().FromSecondsSinceUnixEpoch(*value);

const base::Value::Dict* calibration_data_dict =
association_info_item.second.GetDict().FindDict(
Expand Down Expand Up @@ -665,8 +665,9 @@ void StoreDisplayTouchAssociations(PrefService* pref_service) {
// |association_info_value|.

// Serialize timestamp.
association_info_value.Set(kTouchAssociationTimestamp,
association_info.second.timestamp.ToDoubleT());
association_info_value.Set(
kTouchAssociationTimestamp,
association_info.second.timestamp.InSecondsFSinceUnixEpoch());

// Serialize TouchCalibrationData.
base::Value::Dict calibration_data_value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,8 @@ void ArcNotificationItemImpl::OnUpdatedFromAndroid(
notification_type, notification_id_, data.get(), notifier_id, rich_data,
new ArcNotificationDelegate(weak_ptr_factory_.GetWeakPtr()));

notification->set_timestamp(base::Time::FromJavaTime(data->time));
notification->set_timestamp(
base::Time::FromMillisecondsSinceUnixEpoch(data->time));

if (notification_type == message_center::NOTIFICATION_TYPE_CUSTOM) {
notification->set_custom_view_type(kArcNotificationCustomViewType);
Expand Down
4 changes: 2 additions & 2 deletions ash/quick_pair/repository/fast_pair/proto_conversions.cc
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ nearby::fastpair::FastPairInfo BuildFastPairInfo(
discovery_item.set_action_url_type(nearby::fastpair::ResolvedUrlType::APP);
discovery_item.set_action_url(details.intent_uri());
discovery_item.set_last_observation_timestamp_millis(
base::Time::Now().ToJavaTime());
base::Time::Now().InMillisecondsSinceUnixEpoch());
discovery_item.set_first_observation_timestamp_millis(
base::Time::Now().ToJavaTime());
base::Time::Now().InMillisecondsSinceUnixEpoch());
discovery_item.set_state(nearby::fastpair::StoredDiscoveryItem_State::
StoredDiscoveryItem_State_STATE_ENABLED);

Expand Down
8 changes: 5 additions & 3 deletions ash/system/geolocation/geolocation_controller.cc
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,8 @@ GeolocationController::GetSunRiseSet(bool sunrise) const {
// This avoids having the computation flopping over into an adjacent day.
// See the documentation of icu::CalendarAstronomer::getSunRiseSet().
// Note that the icu calendar works with milliseconds since epoch, and
// base::Time::FromDoubleT() / ToDoubleT() work with seconds since epoch.
// base::Time::FromSecondsSinceUnixEpoch() / InSecondsFSinceUnixEpoch() work
// with seconds since epoch.
const absl::optional<base::Time> midday_today =
TimeOfDay(12 * 60)
.SetClock(clock_)
Expand All @@ -324,13 +325,14 @@ GeolocationController::GetSunRiseSet(bool sunrise) const {
return kSunRiseSetUnavailable;
}

astro.setTime(midday_today->ToDoubleT() * 1000.0);
astro.setTime(midday_today->InSecondsFSinceUnixEpoch() * 1000.0);
const double sun_rise_set_ms = astro.getSunRiseSet(sunrise);
// If there is 24 hours of daylight or darkness, `CalendarAstronomer` returns
// a very large negative value. Any timestamp before or at the epoch
// definitely does not make sense, so assume `kNoSunRiseSet`.
if (sun_rise_set_ms > 0) {
return base::ok(base::Time::FromDoubleT(sun_rise_set_ms / 1000.0));
return base::ok(
base::Time::FromSecondsSinceUnixEpoch(sun_rise_set_ms / 1000.0));
}
return kNoSunRiseSet;
}
Expand Down
11 changes: 7 additions & 4 deletions ash/system/night_light/night_light_controller_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -155,12 +155,15 @@ class NightLightControllerDelegateImpl
// This avoids having the computation flopping over into an adjacent day.
// See the documentation of icu::CalendarAstronomer::getSunRiseSet().
// Note that the icu calendar works with milliseconds since epoch, and
// base::Time::FromDoubleT() / ToDoubleT() work with seconds since epoch.
const double midday_today_sec =
TimeOfDay(12 * 60).ToTimeToday().value_or(base::Time()).ToDoubleT();
// base::Time::FromSecondsSinceUnixEpoch() / InSecondsFSinceUnixEpoch() work
// with seconds since epoch.
const double midday_today_sec = TimeOfDay(12 * 60)
.ToTimeToday()
.value_or(base::Time())
.InSecondsFSinceUnixEpoch();
astro.setTime(midday_today_sec * 1000.0);
const double sun_rise_set_ms = astro.getSunRiseSet(sunrise);
return base::Time::FromDoubleT(sun_rise_set_ms / 1000.0);
return base::Time::FromSecondsSinceUnixEpoch(sun_rise_set_ms / 1000.0);
}

std::unique_ptr<SimpleGeoposition> geoposition_;
Expand Down
31 changes: 16 additions & 15 deletions ash/system/phonehub/onboarding_nudge_controller_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ class OnboardingNudgeControllerTest : public AshTestBase {
AshTestBase::SetUp();
test_clock_ = std::make_unique<base::SimpleTestClock>();
widget_ = CreateFramelessTestWidget();
test_clock_->SetNow(base::Time::FromJavaTime(kTestTimeMillis));
test_clock_->SetNow(
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis));
controller_ = std::make_unique<OnboardingNudgeController>(
/*phone_hub_tray=*/widget_->SetContentsView(
std::make_unique<views::View>()),
Expand Down Expand Up @@ -153,7 +154,7 @@ TEST_F(OnboardingNudgeControllerTest, ShowNudge) {
1);
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastShownTime),
base::Time::FromJavaTime(kTestTimeMillis));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis));
histogram_tester_.ExpectTotalCount("MultiDeviceSetup.NudgeShown", 1);

// Advance the clock by 5 minutes, should not show nuge again.
Expand All @@ -164,7 +165,7 @@ TEST_F(OnboardingNudgeControllerTest, ShowNudge) {
1);
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastShownTime),
base::Time::FromJavaTime(kTestTimeMillis));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis));

// Advance the clock by 24 hours, should show nuge again.
AdvanceClock(base::Hours(24));
Expand All @@ -174,8 +175,8 @@ TEST_F(OnboardingNudgeControllerTest, ShowNudge) {
2);
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastShownTime),
base::Time::FromJavaTime(kTestTimeMillis) + base::Minutes(5) +
base::Hours(24));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis) +
base::Minutes(5) + base::Hours(24));
histogram_tester_.ExpectTotalCount("MultiDeviceSetup.NudgeShown", 2);

// Advance the clock by 24 hours, should show nuge again.
Expand All @@ -186,8 +187,8 @@ TEST_F(OnboardingNudgeControllerTest, ShowNudge) {
3);
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastShownTime),
base::Time::FromJavaTime(kTestTimeMillis) + base::Minutes(5) +
base::Hours(24) + base::Hours(24));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis) +
base::Minutes(5) + base::Hours(24) + base::Hours(24));
histogram_tester_.ExpectTotalCount("MultiDeviceSetup.NudgeShown", 3);

// Should not show nudge again since the total appearances reach 3 times.
Expand All @@ -198,8 +199,8 @@ TEST_F(OnboardingNudgeControllerTest, ShowNudge) {
3);
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastShownTime),
base::Time::FromJavaTime(kTestTimeMillis) + base::Minutes(5) +
base::Hours(24) + base::Hours(24));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis) +
base::Minutes(5) + base::Hours(24) + base::Hours(24));
}

TEST_F(OnboardingNudgeControllerTest, HoverNudge) {
Expand All @@ -212,7 +213,7 @@ TEST_F(OnboardingNudgeControllerTest, HoverNudge) {
GetController()->OnNudgeHoverStateChanged(true);
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastActionTime),
base::Time::FromJavaTime(kTestTimeMillis));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis));
}

TEST_F(OnboardingNudgeControllerTest, ClickNudgeAndPhoneHubIcon) {
Expand All @@ -222,10 +223,10 @@ TEST_F(OnboardingNudgeControllerTest, ClickNudgeAndPhoneHubIcon) {
GetController()->OnNudgeClicked();
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastActionTime),
base::Time::FromJavaTime(kTestTimeMillis + 3000));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis + 3000));
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastClickTime),
base::Time::FromJavaTime(kTestTimeMillis + 3000));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis + 3000));

// Simulate click on Phone Hub icon.
GetController()->HideNudge();
Expand All @@ -250,7 +251,7 @@ TEST_F(OnboardingNudgeControllerTest, ClickNudgeAndPhoneHubIcon) {
1);
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastShownTime),
base::Time::FromJavaTime(kTestTimeMillis));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis));
}

TEST_F(OnboardingNudgeControllerTest, ClickPhoneHubIcon) {
Expand All @@ -261,10 +262,10 @@ TEST_F(OnboardingNudgeControllerTest, ClickPhoneHubIcon) {
GetController()->HideNudge();
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastActionTime),
base::Time::FromJavaTime(kTestTimeMillis + 3000));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis + 3000));
EXPECT_EQ(pref_service()->GetTime(
OnboardingNudgeController::kPhoneHubNudgeLastClickTime),
base::Time::FromJavaTime(kTestTimeMillis + 3000));
base::Time::FromMillisecondsSinceUnixEpoch(kTestTimeMillis + 3000));

histogram_tester_.ExpectTimeBucketCount(
"MultiDeviceSetup.NudgeActionDuration", base::Seconds(3), 1);
Expand Down
2 changes: 1 addition & 1 deletion ash/system/time/date_helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const std::vector<std::u16string> kDefaultWeekTitle = {u"S", u"M", u"T", u"W",
u"T", u"F", u"S"};

UDate TimeToUDate(const base::Time& time) {
return static_cast<UDate>(time.ToDoubleT() *
return static_cast<UDate>(time.InSecondsFSinceUnixEpoch() *
base::Time::kMillisecondsPerSecond);
}

Expand Down
23 changes: 13 additions & 10 deletions ash/webui/multidevice_debug/proximity_auth_webui_handler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,8 @@ void ProximityAuthWebUIHandler::OnGetDebugInfo(
NotifyOnEnrollmentFinished(
true /* success */,
CreateSyncStateDictionary(
debug_info_ptr->last_enrollment_time.ToJsTime(),
debug_info_ptr->last_enrollment_time
.InMillisecondsFSinceUnixEpoch(),
ConvertNextAttemptTimeToDouble(
debug_info_ptr->time_to_next_enrollment_attempt),
debug_info_ptr->is_recovering_from_enrollment_failure,
Expand All @@ -341,27 +342,29 @@ void ProximityAuthWebUIHandler::OnGetDebugInfo(

if (sync_update_waiting_for_debug_info_) {
sync_update_waiting_for_debug_info_ = false;
NotifyOnSyncFinished(true /* was_sync_successful */, true /* changed */,
CreateSyncStateDictionary(
debug_info_ptr->last_sync_time.ToJsTime(),
ConvertNextAttemptTimeToDouble(
debug_info_ptr->time_to_next_sync_attempt),
debug_info_ptr->is_recovering_from_sync_failure,
debug_info_ptr->is_sync_in_progress));
NotifyOnSyncFinished(
true /* was_sync_successful */, true /* changed */,
CreateSyncStateDictionary(
debug_info_ptr->last_sync_time.InMillisecondsFSinceUnixEpoch(),
ConvertNextAttemptTimeToDouble(
debug_info_ptr->time_to_next_sync_attempt),
debug_info_ptr->is_recovering_from_sync_failure,
debug_info_ptr->is_sync_in_progress));
}

if (get_local_state_update_waiting_for_debug_info_) {
get_local_state_update_waiting_for_debug_info_ = false;
NotifyGotLocalState(
GetTruncatedLocalDeviceId(),
CreateSyncStateDictionary(
debug_info_ptr->last_enrollment_time.ToJsTime(),
debug_info_ptr->last_enrollment_time
.InMillisecondsFSinceUnixEpoch(),
ConvertNextAttemptTimeToDouble(
debug_info_ptr->time_to_next_enrollment_attempt),
debug_info_ptr->is_recovering_from_enrollment_failure,
debug_info_ptr->is_enrollment_in_progress),
CreateSyncStateDictionary(
debug_info_ptr->last_sync_time.ToJsTime(),
debug_info_ptr->last_sync_time.InMillisecondsFSinceUnixEpoch(),
ConvertNextAttemptTimeToDouble(
debug_info_ptr->time_to_next_sync_attempt),
debug_info_ptr->is_recovering_from_sync_failure,
Expand Down
4 changes: 3 additions & 1 deletion ash/webui/projector_app/pending_screencast.cc
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ void PendingScreencastContainer::SetName(const std::string& name) {

void PendingScreencastContainer::SetCreatedTime(base::Time created_time) {
pending_screencast_.created_time =
created_time.is_null() ? 0.0 : created_time.ToJsTimeIgnoringNull();
created_time.is_null()
? 0.0
: created_time.InMillisecondsFSinceUnixEpochIgnoringNull();
}

bool PendingScreencastContainer::operator==(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,12 @@ time_t Time::ToTimeT() const {
}

// static
Time Time::FromDoubleT(double dt) {
Time Time::FromSecondsSinceUnixEpoch(double dt) {
// Preserve 0 so we can tell it doesn't exist.
return (dt == 0 || std::isnan(dt)) ? Time() : (UnixEpoch() + Seconds(dt));
}

double Time::ToDoubleT() const {
double Time::InSecondsFSinceUnixEpoch() const {
if (is_null()) {
return 0; // Preserve 0 so we can tell it doesn't exist.
}
Expand All @@ -168,24 +168,24 @@ double Time::ToDoubleT() const {
#if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
// static
Time Time::FromTimeSpec(const timespec& ts) {
return FromDoubleT(ts.tv_sec +
static_cast<double>(ts.tv_nsec) / kNanosecondsPerSecond);
return FromSecondsSinceUnixEpoch(ts.tv_sec + static_cast<double>(ts.tv_nsec) /
kNanosecondsPerSecond);
}
#endif

// static
Time Time::FromJsTime(double ms_since_epoch) {
Time Time::FromMillisecondsSinceUnixEpoch(double ms_since_epoch) {
// The epoch is a valid time, so this constructor doesn't interpret 0 as the
// null time.
return UnixEpoch() + Milliseconds(ms_since_epoch);
}

double Time::ToJsTime() const {
double Time::InMillisecondsFSinceUnixEpoch() const {
// Preserve 0 so the invalid result doesn't depend on the platform.
return is_null() ? 0 : ToJsTimeIgnoringNull();
return is_null() ? 0 : InMillisecondsFSinceUnixEpochIgnoringNull();
}

double Time::ToJsTimeIgnoringNull() const {
double Time::InMillisecondsFSinceUnixEpochIgnoringNull() const {
// Preserve max and min without offset to prevent over/underflow.
if (!is_inf()) {
return (*this - UnixEpoch()).InMillisecondsF();
Expand All @@ -194,11 +194,11 @@ double Time::ToJsTimeIgnoringNull() const {
: std::numeric_limits<double>::infinity();
}

Time Time::FromJavaTime(int64_t ms_since_epoch) {
Time Time::FromMillisecondsSinceUnixEpoch(int64_t ms_since_epoch) {
return UnixEpoch() + Milliseconds(ms_since_epoch);
}

int64_t Time::ToJavaTime() const {
int64_t Time::InMillisecondsSinceUnixEpoch() const {
// Preserve 0 so the invalid result doesn't depend on the platform.
if (is_null()) {
return 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -586,8 +586,8 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) Time
// Because WebKit initializes double time value to 0 to indicate "not
// initialized", we map it to empty Time object that also means "not
// initialized".
static Time FromDoubleT(double dt);
double ToDoubleT() const;
static Time FromSecondsSinceUnixEpoch(double dt);
double InSecondsFSinceUnixEpoch() const;

#if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
// Converts the timespec structure to time. MacOS X 10.8.3 (and tentatively,
Expand All @@ -601,19 +601,20 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) Time
// milliseconds since the epoch:
// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getTime.
//
// Don't use ToJsTime() in new code, since it contains a subtle hack (only
// exactly 1601-01-01 00:00 UTC is represented as 1970-01-01 00:00 UTC), and
// that is not appropriate for general use. Try to use ToJsTimeIgnoringNull()
// unless you have a very good reason to use ToJsTime().
static Time FromJsTime(double ms_since_epoch);
double ToJsTime() const;
double ToJsTimeIgnoringNull() const;
// Don't use InMillisecondsFSinceUnixEpoch() in new code, since it contains a
// subtle hack (only exactly 1601-01-01 00:00 UTC is represented as 1970-01-01
// 00:00 UTC), and that is not appropriate for general use. Try to use
// InMillisecondsFSinceUnixEpochIgnoringNull() unless you have a very good
// reason to use InMillisecondsFSinceUnixEpoch().
static Time FromMillisecondsSinceUnixEpoch(double ms_since_epoch);
double InMillisecondsFSinceUnixEpoch() const;
double InMillisecondsFSinceUnixEpochIgnoringNull() const;

// Converts to/from Java convention for times, a number of milliseconds since
// the epoch. Because the Java format has less resolution, converting to Java
// time is a lossy operation.
static Time FromJavaTime(int64_t ms_since_epoch);
int64_t ToJavaTime() const;
static Time FromMillisecondsSinceUnixEpoch(int64_t ms_since_epoch);
int64_t InMillisecondsSinceUnixEpoch() const;

#if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
static Time FromTimeVal(struct timeval t);
Expand Down
Loading

0 comments on commit 08b91b4

Please sign in to comment.