Enable chrome with aura for tizen 99/284599/12
authorayush.k123 <ayush.k123@samsung.com>
Mon, 21 Nov 2022 12:26:17 +0000 (17:56 +0530)
committerDae-Hyun Ko <dhyuna.ko@samsung.com>
Fri, 25 Nov 2022 08:18:15 +0000 (08:18 +0000)
This change fixes compilation and linkers errors to enable chrome in
tizen.
This also migrates certain changes from [4].

Build command:
TM1:./tizen_src/build/build_standard_armv7l.sh --nodebug
TV: ./tizen_src/build/build_tv.sh --nodebug

Launch command:
TM1:/usr/lib/chromium-efl/chrome --no-sandbox --ignore-gpu-blocklist
    --window-size=720,1280
TV: /usr/lib/chromium-efl/chrome --no-sandbox --ignore-gpu-blocklist
    --window-size=1920,1080

Reference:
1. https://review.tizen.org/gerrit/c/268840
2. https://review.tizen.org/gerrit/c/268979
3. https://review.tizen.org/gerrit/c/269125
4. https://chromium-review.googlesource.com/c/chromium/src/+/4042669

Change-Id: Iad4ee415584bdf3e6455a721981a97cec6db89ad
Signed-off-by: Ayush Kumar <ayush.k123@samsung.com>
68 files changed:
chrome/BUILD.gn
chrome/browser/BUILD.gn
chrome/browser/browser_process_impl.cc
chrome/browser/chrome_browser_main_linux.cc
chrome/browser/chrome_content_browser_client.cc
chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/BUILD.gn
chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/BUILD.gn
chrome/browser/extensions/BUILD.gn
chrome/browser/media/router/discovery/BUILD.gn
chrome/browser/notifications/notification_platform_bridge_linux.cc
chrome/browser/notifications/notification_platform_bridge_linux.h
chrome/browser/platform_util_linux.cc
chrome/browser/policy/BUILD.gn
chrome/browser/policy/configuration_policy_handler_list_factory.cc
chrome/browser/resources/BUILD.gn
chrome/browser/resources/app_settings/BUILD.gn
chrome/browser/resources/browser_switch/BUILD.gn
chrome/browser/resources/ntp4/BUILD.gn
chrome/browser/resources/sandbox_internals/BUILD.gn
chrome/browser/resources/webui_js_error/BUILD.gn
chrome/browser/safe_browsing/BUILD.gn
chrome/browser/ui/BUILD.gn
chrome/browser/ui/color/BUILD.gn
chrome/browser/ui/views/accelerator_table.cc
chrome/browser/ui/webui/BUILD.gn
chrome/browser/web_applications/BUILD.gn
chrome/chrome_paks.gni
chrome/common/BUILD.gn
chrome/common/extensions/api/api_sources.gni
chrome/common/features.gni
chrome/common/importer/BUILD.gn
chrome/common/safe_browsing/BUILD.gn
chrome/services/file_util/BUILD.gn
chrome/services/file_util/public/cpp/BUILD.gn
chrome/services/file_util/public/features.gni
chrome/services/printing/BUILD.gn
chrome/services/printing/public/mojom/BUILD.gn
chrome/services/system_signals/BUILD.gn
chrome/utility/BUILD.gn
components/crash/core/app/BUILD.gn
components/crash/core/common/BUILD.gn
components/device_signals/core/browser/BUILD.gn
components/device_signals/core/common/BUILD.gn
components/device_signals/core/system_signals/BUILD.gn
components/metrics/BUILD.gn
components/policy/BUILD.gn
components/policy/tools/generate_policy_source.py
components/sync_device_info/BUILD.gn
device/bluetooth/BUILD.gn
extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_api.cc
extensions/browser/api/system_cpu/BUILD.gn
extensions/buildflags/buildflags.gni
headless/BUILD.gn
headless/lib/browser/headless_browser_main_parts_linux.cc
packaging/chromium-efl.spec
pdf/BUILD.gn
printing/BUILD.gn
printing/mojom/BUILD.gn
services/resource_coordinator/public/mojom/BUILD.gn
third_party/content_analysis_sdk/BUILD.gn
third_party/cpuinfo/BUILD.gn
third_party/cpuinfo/src/src/init.c
third_party/crashpad/crashpad/client/BUILD.gn
third_party/pdfium/core/fxge/BUILD.gn
third_party/ruy/BUILD.gn
tizen_src/build/gn_chromiumefl.sh
ui/base/ui_features.gni
ui/views/controls/webview/BUILD.gn

