chromium/third_party/blink/renderer/core/timezone/timezone_controller.cc

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/core/timezone/timezone_controller.h"

#include "base/feature_list.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/frame/frame.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/workers/worker_backing_thread.h"
#include "third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.h"
#include "third_party/blink/renderer/core/workers/worker_thread.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/scheduler/public/main_thread.h"
#include "third_party/blink/renderer/platform/scheduler/public/main_thread_scheduler.h"
#include "third_party/icu/source/common/unicode/char16ptr.h"
#include "third_party/icu/source/i18n/unicode/timezone.h"
#include "v8/include/v8.h"

namespace blink {

namespace {

// When enabled, the host timezone id is evaluated only when needed.
// TODO(crbug.com/40287434): Cleanup the feature after running the experiment,
// no later than January 2025.
BASE_FEATURE();

// Notify V8 that the date/time configuration of the system might have changed.
void NotifyTimezoneChangeToV8(v8::Isolate* isolate) {}

void NotifyTimezoneChangeOnWorkerThread(WorkerThread* worker_thread) {}

String GetTimezoneId(const icu::TimeZone& timezone) {}

String GetCurrentTimezoneId() {}

void DispatchTimeZoneChangeEventToFrames() {}

bool SetIcuTimeZoneAndNotifyV8(const String& timezone_id) {}

}  // namespace

TimeZoneController::TimeZoneController() {}

TimeZoneController::~TimeZoneController() = default;

// static
void TimeZoneController::Init() {}

// static
TimeZoneController& TimeZoneController::instance() {}

bool CanonicalEquals(const String& time_zone_a, const String& time_zone_b) {}

// static
std::unique_ptr<TimeZoneController::TimeZoneOverride>
TimeZoneController::SetTimeZoneOverride(const String& timezone_id) {}

// static
bool TimeZoneController::HasTimeZoneOverride() {}

// static
const String& TimeZoneController::TimeZoneIdOverride() {}

// static
void TimeZoneController::ClearTimeZoneOverride() {}

// static
void TimeZoneController::ChangeTimeZoneOverride(const String& timezone_id) {}
void TimeZoneController::OnTimeZoneChange(const String& timezone_id) {}

const String& TimeZoneController::GetHostTimezoneId() {}

// static
void TimeZoneController::ChangeTimeZoneForTesting(const String& timezone) {}
}  // namespace blink