index 936dcd4..1acebc6 100644 (file)
@@ -33,7 +33,7 @@ import("//v8/gni/v8.gni")
 
 if (is_android) {
   import("//build/config/android/rules.gni")
-} else if (is_linux || is_chromeos) {
+} else if (is_linux || is_chromeos || is_tizen) {
   import("//build/linux/extract_symbols.gni")
   import("//build/linux/strip_binary.gni")
 } else if (is_mac) {
@@ -258,7 +258,7 @@ if (!is_android && !is_mac) {
       sources += [ "app/chrome_exe_main_aura.cc" ]
     }
 
-    if (is_linux || is_chromeos || is_fuchsia) {
+    if (is_linux || is_chromeos || is_fuchsia || is_tizen) {
       sources += [
         "app/chrome_dll_resource.h",
         "app/chrome_main.cc",
@@ -1716,7 +1716,7 @@ if (is_win && enable_resource_allowlist_generation) {
   }
 }
 
-if (is_linux || is_chromeos) {
+if (is_linux || is_chromeos || is_tizen) {
   if (is_official_build) {
     group("linux_symbols") {
       deps = [
@@ -1728,7 +1728,7 @@ if (is_linux || is_chromeos) {
       if (is_linux) {
         deps += [ ":swiftshader_vk_symbols" ]
       }
-      if (!is_chromeos) {
+      if (!is_chromeos && !is_tizen) {
         deps += [ ":angle_libvulkan_symbols" ]
       }
       if (build_with_internal_optimization_guide) {
@@ -1795,7 +1795,7 @@ if (is_linux || is_chromeos) {
 
       deps = [ "//third_party/angle:libGLESv2" ]
     }
-    if (!is_chromeos) {
+    if (!is_chromeos && !is_tizen) {
       extract_symbols("angle_libvulkan_symbols") {
         binary = "$root_out_dir/libvulkan.so.1"
 
index 68415e7..467ff53 100644 (file)
@@ -6349,7 +6349,7 @@ static_library("browser") {
     }
   }
 
-  if (is_linux || is_win || is_mac || is_chromeos_ash) {
+  if (is_linux || is_win || is_mac || is_chromeos_ash || is_tizen) {
     sources += [
       "enterprise/connectors/device_trust/device_trust_connector_service.cc",
       "enterprise/connectors/device_trust/device_trust_connector_service.h",
@@ -6390,7 +6390,7 @@ static_library("browser") {
     deps += [ "//chrome/browser/enterprise/connectors/device_trust/key_management/core/mac" ]
   }
 
-  if (is_linux || is_win || is_mac) {
+  if (is_linux || is_win || is_mac || is_tizen) {
     sources += [
       "enterprise/chrome_browser_main_extra_parts_enterprise.cc",
       "enterprise/chrome_browser_main_extra_parts_enterprise.h",
@@ -6454,7 +6454,7 @@ static_library("browser") {
     }
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     sources += [
       "chrome_browser_main_linux.cc",
       "chrome_browser_main_linux.h",
@@ -6480,7 +6480,7 @@ static_library("browser") {
     }
   }
 
-  if (is_linux && use_dbus) {
+  if ((is_linux && use_dbus) || is_tizen) {
     sources += [
       "dbus_memory_pressure_evaluator_linux.cc",
       "dbus_memory_pressure_evaluator_linux.h",
@@ -6489,7 +6489,7 @@ static_library("browser") {
     deps += [ "//chrome/common:chrome_features" ]
   }
 
-  if (is_linux || is_chromeos_lacros) {
+  if (is_linux || is_chromeos_lacros || is_tizen) {
     sources += [
       "download/download_status_updater_linux.cc",
       "first_run/upgrade_util_linux.cc",
@@ -6620,7 +6620,7 @@ static_library("browser") {
     sources += [ "hang_monitor/hang_crash_dump.cc" ]
   }
 
-  if (is_win || is_linux || is_chromeos || is_fuchsia) {
+  if (is_win || is_linux || is_chromeos || is_fuchsia || is_tizen) {
     sources += [
       "renderer_context_menu/spelling_options_submenu_observer.cc",
       "renderer_context_menu/spelling_options_submenu_observer.h",
@@ -6636,7 +6636,7 @@ static_library("browser") {
     ]
   }
 
-  if (is_win || is_mac || is_linux) {
+  if (is_win || is_mac || is_linux || is_tizen) {
     sources += [
       "browser_switcher/alternative_browser_driver.h",
       "browser_switcher/browser_switcher_features.cc",
@@ -6657,7 +6657,7 @@ static_library("browser") {
     if (is_win) {
       sources += [ "browser_switcher/alternative_browser_driver_win.cc" ]
     }
-    if (is_mac || is_linux) {
+    if (is_mac || is_linux || is_tizen) {
       sources += [ "browser_switcher/alternative_browser_driver_posix.cc" ]
     }
   }
@@ -6710,7 +6710,7 @@ static_library("browser") {
     ]
   }
 
-  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia) {
+  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia || is_tizen) {
     sources += [
       "media/cast_mirroring_service_host.cc",
       "media/cast_mirroring_service_host.h",
@@ -6789,7 +6789,7 @@ static_library("browser") {
     deps += [ "//ui/ozone" ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources += [
       "chrome_browser_main_extra_parts_linux.cc",
       "chrome_browser_main_extra_parts_linux.h",
@@ -6906,13 +6906,13 @@ static_library("browser") {
     if (is_chromeos) {
       deps += [ "//chromeos/crosapi/mojom" ]
     }
-    if (is_linux || is_chromeos) {
+    if (is_linux || is_chromeos || is_tizen) {
       sources += [ "printing/printer_manager_dialog_linux.cc" ]
     }
     if (is_fuchsia) {
       sources += [ "printing/printer_manager_dialog_fuchsia.cc" ]
     }
-    if (enable_oop_printing) {
+    if (enable_oop_printing || is_tizen) {
       sources += [
         "printing/print_backend_service_manager.cc",
         "printing/print_backend_service_manager.h",
@@ -7646,7 +7646,7 @@ static_library("browser") {
       ]
     }
 
-    if (is_win || is_linux || is_chromeos) {
+    if (is_win || is_linux || is_chromeos || is_tizen) {
       sources += [
         "spellchecker/spellcheck_language_blocklist_policy_handler.cc",
         "spellchecker/spellcheck_language_blocklist_policy_handler.h",
@@ -7833,7 +7833,7 @@ static_library("browser") {
     }
   }
 
-  if (use_nss_certs) {
+  if (use_nss_certs || is_tizen) {
     sources += [
       "certificate_manager_model.cc",
       "certificate_manager_model.h",
@@ -7854,7 +7854,7 @@ static_library("browser") {
     if (is_chromeos_lacros) {
       sources += [ "net/nss_service_lacros.cc" ]
     }
-    if (is_linux) {
+    if (is_linux || is_tizen) {
       sources += [ "net/nss_service_linux.cc" ]
     }
     configs += [ "//build/config/linux/nss" ]
@@ -8028,7 +8028,7 @@ grit("resources") {
     deps += [ "//chrome/browser/resources/conflicts:build_ts" ]
   }
 
-  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia) {
+  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia || is_tizen) {
     deps += [ "//services/resource_coordinator/public/mojom:mojom_js" ]
   }
 
@@ -8120,7 +8120,7 @@ grit("dev_ui_browser_resources") {
     deps += [ "//chrome/browser/ui/webui/feed_internals:mojo_bindings_js" ]
   }
 
-  if (is_android || is_linux || is_chromeos || is_win) {
+  if (is_android || is_linux || is_chromeos || is_win || is_tizen) {
     deps += [ "//chrome/browser/resources/sandbox_internals:build_ts" ]
   }
 }
index a7a2bfe..d55c1ab 100644 (file)
@@ -1161,8 +1161,10 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
   ApplyMetricsReportingPolicy();
 
 #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if defined(EWK_BRINGUP) && !defined(OS_TIZEN)  // FIXME: m108 bringup
   ChromeJsErrorReportProcessor::Create();
 #endif
+#endif
 
 #if BUILDFLAG(ENABLE_PLUGINS)
   content::PluginService::GetInstance()->SetFilter(
@@ -1170,8 +1172,10 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
 #endif  // BUILDFLAG(ENABLE_PLUGINS)
 
 #if !BUILDFLAG(IS_ANDROID)
+#if defined(EWK_BRINGUP) && !defined(OS_TIZEN)  // FIXME: m108 bringup
   storage_monitor::StorageMonitor::Create();
 #endif
+#endif
 
   platform_part_->PreMainMessageLoopRun();
 
index 62bef8b..7427fa2 100644 (file)
@@ -62,7 +62,7 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessageLoop() {
   // FeatureList, and is done elsewhere.
 #endif  // BUILDFLAG(IS_CHROMEOS)
 
-#if !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_CHROMEOS) && !defined(OS_TIZEN)
   bluez::BluezDBusManager::Initialize(nullptr /* system_bus */);
 
   // Set up crypt config. This needs to be done before anything starts the
index 3038bbd..2fc0e47 100644 (file)
@@ -2760,10 +2760,13 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
 #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
   // Opt into a hardened stack canary mitigation if it hasn't already been
   // force-disabled.
+#if !defined(OS_TIZEN)
+  // Causes "stack smashing detected" error on utility service during launch.
   if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) {
     command_line->AppendSwitchASCII(switches::kChangeStackGuardOnFork,
                                     switches::kChangeStackGuardOnForkEnabled);
   }
+#endif
 #endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
 
 #if BUILDFLAG(IS_ANDROID)
index f174711..b6e1a5f 100644 (file)
@@ -31,7 +31,7 @@ source_set("commands") {
       "//google_update",
     ]
   }
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources += [
       "linux_key_rotation_command.cc",
       "linux_key_rotation_command.h",
index 5becf59..7ece84d 100644 (file)
@@ -42,7 +42,7 @@ source_set("persistence") {
     friend = [ ":unit_tests" ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources += [
       "linux_key_persistence_delegate.cc",
       "linux_key_persistence_delegate.h",
index 6a58d64..124a0d9 100644 (file)
@@ -956,7 +956,7 @@ static_library("extensions") {
     "//url",
   ]
 
-  if (is_linux || is_mac || is_win) {
+  if (is_linux || is_mac || is_win || is_tizen) {
     sources += [
       "api/system_indicator/system_indicator_api.cc",
       "api/system_indicator/system_indicator_api.h",
@@ -1265,7 +1265,7 @@ static_library("extensions") {
     ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources +=
         [ "api/image_writer_private/removable_storage_provider_linux.cc" ]
   }
index 2363eff..4c59bdb 100644 (file)
@@ -80,7 +80,7 @@ static_library("discovery") {
     "media_sink_discovery_metrics.h",
   ]
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     sources += [ "discovery_network_list_wifi_linux.cc" ]
   }
 
index 11bb2ed..d120e5b 100644 (file)
@@ -279,6 +279,7 @@ std::unique_ptr<ResourceFile> WriteDataToTmpFile(
   return resource_file;
 }
 
+#if defined(USE_DBUS)
 bool CheckNotificationsNameHasOwnerOrIsActivatable(dbus::Bus* bus) {
   dbus::ObjectProxy* dbus_proxy =
       bus->GetObjectProxy(DBUS_SERVICE_DBUS, dbus::ObjectPath(DBUS_PATH_DBUS));
@@ -325,7 +326,7 @@ bool CheckNotificationsNameHasOwnerOrIsActivatable(dbus::Bus* bus) {
   }
   return false;
 }
-
+#endif
 }  // namespace
 
 // static
@@ -340,6 +341,7 @@ bool NotificationPlatformBridge::CanHandleType(
   return notification_type != NotificationHandler::Type::TRANSIENT;
 }
 
+#if defined(USE_DBUS)
 class NotificationPlatformBridgeLinuxImpl
     : public NotificationPlatformBridge,
       public base::RefCountedThreadSafe<NotificationPlatformBridgeLinuxImpl> {
@@ -1198,7 +1200,9 @@ class NotificationPlatformBridgeLinuxImpl
 
   bool clean_up_on_task_runner_called_ = false;
 };
+#endif
 
+#if defined(USE_DBUS)
 NotificationPlatformBridgeLinux::NotificationPlatformBridgeLinux()
     : NotificationPlatformBridgeLinux(nullptr) {}
 
@@ -1207,6 +1211,9 @@ NotificationPlatformBridgeLinux::NotificationPlatformBridgeLinux(
     : impl_(new NotificationPlatformBridgeLinuxImpl(bus)) {
   impl_->Init();
 }
+#else
+NotificationPlatformBridgeLinux::NotificationPlatformBridgeLinux() {}
+#endif
 
 NotificationPlatformBridgeLinux::~NotificationPlatformBridgeLinux() = default;
 
@@ -1215,29 +1222,39 @@ void NotificationPlatformBridgeLinux::Display(
     Profile* profile,
     const message_center::Notification& notification,
     std::unique_ptr<NotificationCommon::Metadata> metadata) {
+#if defined(USE_DBUS)
   impl_->Display(notification_type, profile, notification, std::move(metadata));
+#endif
 }
 
 void NotificationPlatformBridgeLinux::Close(
     Profile* profile,
     const std::string& notification_id) {
+#if defined(USE_DBUS)
   impl_->Close(profile, notification_id);
+#endif
 }
 
 void NotificationPlatformBridgeLinux::GetDisplayed(
     Profile* profile,
     GetDisplayedNotificationsCallback callback) const {
+#if defined(USE_DBUS)
   impl_->GetDisplayed(profile, std::move(callback));
+#endif
 }
 
 void NotificationPlatformBridgeLinux::SetReadyCallback(
     NotificationBridgeReadyCallback callback) {
+#if defined(USE_DBUS)
   impl_->SetReadyCallback(std::move(callback));
+#endif
 }
 
 void NotificationPlatformBridgeLinux::DisplayServiceShutDown(Profile* profile) {
 }
 
 void NotificationPlatformBridgeLinux::CleanUp() {
+#if defined(USE_DBUS)
   impl_->CleanUp();
+#endif
 }
index c7d2dc5..b71c9a6 100644 (file)
 #include "base/memory/ref_counted.h"
 #include "chrome/browser/notifications/notification_platform_bridge.h"
 
+#if defined(USE_DBUS)
 class NotificationPlatformBridgeLinuxImpl;
 
 namespace dbus {
 class Bus;
 }
+#endif
 
 class NotificationPlatformBridgeLinux : public NotificationPlatformBridge {
  public:
@@ -40,12 +42,13 @@ class NotificationPlatformBridgeLinux : public NotificationPlatformBridge {
  private:
   friend class NotificationPlatformBridgeLinuxTest;
 
+  void CleanUp();
+#if defined(USE_DBUS)
   // Constructor only used in unit testing.
   explicit NotificationPlatformBridgeLinux(scoped_refptr<dbus::Bus> bus);
 
-  void CleanUp();
-
   scoped_refptr<NotificationPlatformBridgeLinuxImpl> impl_;
+#endif
 };
 
 #endif  // CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_PLATFORM_BRIDGE_LINUX_H_
index 06890f8..e3c9570 100644 (file)
@@ -73,6 +73,7 @@ class ShowItemHelper {
   ShowItemHelper& operator=(const ShowItemHelper&) = delete;
 
   void ShowItemInFolder(Profile* profile, const base::FilePath& full_path) {
+#if defined(USE_DBUS)
     if (!bus_) {
       // Sets up the D-Bus connection.
       dbus::Bus::Options bus_options;
@@ -98,18 +99,22 @@ class ShowItemHelper {
     } else {
       CheckFileManagerRunning(profile, full_path);
     }
+#endif
   }
 
  private:
   void OnAppTerminating() {
     DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
     // The browser process is about to exit. Clean up while we still can.
+#if defined(USE_DBUS)
     if (bus_)
       bus_->ShutdownOnDBusThreadAndBlock();
     bus_.reset();
     object_proxy_ = nullptr;
+#endif
   }
 
+#if defined(USE_DBUS)
   void CheckFileManagerRunning(Profile* profile,
                                const base::FilePath& full_path) {
     dbus::MethodCall method_call(DBUS_INTERFACE_DBUS, kMethodNameHasOwner);
@@ -284,6 +289,7 @@ class ShowItemHelper {
 
   base::CallbackListSubscription browser_shutdown_subscription_;
   base::WeakPtrFactory<ShowItemHelper> weak_ptr_factory_{this};
+#endif
 };
 
 void RunCommand(const std::string& command,
index 905e858..9aa9931 100644 (file)
@@ -10,7 +10,7 @@ import("//extensions/buildflags/buildflags.gni")
 source_set("path_parser") {
   sources = [ "policy_path_parser.h" ]
 
-  if (is_chromeos || is_linux) {
+  if (is_chromeos || is_linux || is_tizen) {
     sources += [ "policy_path_parser_linux.cc" ]
   } else if (is_fuchsia) {
     sources += [ "policy_path_parser_fuchsia.cc" ]
index 072a7e3..24f7097 100644 (file)
@@ -2311,6 +2311,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
   handlers->AddHandler(std::make_unique<ArcServicePolicyHandler>(
       key::kArcGoogleLocationServicesEnabled,
       arc::prefs::kArcLocationServiceEnabled));
+#if BUILDFLAG(ENABLE_PRINTING)
   handlers->AddHandler(
       std::make_unique<PrintingAllowedColorModesPolicyHandler>());
   handlers->AddHandler(
@@ -2320,6 +2321,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
   handlers->AddHandler(std::make_unique<PrintingColorDefaultPolicyHandler>());
   handlers->AddHandler(std::make_unique<PrintingDuplexDefaultPolicyHandler>());
   handlers->AddHandler(std::make_unique<PrintingPinDefaultPolicyHandler>());
+#endif
   handlers->AddHandler(std::make_unique<IntRangePolicyHandler>(
       key::kPrintingMaxSheetsAllowed, prefs::kPrintingMaxSheetsAllowed, 1,
       INT_MAX, true));
index f185ec8..82491bf 100644 (file)
@@ -69,19 +69,20 @@ group("resources") {
     ]
   }
 
-  if (is_win || is_mac || is_linux || is_chromeos_ash) {
+  if (is_win || is_mac || is_linux || is_chromeos_ash || is_tizen) {
     public_deps += [ "connectors_internals:resources" ]
   }
 
-  if (is_win || is_mac || is_linux || is_chromeos_lacros || is_fuchsia) {
+  if (is_win || is_mac || is_linux || is_chromeos_lacros || is_fuchsia ||
+      is_tizen) {
     public_deps += [ "browser_switch:resources" ]
   }
 
-  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia) {
+  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia || is_tizen) {
     public_deps += [ "discards:resources" ]
   }
 
-  if (is_win || is_mac || is_linux || is_fuchsia) {
+  if (is_win || is_mac || is_linux || is_fuchsia || is_tizen) {
     public_deps += [
       "app_home:resources",
       "app_settings:resources",
@@ -89,7 +90,7 @@ group("resources") {
     ]
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     public_deps += [ "webui_js_error:resources" ]
   }
 
index f4c0b08..d2c7e8b 100644 (file)
@@ -5,7 +5,7 @@
 import("//chrome/browser/resources/tools/build_webui.gni")
 import("//chrome/common/features.gni")
 
-assert(is_win || is_mac || is_linux || is_fuchsia)
+assert(is_win || is_mac || is_linux || is_fuchsia || is_tizen)
 
 build_webui("build") {
   grd_prefix = "app_settings"
index 28286c2..0de3a6e 100644 (file)
@@ -5,7 +5,8 @@
 import("//chrome/browser/resources/tools/build_webui.gni")
 import("//chrome/common/features.gni")
 
-assert(is_win || is_mac || is_linux || is_chromeos_lacros || is_fuchsia)
+assert(is_win || is_mac || is_linux || is_chromeos_lacros || is_fuchsia ||
+       is_tizen)
 
 build_webui("build") {
   grd_prefix = "browser_switch"
index a7d5877..7ed5d72 100644 (file)
@@ -7,7 +7,7 @@ import("//tools/grit/grit_rule.gni")
 import("//tools/typescript/ts_library.gni")
 import("//ui/webui/resources/tools/generate_grd.gni")
 
-assert(is_fuchsia || is_linux || is_mac || is_win)
+assert(is_fuchsia || is_linux || is_mac || is_win || is_tizen)
 
 grit("apps_resources") {
   defines = chrome_grit_defines
index 79fe8ab..cdbf7e4 100644 (file)
@@ -5,7 +5,7 @@
 import("//tools/grit/preprocess_if_expr.gni")
 import("//tools/typescript/ts_library.gni")
 
-assert(is_android || is_linux || is_chromeos || is_win)
+assert(is_android || is_linux || is_chromeos || is_win || is_tizen)
 
 preprocess_folder = "preprocessed"
 
index 8a839f5..6d70dbf 100644 (file)
@@ -5,7 +5,7 @@
 import("//chrome/browser/resources/tools/build_webui.gni")
 import("//ui/webui/webui_features.gni")
 
-assert(is_linux || is_chromeos)
+assert(is_linux || is_chromeos || is_tizen)
 
 build_webui("build") {
   grd_prefix = "webui_js_error"
index 1197ad7..191cda3 100644 (file)
@@ -350,7 +350,7 @@ static_library("safe_browsing") {
         ]
       }
 
-      if (is_linux || is_win) {
+      if (is_linux || is_win || is_tizen) {
         sources += [
           "download_protection/document_analysis_service.cc",
           "download_protection/document_analysis_service.h",
index e643ed6..1baf13c 100644 (file)
@@ -681,14 +681,14 @@ static_library("ui") {
     deps += [ "//chrome/browser/vr:vr_base" ]
   }
 
-  if (is_win || is_android || is_linux || is_chromeos) {
+  if (is_win || is_android || is_linux || is_chromeos || is_tizen) {
     sources += [
       "webui/sandbox/sandbox_internals_ui.cc",
       "webui/sandbox/sandbox_internals_ui.h",
     ]
   }
 
-  if (is_win || is_linux || is_mac || is_chromeos_ash) {
+  if (is_win || is_linux || is_mac || is_chromeos_ash || is_tizen) {
     sources += [
       "webui/connectors_internals/connectors_internals_page_handler.cc",
       "webui/connectors_internals/connectors_internals_page_handler.h",
@@ -1887,7 +1887,7 @@ static_library("ui") {
       ]
     }
 
-    if (is_linux || is_chromeos_lacros) {
+    if (is_linux || is_chromeos_lacros || is_tizen) {
       deps += [ "//ui/base/ime/linux" ]
     }
 
@@ -3432,7 +3432,7 @@ static_library("ui") {
     deps += [ "//chrome/browser/ui/webui/settings/chromeos/constants:mojom" ]
   }
 
-  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia) {
+  if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia || is_tizen) {
     sources += [
       "autofill/payments/virtual_card_selection_dialog_controller.h",
       "autofill/payments/virtual_card_selection_dialog_controller_impl.cc",
@@ -3508,7 +3508,7 @@ static_library("ui") {
     ]
   }
 
-  if (is_win || is_mac || is_fuchsia || is_linux) {
+  if (is_win || is_mac || is_fuchsia || is_linux || is_tizen) {
     sources += [
       "views/web_apps/deprecated_apps_dialog_view.cc",
       "views/web_apps/deprecated_apps_dialog_view.h",
@@ -3533,7 +3533,8 @@ static_library("ui") {
     deps += [ "//chrome/browser/ui/webui/app_home:mojo_bindings" ]
   }
 
-  if (is_win || is_mac || is_fuchsia || is_linux || is_chromeos_lacros) {
+  if (is_win || is_mac || is_fuchsia || is_linux || is_chromeos_lacros ||
+      is_tizen) {
     sources += [
       "profile_picker.cc",
       "profile_picker.h",
@@ -4016,7 +4017,7 @@ static_library("ui") {
     }
   }
 
-  if (is_linux || is_mac) {
+  if (is_linux || is_mac || is_tizen) {
     # The first run dialog shows only on Linux and macOS.
     sources += [
       "views/first_run_dialog.cc",
@@ -4024,7 +4025,7 @@ static_library("ui") {
     ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources += [
       "views/frame/desktop_browser_frame_aura_linux.cc",
       "views/frame/desktop_browser_frame_aura_linux.h",
@@ -4041,11 +4042,11 @@ static_library("ui") {
     ]
   }
 
-  if (is_linux || is_chromeos_lacros || is_fuchsia) {
+  if (is_linux || is_chromeos_lacros || is_fuchsia || is_tizen) {
     sources += [ "views/apps/chrome_app_window_client_views_aura.cc" ]
   }
 
-  if (is_linux || is_chromeos_lacros) {
+  if (is_linux || is_chromeos_lacros || is_tizen) {
     sources += [
       "views/frame/browser_desktop_window_tree_host.h",
       "webui/help/version_updater_basic.cc",
@@ -4085,7 +4086,7 @@ static_library("ui") {
       deps += [ "//ui/gfx/x" ]
     }
 
-    if (is_linux) {
+    if (is_linux || is_tizen) {
       sources += [
         "views/frame/browser_desktop_window_tree_host_linux.cc",
         "views/frame/browser_desktop_window_tree_host_linux.h",
@@ -4099,7 +4100,7 @@ static_library("ui") {
     }
   }
 
-  if (is_win || is_mac || is_linux) {
+  if (is_win || is_mac || is_linux || is_tizen) {
     sources += [
       "startup/web_app_info_recorder_utils.cc",
       "startup/web_app_info_recorder_utils.h",
@@ -4121,7 +4122,7 @@ static_library("ui") {
     }
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     sources += [
       "process_singleton_dialog_linux.h",
       "webui/webui_js_error/webui_js_error_ui.cc",
@@ -5314,7 +5315,7 @@ static_library("ui") {
 
     allow_circular_includes_from += [ "//chrome/browser/ui/views" ]
 
-    if (is_linux || is_chromeos_lacros) {
+    if (is_linux || is_chromeos_lacros || is_tizen) {
       sources += [
         "views/chrome_views_delegate_linux.cc",
         "views/frame/browser_frame_view_layout_linux.cc",
@@ -5328,11 +5329,11 @@ static_library("ui") {
       ]
     }
 
-    if (is_linux || is_chromeos) {
+    if (is_linux || is_chromeos || is_tizen) {
       sources += [ "views/process_singleton_dialog_linux.cc" ]
     }
 
-    if (is_linux) {
+    if (is_linux || is_tizen) {
       sources += [
         "views/status_icons/status_tray_linux.cc",
         "views/status_icons/status_tray_linux.h",
@@ -5359,7 +5360,7 @@ static_library("ui") {
       ]
     }
 
-    if (is_win || is_linux) {
+    if (is_win || is_linux || is_tizen) {
       sources += [
         "views/bluetooth_device_credentials_view.cc",
         "views/bluetooth_device_credentials_view.h",
@@ -5395,7 +5396,7 @@ static_library("ui") {
       ]
     }
 
-    if (is_win || is_fuchsia || is_linux || is_chromeos_lacros) {
+    if (is_win || is_fuchsia || is_linux || is_chromeos_lacros || is_tizen) {
       sources += [
         "views/native_widget_factory.cc",
         "views/native_widget_factory.h",
@@ -5404,7 +5405,7 @@ static_library("ui") {
 
     if (use_aura) {
       # These files can do Gtk+-based theming for builds with gtk enabled.
-      if (is_linux || is_chromeos_lacros) {
+      if (is_linux || is_chromeos_lacros || is_tizen) {
         sources += [
           "views/chrome_browser_main_extra_parts_views_linux.cc",
           "views/chrome_browser_main_extra_parts_views_linux.h",
index 969798e..2d7a810 100644 (file)
@@ -46,7 +46,7 @@ source_set("mixers") {
     sources += [ "chromeos/native_chrome_color_mixer_chromeos.cc" ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources += [ "linux/native_chrome_color_mixer_linux.cc" ]
   }
 
index e327b7a..5a3eafc 100644 (file)
 #include "ui/base/ui_base_features.h"
 #include "ui/events/event_constants.h"
 
+#if defined(OS_TIZEN)
+#include <bits/range_access.h>
+#endif
+
 namespace {
 
 // NOTE: Between each ifdef block, keep the list in the same
@@ -236,7 +240,8 @@ const AcceleratorMapping kAcceleratorMap[] = {
     {ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, IDC_TOGGLE_QUICK_COMMANDS},
 #endif  // !BUILDFLAG(IS_CHROMEOS)
 #endif  // !BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && \
+    (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
     {ui::VKEY_S, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
      IDC_RUN_SCREEN_AI_VISUAL_ANNOTATIONS},
 #endif
index 95fc9ec..20c87f0 100644 (file)
@@ -28,7 +28,7 @@ source_set("configs") {
     ]
   }
 
-  if (is_mac || is_win || is_linux || is_chromeos || is_fuchsia) {
+  if (is_mac || is_win || is_linux || is_chromeos || is_fuchsia || is_tizen) {
     sources += [
       "chrome_untrusted_web_ui_configs_desktop.cc",
       "chrome_untrusted_web_ui_configs_desktop.h",
index 3d2d0d8..67362e9 100644 (file)
@@ -244,7 +244,7 @@ source_set("web_applications") {
     sources += [ "os_integration/web_app_stubs.cc" ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     # Desktop linux, doesn't count ChromeOS.
     sources += [
       "os_integration/web_app_file_handler_registration_linux.cc",
@@ -282,7 +282,7 @@ source_set("web_applications") {
     ]
   }
 
-  if (is_win || is_mac || is_linux) {
+  if (is_win || is_mac || is_linux || is_tizen) {
     sources += [
       "os_integration/url_handler_manager_impl.cc",
       "os_integration/url_handler_manager_impl.h",
index c298d35..f065324 100644 (file)
@@ -399,7 +399,7 @@ template("chrome_extra_paks") {
       ]
     }
 
-    if (is_win || is_mac || is_linux) {
+    if (is_win || is_mac || is_linux || is_tizen) {
       sources += [ "$root_gen_dir/chrome/app_settings_resources.pak" ]
       deps += [ "//chrome/browser/resources/app_settings:resources" ]
     }
index 1b2aa02..76c3f67 100644 (file)
@@ -473,7 +473,7 @@ static_library("common_lib") {
     public_deps += [ "//chrome/common/safe_browsing" ]
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     sources += [
       "auto_start_linux.cc",
       "auto_start_linux.h",
@@ -623,7 +623,7 @@ static_library("constants") {
       "//chromeos/lacros:lacros_paths",
     ]
     public_deps += [ "//chromeos/crosapi/mojom" ]
-  } else if (is_linux || is_chromeos) {
+  } else if (is_linux || is_chromeos || is_tizen) {
     sources += [ "chrome_paths_linux.cc" ]
     deps += [ ":channel_info" ]
   }
index f75a895..50bdc58 100644 (file)
@@ -119,7 +119,7 @@ if (is_chromeos_ash) {
     "users_private.idl",
     "wm_desks_private.idl",
   ]
-} else if (is_linux || is_chromeos || is_win) {
+} else if (is_linux || is_chromeos || is_win || is_tizen) {
   schema_sources_ += [ "input_ime.json" ]
 }
 
@@ -127,7 +127,7 @@ if (enable_service_discovery) {
   schema_sources_ += [ "mdns.idl" ]
 }
 
-if (is_linux || is_mac || is_win) {
+if (is_linux || is_mac || is_win || is_tizen) {
   schema_sources_ += [ "system_indicator.idl" ]
 }
 
index b1a0c38..17890f0 100644 (file)
@@ -47,7 +47,8 @@ declare_args() {
   enable_basic_print_dialog = enable_basic_printing && !is_chromeos
 
   # Enables usage of notifications via Chrome's MessageCenter.
-  enable_chrome_notifications = is_mac || is_win || is_linux || is_fuchsia
+  enable_chrome_notifications =
+      is_mac || is_win || is_linux || is_fuchsia || is_tizen
 
   # Disable Click to Call on Fuchsia.
   enable_click_to_call = !is_fuchsia
index 2531a4d..7d4de0f 100644 (file)
@@ -92,7 +92,7 @@ source_set("importer") {
     "importer_url_row.h",
     "pstore_declarations.h",
   ]
-  if (is_chromeos || is_linux || is_fuchsia) {
+  if (is_chromeos || is_linux || is_fuchsia || is_tizen) {
     sources += [ "firefox_importer_utils_linux.cc" ]
   } else if (is_mac) {
     sources += [
index 6e56a57..52710e3 100644 (file)
@@ -30,7 +30,7 @@ if (safe_browsing_mode == 1) {
     public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
   }
 
-  if (is_linux || is_win) {
+  if (is_linux || is_win || is_tizen) {
     source_set("document_analyzer_results") {
       sources = [
         "document_analyzer_results.cc",
@@ -91,7 +91,7 @@ if (safe_browsing_mode == 1) {
     public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
   }
 
-  if (is_linux || is_win) {
+  if (is_linux || is_win || is_tizen) {
     source_set("document_analyzer") {
       sources = [
         "document_analyzer.cc",
@@ -210,7 +210,7 @@ source_set("safe_browsing") {
       "//third_party/zlib/google:zip",
     ]
 
-    if (is_linux || is_win) {
+    if (is_linux || is_win || is_tizen) {
       public_deps += [ ":document_analyzer_results" ]
     }
   }
index 2024a3e..2d4c721 100644 (file)
@@ -48,7 +48,7 @@ source_set("file_util") {
       "safe_archive_analyzer.h",
     ]
 
-    if (is_linux || is_win) {
+    if (is_linux || is_win || is_tizen) {
       sources += [
         "document_analysis_service.cc",
         "document_analysis_service.h",
@@ -63,7 +63,7 @@ source_set("file_util") {
       "//chrome/common/safe_browsing:rar_analyzer",
     ]
 
-    if (is_linux || is_win) {
+    if (is_linux || is_win || is_tizen) {
       deps += [
         "//chrome/common/safe_browsing:document_analyzer",
         "//chrome/common/safe_browsing:document_analyzer_results",
index cfac67e..20a21b4 100644 (file)
@@ -33,7 +33,7 @@ source_set("cpp") {
       ]
     }
 
-    if (is_linux || is_win) {
+    if (is_linux || is_win || is_tizen) {
       sources += [
         "sandboxed_document_analyzer.cc",
         "sandboxed_document_analyzer.h",
@@ -80,7 +80,7 @@ if (safe_browsing_mode == 1) {
       "//testing/gtest",
     ]
 
-    if (is_linux || is_win) {
+    if (is_linux || is_win || is_tizen) {
       deps += [ "//chrome/common/safe_browsing:document_analyzer_results" ]
     }
   }
index 2570caf..da4b8d1 100644 (file)
@@ -11,5 +11,5 @@ declare_args() {
   enable_xz_extractor = enable_extensions
 
   # Enables analysis of Office documents for malicious macros
-  enable_maldoca = is_linux || is_win
+  enable_maldoca = is_linux || is_win || is_tizen
 }
index 6e56fa4..fb9f9c8 100644 (file)
@@ -75,7 +75,7 @@ source_set("lib") {
     ]
   }
 
-  if (enable_oop_printing) {
+  if (enable_oop_printing || is_tizen) {
     sources += [
       "print_backend_service_impl.cc",
       "print_backend_service_impl.h",
index 5c17796..f597835 100644 (file)
@@ -38,7 +38,7 @@ mojom("mojom") {
     sources += [ "pdf_to_emf_converter.mojom" ]
   }
 
-  if (enable_oop_printing) {
+  if (enable_oop_printing || is_tizen) {
     sources += [ "print_backend_service.mojom" ]
     public_deps += [
       "//printing/backend/mojom",
index 64e3417..4e3673f 100644 (file)
@@ -45,7 +45,7 @@ source_set("system_signals") {
     deps += [ "//components/device_signals/core/system_signals/mac" ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     public += [ "linux/linux_system_signals_service.h" ]
 
     sources += [ "linux/linux_system_signals_service.cc" ]
index cf4a826..1f85eaa 100644 (file)
@@ -175,7 +175,7 @@ static_library("utility") {
       ]
     }
 
-    if (is_win || is_mac || is_linux) {
+    if (is_win || is_mac || is_linux || is_tizen) {
       deps += [ "//chrome/services/system_signals" ]
     }
   }
@@ -231,7 +231,7 @@ static_library("utility") {
     ]
 
     # TODO(crbug.com/1302871): Simplify this. Is `!is_android` sufficient?
-    if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia) {
+    if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia || is_tizen) {
       deps += [ "//chrome/services/printing:lib" ]
     }
 
index 9d82471..0ff7145 100644 (file)
@@ -56,7 +56,7 @@ static_library("app") {
     sources += [ "crashpad_linux.cc" ]
   }
 
-  if (is_chromeos || is_castos) {
+  if (is_chromeos || is_castos || is_tizen) {
     sources += [
       "breakpad_linux.cc",
       "breakpad_linux.h",
@@ -96,7 +96,7 @@ static_library("app") {
     libs = [ "log" ]
   }
 
-  if (is_android || is_linux || is_chromeos) {
+  if (is_android || is_linux || is_chromeos || is_tizen) {
     deps += [
       "//base:base_static",
       "//components/crash/core/common",
@@ -104,7 +104,7 @@ static_library("app") {
     ]
   }
 
-  if (is_chromeos || is_castos) {
+  if (is_chromeos || is_castos || is_tizen) {
     deps += [ "//third_party/breakpad:client" ]
   }
 
@@ -219,7 +219,7 @@ if (is_win) {
   }
 }
 
-if (is_mac || is_android || is_linux || is_chromeos) {
+if (is_mac || is_android || is_linux || is_chromeos || is_tizen) {
   # We build a chromium-specific crashpad_handler executable so that we can
   # define custom UserStreamDataSources.
   executable("chrome_crashpad_handler") {
index 64be895..a76c814 100644 (file)
@@ -8,7 +8,7 @@ import("//components/gwp_asan/buildflags/buildflags.gni")
 
 declare_args() {
   # If set to true, this will stub out and disable the entire crash key system.
-  use_crash_key_stubs = is_fuchsia || is_tizen
+  use_crash_key_stubs = is_fuchsia
 }
 
 group("common") {
index f53c5c7..934328d 100644 (file)
@@ -49,7 +49,7 @@ static_library("browser") {
     public_deps += [ "//components/device_signals/core/common/win" ]
   }
 
-  if (is_win || is_linux || is_mac) {
+  if (is_win || is_linux || is_mac || is_tizen) {
     public += [ "pref_names.h" ]
     sources += [ "pref_names.cc" ]
   }
index 844d768..4e500d9 100644 (file)
@@ -17,7 +17,7 @@ static_library("common") {
     sources += [ "win/platform_utils_win.cc" ]
   }
 
-  if (is_mac || is_linux) {
+  if (is_mac || is_linux || is_tizen) {
     sources += [ "posix/platform_utils_posix.cc" ]
   }
 
index f20d8d0..7ff81af 100644 (file)
@@ -17,7 +17,7 @@ static_library("system_signals") {
     "platform_delegate.cc",
   ]
 
-  if (is_win || is_mac || is_linux) {
+  if (is_win || is_mac || is_linux || is_tizen) {
     public += [ "base_platform_delegate.h" ]
 
     sources += [ "base_platform_delegate.cc" ]
index 0fedd11..4dfbe5f 100644 (file)
@@ -156,7 +156,7 @@ static_library("metrics") {
     ]
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     sources += [
       "drive_metrics_provider_linux.cc",
       "psi_memory_parser.h",
@@ -193,7 +193,7 @@ static_library("metrics") {
     sources += [ "drive_metrics_provider_fuchsia.cc" ]
   }
 
-  if (is_win || is_linux) {
+  if (is_win || is_linux || is_tizen) {
     sources += [
       "motherboard.cc",
       "motherboard.h",
index 980e4df..3615ce9 100644 (file)
@@ -147,6 +147,10 @@ action("policy_code_generate") {
         rebase_path(app_restrictions_path, root_build_dir),
     "--risk-tag-header=" + rebase_path(risk_tag_header_path, root_build_dir),
   ]
+
+  if (is_tizen) {
+    args += [ "--target-platform=linux" ]
+  }
 }
 
 action("full_runtime_code_generate") {
@@ -184,6 +188,10 @@ action("full_runtime_code_generate") {
         rebase_path(policy_common_definitions_full_runtime_proto_path,
                     root_build_dir),
   ]
+
+  if (is_tizen) {
+    args += [ "--target-platform=linux" ]
+  }
 }
 
 policy_templates_grd_file = "resources/policy_templates.grd"
index 15ed692..c91bb72 100755 (executable)
@@ -1274,8 +1274,7 @@ void SetEnterpriseUsersDefaults(PolicyMap* policy_map) {
 ''')
   f.write('#endif\n\n')
 
-  f.write('#if !defined (OS_TIZEN)\n'
-          'const PolicyDetails* GetChromePolicyDetails('
+  f.write('const PolicyDetails* GetChromePolicyDetails('
           'const std::string& policy) {\n')
   if schema_generator.property_nodes:
     f.write('  // First index in kPropertyNodes of the Chrome policies.\n'
@@ -1307,7 +1306,7 @@ void SetEnterpriseUsersDefaults(PolicyMap* policy_map) {
 ''')
   else:
     f.write('return nullptr;')
-  f.write('}\n' '#endif\n\n')
+  f.write('}\n\n')
 
   f.write('namespace key {\n\n')
   for policy in policies:
index 5e685e3..9b98dcb 100644 (file)
@@ -66,7 +66,7 @@ static_library("sync_device_info") {
     sources += [ "local_device_info_util_ios.mm" ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources += [ "local_device_info_util_linux.cc" ]
   }
 
index 3932613..3361c40 100644 (file)
@@ -45,7 +45,7 @@ source_set("deprecated_experimental_mojo") {
     "socket.h",
   ]
 
-  if (is_chromeos || is_linux) {
+  if (is_chromeos || is_linux || is_tizen) {
     sources += [
       "bluez/metrics_recorder.cc",
       "bluez/metrics_recorder.h",
index 8e1c5ff..1cbfcb7 100644 (file)
@@ -1313,6 +1313,7 @@ void BluetoothLowEnergyCreateServiceFunction::DoWork() {
 // TODO: Ideally this should be handled by our feature system, so that this
 // code doesn't even compile on OSes it isn't being used on, but currently this
 // is not possible.
+#if !defined(OS_TIZEN)
 #if !BUILDFLAG(IS_WIN)
   base::WeakPtr<device::BluetoothLocalGattService> service =
       device::BluetoothLocalGattService::Create(
@@ -1326,6 +1327,7 @@ void BluetoothLowEnergyCreateServiceFunction::DoWork() {
 #else
   Respond(Error(kErrorPlatformNotSupported));
 #endif
+#endif
 }
 
 // createCharacteristic:
@@ -1349,6 +1351,7 @@ void BluetoothLowEnergyCreateCharacteristicFunction::DoWork() {
     return;
   }
 
+#if !defined(OS_TIZEN)
   base::WeakPtr<device::BluetoothLocalGattCharacteristic> characteristic =
       device::BluetoothLocalGattCharacteristic::Create(
           device::BluetoothUUID(params_->characteristic.uuid),
@@ -1362,6 +1365,7 @@ void BluetoothLowEnergyCreateCharacteristicFunction::DoWork() {
 
   Respond(ArgumentList(apibtle::CreateCharacteristic::Results::Create(
       characteristic->GetIdentifier())));
+#endif
 }
 
 // createDescriptor:
@@ -1385,6 +1389,7 @@ void BluetoothLowEnergyCreateDescriptorFunction::DoWork() {
     return;
   }
 
+#if !defined(OS_TIZEN)
   base::WeakPtr<device::BluetoothLocalGattDescriptor> descriptor =
       device::BluetoothLocalGattDescriptor::Create(
           device::BluetoothUUID(params_->descriptor.uuid),
@@ -1393,6 +1398,7 @@ void BluetoothLowEnergyCreateDescriptorFunction::DoWork() {
 
   Respond(ArgumentList(
       apibtle::CreateDescriptor::Results::Create(descriptor->GetIdentifier())));
+#endif
 }
 
 // registerService:
index 11b7144..e017a7d 100644 (file)
@@ -30,7 +30,7 @@ source_set("system_cpu") {
     sources += [ "cpu_info_provider_mac.cc" ]
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     sources += [ "cpu_info_provider_linux.cc" ]
   }
 
index bf23b10..4186b83 100644 (file)
@@ -5,7 +5,7 @@
 import("//build/config/chromecast_build.gni")
 
 declare_args() {
-  enable_extensions = !is_android && !is_ios && !is_castos && !is_tizen
+  enable_extensions = !is_android && !is_ios && !is_castos
 
   # Compile time flag for the Autofill Assistant API.
   # WARNING: This must not be enabled in official builds.
index 0e418d0..f248840 100644 (file)
@@ -427,7 +427,7 @@ component("headless_non_renderer") {
     ]
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     sources += [ "lib/browser/headless_browser_main_parts_linux.cc" ]
   }
 
index 46dba0d..a325e47 100644 (file)
@@ -28,7 +28,7 @@ void HeadlessBrowserMainParts::PostCreateMainMessageLoop() {
   bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr);
 #endif
 
-#if !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_CHROMEOS) && !defined(OS_TIZEN)
   // Set up crypt config. This needs to be done before anything starts the
   // network service, as the raw encryption key needs to be shared with the
   // network service for encrypted cookie storage.
index 6514ddd..535a82a 100644 (file)
@@ -318,7 +318,7 @@ ninja %{_smp_mflags} -C "%{OUTPUT_FOLDER}" \
 %if 0%{?build_ewk_unittests}
   ewk_unittests \
 %endif
-  efl_webprocess chromium-ewk efl_webview_app mini_browser ubrowser content_shell
+  efl_webprocess chromium-ewk efl_webview_app mini_browser ubrowser content_shell chrome
 
 %if 0%{?_enable_unittests}
 ninja %{_smp_mflags} -C"%{OUTPUT_FOLDER}" angle_unittests env_chromium_unittests cacheinvalidation_unittests \
@@ -376,6 +376,11 @@ install -m 0755 "%{OUTPUT_FOLDER}"/snapshot_blob.bin "%{buildroot}%{CHROMIUM_EXE
 install -m 0644 "%{OUTPUT_FOLDER}"/content_shell.pak "%{buildroot}%{CHROMIUM_EXE_DIR}"
 install -m 0644 "%{OUTPUT_FOLDER}"/resources/*.edj   "%{buildroot}%{CHROMIUM_DATA_DIR}"/themes
 
+install -m 0644 "%{OUTPUT_FOLDER}"/locales/*.pak "%{buildroot}%{CHROMIUM_EXE_DIR}"/locales
+install -m 0644 "%{OUTPUT_FOLDER}"/chrome_100_percent.pak "%{buildroot}%{CHROMIUM_EXE_DIR}"
+install -m 0644 "%{OUTPUT_FOLDER}"/resources.pak "%{buildroot}%{CHROMIUM_EXE_DIR}"
+install -m 0644 "%{OUTPUT_FOLDER}"/ui_resources_100_percent.pak "%{buildroot}%{CHROMIUM_EXE_DIR}"
+
 mkdir -p "%{buildroot}"/usr/apps/org.tizen.%{name}/bin
 install -m 0755 "%{OUTPUT_FOLDER}"/efl_webview_app   "%{buildroot}"/usr/apps/org.tizen.%{name}/bin/
 install -m 0755 "%{OUTPUT_FOLDER}"/mini_browser      "%{buildroot}"/usr/apps/org.tizen.%{name}/bin/
@@ -405,6 +410,12 @@ sed 's#@binary@#%{CHROMIUM_EXE_DIR}/content_shell#' %{SOURCE1} > "%{buildroot}"%
 
 install -m 0755 "%{OUTPUT_FOLDER}"/libminigbm.so   "%{buildroot}"%{_libdir}
 
+install -m 0755 "%{OUTPUT_FOLDER}"/chrome "%{buildroot}%{CHROMIUM_EXE_DIR}"/chrome
+sed 's#@binary@#%{CHROMIUM_EXE_DIR}/chrome#' %{SOURCE1} > "%{buildroot}"%{_bindir}/chrome
+
+install -m 0755 "%{OUTPUT_FOLDER}"/chrome_crashpad_handler "%{buildroot}%{CHROMIUM_EXE_DIR}"/chrome_crashpad_handler
+sed 's#@binary@#%{CHROMIUM_EXE_DIR}/chrome_crashpad_handler#' %{SOURCE1} > "%{buildroot}"%{_bindir}/chrome_crashpad_handler
+
 %if 0%{?_enable_unittests}
 install -d "%{INSTALL_ROOT}%{CHROMIUM_UNITTESTS_DIR}"
 for test in "%{OUTPUT_FOLDER}/*_unittests"; do
@@ -449,6 +460,14 @@ install -m 0755 tizen_src/ewk/utc_gtest_run.sh %{buildroot}/opt/usr/utc_exec/
 %{CHROMIUM_LOCALE_DIR}
 %{CHROMIUM_EXE_DIR}/content_shell
 %{_bindir}/content_shell
+%{CHROMIUM_EXE_DIR}/chrome_100_percent.pak
+%{CHROMIUM_EXE_DIR}/resources.pak
+%{CHROMIUM_EXE_DIR}/ui_resources_100_percent.pak
+%{CHROMIUM_EXE_DIR}/locales/*.pak
+%{CHROMIUM_EXE_DIR}/chrome
+%{_bindir}/chrome
+%{CHROMIUM_EXE_DIR}/chrome_crashpad_handler
+%{_bindir}/chrome_crashpad_handler
 
 %files devel
 %defattr(-,root,root,-)
index 0dafe7a..4f1ba06 100644 (file)
@@ -167,7 +167,7 @@ if (enable_pdf) {
       deps += [ "//printing" ]
     }
 
-    if (is_linux || is_chromeos) {
+    if (is_linux || is_chromeos || is_tizen) {
       sources += [
         "pdfium/pdfium_font_linux.cc",
         "pdfium/pdfium_font_linux.h",
@@ -308,7 +308,7 @@ if (enable_pdf) {
     ]
   }
 
-  if (is_linux || is_chromeos) {
+  if (is_linux || is_chromeos || is_tizen) {
     # TODO(crbug.com/1302059): After PPAPI deprecation, there will only be one
     # caller left. Move inside the file with the caller.
     static_library("font_table_linux") {
index 5c60119..3415934 100644 (file)
@@ -67,7 +67,7 @@ component("printing_base") {
   ]
 }
 
-if (enable_oop_printing && (is_linux || is_chromeos)) {
+if (enable_oop_printing && (is_linux || is_chromeos || is_tizen)) {
   source_set("printing_sandbox_hook") {
     sources = [
       "sandbox/print_backend_sandbox_hook_linux.cc",
index d054be4..0d1da5f 100644 (file)
@@ -25,7 +25,7 @@ mojom("mojom") {
 
 if (enable_oop_printing) {
   mojom("printing_context") {
-    if (is_linux || is_chromeos) {
+    if (is_linux || is_chromeos || is_tizen) {
       enabled_features = [ "is_linux_or_chromeos" ]
     }
 
index c2a4f8d..e6e7cb4 100644 (file)
@@ -19,7 +19,7 @@ mojom_component("mojom") {
   ]
 
   enabled_features = []
-  if (is_linux || is_chromeos || is_android) {
+  if (is_linux || is_chromeos || is_android || is_tizen) {
     enabled_features += [ "private_swap_info" ]
   }
 
index a0eeae2..e905ce2 100644 (file)
@@ -22,7 +22,7 @@ source_set("liblcasdk") {
     ]
   }
 
-  if (is_linux) {
+  if (is_linux || is_tizen) {
     sources += [
       "src/browser/src/client_posix.cc",
       "src/browser/src/client_posix.h",
index 181abae..d8f8dbf 100644 (file)
@@ -157,7 +157,7 @@ source_set("cpu_and_os_specific") {
     ]
   }
 
-  if ((is_linux || is_chromeos) && current_cpu == "arm64") {
+  if ((is_linux || is_chromeos || is_tizen) && current_cpu == "arm64") {
     sources = [
       "src/src/arm/linux/aarch64-isa.c",
       "src/src/arm/linux/api.h",
index ed37c07..818a4e0 100644 (file)
@@ -33,7 +33,7 @@ bool CPUINFO_ABI cpuinfo_initialize(void) {
                cpuinfo_log_error("operating system is not supported in cpuinfo");
        #endif
 #elif CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
-       #if defined(__linux__)
+       #if defined(__linux__) && defined(__tizen__)  // FIXME: m108 bringup (__tizen__ is not defined)
                pthread_once(&init_guard, &cpuinfo_arm_linux_init);
        #elif defined(__MACH__) && defined(__APPLE__)
                pthread_once(&init_guard, &cpuinfo_arm_mach_init);
index ca767af..bf6a1fb 100644 (file)
@@ -45,7 +45,7 @@ crashpad_static_library("client") {
     ]
   }
 
-  if (crashpad_is_linux || crashpad_is_android) {
+  if (crashpad_is_linux || crashpad_is_android || is_tizen) {
     sources += [
       "crashpad_client_linux.cc",
       "simulate_crash_linux.h",
index a4deadb..d761956 100644 (file)
@@ -163,7 +163,7 @@ source_set("fxge") {
     ]
   }
 
-  if (is_linux || is_chromeos || is_fuchsia) {
+  if (is_linux || is_chromeos || is_fuchsia || is_tizen) {
     sources += [ "linux/fx_linux_impl.cpp" ]
   }
 
index b8eafbc..5fce2c5 100644 (file)
@@ -36,7 +36,7 @@ config("ruy_shared_config") {
 
 # Analogous to cmake's |ruy_5_DRUY_HAVE_CPUINFO|.
 config("ruy_cpuinfo_config") {
-  if (use_cpuinfo) {
+  if (use_cpuinfo && !is_tizen) {  # FIXME: m108 bringup
     defines = [ "RUY_HAVE_CPUINFO" ]
   }
 }
index f041525..dc6129f 100755 (executable)
@@ -166,8 +166,8 @@ add_tizen_flags() {
                              python_ver=\"$(getPythonVersion)\"
                              is_official_build=true
                              enable_nacl=false
-                             enable_basic_printing=false
-                             enable_print_preview=false
+                             enable_basic_printing=true
+                             enable_print_preview=true
                              tizen_multimedia_eme_support=false
                              use_xkbcommon=true
                              target_os="\"tizen\""
index afdb756..1307fe4 100644 (file)
@@ -27,7 +27,7 @@ declare_args() {
 
   # Whether the message center should be included for displaying notifications.
   enable_message_center =
-      is_win || is_mac || is_linux || is_chromeos || is_fuchsia
+      is_win || is_mac || is_linux || is_chromeos || is_fuchsia || is_tizen
 
   enable_hidpi = !is_android
 }
index f37a5a8..e085b83 100644 (file)
@@ -53,7 +53,7 @@ component("webview") {
     "//ui/views",
   ]
 
-  if (is_linux || is_chromeos || is_android || is_fuchsia) {
+  if (is_linux || is_chromeos || is_android || is_fuchsia || is_tizen) {
     if (use_ozone) {
       sources += [ "unhandled_keyboard_event_handler_ozone.cc" ]
       deps += [ "//ui/ozone" ]