[M67 Dev][Tizen] Integrate GN and set up build environment 20/185520/8
authorYoungsoo Choi <kenshin.choi@samsung.com>
Fri, 2 Mar 2018 11:37:05 +0000 (17:07 +0530)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Fri, 3 Aug 2018 07:40:00 +0000 (07:40 +0000)
This cherry-picks following patches to support Git Build System(GBS)
and generates ninja for Tizen targets.

Commit id 5f3edd710 [Refactoring] GN Improvement
Commit id 01b6a00b9 Replace the new repo path in gbs.conf for TV
Commit id b75b104a5 Changed the build repository for tizen 4.0 in gbs.conf
Commit id 03a1d8bed [A&O] Support build script and gbs.conf for tizen 4.0 kantm
Commit id 047b94f8f [A&O] Support of tizen 4.0 mirror profiles
Commit id ea3ce6588 [A&O] Remove target profiles from tizen 4.0
Commit id 737826fd8 [A&O] Add build script for unified profile
Commit id 06ec8ccdc [Platform Integration] Support building for x86_64 by GN
Commit id 6ab2e11ed [Build] Support to KantM Product TV target.
Commit id ee659fe58 fixup! [M56_2924] Chromium upversion to m56_2924 branch
     <Partial cherry-pick. Taken changes w.r.t. to GBS only>
Commit id ba3fbbcc3 [A&O] Separate out folder as per architecture
Commit id 85228a474 fixup! [A&O] Separate out folder as per architecture
Commit id 3ff2cce91 fixup! [M56_2924] Switching to GN build
     <Partial cherry-pick of tizen_src/build/toolchain/tizen/BUILD.gn>
Commit id 9b43ac32c [M63_3239][Bring Up] Remove crosswalk related codes and files
Commit id 1c6f09561 [M63_3239][Bring Up] Remove the apply_patches.sh calls
Commit id 4bca0b3ef [M63][Build] Support optional builds for tizen versions
Commit id b125e1e7d fixup! [M63][Build] Support optional builds for tizen versions
Commit id 35449da2d fixup! [M63_3239] Switching to GN build
Commit id ec7160231 Fix warning errors in gn generation

Change-Id: I80ef5bb2e5fa4370698ac4f6503b1678cb67ffeb
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
61 files changed:
build/config/compiler/BUILD.gn
build/gn_helpers.pyc [deleted file]
build/toolchain/gcc_toolchain.gni
chrome/BUILD.gn
chrome/browser/profiling_host/BUILD.gn
chrome/browser/ui/BUILD.gn
chrome/test/BUILD.gn
chrome/test/media_router/BUILD.gn
components/crash/content/browser/BUILD.gn
components/crash/core/common/BUILD.gn
content/BUILD.gn
content/browser/BUILD.gn
content/common/BUILD.gn
content/public/browser/BUILD.gn
content/public/common/BUILD.gn
content/public/renderer/BUILD.gn
content/renderer/BUILD.gn
content/shell/BUILD.gn
device/serial/BUILD.gn
media/cast/BUILD.gn
media/media_options.gni
net/BUILD.gn
packaging/chromium-efl-libs.manifest [deleted file]
packaging/chromium-efl-libs.spec [deleted file]
packaging/chromium-efl.spec
packaging/crosswalk-bin.spec [deleted file]
packaging/print-chromium-deps.py [deleted file]
skia/BUILD.gn
third_party/fontconfig/BUILD.gn
third_party/fontconfig/fontconfig.gni
tizen_src/DEPS
tizen_src/DEPS.efl
tizen_src/README.md
tizen_src/build/BUILD.gn
tizen_src/build/build_desktop.sh
tizen_src/build/build_emulator_ix86.sh [new file with mode: 0755]
tizen_src/build/build_emulator_x86_64.sh [new file with mode: 0755]
tizen_src/build/build_standard_aarch64.sh [new file with mode: 0755]
tizen_src/build/build_standard_armv7l.sh [new file with mode: 0755]
tizen_src/build/build_standard_ix86.sh [new file with mode: 0755]
tizen_src/build/build_standard_x86_64.sh [new file with mode: 0755]
tizen_src/build/common.sh
tizen_src/build/config/BUILDCONFIG.gn
tizen_src/build/config/compiler/BUILD.gn
tizen_src/build/config/tizen_features.gni
tizen_src/build/gbs.conf
tizen_src/build/gn_chromiumefl
tizen_src/build/gn_chromiumefl.sh
tizen_src/build/toolchain/tizen/BUILD.gn
tizen_src/chromium-efl-gn.patch [deleted file]
tizen_src/chromium_impl/content/browser/browser_efl.gni
tizen_src/chromium_impl/content/common/common_efl.gni
tizen_src/chromium_impl/content/renderer/renderer_efl.gni
tizen_src/chromium_impl/content/shell/shell_efl.gni
tizen_src/chromium_impl/ui/BUILD.gn
tizen_src/chromium_impl/ui/ui_efl_injections.gni
tizen_src/ewk/chromium-ewk-xwalk.filter [deleted file]
tizen_src/ewk/efl_integration/BUILD.gn
tizen_src/ewk/unittest/BUILD.gn
ui/base/BUILD.gn
ui/views/BUILD.gn

index d99a9a4..0217333 100644 (file)
@@ -197,7 +197,6 @@ config("compiler") {
   ldflags = []
   defines = []
   configs = []
-  inputs = []
 
   # System-specific flags. If your compiler flags apply to one of the
   # categories here, add it to the associated file to keep this shared config
diff --git a/build/gn_helpers.pyc b/build/gn_helpers.pyc
deleted file mode 100644 (file)
index e8f776b..0000000
Binary files a/build/gn_helpers.pyc and /dev/null differ
index 48fbf69..068fc15 100644 (file)
@@ -585,10 +585,6 @@ template("gcc_toolchain") {
       description = copy_description
     }
 
-    tool("action") {
-      pool = "//build/toolchain:action_pool($default_toolchain)"
-    }
-
     forward_variables_from(invoker, [ "deps" ])
   }
 }
index 1792cf9..f7c591e 100644 (file)
@@ -86,7 +86,7 @@ group("assert_no_deps") {
 
   if (is_android) {
     deps += [ "//chrome/android:chrome_public_apk" ]
-  } else {
+  } else if (!is_tizen) {
     deps += [ ":chrome" ]
   }
 
index aa354dc..61bb1df 100644 (file)
@@ -23,7 +23,7 @@ static_library("profiling_host") {
   ]
 }
 
-if (!is_android) {
+if (!is_android && !is_tizen) {
   source_set("profiling_browsertests") {
     testonly = true
 
index 5e308fb..4640dc8 100644 (file)
@@ -3970,7 +3970,7 @@ static_library("test_support") {
     }
   }
 
-  if (!is_android) {
+  if (!is_android && !is_tizen) {
     sources += [
       "exclusive_access/fullscreen_controller_state_test.cc",
       "exclusive_access/fullscreen_controller_state_test.h",
index 191d1d1..45826d1 100644 (file)
@@ -293,42 +293,44 @@ static_library("test_support") {
 }
 
 group("telemetry_gpu_integration_test") {
-  testonly = true
-  deps = [
-    "//tools/perf/chrome_telemetry_build:telemetry_chrome_test",
-  ]
-
-  data = [
-    # For isolate contract.
-    "//testing/scripts/common.py",
-    "//testing/xvfb.py",
-    "//testing/scripts/run_gpu_integration_test_as_googletest.py",
-    "//testing/trigger_scripts/trigger_multiple_dimensions.py",
-
-    "//content/test/gpu/",
-    "//content/test/data/gpu/",
-
-    # For the Maps performance test. Include the entire directory to
-    # avoid having to update this BUILD.gn file if more files are
-    # added in the future.
-    "//tools/perf/page_sets/maps_perf_test/",
-
-    # For depth_capture
-    "//content/test/data/media/depth_stream_test_utilities.js",
-    "//content/test/data/media/getusermedia-depth-capture.html",
-    "//content/test/data/media/webrtc_test_utilities.js",
-
-    # For GpuProcess.video
-    "//content/test/data/media/bear.ogv",
-
-    # For webgl_conformance
-    "//third_party/webgl/",
-    "//content/test/gpu/run_gpu_integration_test.py",
+  if (!is_tizen) {
+    testonly = true
+    deps = [
+      "//tools/perf/chrome_telemetry_build:telemetry_chrome_test",
+    ]
 
-    # For pixel_test
-    "//media/test/data/bear.mp4",
-    "//media/test/data/bear-vp9.webm",
-  ]
+    data = [
+      # For isolate contract.
+      "//testing/scripts/common.py",
+      "//testing/xvfb.py",
+      "//testing/scripts/run_gpu_integration_test_as_googletest.py",
+      "//testing/trigger_scripts/trigger_multiple_dimensions.py",
+
+      "//content/test/gpu/",
+      "//content/test/data/gpu/",
+
+      # For the Maps performance test. Include the entire directory to
+      # avoid having to update this BUILD.gn file if more files are
+      # added in the future.
+      "//tools/perf/page_sets/maps_perf_test/",
+
+      # For depth_capture
+      "//content/test/data/media/depth_stream_test_utilities.js",
+      "//content/test/data/media/getusermedia-depth-capture.html",
+      "//content/test/data/media/webrtc_test_utilities.js",
+
+      # For GpuProcess.video
+      "//content/test/data/media/bear.ogv",
+
+      # For webgl_conformance
+      "//third_party/webgl/",
+      "//content/test/gpu/run_gpu_integration_test.py",
+
+      # For pixel_test
+      "//media/test/data/bear.mp4",
+      "//media/test/data/bear-vp9.webm",
+    ]
+  }
 }
 
 static_library("browser_tests_runner") {
index 493fea6..2bdbe72 100644 (file)
@@ -3,40 +3,44 @@
 # found in the LICENSE file.
 
 source_set("browser_tests") {
-  testonly = true
-  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
-  sources = [
-    "media_router_e2e_browsertest.cc",
-    "media_router_e2e_browsertest.h",
-    "media_router_e2e_ui_browsertest.cc",
-    "media_router_integration_browsertest.cc",
-    "media_router_integration_browsertest.h",
-    "media_router_integration_ui_browsertest.cc",
-    "media_router_one_ua_integration_browsertest.cc",
-  ]
-  deps = [
-    ":test_support",
-    "//chrome/app:generated_resources",
-    "//chrome/browser",
-    "//chrome/browser/media/router",
-    "//chrome/browser/ui",
-    "//chrome/common",
-    "//chrome/common/media_router:router",
-    "//chrome/test:test_support_ui",
-    "//content/public/browser",
-    "//content/test:test_support",
-    "//media:test_support",
-    "//net",
-    "//net:test_support",
-    "//testing/gtest",
-    "//ui/base",
-    "//url",
-  ]
-  data_deps = [
-    ":browser_test_resources",
-    "//chrome/browser/resources/media_router/extension:media_router",
-  ]
-  data = [ "$root_gen_dir/chrome/browser/resources/media_router/extension/" ]
+  if (!is_tizen) {
+    testonly = true
+    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
+    sources = [
+      "media_router_e2e_browsertest.cc",
+      "media_router_e2e_browsertest.h",
+      "media_router_e2e_ui_browsertest.cc",
+      "media_router_integration_browsertest.cc",
+      "media_router_integration_browsertest.h",
+      "media_router_integration_ui_browsertest.cc",
+      "media_router_one_ua_integration_browsertest.cc",
+    ]
+    deps = [
+      ":test_support",
+      "//chrome/app:generated_resources",
+      "//chrome/browser",
+      "//chrome/browser/media/router",
+      "//chrome/browser/ui",
+      "//chrome/common",
+      "//chrome/common/media_router:router",
+      "//chrome/test:test_support_ui",
+      "//content/public/browser",
+      "//content/test:test_support",
+      "//media:test_support",
+      "//net",
+      "//net:test_support",
+      "//testing/gtest",
+      "//ui/base",
+      "//url",
+    ]
+    data_deps = [
+      ":browser_test_resources",
+      "//chrome/browser/resources/media_router/extension:media_router",
+    ]
+    data = [
+      "$root_gen_dir/chrome/browser/resources/media_router/extension/",
+    ]
+  }
 }
 
 copy("browser_test_resources") {
@@ -101,29 +105,31 @@ group("swarming_tests") {
 }
 
 source_set("test_support") {
-  testonly = true
-  sources = [
-    "media_router_base_browsertest.cc",
-    "media_router_base_browsertest.h",
-    "test_media_sinks_observer.cc",
-    "test_media_sinks_observer.h",
-  ]
-  public_deps = [
-    "//base",
-    "//chrome/browser/extensions",
-    "//extensions/browser",
-  ]
-  deps = [
-    "//chrome/browser/media/router",
-    "//chrome/browser/media/router:test_support",
-    "//chrome/common:constants",
-    "//chrome/test:test_support",
-    "//chrome/test:test_support_ui",
-    "//content/public/common",
-    "//content/test:test_support",
-    "//extensions/common",
-    "//testing/gtest",
-  ]
+  if (!is_tizen) {
+    testonly = true
+    sources = [
+      "media_router_base_browsertest.cc",
+      "media_router_base_browsertest.h",
+      "test_media_sinks_observer.cc",
+      "test_media_sinks_observer.h",
+    ]
+    public_deps = [
+      "//base",
+      "//chrome/browser/extensions",
+      "//extensions/browser",
+    ]
+    deps = [
+      "//chrome/browser/media/router",
+      "//chrome/browser/media/router:test_support",
+      "//chrome/common:constants",
+      "//chrome/test:test_support",
+      "//chrome/test:test_support_ui",
+      "//content/public/common",
+      "//content/test:test_support",
+      "//extensions/common",
+      "//testing/gtest",
+    ]
+  }
 }
 
 group("media_router_perf_tests") {
index 9daf69d..1b43965 100644 (file)
@@ -51,6 +51,10 @@ source_set("browser") {
   if (is_android) {
     deps += [ "//components/crash/android:jni_headers" ]
   }
+
+  if (is_tizen) {
+    deps -= [ "//third_party/breakpad:client" ]
+  }
 }
 
 source_set("unit_tests") {
index c8e02eb..6021900 100644 (file)
@@ -6,7 +6,7 @@ import("//build/buildflag_header.gni")
 
 declare_args() {
   # If set to true, this will stub out and disable the entire crash key system.
-  use_crash_key_stubs = is_fuchsia
+  use_crash_key_stubs = is_fuchsia || is_tizen
 }
 
 group("common") {
index 4ae6691..6e34eb2 100644 (file)
@@ -5,13 +5,6 @@
 import("//tools/grit/grit_rule.gni")
 import("//build/config/nacl/config.gni")
 import("//ppapi/buildflags/buildflags.gni")
-if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
-  import("//tizen_src/chromium_impl/content/common/common_efl.gni")
-  import("//tizen_src/chromium_impl/content/browser/browser_efl.gni")
-  import("//tizen_src/chromium_impl/content/gpu/gpu_efl.gni")
-  import("//tizen_src/chromium_impl/content/renderer/renderer_efl.gni")
-}
 
 # Applied by targets internal to content.
 config("content_implementation") {
@@ -67,8 +60,11 @@ config("content_implementation") {
 # //content/browser target only in non-component builds (when there are no
 # linking problems) for when check is enabled.
 
+# FIXME: Temp change. Needs to be removed.
+content_shared_components = []
+
 if (!is_nacl_nonsfi) {
-  content_shared_components = [
+  content_shared_components += [
     "//content/gpu:gpu_sources",
     "//content/public/browser:browser_sources",
     "//content/public/child:child_sources",
@@ -91,20 +87,6 @@ if (is_component_build) {
     deps = [
       "//build/config:exe_and_shlib_deps",
     ]
-    if (use_efl) {
-      public_configs = external_content_common_configs
-      public_configs += external_content_browser_configs
-      public_configs += external_content_gpu_configs
-      public_deps += external_content_browser_deps
-      public_deps += external_content_renderer_deps
-      sources = external_content_common_efl_sources
-      sources -= external_exclude_content_common_efl_sources
-      sources += external_content_browser_efl_sources
-      sources += external_content_gpu_efl_sources
-      sources -= external_exclude_content_gpu_efl_sources
-      sources += external_content_renderer_efl_sources
-      sources -= external_exclude_content_renderer_efl_sources
-    }
   }
 } else if (is_nacl_nonsfi) {
   source_set("content") {
@@ -126,18 +108,6 @@ if (is_component_build) {
       "//sandbox/linux:sandbox",
       "//services/service_manager/sandbox",
     ]
-    if (use_efl) {
-      configs += external_content_common_configs
-      configs += external_content_browser_configs
-      configs += external_content_gpu_configs
-      deps += external_content_browser_deps
-      deps += external_content_renderer_deps
-      sources += external_content_common_efl_sources
-      sources -= external_exclude_content_common_efl_sources
-      sources += external_content_browser_efl_sources
-      sources += external_content_renderer_efl_sources
-      sources -= external_exclude_content_renderer_efl_sources
-    }
   }
 } else if (is_tizen) {
   source_set("content") {
@@ -149,31 +119,10 @@ if (is_component_build) {
     ]
     set_sources_assignment_filter(sources_assignment_filter)
     defines = [ "USE_SECCOMP_BPF=1" ]
-
-    public_deps = content_shared_components
-    public_deps += external_content_browser_deps
-    public_deps += external_content_renderer_deps
-    deps += external_content_browser_deps
-    deps += external_content_renderer_deps
-    public_configs = external_content_common_configs
-    public_configs += external_content_browser_configs
-    public_configs += external_content_gpu_configs
-    sources += external_content_common_efl_sources
-    sources -= external_exclude_content_common_efl_sources
-    sources += external_content_browser_efl_sources
-    sources += external_content_renderer_efl_sources
-    sources -= external_exclude_content_renderer_efl_sources
   }
 } else {
   group("content") {
     public_deps = content_shared_components
-    if (use_efl) {
-      public_deps += external_content_browser_deps
-      public_deps += external_content_renderer_deps
-      public_configs = external_content_common_configs
-      public_configs += external_content_browser_configs
-      public_configs += external_content_gpu_configs
-    }
   }
 }
 
index 25c8cc1..098923d 100644 (file)
@@ -16,7 +16,6 @@ import("//printing/buildflags/buildflags.gni")
 import("//third_party/blink/public/public_features.gni")
 import("//tools/ipc_fuzzer/ipc_fuzzer.gni")
 if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
   import("//tizen_src/chromium_impl/content/browser/browser_efl.gni")
 }
 
@@ -39,8 +38,7 @@ jumbo_source_set("browser") {
   ldflags = []
 
   if (use_efl) {
-    configs += external_content_browser_configs
-    configs += external_content_browser_extra_configs
+    configs += external_content_browser_efl_configs
   }
 
   deps = [
@@ -1732,7 +1730,7 @@ jumbo_source_set("browser") {
       "renderer_host/ui_events_helper.h",
     ]
     deps += [ "//third_party/leveldatabase" ]
-    deps += external_content_browser_deps
+    deps += external_content_browser_efl_deps
   }
 
   if (toolkit_views) {
@@ -2408,20 +2406,9 @@ jumbo_source_set("browser") {
       "//content/zygote/zygote_linux.cc",
       "//content/zygote/zygote_linux.h",
       "//content/zygote/zygote_main_linux.cc",
-      "download/base_file_linux.cc",
-      "download/file_metadata_linux.cc",
-      "download/file_metadata_linux.h",
-      "gamepad/gamepad_platform_data_fetcher_linux.cc",
-      "gamepad/gamepad_platform_data_fetcher_linux.h",
-      "gamepad/gamepad_standard_mappings_linux.cc",
       "renderer_host/font_utils_linux.cc",
       "renderer_host/font_utils_linux.h",
       "renderer_host/pepper/pepper_truetype_font_linux.cc",
-      "renderer_host/render_sandbox_host_linux.cc",
-      "renderer_host/render_sandbox_host_linux.h",
-      "renderer_host/sandbox_ipc_linux.cc",
-      "renderer_host/sandbox_ipc_linux.h",
-      "time_zone_monitor_linux.cc",
       "zygote_host/zygote_communication_linux.cc",
       "zygote_host/zygote_communication_linux.h",
       "zygote_host/zygote_handle_linux.cc",
index bb3d60a..7d0925c 100644 (file)
@@ -16,7 +16,6 @@ if (is_mac) {
   import("//build/config/mac/mac_sdk.gni")
 }
 if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
   import("//tizen_src/chromium_impl/content/common/common_efl.gni")
 }
 
@@ -318,7 +317,6 @@ source_set("common") {
   ]
 
   if (use_efl) {
-    configs += external_content_common_configs
     configs += external_content_common_efl_configs
   }
 
@@ -526,7 +524,6 @@ source_set("common") {
 
   if (use_efl) {
     sources += external_content_common_efl_sources
-    sources -= external_exclude_content_common_efl_sources
   }
 }
 
index 8d442ef..b358d52 100644 (file)
@@ -6,7 +6,6 @@ import("//build/config/jumbo.gni")
 import("//build/config/ui.gni")
 import("//media/media_options.gni")
 if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
   import("//tizen_src/chromium_impl/content/browser/browser_efl.gni")
 }
 
@@ -22,9 +21,8 @@ group("browser") {
     ]
   }
   if (use_efl) {
-    public_configs = external_content_browser_configs
-    public_configs += external_content_browser_extra_configs
-    public_deps += external_content_browser_deps
+    public_configs = external_content_browser_efl_configs
+    public_deps += external_content_browser_efl_deps
   }
 }
 
index a4c7601..77cc2a7 100644 (file)
@@ -13,7 +13,6 @@ import("//mojo/public/tools/bindings/mojom.gni")
 import("//ppapi/buildflags/buildflags.gni")
 import("//third_party/webrtc/webrtc.gni")
 if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
   import("//tizen_src/chromium_impl/content/common/common_efl.gni")
 }
 
@@ -29,8 +28,8 @@ group("common") {
     ]
   }
   if (use_efl) {
-    public_configs = external_content_common_configs
-    public_configs += external_content_common_efl_configs
+    public_deps += external_content_common_efl_deps
+    public_configs = external_content_common_efl_configs
   }
 }
 
@@ -339,10 +338,6 @@ jumbo_source_set("common_sources") {
 
   if (use_efl) {
     configs += external_content_common_efl_configs
-
-    # This target depends on the //content/common so below
-    # sources are not required here
-    sources -= external_exclude_content_common_efl_sources
   }
 
   if (use_zygote_handle) {
index 4caef70..1f90733 100644 (file)
@@ -7,7 +7,6 @@ import("//build/config/jumbo.gni")
 import("//media/media_options.gni")
 import("//ppapi/buildflags/buildflags.gni")
 if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
   import("//tizen_src/chromium_impl/content/renderer/renderer_efl.gni")
 }
 
@@ -22,8 +21,8 @@ group("renderer") {
       ":renderer_sources",
     ]
     if (use_efl) {
-      public_configs = external_content_renderer_extra_configs
-      public_deps += external_content_renderer_deps
+      public_configs = external_content_renderer_efl_configs
+      public_deps += external_content_renderer_efl_deps
     }
   }
 }
@@ -152,11 +151,4 @@ target(link_target_type, "renderer_sources") {
       "key_system_support.h",
     ]
   }
-
-  if (use_efl) {
-    #this target is depend on the //content/renderer so below
-    # sources are not reuqired to add here.
-    #sources += external_content_renderer_efl_sources
-    sources -= external_exclude_content_renderer_efl_sources
-  }
 }
index 43d8319..c3357c8 100644 (file)
@@ -14,7 +14,6 @@ import("//printing/buildflags/buildflags.gni")
 import("//third_party/webrtc/webrtc.gni")
 import("//tools/ipc_fuzzer/ipc_fuzzer.gni")
 if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
   import("//tizen_src/chromium_impl/content/renderer/renderer_efl.gni")
 }
 
@@ -516,7 +515,7 @@ target(link_target_type, "renderer") {
     "//build/config/compiler:no_size_t_to_int_warning",
   ]
   if (use_efl) {
-    configs += external_content_renderer_extra_configs
+    configs += external_content_renderer_efl_configs
   }
   defines = []
 
@@ -610,7 +609,7 @@ target(link_target_type, "renderer") {
     "//v8",
   ]
   if (use_efl) {
-    deps += external_content_renderer_deps
+    deps += external_content_renderer_efl_deps
   }
   allow_circular_includes_from = []
 
@@ -1131,10 +1130,7 @@ target(link_target_type, "renderer") {
 
   if (is_tizen) {
     sources += external_content_renderer_efl_sources
-    sources -= external_exclude_content_renderer_efl_sources
-  }
 
-  if (is_tizen) {
     set_sources_assignment_filter([])
     sources += [
       "render_view_linux.cc",
index 86f60b6..aa12244 100644 (file)
@@ -23,7 +23,6 @@ if (is_android) {
   import("//v8/gni/v8.gni")
 }
 if (use_efl) {
-  import("//tizen_src/chromium_impl/content/content_efl.gni")
   import("//tizen_src/chromium_impl/content/shell/shell_efl.gni")
 }
 
@@ -217,7 +216,7 @@ static_library("content_shell_lib") {
     "//build/config/compiler:no_size_t_to_int_warning",
   ]
   if (use_efl) {
-    configs += external_content_shell_configs
+    configs += external_content_shell_efl_configs
   }
 
   defines = [ "CONTENT_SHELL_VERSION=\"$content_shell_version\"" ]
@@ -318,7 +317,7 @@ static_library("content_shell_lib") {
     ]
   }
   if (use_efl) {
-    deps += external_content_shell_deps
+    deps += external_content_shell_efl_deps
   }
 
   # Annoyingly, this target and layouttest_support have circular includes.
@@ -339,6 +338,9 @@ static_library("content_shell_lib") {
       "//media/mojo/services",
     ]
   }
+  if (use_efl) {
+    deps += external_content_shell_efl_deps
+  }
 
   if (is_win) {
     sources += [
@@ -616,8 +618,8 @@ if (is_android) {
     }
 
     if (use_efl) {
-      deps += external_content_shell_deps
-      configs += external_content_shell_configs
+      deps += external_content_shell_efl_deps
+      configs += external_content_shell_efl_configs
 
       sources += external_content_shell_efl_sources
       sources -= external_exclude_content_shell_efl_sources
@@ -881,7 +883,7 @@ group("content_shell_crash_test") {
   if (is_win) {
     data_deps += [ "//build/win:copy_cdb_to_output" ]
   }
-  if (is_posix && !is_android) {
+  if (is_posix && !is_android && !is_tizen) {
     data_deps += [
       "//third_party/breakpad:dump_syms($host_toolchain)",
       "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
index db061ff..0397238 100644 (file)
@@ -73,6 +73,14 @@ if (is_win || is_linux || is_mac || is_tizen) {
         "IOKit.framework",
       ]
     }
+    if (is_tizen) {
+      set_sources_assignment_filter([])
+      sources += [
+        "serial_device_enumerator_linux.cc",
+        "serial_device_enumerator_linux.h",
+      ]
+      set_sources_assignment_filter(sources_assignment_filter)
+    }
   }
 
   static_library("test_support") {
@@ -89,12 +97,4 @@ if (is_win || is_linux || is_mac || is_tizen) {
       ":serial",
     ]
   }
-  if (is_tizen) {
-    set_sources_assignment_filter([])
-    sources += [
-      "serial_device_enumerator_linux.cc",
-      "serial_device_enumerator_linux.h",
-    ]
-    set_sources_assignment_filter(sources_assignment_filter)
-  }
 }
index 07122a4..eb8820f 100644 (file)
@@ -274,7 +274,7 @@ static_library("test_support") {
   # TODO(miu): There *are* hardware decoder APIs available via FFMPEG, and we
   # should use those for the Android receiver.  See media's BUILD.gn for usage
   # details.  http://crbug.com/558714
-  if (!is_android && !is_chromecast) {
+  if (!is_android && !is_chromecast && !use_efl) {
     sources += [
       "test/fake_media_source.cc",
       "test/fake_media_source.h",
index 80e24b1..025bbf9 100644 (file)
@@ -35,7 +35,7 @@ declare_args() {
   # Enable usage of FFmpeg within the media library. Used for most software
   # based decoding, demuxing, and sometimes optimized FFTs. If disabled,
   # implementors must provide their own demuxers and decoders.
-  media_use_ffmpeg = is_tizen
+  media_use_ffmpeg = true && !use_efl
 
   # Enable usage of libvpx within the media library. Used for software based
   # decoding of VP9 and VP8A type content.
index 7efe3c9..b78a5d4 100644 (file)
@@ -2056,8 +2056,6 @@ component("net") {
       "base/network_interfaces_linux.cc",
       "base/network_interfaces_linux.h",
       "base/platform_mime_util_linux.cc",
-      "proxy/proxy_config_service_linux.cc",
-      "proxy/proxy_config_service_linux.h",
     ]
   }
 
diff --git a/packaging/chromium-efl-libs.manifest b/packaging/chromium-efl-libs.manifest
deleted file mode 100644 (file)
index 017d22d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
- <request>
-    <domain name="_"/>
- </request>
-</manifest>
diff --git a/packaging/chromium-efl-libs.spec b/packaging/chromium-efl-libs.spec
deleted file mode 100644 (file)
index 0390e94..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-# adjust compression algorithm to speed up RPMS creation
-# source RPM and debug RPMS are big and take too much time
-# when using standard (lzma) compression
-%define _source_payload w3.gzdio
-%define _binary_payload w3.gzdio
-
-Name:           chromium-efl-libs
-%define         ChromiumVersion 53.2785.0
-%define         Week 36
-Version:        %{ChromiumVersion}.%{Week}
-Release:        1
-Summary:        Chromium-based app runtime, private libraries
-# The 'Group' should be specified as one of the following valid group list.
-# https://wiki.tizen.org/wiki/Packaging/Guidelines#Group_Tag
-Group:          Web Framework/Web Engine
-# The 'License' should be specified as some of the following known license list.
-# http://spdx.org/licenses/
-License:        LGPL-2.1 or BSD-2-Clause
-Source:         %{name}-%{version}.tar.gz
-Source1002:     print-chromium-deps.py
-
-%if 0%{?nodebug}
-%global __debug_install_post %{nil}
-%global debug_package %{nil}
-%endif
-
-BuildRequires:  binutils-gold
-BuildRequires:  bison
-BuildRequires:  bzip2-devel
-BuildRequires:  elfutils
-BuildRequires:  expat-devel
-BuildRequires:  flex
-BuildRequires:  gperf
-BuildRequires:  libcap-devel
-BuildRequires:  libelf-devel
-BuildRequires:  ninja
-BuildRequires:  python
-BuildRequires:  python-xml
-BuildRequires:  perl
-BuildRequires:  which
-BuildRequires:  yasm
-BuildRequires:  pkgconfig(alsa)
-BuildRequires:  pkgconfig(dbus-glib-1)
-BuildRequires:  pkgconfig(fontconfig)
-BuildRequires:  pkgconfig(freetype2)
-BuildRequires:  pkgconfig(gles20)
-BuildRequires:  pkgconfig(glib-2.0)
-BuildRequires:  pkgconfig(icu-i18n)
-BuildRequires:  pkgconfig(libdrm)
-BuildRequires:  pkgconfig(libexif)
-BuildRequires:  pkgconfig(libpci)
-BuildRequires:  pkgconfig(libpulse)
-BuildRequires:  pkgconfig(libudev)
-BuildRequires:  pkgconfig(libxml-2.0)
-BuildRequires:  pkgconfig(libxslt)
-BuildRequires:  pkgconfig(protobuf)
-BuildRequires:  pkgconfig(nss)
-
-# chromium-efl/chromium_src dependencies.
-BuildRequires:  pkgconfig(capi-appfw-application)
-BuildRequires:  pkgconfig(capi-media-audio-io)
-BuildRequires:  pkgconfig(capi-media-camera)
-BuildRequires:  pkgconfig(capi-media-player)
-BuildRequires:  pkgconfig(capi-media-tool)
-BuildRequires:  pkgconfig(capi-system-sensor)
-BuildRequires:  pkgconfig(capi-system-device)
-BuildRequires:  pkgconfig(capi-system-system-settings)
-BuildRequires:  pkgconfig(ecore)
-BuildRequires:  pkgconfig(ecore-evas)
-BuildRequires:  pkgconfig(ecore-imf)
-BuildRequires:  pkgconfig(ecore-imf-evas)
-BuildRequires:  pkgconfig(ecore-input)
-BuildRequires:  pkgconfig(efl-extension)
-BuildRequires:  pkgconfig(elementary)
-BuildRequires:  pkgconfig(evas)
-BuildRequires:  pkgconfig(gstreamer-1.0)
-BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
-BuildRequires:  pkgconfig(gstreamer-app-1.0)
-BuildRequires:  pkgconfig(harfbuzz)
-BuildRequires:  pkgconfig(libtbm)
-BuildRequires:  pkgconfig(minizip)
-BuildRequires:  pkgconfig(mm-player)
-BuildRequires:  pkgconfig(nspr)
-BuildRequires:  pkgconfig(openssl)
-BuildRequires:  pkgconfig(tts)
-BuildRequires:  pkgconfig(vconf)
-
-# Applied python acceleration for generating gyp files.
-%if "%{chromium_efl_tizen_version}" == "3.0"
-%ifarch armv7l
-BuildRequires: python-accel-armv7l-cross-arm
-%endif
-%ifarch aarch64
-BuildRequires: python-accel-aarch64-cross-aarch64
-%endif
-%endif
-
-%description
-This package contains private Chromium shared libraries required by Chromium-EWK and Crosswalk apps to run.
-
-%prep
-%setup -q
-
-%build
-
-# Stop unconditionally passing -Wall to the compiler. Chromium has its own
-# mechanisms for deciding which parts of the code need -Wall and which need it
-# to be left out (since several pieces are built with -Werror). At least in
-# M39, this is preventing the "rtc_base" target from being built because it
-# does not expect -Wall to be passed to the compiler (see webrtc issue 3307).
-export CXXFLAGS=`echo $CXXFLAGS | sed s,-Wall,,g`
-
-# Do not use -finline-functions: it breaks the build because it causes -Wall to
-# warn about some conditions that cannot really be reached (ie. variables that
-# may be used uninitialized while in fact thay cannot be uninitialized). See
-# TC-2299.
-export CXXFLAGS=`echo $CXXFLAGS | sed s,-finline-functions,,g`
-
-# For ffmpeg on ia32. The original CFLAGS set by the gyp and config files in
-# src/third_party/ffmpeg already pass -O2 -fomit-frame-pointer, but Tizen's
-# CFLAGS end up appending -fno-omit-frame-pointer. See http://crbug.com/37246
-export CFLAGS=`echo $CFLAGS | sed s,-fno-omit-frame-pointer,,g`
-
-# Building the RPM in the GBS chroot fails with errors such as
-#   /usr/lib/gcc/i586-tizen-linux/4.7/../../../../i586-tizen-linux/bin/ld:
-#       failed to set dynamic section sizes: Memory exhausted
-# For now, work around it by passing a GNU ld-specific flag that optimizes the
-# linker for memory usage.
-export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
-# Support building in a non-standard directory, possibly outside %{_builddir}.
-# Since the build root is erased every time a new build is performed, one way
-# to avoid losing the build directory is to specify a location outside the
-# build root to the BUILDDIR_NAME definition, such as "/var/tmp/xwalk-build"
-# (remember all paths are still inside the chroot):
-#    gbs build --define 'BUILDDIR_NAME /some/path'
-BUILDDIR_NAME="%{?BUILDDIR_NAME}"
-if [ -n "${BUILDDIR_NAME}" ]; then
-   mkdir -p "${BUILDDIR_NAME}"
-   ln -s "${BUILDDIR_NAME}" "%{OUTPUT_FOLDER}"
-fi
-
-# For building for arm in OBS, we need :
-# -> to unset sysroot value.
-# sysroot variable is automatically set for cross compilation to use arm-sysroot provided by Chromium project
-# sysroot usage is not needed, we need to use arm libraries from the virtualized environment.
-#
-# Crosswalk build fails if the fpu selected in the gcc option is different from neon in case of arm7 compilation
-# So force it.
-%ifarch %{arm}
-export CFLAGS=`echo $CFLAGS | sed s,-mfpu=vfpv3,-mfpu=neon,g`
-export CXXFLAGS=`echo $CXXFLAGS | sed s,-mfpu=vfpv3,-mfpu=neon,g`
-export FFLAGS=`echo $FFLAGS | sed s,-mfpu=vfpv3,-mfpu=neon,g`
-%endif
-
-###### start of block copied/adapted from chromium-efl.spec
-tizen_src/build/apply_patches.sh
-trap 'tizen_src/build/apply_patches.sh -r' EXIT
-
-%if "%{tizen}" == "3.0"
-%define chromium_efl_tizen_version 3.0
-%endif
-%if "%{tizen}" == "2.3" || "%{tizen}" == "2.4"
-%define chromium_efl_tizen_version 2.4
-%endif
-%if "%{tizen}" == "2.0"
-%define chromium_efl_tizen_version 2.3
-%endif
-
-%if %{!?TIZEN_PROFILE_TV:0}%{?TIZEN_PROFILE_TV:1} || "%{!?profile:0}%{?profile}" == "tv"
-%define chromium_efl_tizen_profile tv
-%else
-%define chromium_efl_tizen_profile mobile
-%endif
-
-%if 0%{?nodebug}
-  CFLAGS=$(echo $CFLAGS | sed 's/-g[0-9]*/ /g')
-  CXXFLAGS=$(echo $CXXFLAGS | sed 's/-g[0-9]*/ /g')
-%endif
-
-%if "%{!?chromium_efl_tizen_profile:0}%{?chromium_efl_tizen_profile}" == "mobile"
-  %define OUTPUT_BUILD_PROFILE_TARGET mobile
-%else
-  %define OUTPUT_BUILD_PROFILE_TARGET tv
-%endif
-
-# The variable chromium-efl_tizen_version and _repository are essentially needed for build.
-# Therefore, if the variable is not defined, it explicitly raises exception here.
-%define OUTPUT_BASE_FOLDER out.tz_v%{chromium_efl_tizen_version}.%{OUTPUT_BUILD_PROFILE_TARGET}.%{_repository}.libs
-export GYP_GENERATOR_OUTPUT=$PWD/%{OUTPUT_BASE_FOLDER}
-
-#set build mode
-%if 0%{?_debug_mode}
-  %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Debug
-%else
-  %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Release
-%endif
-
-# Directory for internal chromium executable components
-%global CHROMIUM_EXE_DIR %{_libdir}/%{name}
-# Constant read only data used by chromium-efl port
-%global CHROMIUM_DATA_DIR %{_datadir}/%{name}
-# Directory containing localization files
-%global CHROMIUM_LOCALE_DIR %{_datadir}/%{name}/locale
-
-export GYP_GENERATORS="dump_dependency_json,ninja"
-
-%if %{?_skip_gyp:0}%{!?_skip_gyp:1}
-./tizen_src/build/gyp_chromiumefl.sh \
-  --xwalk \
-  -Dbuilding_crosswalk_bin=0 \
-  -Dbuilding_strategy="libs" \
-  -Dcomponent=shared_library \
-  -Dexe_dir="%{CHROMIUM_EXE_DIR}" \
-  -Ddata_dir="%{CHROMIUM_DATA_DIR}" \
-  -Dedje_dir="%{CHROMIUM_DATA_DIR}"/themes \
-  -Dlocale_dir="%{CHROMIUM_LOCALE_DIR}" \
-%if 0%{?_remove_webcore_debug_symbols:1}
-  -Dremove_webcore_debug_symbols=1 \
-%endif
-%if 0%{?chromium_efl_tizen_version:1}
-  -Dchromium_efl_tizen_version=%{chromium_efl_tizen_version} \
-%endif
-%if "%{?_with_wayland}" == "1"
-  -Duse_wayland=1 \
-%endif
-%if "%{?_repository}" == "emulator" || "%{?_repository}" == "emulator32-x11"
-  -Dtizen_emulator_support=1  \
-%endif
-  -Dtizen_"%{OUTPUT_BUILD_PROFILE_TARGET}"=1 \
-  -Dbuilding_for_tizen_"%{OUTPUT_BUILD_PROFILE_TARGET}"=1
-%endif
-
-%if %{?_skip_ninja:0}%{!?_skip_ninja:1}
-# We are not interested in building ${NINJA_TARGETS} themselves, since that is
-# what crosswalk-bin.spec does. We want the Chromium dependencies that those
-# targets need to build all the shared libraries we have to package.
-NINJA_TARGETS="chromium-ewk xwalk xwalk_application_tools"
-DEPENDENCIES=`python %{SOURCE1002} %{OUTPUT_BASE_FOLDER}/dump.json ${NINJA_TARGETS}`
-
-%ifarch %{arm}
-tizen_src/build/prebuild/ninja.arm %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
-%else
-%ifarch aarch64
-tizen_src/build/prebuild/ninja-linux64 -v %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
-%else
-tizen_src/build/prebuild/ninja %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
-%endif
-%endif
-   ${DEPENDENCIES}
-%endif
-
-#XXX icudtl.dat is not copied by gyp. Do that manually
-cp third_party/icu/android/icudtl.dat "%{OUTPUT_FOLDER}"
-
-# XXX Workaround for using rpmlint with emulator build on Tizen_TV 3.0
-#
-# When using this repo http://download.tizen.org/snapshots/tizen/tv/latest/repos/emulator32-x11/packages/
-# rpmlint-tizen-1.0-6.1 is installed in GBS-ROOT. So, after rpms are built
-# gbs build script runs rpmlint to test created packages. There is some BUG in
-# this script and directory /home/abuild/rpmbuild/OTHER/ isn't created. This
-# directory is required for rpmlint's log file and its lack causes build error.
-%if "%{?chromium_efl_tizen_version}%{!?chromium_efl_tizen_version:0}" == "3.0"
-if [ ! -d %{buildroot}/../../OTHER/ -a -f /opt/testing/bin/rpmlint ]; then
-   mkdir -p %{buildroot}/../../OTHER/
-fi
-%endif
-
-###### end of block copied/adapted from chromium-efl.spec
-
-# In '%files' section below there are added all built libraries, which satisfy
-# pattern: 'xwalk/lib/lib*.so'. During build crosswalk-bin.spec generates new
-# library - libxwalk_backend_lib.so, which should not be packaged into
-# crosswalk-libs, but then after incremental build it will also satisfy
-# pattern, which was mentioned above.
-rm -f "%{OUTPUT_FOLDER}"/lib/libxwalk_backend_lib.so
-
-%define INSTALL_FOLDER chromium-efl-libs
-
-%install
-# Supporting libraries and resources.
-install -d %{buildroot}%{_libdir}/%{INSTALL_FOLDER}/lib
-install -d %{buildroot}%{CHROMIUM_DATA_DIR}/themes
-
-install -m 0644 -p -D "%{OUTPUT_FOLDER}"/lib/*.so %{buildroot}%{_libdir}/%{INSTALL_FOLDER}/lib/
-install -m 0644 -p -D "%{OUTPUT_FOLDER}"/icudtl.dat %{buildroot}%{_libdir}/%{INSTALL_FOLDER}/icudtl.dat
-install -m 0644 -p -D "%{OUTPUT_FOLDER}"/natives_blob.bin %{buildroot}%{_libdir}/%{INSTALL_FOLDER}/natives_blob.bin
-install -m 0644 -p -D "%{OUTPUT_FOLDER}"/snapshot_blob.bin %{buildroot}%{_libdir}/%{INSTALL_FOLDER}/snapshot_blob.bin
-install -m 0644 -p -D "%{OUTPUT_FOLDER}"/resources/*.edj "%{buildroot}%{CHROMIUM_DATA_DIR}"/themes
-
-%files
-%manifest packaging/chromium-efl-libs.manifest
-%{_libdir}/%{INSTALL_FOLDER}/icudtl.dat
-%{_libdir}/%{INSTALL_FOLDER}/lib/lib*.so
-%if %{?_disable_nacl}%{!?_disable_nacl:1} == 0
-%{_libdir}/%{INSTALL_FOLDER}/nacl_bootstrap_raw
-%{_libdir}/%{INSTALL_FOLDER}/nacl_helper
-%{_libdir}/%{INSTALL_FOLDER}/nacl_helper_bootstrap
-%{_libdir}/%{INSTALL_FOLDER}/nacl_irt_*.nexe
-%{_libdir}/%{INSTALL_FOLDER}/pnacl/*
-%endif
-%{_libdir}/%{INSTALL_FOLDER}/natives_blob.bin
-%{_libdir}/%{INSTALL_FOLDER}/snapshot_blob.bin
-%{CHROMIUM_DATA_DIR}/themes/*.edj
index 1da60bd..30fbaa8 100644 (file)
@@ -75,7 +75,6 @@ BuildRequires: pkgconfig(capi-system-device)
 BuildRequires: pkgconfig(capi-system-info)
 BuildRequires: pkgconfig(capi-system-system-settings)
 BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(dbus-glib-1)
 BuildRequires: pkgconfig(ecore)
 BuildRequires: pkgconfig(ecore-evas)
 BuildRequires: pkgconfig(ecore-imf)
@@ -89,6 +88,9 @@ BuildRequires: pkgconfig(fontconfig)
 BuildRequires: pkgconfig(freetype2)
 BuildRequires: pkgconfig(gles20)
 BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(gstreamer-1.0)
+BuildRequires: pkgconfig(gstreamer-app-1.0)
+BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
 BuildRequires: pkgconfig(harfbuzz)
 BuildRequires: pkgconfig(icu-i18n)
 BuildRequires: pkgconfig(libdrm)
@@ -172,30 +174,6 @@ BuildRequires: pkgconfig(glesv2)
 %if "%{?chromium_efl_tizen_version}%{!?chromium_efl_tizen_version:0}" >= "3.0"
 BuildRequires: pkgconfig(libtzplatform-config)
 %endif
-%if "%{?chromium_efl_tizen_version}%{!?chromium_efl_tizen_version:0}" >= "2.4"
-BuildRequires: pkgconfig(gstreamer-1.0)
-BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
-BuildRequires: pkgconfig(gstreamer-app-1.0)
-%else # <= Tizen v2.3
-BuildRequires: pkgconfig(gstreamer-0.10)
-BuildRequires: pkgconfig(gstreamer-plugins-base-0.10)
-BuildRequires: pkgconfig(gstreamer-app-0.10)
-%endif
-
-%if 0%{?build_xwalk}
-BuildRequires:  pkgconfig(appcore-common)
-BuildRequires:  pkgconfig(ail)
-BuildRequires:  pkgconfig(aul)
-BuildRequires:  pkgconfig(haptic)
-BuildRequires:  pkgconfig(nss)
-BuildRequires:  pkgconfig(pkgmgr)
-BuildRequires:  pkgconfig(pkgmgr-info)
-BuildRequires:  pkgconfig(pkgmgr-installer)
-BuildRequires:  pkgconfig(pkgmgr-parser)
-BuildRequires:  pkgconfig(secure-storage)
-BuildRequires:  pkgconfig(sensor)
-BuildRequires:  pkgconfig(xmlsec1)
-%endif
 
 %description
 Browser Engine based on Chromium EFL (Shared Library)
@@ -216,15 +194,6 @@ Requires: %{name} = %{version}-%{release}
 Chromium EFL version of content_shell application
 %endif
 
-%if 0%{?build_xwalk}
-%package -n crosswalk
-Summary: Chromium-based app rintime
-Group: Web Framework/Web Run Time
-%description -n crosswalk
-Crosswalk is an app runtime based on Chromium. It is an open source project
-started by the Intel Open Source Technology Center (http://www.01.org).
-%endif
-
 %if 0%{?_enable_unittests}
 %package unittests
 Summary: Chromium unittests
@@ -272,6 +241,7 @@ Chromium EFL unit test utilities
 %build
 # architecture related configuration + neon temporary workaround
 %if %{?_skip_ninja:0}%{!?_skip_ninja:1}
+
 %ifarch %{arm} aarch64
   export ADDITION_OPTION=" -finline-limit=64 -foptimize-sibling-calls -fno-unwind-tables -fno-exceptions -Os "
 
@@ -298,30 +268,37 @@ Chromium EFL unit test utilities
   %define OUTPUT_BUILD_PROFILE_TARGET tv
 %endif
 
-# The variable chromium-efl_tizen_version and _repository are essentially needed for build.
-# Therefore, if the variable is not defined, it explicitly raises exception here.
-%define OUTPUT_BASE_FOLDER out.tz_v%{chromium_efl_tizen_version}.%{OUTPUT_BUILD_PROFILE_TARGET}.%{_repository}
+%ifarch armv7l
+%define ARCHITECTURE armv7l
+%endif
+%ifarch aarch64
+%define ARCHITECTURE aarch64
+%endif
+%ifarch i586 i686
+%define ARCHITECTURE ix86
+%endif
+%ifarch x86_64
+%define ARCHITECTURE x86_64
+%endif
+
+# The "_repository" flag was changed to "_vd_cfg_target_repository" in tizen 4.0 product tv.
+%if "%{?TIZEN_PRODUCT_TV}" == "1"
+%define repo_name %{_vd_cfg_target_repository}
+%else
+%define repo_name %{_repository}
+%endif
+
+%define OUTPUT_BASE_FOLDER out.tz_v%{tizen_version_major}.%{tizen_version_minor}.%{repo_name}.%{ARCHITECTURE}
 
 export GN_GENERATOR_OUTPUT=$PWD/%{OUTPUT_BASE_FOLDER}
 
 #set build mode
 %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}
-%global XWALK_GEN %{OUTPUT_FOLDER}/xwalk_gen
 
 if type ccache &> /dev/null; then
   source tizen_src/build/ccache_env.sh %{OUTPUT_BUILD_PROFILE_TARGET}
 fi
 
-%if 0%{?build_xwalk}
-  mkdir -p "%{XWALK_GEN}"
-  sed "s/@VERSION@/%{version}/g" xwalk/packaging/crosswalk.xml.in > "%{XWALK_GEN}"/crosswalk.xml
-  cp -a xwalk/packaging/crosswalk-bin.manifest "%{XWALK_GEN}/crosswalk.manifest"
-  cp -a xwalk/packaging/crosswalk.png "%{XWALK_GEN}"
-  cp -a xwalk/LICENSE "%{XWALK_GEN}"/LICENSE.xwalk
-  cp -a AUTHORS "%{XWALK_GEN}"/AUTHORS.chromium
-  cp -a LICENSE "%{XWALK_GEN}"/LICENSE.chromium
-%endif
-
 #gn generate
 #run standard gn_chromiumefl wrapper
    ./tizen_src/build/gn_chromiumefl.sh \
@@ -343,14 +320,8 @@ fi
 %if "%{?_repository}" == "emulator" || "%{?_repository}" == "emulator32-x11"
   "tizen_emulator_support=true"  \
 %endif
-%if 0%{?build_xwalk}
-  --xwalk \
-%endif
 %if 0%{?component_build}
-  -Dcomponent=shared_library \
-%endif
-  -Dtizen_"%{OUTPUT_BUILD_PROFILE_TARGET}"=1 \
-  -Dbuilding_for_tizen_"%{OUTPUT_BUILD_PROFILE_TARGET}"=1
+ "component=\"shared_library\"" \
 %endif
 
 ninja %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
@@ -360,9 +331,6 @@ ninja %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
 %if 0%{?build_ewk_unittests}
   ewk_unittests \
 %endif
-%if 0%{?build_xwalk}
-  xwalk xwalk_application_tools \
-%endif
   efl_webprocess chromium-ewk efl_webview_app mini_browser ubrowser
 
 %if 0%{?_enable_unittests}
@@ -376,7 +344,7 @@ ninja %{_smp_mflags} -C"%{OUTPUT_FOLDER}" angle_unittests env_chromium_unittests
 # gpu_unittests compos9itor_unittests media_unittests
 %endif
 
-%endif
+%endif  # _skip_ninja
 
 #XXX icudtl.dat is not copied by gyp. Do that manually
 cp third_party/icu/android/icudtl.dat "%{OUTPUT_FOLDER}"
@@ -493,32 +461,6 @@ install -m 0644 "%{OUTPUT_FOLDER}"/ewk_unittests %{buildroot}/opt/usr/utc_exec/
 install -m 0755 tizen_src/ewk/utc_gtest_run.sh %{buildroot}/opt/usr/utc_exec/
 %endif
 
-%if 0%{?build_xwalk}
-install -m 0755 -p -D %{OUTPUT_FOLDER}/xwalk %{buildroot}%{_libdir}/xwalk/xwalk
-install -m 0755 -p -D %{OUTPUT_FOLDER}/xwalk_backend %{buildroot}%{_libdir}/xwalk/xwalk_backend
-
-# Supporting libraries and resources.
-install -m 0644 -p -D %{OUTPUT_FOLDER}/lib/libxwalk_backend_lib.so %{buildroot}%{_libdir}/xwalk/libxwalk_backend_lib.so
-install -m 0644 -p -D %{OUTPUT_FOLDER}/icudtl.dat %{buildroot}%{_libdir}/xwalk/icudtl.dat
-install -m 0644 -p -D %{OUTPUT_FOLDER}/xwalk.pak %{buildroot}%{_libdir}/xwalk/xwalk.pak
-install -d %{buildroot}%{_datadir}/xwalk
-install -m 0644 -p -D xwalk/application/common/tizen/configuration/*.xsd %{buildroot}%{_datadir}/xwalk
-
-# PNaCl
-%if %{?_disable_nacl}%{!?_disable_nacl:1} == 0
-install -m 0755 -p -D %{OUTPUT_FOLDER}/nacl_bootstrap_raw %{buildroot}%{_libdir}/xwalk/nacl_bootstrap_raw
-install -m 0755 -p -D %{OUTPUT_FOLDER}/nacl_helper %{buildroot}%{_libdir}/xwalk/nacl_helper
-install -m 0755 -p -D %{OUTPUT_FOLDER}/nacl_helper_bootstrap %{buildroot}%{_libdir}/xwalk/nacl_helper_bootstrap
-install -m 0644 -p -D %{OUTPUT_FOLDER}/nacl_irt_*.nexe %{buildroot}%{_libdir}/xwalk
-install -d %{buildroot}%{_libdir}/xwalk/pnacl
-install -m 0644 -p -D %{OUTPUT_FOLDER}/pnacl/* %{buildroot}%{_libdir}/xwalk/pnacl
-%endif
-
-# Register xwalk to the package manager.
-install -m 0644 -p -D %{XWALK_GEN}/crosswalk.xml %{buildroot}%{_manifestdir}/crosswalk.xml
-install -m 0644 -p -D %{XWALK_GEN}/crosswalk.png %{buildroot}%{_desktop_icondir}/crosswalk.png
-%endif
-
 %post
 # apply smack rule
 smack_reload.sh
@@ -597,24 +539,3 @@ mkdir -p %{_manifestdir}
 /opt/usr/utc_exec/*
 /opt/usr/resources/*
 %endif
-
-%if 0%{?build_xwalk}
-%files -n crosswalk
-%manifest %{XWALK_GEN}/crosswalk.manifest
-%license %{XWALK_GEN}/AUTHORS.chromium %{XWALK_GEN}/LICENSE.chromium %{XWALK_GEN}/LICENSE.xwalk
-%{_libdir}/xwalk/icudtl.dat
-%if %{?_disable_nacl}%{!?_disable_nacl:1} == 0
-%{_libdir}/xwalk/nacl_bootstrap_raw
-%{_libdir}/xwalk/nacl_helper
-%{_libdir}/xwalk/nacl_helper_bootstrap
-%{_libdir}/xwalk/nacl_irt_*.nexe
-%{_libdir}/xwalk/pnacl/*
-%endif
-%{_libdir}/xwalk/xwalk
-%{_libdir}/xwalk/xwalk.pak
-%{_libdir}/xwalk/libxwalk_backend_lib.so
-%{_libdir}/xwalk/xwalk_backend
-%{_manifestdir}/crosswalk.xml
-%{_desktop_icondir}/crosswalk.png
-%{_datadir}/xwalk/*
-%endif
diff --git a/packaging/crosswalk-bin.spec b/packaging/crosswalk-bin.spec
deleted file mode 100644 (file)
index a29d001..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-# adjust compression algorithm to speed up RPMS creation
-# source RPM and debug RPMS are big and take too much time
-# when using standard (lzma) compression
-%define _source_payload w3.gzdio
-%define _binary_payload w3.gzdio
-
-Name:           crosswalk-bin
-Version:        15.53.2785.0
-Release:        0
-Summary:        Chromium-based app runtime
-License:        (BSD-3-Clause and LGPL-2.1+)
-Group:          Web Framework/Web Run Time
-Url:            https://github.com/otcshare/crosswalk
-Source:         %{name}-%{version}.tar.gz
-
-# Provided for compatibility for a while.
-Provides:       crosswalk
-
-%if 0%{?nodebug}
-%global __debug_install_post %{nil}
-%global debug_package %{nil}
-%endif
-
-BuildRequires:  binutils-gold
-BuildRequires:  bison
-BuildRequires:  bzip2-devel
-BuildRequires:  chromium-efl-libs
-BuildRequires:  elfutils
-BuildRequires:  expat-devel
-BuildRequires:  flex
-BuildRequires:  gperf
-BuildRequires:  libcap-devel
-BuildRequires:  libelf-devel
-BuildRequires:  ninja
-BuildRequires:  perl
-BuildRequires:  pkgconfig(ail)
-BuildRequires:  pkgconfig(aul)
-BuildRequires:  pkgconfig(alsa)
-BuildRequires:  pkgconfig(appcore-common)
-BuildRequires:  pkgconfig(bundle)
-BuildRequires:  pkgconfig(cairo)
-BuildRequires:  pkgconfig(capi-appfw-application)
-BuildRequires:  pkgconfig(capi-location-manager)
-BuildRequires:  pkgconfig(dbus-1)
-BuildRequires:  pkgconfig(fontconfig)
-BuildRequires:  pkgconfig(freetype2)
-BuildRequires:  pkgconfig(gles20)
-BuildRequires:  pkgconfig(glib-2.0)
-BuildRequires:  pkgconfig(haptic)
-BuildRequires:  pkgconfig(icu-i18n)
-BuildRequires:  pkgconfig(libdrm)
-BuildRequires:  pkgconfig(libexif)
-BuildRequires:  pkgconfig(libpci)
-BuildRequires:  pkgconfig(libpulse)
-BuildRequires:  pkgconfig(libtzplatform-config)
-BuildRequires:  pkgconfig(libudev)
-BuildRequires:  pkgconfig(libxml-2.0)
-BuildRequires:  pkgconfig(libxslt)
-BuildRequires:  pkgconfig(nss)
-BuildRequires:  pkgconfig(pkgmgr)
-BuildRequires:  pkgconfig(pkgmgr-info)
-BuildRequires:  pkgconfig(pkgmgr-installer)
-BuildRequires:  pkgconfig(pkgmgr-parser)
-BuildRequires:  pkgconfig(protobuf)
-BuildRequires:  pkgconfig(secure-storage)
-BuildRequires:  pkgconfig(sensor)
-BuildRequires:  pkgconfig(vconf)
-BuildRequires:  pkgconfig(xmlsec1)
-BuildRequires:  python
-BuildRequires:  python-xml
-BuildRequires:  which
-BuildRequires:  yasm
-Requires:       ca-certificates-tizen
-Requires:       ss-server
-
-# chromium-efl/chromium_src dependencies.
-BuildRequires:  pkgconfig(capi-media-audio-io)
-BuildRequires:  pkgconfig(capi-media-camera)
-BuildRequires:  pkgconfig(capi-media-player)
-BuildRequires:  pkgconfig(capi-media-tool)
-BuildRequires:  pkgconfig(capi-system-sensor)
-BuildRequires:  pkgconfig(capi-system-device)
-BuildRequires:  pkgconfig(capi-system-system-settings)
-BuildRequires:  pkgconfig(ecore)
-BuildRequires:  pkgconfig(ecore-evas)
-BuildRequires:  pkgconfig(ecore-imf)
-BuildRequires:  pkgconfig(ecore-imf-evas)
-BuildRequires:  pkgconfig(ecore-input)
-BuildRequires:  pkgconfig(efl-extension)
-BuildRequires:  pkgconfig(elementary)
-BuildRequires:  pkgconfig(evas)
-BuildRequires:  pkgconfig(gstreamer-1.0)
-BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
-BuildRequires:  pkgconfig(gstreamer-app-1.0)
-BuildRequires:  pkgconfig(harfbuzz)
-BuildRequires:  pkgconfig(libtbm)
-BuildRequires:  pkgconfig(minizip)
-BuildRequires:  pkgconfig(mm-player)
-BuildRequires:  pkgconfig(nspr)
-BuildRequires:  pkgconfig(openssl)
-BuildRequires:  pkgconfig(tts)
-BuildRequires:  pkgconfig(vconf)
-
-# Applied python acceleration for generating gyp files.
-%if "%{chromium_efl_tizen_version}" == "3.0"
-%ifarch armv7l
-BuildRequires: python-accel-armv7l-cross-arm
-%endif
-%ifarch aarch64
-BuildRequires: python-accel-aarch64-cross-aarch64
-%endif
-%endif
-
-%description
-Crosswalk is an app runtime based on Chromium. It is an open source project started by the Intel Open Source Technology Center (http://www.01.org).
-
-%define _manifestdir %TZ_SYS_RO_PACKAGES
-%define _manifestdir_ro %TZ_SYS_RO_PACKAGE
-%define _desktop_icondir %TZ_SYS_RW_ICONS/default/small
-%define _desktop_icondir_ro %TZ_SYS_RO_ICONS/default/small
-%define _dbusservicedir /usr/share/dbus-1/services
-%define _systemduserservicedir /usr/lib/systemd/user
-
-%prep
-%setup -q
-
-%build
-
-# Stop unconditionally passing -Wall to the compiler. Chromium has its own
-# mechanisms for deciding which parts of the code need -Wall and which need it
-# to be left out (since several pieces are built with -Werror). At least in
-# M39, this is preventing the "rtc_base" target from being built because it
-# does not expect -Wall to be passed to the compiler (see webrtc issue 3307).
-export CXXFLAGS=`echo $CXXFLAGS | sed s,-Wall,,g`
-
-# Do not use -finline-functions: it breaks the build because it causes -Wall to
-# warn about some conditions that cannot really be reached (ie. variables that
-# may be used uninitialized while in fact thay cannot be uninitialized). See
-# TC-2299.
-export CXXFLAGS=`echo $CXXFLAGS | sed s,-finline-functions,,g`
-
-# For ffmpeg on ia32. The original CFLAGS set by the gyp and config files in
-# src/third_party/ffmpeg already pass -O2 -fomit-frame-pointer, but Tizen's
-# CFLAGS end up appending -fno-omit-frame-pointer. See http://crbug.com/37246
-export CFLAGS=`echo $CFLAGS | sed s,-fno-omit-frame-pointer,,g`
-
-# Building the RPM in the GBS chroot fails with errors such as
-#   /usr/lib/gcc/i586-tizen-linux/4.7/../../../../i586-tizen-linux/bin/ld:
-#       failed to set dynamic section sizes: Memory exhausted
-# For now, work around it by passing a GNU ld-specific flag that optimizes the
-# linker for memory usage.
-export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
-# Support building in a non-standard directory, possibly outside %{_builddir}.
-# Since the build root is erased every time a new build is performed, one way
-# to avoid losing the build directory is to specify a location outside the
-# build root to the BUILDDIR_NAME definition, such as "/var/tmp/xwalk-build"
-# (remember all paths are still inside the chroot):
-#    gbs build --define 'BUILDDIR_NAME /some/path'
-BUILDDIR_NAME="%{?BUILDDIR_NAME}"
-if [ -n "${BUILDDIR_NAME}" ]; then
-   mkdir -p "${BUILDDIR_NAME}"
-   ln -s "${BUILDDIR_NAME}" "%{OUTPUT_FOLDER}"
-fi
-
-# For building for arm in OBS, we need :
-# -> to unset sysroot value.
-# sysroot variable is automatically set for cross compilation to use arm-sysroot provided by Chromium project
-# sysroot usage is not needed, we need to use arm libraries from the virtualized environment.
-#
-# Crosswalk build fails if the fpu selected in the gcc option is different from neon in case of arm7 compilation
-# So force it.
-%ifarch %{arm}
-export CFLAGS=`echo $CFLAGS | sed s,-mfpu=vfpv3,-mfpu=neon,g`
-export CXXFLAGS=`echo $CXXFLAGS | sed s,-mfpu=vfpv3,-mfpu=neon,g`
-export FFLAGS=`echo $FFLAGS | sed s,-mfpu=vfpv3,-mfpu=neon,g`
-%endif
-
-# We are relying on our libraries already being installed, we need to pass -L
-# to avoid libraries with the same name from being picked up instead (and also
-# to tell GCC/ld where to look for them).
-export LDFLAGS="${LDFLAGS} -L%{_libdir}/chromium-efl-libs/lib"
-
-###### start of block copied/adapted from chromium-efl.spec
-
-tizen_src/build/apply_patches.sh --crosswalk-bin
-trap 'tizen_src/build/apply_patches.sh -r --crosswalk-bin' EXIT
-
-%if "%{tizen}" == "3.0"
-%define chromium_efl_tizen_version 3.0
-%endif
-%if "%{tizen}" == "2.3" || "%{tizen}" == "2.4"
-%define chromium_efl_tizen_version 2.4
-%endif
-%if "%{tizen}" == "2.0"
-%define chromium_efl_tizen_version 2.3
-%endif
-
-%if %{!?TIZEN_PROFILE_TV:0}%{?TIZEN_PROFILE_TV:1} || "%{!?profile:0}%{?profile}" == "tv"
-%define chromium_efl_tizen_profile tv
-%else
-%define chromium_efl_tizen_profile mobile
-%endif
-
-%if 0%{?nodebug}
-  CFLAGS=$(echo $CFLAGS | sed 's/-g[0-9]*/ /g')
-  CXXFLAGS=$(echo $CXXFLAGS | sed 's/-g[0-9]*/ /g')
-%endif
-
-%if "%{!?chromium_efl_tizen_profile:0}%{?chromium_efl_tizen_profile}" == "mobile"
-  %define OUTPUT_BUILD_PROFILE_TARGET mobile
-%else
-  %define OUTPUT_BUILD_PROFILE_TARGET tv
-%endif
-
-# The variable chromium-efl_tizen_version and _repository are essentially needed for build.
-# Therefore, if the variable is not defined, it explicitly raises exception here.
-%define OUTPUT_BASE_FOLDER out.tz_v%{chromium_efl_tizen_version}.%{OUTPUT_BUILD_PROFILE_TARGET}.%{_repository}.libs
-export GYP_GENERATOR_OUTPUT=$PWD/%{OUTPUT_BASE_FOLDER}
-
-#set build mode
-%if 0%{?_debug_mode}
-  %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Debug
-%else
-  %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Release
-%endif
-%global XWALK_GEN %{OUTPUT_FOLDER}/xwalk_gen
-
-mkdir -p "%{XWALK_GEN}"
-sed "s/@VERSION@/%{version}/g" xwalk/packaging/crosswalk.xml.in > "%{XWALK_GEN}"/crosswalk.xml
-cp -a xwalk/packaging/crosswalk-bin.manifest "%{XWALK_GEN}/crosswalk.manifest"
-cp -a xwalk/packaging/crosswalk.png "%{XWALK_GEN}"
-cp -a xwalk/LICENSE "%{XWALK_GEN}"/LICENSE.xwalk
-cp -a AUTHORS "%{XWALK_GEN}"/AUTHORS.chromium
-cp -a LICENSE "%{XWALK_GEN}"/LICENSE.chromium
-
-export GYP_GENERATORS="ninja"
-
-%if %{?_skip_gyp:0}%{!?_skip_gyp:1}
-./tizen_src/build/gyp_chromiumefl.sh \
-   --xwalk \
-  -Dbuilding_crosswalk_bin=1 \
-  -Dbuilding_strategy="crosswalk-bin" \
-  -Dcomponent=shared_library \
-%if 0%{?_remove_webcore_debug_symbols:1}
-  -Dremove_webcore_debug_symbols=1 \
-%endif
-%if 0%{?chromium_efl_tizen_version:1}
-  -Dchromium_efl_tizen_version=%{chromium_efl_tizen_version} \
-%endif
-%if "%{?_with_wayland}" == "1"
-  -Duse_wayland=1 \
-%endif
-%if "%{?_repository}" == "emulator" || "%{?_repository}" == "emulator32-x11"
-  -Dtizen_emulator_support=1  \
-%endif
-  -Dtizen_"%{OUTPUT_BUILD_PROFILE_TARGET}"=1 \
-  -Dbuilding_for_tizen_"%{OUTPUT_BUILD_PROFILE_TARGET}"=1
-%endif
-
-%if %{?_skip_ninja:0}%{!?_skip_ninja:1}
-NINJA_TARGETS="xwalk xwalk_application_tools"
-
-%ifarch %{arm}
-tizen_src/build/prebuild/ninja.arm %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
-%else
-%ifarch aarch64
-tizen_src/build/prebuild/ninja-linux64 -v %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
-%else
-tizen_src/build/prebuild/ninja %{_smp_mflags} -C"%{OUTPUT_FOLDER}" \
-%endif
-%endif
-   ${NINJA_TARGETS}
-%endif
-
-# XXX Workaround for using rpmlint with gbs build on Tizen 3.0
-#
-# When using the latest snapshot repo on http://download.tizen.org/snapshots
-# rpmlint-tizen-1.0-6.1 is installed in GBS-ROOT. So, after rpms are built
-# gbs build script runs rpmlint to test created packages. There is some BUG in
-# this script and directory /home/abuild/rpmbuild/OTHER/ isn't created. This
-# directory is required for rpmlint's log file and its lack causes build error.
-%if "%{?chromium_efl_tizen_version}%{!?chromium_efl_tizen_version:0}" == "3.0"
-if [ ! -d %{buildroot}/../../OTHER/ -a -f /opt/testing/bin/rpmlint ]; then
-   mkdir -p %{buildroot}/../../OTHER/
-fi
-%endif
-
-###### end of block copied/adapted from chromium-efl.spec
-
-%install
-# Binaries.
-install -m 0755 -p -D %{OUTPUT_FOLDER}/xwalk %{buildroot}%{_libdir}/xwalk/xwalk
-install -m 0755 -p -D %{OUTPUT_FOLDER}/xwalk_backend %{buildroot}%{_libdir}/xwalk/xwalk_backend
-
-%define CHROMIUM_EFL_LIBS_INSTALL_FOLDER chromium-efl-libs
-
-# Supporting libraries and resources.
-install -m 0644 -p -D %{OUTPUT_FOLDER}/lib/libxwalk_backend_lib.so %{buildroot}%{_libdir}/%{CHROMIUM_EFL_LIBS_INSTALL_FOLDER}/lib/libxwalk_backend_lib.so
-install -m 0644 -p -D %{OUTPUT_FOLDER}/xwalk.pak %{buildroot}%{_libdir}/xwalk/xwalk.pak
-install -d %{buildroot}%{_datadir}/xwalk
-install -m 0644 -p -D xwalk/application/common/tizen/configuration/*.xsd %{buildroot}%{_datadir}/xwalk
-
-# Register xwalk to the package manager.
-install -m 0644 -p -D %{XWALK_GEN}/crosswalk.xml %{buildroot}%{_manifestdir}/crosswalk.xml
-install -m 0644 -p -D %{XWALK_GEN}/crosswalk.png %{buildroot}%{_desktop_icondir}/crosswalk.png
-
-%post
-mkdir -p %{_desktop_icondir_ro}
-mkdir -p %{_manifestdir_ro}
-
-ln -sf %{_libdir}/%{CHROMIUM_EFL_LIBS_INSTALL_FOLDER}/lib/libxwalk_backend_lib.so /etc/package-manager/backendlib/libxpk.so
-ln -sf %{_libdir}/%{CHROMIUM_EFL_LIBS_INSTALL_FOLDER}/lib/libxwalk_backend_lib.so /etc/package-manager/backendlib/libwgt.so
-ln -sf %{_libdir}/xwalk/xwalk_backend /etc/package-manager/backend/xpk
-ln -sf %{_libdir}/xwalk/xwalk_backend /etc/package-manager/backend/wgt
-
-%preun
-if [ $1 -eq 0 ] ; then
- # don't remove if we are upgrade the rpm package
-[ -L /etc/package-manager/backendlib/libxpk.so ] && rm /etc/package-manager/backendlib/libxpk.so
-[ -L /etc/package-manager/backendlib/libwgt.so ] && rm /etc/package-manager/backendlib/libwgt.so
-[ -L /etc/package-manager/backend/xpk ] && rm /etc/package-manager/backend/xpk
-[ -L /etc/package-manager/backend/wgt ] && rm /etc/package-manager/backend/wgt
-fi
-
-%files
-%manifest %{XWALK_GEN}/crosswalk.manifest
-%license %{XWALK_GEN}/AUTHORS.chromium %{XWALK_GEN}/LICENSE.chromium %{XWALK_GEN}/LICENSE.xwalk
-%{_libdir}/%{CHROMIUM_EFL_LIBS_INSTALL_FOLDER}/lib/libxwalk_backend_lib.so
-%{_libdir}/xwalk/xwalk
-%{_libdir}/xwalk/xwalk.pak
-%{_libdir}/xwalk/xwalk_backend
-%{_manifestdir}/crosswalk.xml
-%{_desktop_icondir}/crosswalk.png
-%{_datadir}/xwalk/*
diff --git a/packaging/print-chromium-deps.py b/packaging/print-chromium-deps.py
deleted file mode 100755 (executable)
index 3f945bc..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2014 Intel Corporation. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Parses a gyp JSON dependency dict generated by gyp's dump_dependency_json
-generator and prints the Chromium targets (ie. the ones not in gyp files in
-src/xwalk) required for building the ones passed on the command-line.
-
-The output can then be passed, for example, to ninja.
-"""
-
-import copy
-import json
-import os
-import sys
-
-
-def ParseDependency(dep):
-  """
-  Given a dependency like '/path/to/foo.gyp:somedep#target', returns a tuple
-  ('/path/to/foo.gyp', 'somedep').
-  """
-  path = dep[:dep.find(':')]
-  name = dep[dep.find(':')+1:dep.find('#')]
-  return (path, name)
-
-
-def GetDependencies(deps_dict, root):
-  targets = set()
-  dependencies = copy.deepcopy(deps_dict[root])
-  while dependencies:
-    dep = dependencies.pop()
-    target_path, target_name = ParseDependency(dep)
-    if target_name in targets:
-      continue
-    if ("xwalk/" not in target_path) and ("tizen_src/ewk/" not in target_path):
-      targets.add(target_name)
-    dependencies += deps_dict[dep]
-  return targets
-
-
-def main():
-  if len(sys.argv) < 3:
-    print('Usage: %s <deps.json> <target 1> [... <target N>]' % sys.argv[0])
-    print('<deps.json> points to deps.json generated by gyp with '
-          'GYP_GENERATORS=dump_dependency_json.')
-    print('Each target is a target name whose dependencies will be '
-          'printed.')
-    return 1
-
-  dump_json_path = sys.argv[1]
-  if not os.path.isfile(dump_json_path):
-    print('"%s" not found.' % dump_json_path)
-    print('Run gyp with GYP_GENERATORS=dump_dependency_json first.')
-    return 1
-
-  deps_dict = json.load(open(dump_json_path))
-  targets = sys.argv[2:]
-  roots = []
-
-  for target in targets:
-    valid_target = False
-    for dep in deps_dict:
-      if dep.endswith(':%s#target' % target):
-        valid_target = True
-        roots.append(dep)
-        break
-    if not valid_target:
-      print('Error: "%s" is not a valid target.' % target)
-      return 1
-
-  target_deps = set()
-  for dependency in roots:
-    target_deps |= GetDependencies(deps_dict, dependency)
-
-  print ' '.join(list(target_deps))
-  return 0
-
-
-if __name__ == '__main__':
-  sys.exit(main())
index 5ed078d..33e17af 100644 (file)
@@ -575,7 +575,7 @@ template("skia_source_set") {
     # binary size decrease by using AFDO to optimize for size in these
     # source_sets. However, that also comes at a relatively big performance
     # cost.
-    if (using_mismatched_sample_profile) {
+    if (using_mismatched_sample_profile && !is_tizen) {
       configs -= [ "//build/config/compiler:afdo_optimize_size" ]
     }
   }
index 8ff1984..3a9ca4b 100644 (file)
@@ -4,7 +4,7 @@
 
 import("//third_party/fontconfig/fontconfig.gni")
 
-assert(is_linux)
+assert(is_linux || is_tizen)
 
 if (use_bundled_fontconfig) {
   config("fontconfig_config") {
index 0965f9f..1956a49 100644 (file)
@@ -4,7 +4,7 @@
 
 import("//build/config/features.gni")
 
-assert(is_linux)
+assert(is_linux || is_tizen)
 
 declare_args() {
   use_bundled_fontconfig = is_linux
index 527175f..c4858b3 100644 (file)
@@ -5,7 +5,6 @@ vars = {
 }
 
 deps = {
-  "src/xwalk": "ssh://165.213.202.130:29418/webplatform/crosswalk-efl.git@beta/crosswalk-14/42.0.2311.39",
 }
 
 hooks = [
index a354b2b..0eef201 100644 (file)
 # Edit these when rolling DEPS.efl.
 # -----------------------------------
 
-ozone_wayland_rev = 'bd769b47008882f3d0fcb78070415a5ef2700032'
-khronos_cl_api_rev = '6f4be98d10f03ce2b12c769cd9835c73a441c00f'
-
-# |blink_upstream_rev| indicates the revision of the latest upstream commit in
-# the s-blink repository, so that the devtools code can use it to fetch
-# assets from Chromium's servers with a revision that exists there. We need an
-# SVN revision while Blink is still in SVN.
-blink_upstream_rev = '191638' #TODO(TK) : need to update revision number
-
 efl_integration_branch = 'origin/dev/m63_3239'
 ct_git = 'ssh://165.213.202.130:29418/webplatform'
-crosswalk_git = 'https://github.com/crosswalk-project'
-
-ozone_wayland_git = 'https://github.com/01org'
 
 # ------------------------------------------------------
 # gclient solutions.
@@ -51,10 +39,6 @@ solutions = [
       'src/v8':
         ct_git + '/s-v8.git@' + efl_integration_branch,
 
-      # Include OpenCL header files for WebCL support, target version 1.2.
-      'src/third_party/khronos/CL':
-        crosswalk_git + '/khronos-cl-api-1.2.git@' + khronos_cl_api_rev,
-
       # These directories are not relevant to Chromium-efl and can be safely ignored
       # in a checkout. It avoids creating additional directories outside src/ that
       # are not used and also saves some bandwidth.
@@ -82,30 +66,6 @@ solutions = [
       },
     ],
   },
-
-  # ozone-wayland is set as a separate solution because we gclient _not_ to read
-  # its .DEPS.git: it changes the recursion limit and tries to check Chromium
-  # upstream out itself, leading to URL conflicts and errors about duplicate
-  # entries.
-  { 'name': 'src/ozone',
-    'url': ozone_wayland_git + '/ozone-wayland.git@' + ozone_wayland_rev,
-    'deps_file': '',
-  }
-]
-
-hooks = [
-  {
-    'action': [
-      'python',
-      'src/xwalk/tools/upstream_revision.py',
-      '-r',
-      blink_upstream_rev,
-      '-o',
-      'src/xwalk/build/UPSTREAM.blink'
-    ],
-    'pattern': '.',
-    'name': 'upstream_revision'
-  }
 ]
 
 # -------------------------------------------------
index 17a3358..027cb13 100755 (executable)
@@ -12,11 +12,10 @@ supposed to be completely source and binary compatible with EFL-WebKit2.
 2. The it runs 2 hooks in order to get the rest of the source:
 
 ```
-* generate-gclient-xwalk: .gclient-xwalk is created by running
-    src/tizen_src/scripts/xwalk/generate_gclient-xwalk.py (this is a fork
-    of the same script in xwalk repository).
-* fetch-deps: part of the xwalk solution in .gclient, gets called from within
-    xwalk pull procedure. It actually fetches all depedencies based on .gclient-xwalk.
+* generate-gclient-efl: .gclient-efl is created by running
+  src/tizen_src/scripts/generate_gclient-efl.py (this is a fork
+  of the same script in crosswalk repository).
+* fetch-deps: It actually fetches all depedencies based on .gclient-efl.
 ```
 
 ## Procedure
index 116e75e..66a61bb 100644 (file)
@@ -18,14 +18,10 @@ config("evas-public") {
 }
 
 config("ecore") {
-  #TODO: toolsets may be required
-  #'toolsets': ['host', 'target'],
   ldflags = [ "-lecore" ]
 }
 
 tizen_pkg_config("libecore") {
-  #TODO: toolsets may be required
-  #'toolsets': ['host', 'target'],
   packages = [ "ecore" ]
 }
 
@@ -155,20 +151,20 @@ config("efl-extension-public") {
 }
 
 config("ui-gadget") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     ldflags = [ "-lui-gadget-1" ]
   }
 }
 
 tizen_pkg_config("libui-gadget") {
   packages = []
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     packages = [ "ui-gadget-1" ]
   }
 }
 
 config("ui-gadget-public") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     cflags = [ "-DUG_WAYLAND" ]
   }
 }
@@ -193,39 +189,39 @@ config("capi-appfw-application-public") {
 }
 
 config("capi-location-manager") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     ldflags = [ "-lcapi-location-manager" ]
   }
 }
 
 tizen_pkg_config("libcapi-location-manager") {
   packages = []
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     packages = [ "capi-location-manager" ]
   }
 }
 
 config("capi-location-manager-public") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     #cflags = [ "-capi-location-manager" ]
   }
 }
 
 config("capi-system-info") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     ldflags = [ "-lcapi-system-info" ]
   }
 }
 
 tizen_pkg_config("libcapi-system-info") {
   packages = []
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     packages = [ "capi-system-info" ]
   }
 }
 
 config("capi-system-info-public") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     #cflags = [ "-capi-system-info" ]
   }
 }
@@ -555,20 +551,20 @@ config("vconf-public") {
 }
 
 config("feedback") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     ldflags = [ "-lfeedback" ]
   }
 }
 
 tizen_pkg_config("libfeedback") {
   packages = []
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     packages = [ "feedback" ]
   }
 }
 
 config("feedback-public") {
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     #cflags = [ "-feedback" ]
   }
 }
index 3ae7e8d..34b9406 100755 (executable)
@@ -48,19 +48,7 @@ fi
 
 export __GN_CHROMIUMEFL_TARGET=desktop
 
-#export BUILD_DEPENDENCIES_LIB_PATH="${JHBUILD_DEPS}/${_LIBDIR}"
-#export BUILD_DEPENDENCIES_INCLUDE_PATH="${JHBUILD_DEPS}/include"
-
-#deps_include_path="\"${JHBUILD_DEPS}/include "
-#for module in "${JHBUILD_DEPS}/include/*"
-#do
-#  deps_include_path="$deps_include_path$module "
-#done
-#deps_include_path="$deps_include_path\""
-
-#hostGnChromiumEfl "deps_include_path=$deps_include_path deps_lib_path=\"${JHBUILD_DEPS}/${_LIBDIR}\""
 hostGnChromiumEfl "deps_include_path=\"${JHBUILD_DEPS}/include\" deps_lib_path=\"${JHBUILD_DEPS}/${_LIBDIR}\""
-# deps_efl_pc_path=\"${JHBUILD_DEPS}/Source/efl-1.16.0/pc\"
 
 export LD_LIBRARY_PATH="${JHBUILD_DEPS}/${_LIBDIR}:$LD_LIBRARY_PATH"
 export PATH="${JHBUILD_DEPS}/bin:$PATH"
diff --git a/tizen_src/build/build_emulator_ix86.sh b/tizen_src/build/build_emulator_ix86.sh
new file mode 100755 (executable)
index 0000000..3b2bbbc
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+. `dirname $0`/common.sh
+
+setupAndExecuteTargetBuild unified --emulator "$@" -A i586
diff --git a/tizen_src/build/build_emulator_x86_64.sh b/tizen_src/build/build_emulator_x86_64.sh
new file mode 100755 (executable)
index 0000000..1ae5ec2
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+. `dirname $0`/common.sh
+
+setupAndExecuteTargetBuild unified --emulator "$@" -A x86_64
diff --git a/tizen_src/build/build_standard_aarch64.sh b/tizen_src/build/build_standard_aarch64.sh
new file mode 100755 (executable)
index 0000000..074c9e1
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+. `dirname $0`/common.sh
+
+setupAndExecuteTargetBuild unified --standard "$@" -A aarch64
diff --git a/tizen_src/build/build_standard_armv7l.sh b/tizen_src/build/build_standard_armv7l.sh
new file mode 100755 (executable)
index 0000000..4e6c1e4
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+. `dirname $0`/common.sh
+
+setupAndExecuteTargetBuild unified --standard "$@" -A armv7l
diff --git a/tizen_src/build/build_standard_ix86.sh b/tizen_src/build/build_standard_ix86.sh
new file mode 100755 (executable)
index 0000000..c467250
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+. `dirname $0`/common.sh
+
+setupAndExecuteTargetBuild unified --standard "$@" -A i586
diff --git a/tizen_src/build/build_standard_x86_64.sh b/tizen_src/build/build_standard_x86_64.sh
new file mode 100755 (executable)
index 0000000..a37630b
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+. `dirname $0`/common.sh
+
+setupAndExecuteTargetBuild unified --standard "$@" -A x86_64
index 22f66a6..983c005 100755 (executable)
@@ -3,6 +3,20 @@
 export SCRIPTDIR=$(readlink -e $(dirname $0))
 export TOPDIR=$(readlink -f "${SCRIPTDIR}/../..")
 export CHROME_SRC="${TOPDIR}"
+# Please set DEFAULT_TIZEN_VERSION to empty value for the latest tizen version
+# or set DEFAULT_TIZEN_VERSION to current tizen version for the others.
+export DEFAULT_TIZEN_VERSION=
+
+if [ "$(echo "$@" | grep -e "--tizen")" != "" ]; then
+  tizen_version=$(echo $@ | sed -e 's#.*--tizen_\([0-9.]*\).*#\1#')
+  if $(echo $tizen_version | grep -qe "^[-\?[0-9]\+\.\?[0-9]*$" && echo true || echo false); then
+    DEFAULT_TIZEN_VERSION=$tizen_version
+  else
+    DEFAULT_TIZEN_VERSION=
+  fi
+fi
+
+supported_targets=("tizen" "desktop")
 
 function getHostOs() {
   echo $(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')
@@ -44,7 +58,6 @@ OPTIONS:
    -jN                   Set number of jobs, just like with make or ninja
    --skip-gyp            Skip restore_gyp, jhbuild and gyp_chromium steps
    --skip-ninja          Skip ninja step
-   --xwalk               Build crosswalk and friends
 
 examples:
 $0 --skip-gyp
@@ -63,7 +76,6 @@ function parseHostBuildScriptParams() {
   export SKIP_NINJA=0
   export BUILD_EWK_UNITTESTS=0
   export BUILD_CONTENT_SHELL=1
-  export BUILD_XWALK=0
   export BUILD_SUBDIRECTORY=Release
   export COMPONENT_BUILD=0
 
@@ -104,9 +116,6 @@ function parseHostBuildScriptParams() {
       --debug)
         export BUILD_SUBDIRECTORY="Debug"
         ;;
-      --xwalk)
-        export BUILD_XWALK=1
-        ;;
       --component-build)
         export COMPONENT_BUILD=1
         ;;
@@ -144,9 +153,6 @@ function hostGnChromiumEfl() {
   if [[ $SKIP_GN != 1 ]]; then
     local XWALK_ARG=""
     local COMPONENT_ARG=""
-    if [[ $BUILD_XWALK == 1 ]]; then
-      XWALK_ARG="xwalk=true"
-    fi
     if [[ $COMPONENT_BUILD == 1 ]]; then
       COMPONENT_ARG="component=shared_library"
     fi
@@ -168,9 +174,6 @@ function hostNinja() {
     if [[ $BUILD_CONTENT_SHELL == 1 ]]; then
       TARGETS="$TARGETS content_shell dump_syms minidump_stackwalk"
     fi
-    if [[ $BUILD_XWALK == 1 ]]; then
-      TARGETS="$TARGETS xwalk"
-    fi
     if [[ $BUILD_CHROMEDRIVER == 1 ]]; then
       TARGETS="$TARGETS chromedriver"
     fi
@@ -194,65 +197,24 @@ function findElementInArray() {
 }
 
 function setupAndExecuteTargetBuild() {
-
   local platform="$1"
   shift
 
   local PROFILE
   local ARCHITECTURE
   local CONF_FLAG
-  local SPEC_FILE="chromium-efl.spec"
   local -a ARGS
 
-  # "|| :" means "or always succeeding built-in command"
-  PROFILE=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" || :)
-  ARCHITECTURE=$(echo "$@" | grep -Po "(?<=\-A\s)[^\s]*" || :)
-
-  if [ "$PROFILE" == "" ]; then
-    if [[ $platform == "mobile" ]]; then
-      PROFILE=tzmb_v3.0_arm64-wayland
-    elif [[ $platform == "mobile_emulator" ]]; then
-      PROFILE=tzmb_v3.0_emulator-wayland
-    elif [[ $platform == "tv" ]]; then
-      PROFILE=tztv_v3.0_arm-wayland
-    elif [[ $platform == "tv_emulator" ]]; then
-      PROFILE=tztv_v3.0_emulator-wayland
-    else
-      echo "Cannot set default PROFILE for platform=${platform}"
-      exit 1
-    fi
-  fi
-  echo "Set the profile : $PROFILE"
-
-  if [ "$ARCHITECTURE" == "" ]; then
-    if [[ $platform == "mobile" ]]; then
-      ARCHITECTURE=aarch64
-    elif [[ $platform == "mobile_emulator" ]]; then
-      ARCHITECTURE=i586
-    elif [[ $platform == "tv" ]]; then
-      ARCHITECTURE=armv7l
-    elif [[ $platform == "tv_emulator" ]]; then
-      ARCHITECTURE=i586
-    else
-      echo "Cannot set default ARCHITECTURE for platform=${platform}"
-      exit 1
-    fi
-  fi
-  echo "Set the architecture : $ARCHITECTURE"
-
-  if [ "$USE_GLOBAL_GBS_CONF" == "" ]; then
-    CONF_FLAG="--conf ${SCRIPTDIR}/gbs.conf"
-  fi
-
-  EXTRA_PACK_OPTS=""
-  if [ "$PROFILE" == "tztv_v2.4_product" ]; then
-    EXTRA_PACK_OPTS="--extra-packs python-base-x86-arm,python-x86-arm,python-xml-x86-arm"
-  fi
-
   local count=0
   local exclusive_options=0
   local RPMLINT=0
   local NOINIT=0
+  local MIRROR=0
+
+  # "|| :" means "or always succeeding built-in command"
+  PROFILE=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" | uniq || :)
+  ARCHITECTURE=$(echo "$@" | grep -Po "(?<=\-A\s)[^\s]*" | uniq || :)
+
   while [[ $# > 0 ]]; do
     count=$(( $count + 1 ))
     case "$1" in
@@ -276,24 +238,11 @@ function setupAndExecuteTargetBuild() {
         count=$(( $count + 1 ))
         ARGS[$count]="_skip_gn 1"
     ;;
-    --xwalk)
-        ARGS[$count]=--define
-        count=$(( $count + 1 ))
-        ARGS[$count]="build_xwalk 1"
-    ;;
     --component-build)
         ARGS[$count]=--define
         count=$(( $count + 1 ))
         ARGS[$count]="component_build 1"
     ;;
-    --libs)
-        target="libs"
-        exclusive_options=$(( $exclusive_options + 1 ))
-    ;;
-    --crosswalk-bin)
-        target="crosswalk-bin"
-        exclusive_options=$(( $exclusive_options + 1 ))
-    ;;
     --gbs-debug)
         ARGS[$count]=--debug
     ;;
@@ -306,6 +255,30 @@ function setupAndExecuteTargetBuild() {
         ARGS[$count]="$1"
         count=$(( $count + 1 ))
     ;;
+    --mirror)
+        MIRROR=1
+    ;;
+    --standard*)
+        if [ "$DEFAULT_TIZEN_VERSION" == "" ]; then
+          echo $1
+          PROFILE=tz_$(echo $1 | sed 's/--//g')
+        elif [ "$DEFAULT_TIZEN_VERSION" == "4.0" ]; then
+          PROFILE=tz_${DEFAULT_TIZEN_VERSION}_$(echo $1 | sed 's/--//g')_$(echo $ARCHITECTURE | grep "i586" -q && echo "ia32" || echo $ARCHITECTURE)
+        else
+          PROFILE=tz_${DEFAULT_TIZEN_VERSION}_$(echo $1 | sed 's/--//g')
+        fi
+    ;;
+    --emulator*)
+        if [ "$DEFAULT_TIZEN_VERSION" == "" ]; then
+          PROFILE=tz_$(echo $1 | sed 's/--//g')
+        elif [ "$DEFAULT_TIZEN_VERSION" == "4.0" ]; then
+          PROFILE=tz_${DEFAULT_TIZEN_VERSION}_$(echo $1 | sed 's/--//g')_$(echo $ARCHITECTURE | grep "i586" -q && echo "ia32" || echo $ARCHITECTURE)
+        else
+          PROFILE=tz_${DEFAULT_TIZEN_VERSION}_$(echo $1 | sed 's/--//g')
+        fi
+    ;;
+    --tizen*)
+    ;;
     *)
       ARGS[$count]="$1"
     ;;
@@ -318,39 +291,78 @@ function setupAndExecuteTargetBuild() {
     exit 1
   fi
 
-  cd $TOPDIR
-  rm -f packaging
-  ln -sf tizen_src/packaging packaging
-
   if [ "$target" == "libs" ]; then
     SPEC_FILE="chromium-efl-libs.spec"
   elif [ "$target" == "crosswalk-bin" ]; then
     SPEC_FILE="crosswalk-bin.spec"
   fi
 
-  if [ "$(echo "${PROFILE}" | grep -Po "v3.0")" != "" -a "$NOINIT" == 0 ]; then
-    prepareTizen3Build $PROFILE $RPMLINT
+  if [ "$PROFILE" == "" ]; then
+    if [[ $platform == "mobile" ]]; then
+      PROFILE=tzmb_3.0_target-TM1
+    elif [[ $platform == "tv" ]]; then
+      if [ "$DEFAULT_TIZEN_VERSION" == "" ]; then
+        PROFILE=tztv_arm-kantm
+      else
+        PROFILE=tztv_${DEFAULT_TIZEN_VERSION}_arm-kantm
+      fi
+    elif [[ $platform == "da" ]]; then
+      if [ "$DEFAULT_TIZEN_VERSION" == "" ]; then
+        PROFILE=tzda_arm-kantm
+      else
+        PROFILE=tzda_${DEFAULT_TIZEN_VERSION}_arm-kantm
+      fi
+    else
+      echo "Cannot set default PROFILE for platform=${platform}"
+      exit 1
+    fi
+  fi
+
+  if [ "$MIRROR" == "1" ]; then
+    PROFILE=${PROFILE}_mirror
+  fi
+
+  echo "Set the profile : $PROFILE"
+
+  if [ "$ARCHITECTURE" == "" ]; then
+    if [[ $platform == "mobile" ]]; then
+      ARCHITECTURE=armv7l
+    elif [[ $platform == "mobile_emulator" ]]; then
+      ARCHITECTURE=i586
+    elif [[ $platform == "tv" ]]; then
+      ARCHITECTURE=armv7l
+    elif [[ $platform == "tv_emulator" ]]; then
+      ARCHITECTURE=i586
+    else
+      echo "Cannot set default ARCHITECTURE for platform=${platform}"
+      exit 1
+    fi
+  fi
+  echo "Set the architecture : $ARCHITECTURE"
+
+  if [ "$USE_GLOBAL_GBS_CONF" == "" ]; then
+    CONF_FLAG="--conf ${SCRIPTDIR}/gbs.conf"
+  fi
+
+  EXTRA_PACK_OPTS=""
+  if [ "$PROFILE" == "tztv_v2.4_product" ]; then
+    EXTRA_PACK_OPTS="--extra-packs python-base-x86-arm,python-x86-arm,python-xml-x86-arm"
   fi
 
-  gbs $CONF_FLAG build -P $PROFILE --spec $SPEC_FILE --include-all -A $ARCHITECTURE "${ARGS[@]}" $BUILD_CONF_OPTS $EXTRA_PACK_OPTS --incremental
+  if [ "$(echo "${PROFILE}" | grep -P "kant|jazz|hawk|product")" == "" -a "$NOINIT" == 0 ]; then
+    processRpmlintOption $PROFILE $RPMLINT
+  fi
+
+  gbs $CONF_FLAG build -P $PROFILE --include-all -A $ARCHITECTURE "${ARGS[@]}" $BUILD_CONF_OPTS $EXTRA_PACK_OPTS --incremental
 }
 
-function prepareTizen3Build() {
+function processRpmlintOption() {
   local PROFILE=$1
   local RPMLINT=$2
-  BUILD_CONF_OPTS=""
-
-  # In case of '_rpmlint 1', build.conf of gbs repo will be used, enabling rpmlint.
-  # Otherwise, locally prepared build.conf will be used, disabling rpmlint.
-  local PREVIOUS_BUILD_CONF_PATH=""
-
-  if [ "$PROFILE" == "tztv_v3.0_arm-wayland" ]; then
-    PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tztv_v3.0_arm_wayland.conf"
-  elif [ "$PROFILE" == "tzmb_v3.0_arm-wayland" ]; then
-    PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm_wayland.conf"
-  elif [ "$PROFILE" == "tzmb_v3.0_arm64-wayland" ]; then
-    PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm64_wayland.conf"
-  fi
+  local URL_TARGET=
+  export BUILD_CONF_OPTS=
+
+  echo "** Process rpmlint option"
 
   local PREVIOUS_RPMLINT="!rpmlint"
   if [ ! -f "$PREVIOUS_BUILD_CONF_PATH" ]; then
@@ -367,9 +379,17 @@ function prepareTizen3Build() {
     BUILD_CONF_DIR=$SCRIPTDIR/build_conf
     rm -rf $BUILD_CONF_DIR
     mkdir $BUILD_CONF_DIR
-    REPO=http://download.tizen.org/snapshots/tizen/$platform/latest/repos/$(echo $ARCHITECTURE | sed -e "s/armv7l/arm/;s/aarch64/arm64/")-wayland/packages/repodata/
+    URL_TARGET=$(echo $PROFILE | sed -e 's#.*\.[0-9]*_\([-a-zA-Z0-9]*\).*#\1#;s/tz_//g')
+    # The latest version doesn't have tizen version in snapshot repository url.
+    if [ "$(echo $DEFAULT_TIZEN_VERSION)" == "" ]; then
+      URL_TIZEN_VERSION=
+    else
+      URL_TIZEN_VERSION=$DEFAULT_TIZEN_VERSION-
+    fi
+    REPO=http://download.tizen.org/snapshots/tizen/$URL_TIZEN_VERSION$platform/latest/repos/$URL_TARGET/packages/repodata/
+    echo "** Repo : $REPO"
     wget $REPO -O $BUILD_CONF_DIR/index.html > /dev/null 2>&1
-    BUILD_CONF_GZ=$(awk -F\" '{ print $6 }' $BUILD_CONF_DIR/index.html | grep "build.conf.gz")
+    BUILD_CONF_GZ=$(grep "build.conf.gz" $BUILD_CONF_DIR/index.html | sed -e 's#.*\=\"\(.*\)\".*#\1#')
     BUILD_CONF=$(basename $BUILD_CONF_GZ .gz)
     wget $REPO$BUILD_CONF_GZ -P $BUILD_CONF_DIR > /dev/null 2>&1
     if [ ! -f "$BUILD_CONF_DIR/$BUILD_CONF_GZ" ]; then
index 9a19b1b..3efb33e 100644 (file)
@@ -221,7 +221,7 @@ if (target_os == "tizen") {
   if (is_clang) {
     _default_toolchain = "//tizen_src/build/toolchain/tizen_clang_$target_cpu"
   } else {
-    _default_toolchain = "//tizen_src/build/toolchain/tizen_$target_cpu"
+    _default_toolchain = "//tizen_src/build/toolchain/tizen:$target_cpu"
   }
 } else if (target_os == "chromeos" || target_os == "linux") {
   # See comments in build/toolchain/cros/BUILD.gn about board compiles.
index 4279cac..43df313 100644 (file)
@@ -2,12 +2,15 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import("//build/config/features.gni")
+
 declare_args() {
   if (is_tizen) {
     deps_include_path = "/usr/include"
     deps_lib_path = "/usr/lib"
   } else {
     deps_include_path = ""
+    deps_lib_path = ""
   }
 }
 
index 99d6579..8f6f7a1 100644 (file)
@@ -11,7 +11,6 @@ declare_args() {
 
   linux_use_gold_flags = false  # no use of this variable, if removing then revome from gn_chromiumefl.sh also
 
-  deps_lib_path = ""
   disable_fatal_linker_warnings = true  # no use of this variable, if removing then revome from gn_chromiumefl.sh also
 
   python_ver = "2.5"  # no use of this variable, if removing then revome from gn_chromiumefl.sh also
@@ -22,21 +21,16 @@ declare_args() {
   use_cairo = false
   use_pango = false
 
+  tizen_multimedia_eme_support = false
   tizen_multimedia_support = false
   werror = false
 
   # declared from BUILDCONFIG.gn
   #is_clang = false
-  xwalk_link_against_chromium_ewk = false
 
   tizen_mobile = false
   building_for_tizen_tv = false
   building_for_tizen_mobile = false
-  if (is_tizen && tizen_multimedia_support) {
-    tizen_multimedia_eme_support = true
-  } else {
-    tizen_multimedia_eme_support = false
-  }
 
   exe_dir = "/usr/lib/chromium-efl/"
   edje_dir = "/usr/share/chromium-efl/themes/"
@@ -49,6 +43,12 @@ declare_args() {
   building_for_tizen = false
 }
 
+if (is_tizen && tizen_multimedia_support) {
+  tizen_multimedia_eme_support = true
+} else {
+  tizen_multimedia_eme_support = false
+}
+
 werror = false
 
 # This file should contain gn code that is supposed to be common
@@ -62,8 +62,6 @@ use_aura = false
 ewk_bringup = true
 wayland_bringup = use_wayland
 
-building_strategy = "ewk"  # 'ewk', 'libs' and 'crosswalk-bin'
-
 compile_suid_client = true
 compile_credentials = true
 
@@ -77,10 +75,6 @@ if (use_ozone) {
   external_ozone_platforms = [ "efl" ]
 }
 
-if (xwalk_link_against_chromium_ewk) {
-  import("//tizen_src/ewk/efl_integration/link_xwalk_against_chromium_efl.gni")
-}
-
 is_official_build = false
 
 treat_warnings_as_errors = werror
index fbeb934..d0e9573 100755 (executable)
 ###############################################
 #
-# Tizen v2.4 for mobile
+# Tizen v5.0 public unified
 #
-[profile.tizenmb_v2.4]
-obs = obs.tizenmb
-# The order is IMPORTANT!
-repos = repo.tizenmb_supplement_v2.4, repo.devel_gcc49_base_standard, repo.spin_2.4_mobile_target_tm1
-buildroot = ~/GBS-ROOT-2.4-DEV
+[obs.tizen]
+url = https://api.tizen.org
 
-[repo.spin_2.4_mobile_target_tm1]
-url = http://168.219.209.55/download/snapshots/2.4-mobile/common/latest/repos/target-TM1/packages/
+[repo.tz_standard]
+url = http://download.tizen.org/snapshots/tizen/unified/latest/repos/standard/packages/
 
-[repo.devel_gcc49_base_standard]
-url = http://168.219.209.55/download/snapshots/2.4-base/common/latest/repos/standard/packages/
+[repo.tz_standard_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/unified/latest/repos/standard/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
-[repo.tizenmb_supplement_v2.4]
-url = http://10.251.52.177/tizenrepo/eur-open/supplement_mobile_v2.4/
+[repo.tz_emulator]
+url = http://download.tizen.org/snapshots/tizen/unified/latest/repos/emulator/packages/
+
+[repo.tz_emulator_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/unified/latest/repos/emulator/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.public_5.0_base_standard]
+url = http://download.tizen.org/snapshots/tizen/base/latest/repos/standard/packages/
+
+[repo.public_5.0_base_standard_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/base/latest/repos/standard/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
 ###############################################
 #
-# Tizen v2.4 for emulator(i586)
+# Tizen v5.0 spin
 #
-[profile.tizen_emulator_v2.4]
-obs = obs.tizenmb
-# The order is IMPORTANT!
-repos = repo.spin_2.4_mobile_emulator, repo.devel_gcc49_base_emulator
-buildroot = ~/GBS-ROOT-2.4-DEV
+[obs.spin]
+url = http://10.113.136.204:81
 
-[repo.spin_2.4_mobile_emulator]
-url = http://168.219.209.55/download/snapshots/2.4-mobile/common/latest/repos/emulator/packages/
+[repo.tz_standard_armv7hl]
+url = http://10.113.136.32/download/newlive/devel:/Toolchains:/Unified:/ref:/hardfp/standard
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
-[repo.devel_gcc49_base_emulator]
-url = http://168.219.209.55/download/live/devel:/gcc49:/Base/emulator/
+[repo.spin_5.0_base_armv7hl]
+url = http://10.113.136.32/download/newlive/devel:/Toolchains:/Base:/ref:/hardfp/standard
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
 ###############################################
 #
-# Tizen v2.3 for mobile
+# Tizen v5.0 spin (armv7hl)
 #
-[profile.tizenmb_v2.3]
-obs = obs.tizenmb
-# The order is IMPORTANT!
-repos = repo.tizenmb_supplement_v2.3, repo.tizenmb_supplement_chromium_v2.3, repo.tizenmb_base_v2.3
-buildroot = ~/GBS-ROOT-2.3-DEV
+[profile.tz_standard_armv7hl]
+obs = obs.spin
+repos = repo.spin_5.0_base_armv7hl, repo.tz_standard_armv7hl
+buildroot = ~/GBS-ROOT-5.0-STANDARD-ARMV7HL
 
-[repo.tizenmb_supplement_v2.3]
-url = http://10.251.52.177/tizenrepo/eur-open/supplement_v2.3
+###############################################
+#
+# Tizen v5.0 public standard
+#
+[profile.tz_standard]
+obs = obs.tizen
+repos = repo.public_5.0_base_standard, repo.tz_standard
+buildroot = ~/GBS-ROOT-5.0-STANDARD
 
-[repo.tizenmb_base_v2.3]
-url = http://10.251.52.177/tizenrepo/eur-open/PtnZ910FXX_20141020.002
+###############################################
+#
+# Tizen v5.0 public standard, Mirroring Server for HQ developers
+#
+[profile.tz_standard_mirror]
+obs = obs.tizen
+repos = repo.public_5.0_base_standard_mirror, repo.tz_standard_mirror
+buildroot = ~/GBS-ROOT-5.0-STANDARD
 
-# Supplementary repo for chromium
-[repo.tizenmb_supplement_chromium_v2.3]
-url = http://10.251.52.177/tizenrepo/eur-open/supplement_mobile_chromium_orange_v2.3_1
+###############################################
+#
+# Tizen v5.0 public emulator
+#
+[profile.tz_emulator]
+obs = obs.tizen
+repos = repo.public_5.0_base_standard, repo.tz_emulator
+buildroot = ~/GBS-ROOT-5.0-EMULATOR
 
 ###############################################
 #
-# Tizen v2.1 for mobile
+# Tizen v5.0 public emulator, Mirroring Server for HQ developers
 #
-[profile.tizenmb_v2.1]
-passwdx =
-obs = obs.tizenmb
-# The order is IMPORTANT!
-repos = repo.tizenmb_supplement, repo.tizenmb_base
-buildroot = ~/GBS-ROOT
+[profile.tz_emulator_mirror]
+obs = obs.tizen
+repos = repo.public_5.0_base_standard, repo.tz_emulator_mirror
+buildroot = ~/GBS-ROOT-5.0-EMULATOR
 
-[obs.tizenmb]
-url = http://slp-build.sec.samsung.net:81
+###############################################
+#
+# Tizen v4.0 unified
+#
+[obs.tizen_4.0]
+url = https://api.tizen.org
 
-# base repo
-[repo.tizenmb_base]
-url = http://10.251.52.177/tizenrepo/jpn-dcm/Redwood8974JPNDCM_20131218.006
+[repo.tz_4.0_standard]
+url = http://download.tizen.org/snapshots/tizen/4.0-unified/latest/repos/standard/packages/
 
-# Supplementary repo for additional rpms packages required in gbs build
-[repo.tizenmb_supplement]
-url = http://10.251.52.177/tizenrepo/jpn-dcm/supplement
+[repo.tz_4.0_standard_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/4.0-unified/latest/repos/standard/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tz_4.0_emulator]
+url = http://download.tizen.org/snapshots/tizen/4.0-unified/latest/repos/emulator/packages/
+
+[repo.tz_4.0_emulator_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/4.0-unified/latest/repos/emulator/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.public_4.0_base_arm]
+url = http://download.tizen.org/snapshots/tizen/4.0-base/latest/repos/arm/packages/
+
+[repo.public_4.0_base_arm_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/4.0-base/latest/repos/arm/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.public_4.0_base_arm64]
+url = http://download.tizen.org/snapshots/tizen/4.0-base/latest/repos/arm64/packages/
+
+[repo.public_4.0_base_arm64_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/4.0-base/latest/repos/arm64/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.public_4.0_base_ia32]
+url = http://download.tizen.org/snapshots/tizen/4.0-base/latest/repos/ia32/packages/
+
+[repo.public_4.0_base_ia32_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/4.0-base/latest/repos/ia32/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.public_4.0_base_x86_64]
+url = http://download.tizen.org/snapshots/tizen/4.0-base/latest/repos/x86_64/packages/
+
+[repo.public_4.0_base_x86_64_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/4.0-base/latest/repos/x86_64/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v4.0 spin
+#
+[obs.spin]
+url = http://10.113.136.204:81
+
+[repo.tz_4.0_standard_armv7hl]
+url = http://10.113.136.32/download/newlive/devel:/Toolchains:/Unified:/ref:/hardfp/standard
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.spin_4.0_base_armv7hl]
+url = http://10.113.136.32/download/newlive/devel:/Toolchains:/Base:/ref:/hardfp/standard
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v4.0 for spin (armv7hl)
+#
+[profile.tz_4.0_standard_armv7hl]
+obs = obs.spin
+repos = repo.spin_4.0_base_armv7hl, repo.tz_4.0_standard_armv7hl
+buildroot = ~/GBS-ROOT-4.0-STANDARD-ARMV7HL
+
+###############################################
+#
+# Tizen v4.0 for standard (armv7l)
+#
+[profile.tz_4.0_standard_armv7l]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_arm, repo.tz_4.0_standard
+buildroot = ~/GBS-ROOT-4.0-STANDARD-ARMV7L
+
+###############################################
+#
+# Tizen v4.0 for standard (armv7l), Mirroring Server for HQ developers
+#
+[profile.tz_4.0_standard_armv7l_mirror]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_arm_mirror, repo.tz_4.0_standard_mirror
+buildroot = ~/GBS-ROOT-4.0-STANDARD-ARMV7L
+
+###############################################
+#
+# Tizen v4.0 for standard (aarch64)
+#
+[profile.tz_4.0_standard_aarch64]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_arm64, repo.tz_4.0_standard
+buildroot = ~/GBS-ROOT-4.0-STANDARD-AARCH64
+
+###############################################
+#
+# Tizen v4.0 for standard (aarch64), Mirroring Server for HQ developers
+#
+[profile.tz_4.0_standard_aarch64_mirror]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_arm64_mirror, repo.tz_4.0_standard_mirror
+buildroot = ~/GBS-ROOT-4.0-STANDARD-AARCH64
+
+###############################################
+#
+# Tizen v4.0 for standard (ix86)
+#
+[profile.tz_4.0_standard_ia32]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_ia32, repo.tz_4.0_standard
+buildroot = ~/GBS-ROOT-4.0-STANDARD-IX86
+
+###############################################
+#
+# Tizen v4.0 for standard (ix86), Mirroring Server for HQ developers
+#
+[profile.tz_4.0_standard_ia32_mirror]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_ia32_mirror, repo.tz_4.0_standard_mirror
+buildroot = ~/GBS-ROOT-4.0-STANDARD-IX86
+
+###############################################
+#
+# Tizen v4.0 for standard (x86_64)
+#
+[profile.tz_4.0_standard_x86_64]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_x86_64, repo.tz_4.0_standard
+buildroot = ~/GBS-ROOT-4.0-STANDARD-X86_64
+
+###############################################
+#
+# Tizen v4.0 for standard (x86_64), Mirroring Server for HQ developers
+#
+[profile.tz_4.0_standard_x86_64_mirror]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_x86_64_mirror, repo.tz_4.0_standard_mirror
+buildroot = ~/GBS-ROOT-4.0-STANDARD-X86_64
+
+###############################################
+#
+# Tizen v4.0 for emulator (ix86)
+#
+[profile.tz_4.0_emulator_ia32]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_ia32, repo.tz_4.0_emulator
+buildroot = ~/GBS-ROOT-4.0-EMULATOR-IX86
+
+###############################################
+#
+# Tizen v4.0 for emulator (ix86), Mirroring Server for HQ developers
+#
+[profile.tz_4.0_emulator_ia32_mirror]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_ia32_mirror, repo.tz_4.0_emulator_mirror
+buildroot = ~/GBS-ROOT-4.0-EMULATOR-IX86
+
+###############################################
+#
+# Tizen v4.0 for emulator (x86_64)
+#
+[profile.tz_4.0_emulator_x86_64]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_x86_64, repo.tz_4.0_emulator
+buildroot = ~/GBS-ROOT-4.0-EMULATOR-X86_64
+
+###############################################
+#
+# Tizen v4.0 for emulator (x86_64), Mirroring Server for HQ developers
+#
+[profile.tz_4.0_emulator_x86_64_mirror]
+obs = obs.tizen_4.0
+repos = repo.public_4.0_base_x86_64_mirror, repo.tz_4.0_emulator_mirror
+buildroot = ~/GBS-ROOT-4.0-EMULATOR-X86_64
+
+###############################################
+#
+# Tizen product tv
+#
+[obs.tizen_product_tv]
+url = https://168.219.243.64/api
+user = obs_iewer
+passwdx = obs_iewer_64
 
 #############################################
 #
-# Tizen v2.4 for product tv (HawkP armv7l)
+# Tizen v4.0 for product tv (KantM armv7l)
 #
-[profile.tztv_v2.4_product]
-obs = obs.tztv_v2.4_product
-repos = repo.supplement, repo.product_2016, repo.base_2016
-buildroot = ~/GBS-ROOT-2.4-TV-PRODUCT-ARM-X11
+[profile.tztv_4.0_arm-kantm]
+obs = obs.tizen_product_tv
+repos = repo.tv_product_4.0_kantm, repo.tv_product_4.0_base
+buildroot = ~/GBS-ROOT-4.0-TV-PRODUCT-KANTM
 
-[repo.base_2016]
-url=http://168.219.244.109/tizen-rsa/tztv-2.4-base-main2016/standard/latest/repos/base/armv7l/packages/
+[repo.tv_product_4.0_base]
+url=http://168.219.244.109/tizen-rsa/tizen-4.0-base-main2018/standard/latest/repos/base/armv7l/packages/
 
-[repo.product_2016]
-# TODO: The latest tizen_v2.4 product repository is unstable.
-#       It is better to stay at tztv-2.4-main2016-hawk-p_20150905.1 version until the latest will be stable.
-#url=http://168.219.244.109/releases/tztv-2.4-product-main2016/product/Hawk-P/latest/repos/product/armv7l/packages/
-url=http://168.219.244.109/releases/tztv-2.4-product-main2016/product/Hawk-P/tztv-2.4-main2016-hawk-p_20150905.1/repos/product/armv7l/packages/
+[repo.tv_product_4.0_kantm]
+url=http://168.219.244.109/releases/00_RELEASED_IMAGES/2018/MAIN2018/KantM/latest/repos/product/armv7l/packages/
 
-[repo.supplement]
-url=http://10.251.52.177/tizenrepo/tv_repo/supplement_tizen_v2.4_product/
+#############################################
+#
+# Tizen v4.0 for product tv (KantM2 armv7l)
+#
+[profile.tztv_4.0_arm-kantm2]
+obs = obs.tizen_product_tv
+repos = repo.tv_product_4.0_kantm2, repo.tv_product_4.0_base
+buildroot = ~/GBS-ROOT-4.0-TV-PRODUCT-KANTM2
 
-[obs.tztv_v2.4_product]
-url = https://168.219.241.169:81
-user = obs_viewer
-passwdx = obs_viewer_169
+[repo.tv_product_4.0_kantm2]
+url=http://168.219.244.109/products/tv/archive/2018/MAIN2018/KantM2/latest/repos/product/armv7l/packages/
+
+###############################################
+#
+# Tizen product da
+#
+[profile.tzda_4.0_arm-kantm]
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+repos = repo.base_arm, repo.fhub3.0_kantm_ad
+buildroot = ~/GBS-ROOT-4.0-DA-PRODUCT-KANTM
+
+[profile.tzda_4.0_arm-kantm2]
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+repos = repo.base_arm, repo.fhub3.0_kantm2_ad
+buildroot = ~/GBS-ROOT-4.0-DA-PRODUCT-KANTM2
+
+[profile.tzda_4.0_emulator32]
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+repos = repo.base_emulator32, repo.fhub3.0_emulator32_ad
+buildroot = ~/GBS-ROOT-4.0-DA-PRODUCT-EMUL
+
+#Family Hub 3.0 KANT-M AD
+[repo.fhub3.0_kantm_ad]
+# FIXME : The rpm package capi-media-player has not been released
+#         to gbs rpm repository after 20171227.2.
+#         Please recover the repository with the latest one
+#         once the platform issue is fixed.
+#url = http://165.213.149.200/download/snapshots/tizen/4.0-da-fhub3.0/latest/repos/KANTM/packages/
+url = http://165.213.149.200/download/snapshots/tizen/4.0-da-fhub3.0/tizen-4.0-da-fhub3.0_20171227.2/repos/KANTM/packages
+
+#Family Hub 3.0 KANT-M2 AD
+[repo.fhub3.0_kantm2_ad]
+url = http://165.213.149.200/download/snapshots/tizen/4.0-da-fhub3.0/latest/repos/KANTM2/packages/
+
+#Family Hub 3.0 Emulator AD
+[repo.fhub3.0_emulator32_ad]
+url=http://165.213.149.200/download/snapshots/tizen/4.0-da-fhub3.0/latest/repos/emulator32/packages/
+
+#Tizen 4.0 Base ARM
+[repo.base_arm]
+url=http://165.213.149.200/download/public_mirror/tizen/4.0-base/latest/repos/arm/packages/
+
+#Tizen 4.0 Base Emulator
+[repo.base_emulator32]
+url=http://165.213.149.200/download/public_mirror/tizen/4.0-base/latest/repos/emulator32/packages/
 
 ###############################################
 #
 # Tizen v3.0
 #
-[obs.tizen_v3.0]
+[obs.tizen_3.0]
 url = https://api.tizen.org
 
 ###############################################
 #
 # Tizen v3.0 for tv (arm-wayland)
 #
-[profile.tztv_v3.0_arm-wayland]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_arm, repo.tztv_v3.0_arm-wayland
+[profile.tztv_3.0_arm-wayland]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm, repo.tztv_3.0_arm-wayland
 buildroot = ~/GBS-ROOT-3.0-TV-ARM-WAYLAND
 
 [repo.public_3.0_base_arm]
-url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/
 
-[repo.tztv_v3.0_arm-wayland]
-url = http://download.tizen.org/snapshots/tizen/tv/latest/repos/arm-wayland/packages/
+[repo.tztv_3.0_arm-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-tv/latest/repos/arm-wayland/packages/
 
 ###############################################
 #
 # Tizen v3.0 for tv (arm-wayland), Mirroring Server for HQ developers
 #
-[profile.tztv_v3.0_arm-wayland_mirror]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_arm_mirror, repo.tztv_v3.0_arm-wayland_mirror
+[profile.tztv_3.0_arm-wayland_mirror]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm_mirror, repo.tztv_3.0_arm-wayland_mirror
 buildroot = ~/GBS-ROOT-3.0-TV-ARM-WAYLAND
 
 [repo.public_3.0_base_arm_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/base/latest/repos/arm/packages/
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/arm/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
-[repo.tztv_v3.0_arm-wayland_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/tv/latest/repos/arm-wayland/packages/
+[repo.tztv_3.0_arm-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-tv/latest/repos/arm-wayland/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
@@ -146,48 +408,67 @@ passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 #
 # Tizen v3.0 for tv (emulator32-wayland)
 #
-[profile.tztv_v3.0_emulator-wayland]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_emulator32, repo.tztv_v3.0_emul-wayland
+[profile.tztv_3.0_emulator32-wayland]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_emulator32, repo.tztv_3.0_emul-wayland
 buildroot = ~/GBS-ROOT-3.0-TV-EMUL-WAYLAND
 
 [repo.public_3.0_base_emulator32]
-url = http://download.tizen.org/snapshots/tizen/base/latest/repos/emulator32/packages/
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/emulator32/packages/
+
+[repo.tztv_3.0_emul-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-tv/latest/repos/emulator32-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for tv (emulator32-wayland), Mirroring Server for HQ developers
+#
+[profile.tztv_3.0_emulator32-wayland_mirror]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_emulator32_mirror, repo.tztv_3.0_emul-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-TV-EMUL-WAYLAND
+
+[repo.public_3.0_base_emulator32_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/base/latest/repos/emulator32/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
-[repo.tztv_v3.0_emul-wayland]
-url = http://download.tizen.org/snapshots/tizen/tv/latest/repos/emulator32-wayland/packages/
+[repo.tztv_3.0_emul-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-tv/latest/repos/emulator32-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
 ###############################################
 #
 # Tizen v3.0 for mobile (arm-wayland)
 #
-[profile.tzmb_v3.0_arm-wayland]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_arm, repo.tzmb_v3.0_arm-wayland
+[profile.tzmb_3.0_arm-wayland]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm, repo.tzmb_3.0_arm-wayland
 buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM-WAYLAND
 
 [repo.public_3.0_base_arm]
-url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/
 
-[repo.tzmb_v3.0_arm-wayland]
-url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/arm-wayland/packages/
+[repo.tzmb_3.0_arm-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/repos/arm-wayland/packages/
 
 ###############################################
 #
 # Tizen v3.0 for mobile (arm-wayland), Mirroring Server for HQ developers
 #
-[profile.tzmb_v3.0_arm-wayland_mirror]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_arm_mirror, repo.tzmb_v3.0_arm-wayland_mirror
+[profile.tzmb_3.0_arm-wayland_mirror]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm_mirror, repo.tzmb_3.0_arm-wayland_mirror
 buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM-WAYLAND
 
 [repo.public_3.0_base_arm_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/base/latest/repos/arm/packages/
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/arm/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
-[repo.tzmb_v3.0_arm-wayland_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/mobile/latest/repos/arm-wayland/packages/
+[repo.tzmb_3.0_arm-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-mobile/latest/repos/arm-wayland/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
@@ -195,33 +476,33 @@ passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 #
 # Tizen v3.0 for mobile (arm64-wayland)
 #
-[profile.tzmb_v3.0_arm64-wayland]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_arm64, repo.tzmb_v3.0_arm64-wayland
+[profile.tzmb_3.0_arm64-wayland]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm64, repo.tzmb_3.0_arm64-wayland
 buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM64-WAYLAND
 
 [repo.public_3.0_base_arm64]
-url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm64/packages/
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm64/packages/
 
-[repo.tzmb_v3.0_arm64-wayland]
-url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/arm64-wayland/packages/
+[repo.tzmb_3.0_arm64-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/repos/arm64-wayland/packages/
 
 ###############################################
 #
 # Tizen v3.0 for mobile (arm64-wayland), Mirroring Server for HQ developers
 #
-[profile.tzmb_v3.0_arm64-wayland_mirror]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_arm64_mirror, repo.tzmb_v3.0_arm64-wayland_mirror
+[profile.tzmb_3.0_arm64-wayland_mirror]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm64_mirror, repo.tzmb_3.0_arm64-wayland_mirror
 buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM64-WAYLAND
 
 [repo.public_3.0_base_arm64_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/base/latest/repos/arm64/packages/
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/arm64/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
-[repo.tzmb_v3.0_arm64-wayland_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/mobile/latest/repos/arm64-wayland/packages/
+[repo.tzmb_3.0_arm64-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-mobile/latest/repos/arm64-wayland/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
@@ -229,47 +510,574 @@ passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 #
 # Tizen v3.0 for mobile (emulator-wayland)
 #
-[profile.tzmb_v3.0_emulator-wayland]
-obs = obs.tizen_v3.0
-repos = repo.public_3.0_base_emulator32, repo.tzmb_v3.0_emul-wayland
+[profile.tzmb_3.0_emulator32-wayland]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_emulator32, repo.tzmb_3.0_emul-wayland
 buildroot = ~/GBS-ROOT-3.0-MOBILE-EMUL-WAYLAND
 
 [repo.public_3.0_base_emulator32]
-url = http://download.tizen.org/snapshots/tizen/base/latest/repos/emulator32/packages/
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/emulator32/packages/
+
+[repo.tzmb_3.0_emul-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/repos/emulator32-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for mobile (emulator-wayland), Mirroring Server for HQ developers
+#
+[profile.tzmb_3.0_emulator32-wayland_mirror]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_emulator32_mirror, repo.tzmb_3.0_emul-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-MOBILE-EMUL-WAYLAND
+
+[repo.public_3.0_base_emulator32_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/emulator32/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzmb_3.0_emul-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-mobile/latest/repos/emulator32-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for mobile (emulator64-wayland)
+#
+[profile.tzmb_3.0_emulator64-wayland]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_emulator64, repo.tzmb_3.0_emul64-wayland
+buildroot = ~/GBS-ROOT-3.0-MOBILE-EMUL64-WAYLAND
+
+[repo.public_3.0_base_emulator64]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/emulator64/packages/
+
+[repo.tzmb_3.0_emul64-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/repos/emulator64-wayland/packages/
 
-[repo.tzmb_v3.0_emul-wayland]
-url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/emulator32-wayland/packages/
+###############################################
+#
+# Tizen v3.0 for mobile (emulator64-wayland), Mirroring Server for HQ developers
+#
+[profile.tzmb_3.0_emulator64-wayland_mirror]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_emulator64_mirror, repo.tzmb_3.0_emul64-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-MOBILE-EMUL64-WAYLAND
+
+[repo.public_3.0_base_emulator64_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/emulator64/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzmb_3.0_emul64-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-mobile/latest/repos/emulator64-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
 ###############################################
 #
 # Tizen v3.0 for mobile (armv7l-wayland TM1)
 #
-[profile.tzmb_v3.0_TM1]
-obs = obs.tizen_v3.0
-repos =  repo.public_3.0_base_arm, repo.tzmb_v3.0_TM1
+[profile.tzmb_3.0_target-TM1]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_arm, repo.tzmb_3.0_TM1
 buildroot = ~/GBS-ROOT-3.0-MOBILE-TM1
 
 [repo.public_3.0_base_arm]
-url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/
 
-[repo.tzmb_v3.0_TM1]
-url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/target-TM1/packages/
+[repo.tzmb_3.0_TM1]
+url = http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/repos/target-TM1/packages/
 
 ###############################################
 #
 # Tizen v3.0 for mobile (armv7l-wayland TM1), Mirroring Server for HQ developers
 #
-[profile.tzmb_v3.0_TM1_mirror]
-obs = obs.tizen_v3.0
-repos =  repo.public_3.0_base_arm_mirror, repo.tzmb_v3.0_TM1_mirror
+[profile.tzmb_3.0_target-TM1_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_arm_mirror, repo.tzmb_3.0_TM1_mirror
 buildroot = ~/GBS-ROOT-3.0-MOBILE-TM1
 
 [repo.public_3.0_base_arm_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/base/latest/repos/arm/packages/
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/arm/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzmb_3.0_TM1_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-mobile/latest/repos/target-TM1/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
 
-[repo.tzmb_v3.0_TM1_mirror]
-url = http://165.213.149.200/download/public_mirror/tizen/mobile/latest/repos/target-TM1/packages/
+###############################################
+#
+# Tizen v3.0 for wearable (emulator32-wayland)
+#
+[profile.tzwr_3.0_emulator32-wayland]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_emulator, repo.tzwr_3.0_emulator
+buildroot = ~/GBS-ROOT-3.0-WEARABLE-EMUL
+
+[repo.public_3.0_base_emulator]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/emulator32/packages/
+
+[repo.tzwr_3.0_emulator]
+url = http://download.tizen.org/snapshots/tizen/3.0-wearable/latest/repos/emulator32-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for wearable (emulator32-wayland), Mirroring Server for HQ developers
+#
+[profile.tzwr_3.0_emulator32-wayland_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_emulator_mirror, repo.tzwr_3.0_emulator_mirror
+buildroot = ~/GBS-ROOT-3.0-WEARABLE-EMUL
+
+[repo.public_3.0_base_emulator_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/emulator32/packages/
 user = blinkbot
 passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzwr_3.0_emulator_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-wearable/latest/repos/emulator32-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+##############################################
+#
+# Tizen v3.0 for wearable (target-circle)
+#
+[profile.tzwr_3.0_target-circle]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm, repo.tzwr_3.0_target-circle
+buildroot = ~/GBS-ROOT-3.0-WEARABLE-TARGET-CIRCLE
+
+[repo.public_3.0_base_arm]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/
+
+[repo.tzwr_3.0_target-circle]
+url = http://download.tizen.org/snapshots/tizen/3.0-wearable/latest/repos/target-circle/packages/
+
+###############################################
+#
+# Tizen v3.0 for wearable (target-circle), Mirroring Server for HQ developers
+#
+[profile.tzwr_3.0_target-circle_mirror]
+obs = obs.tizen_3.0
+repos = repo.public_3.0_base_arm_mirror, repo.tzwr_3.0_arm-target-circle_mirror
+buildroot = ~/GBS-ROOT-3.0-WEARABLE-TARGET-CIRCLE
+
+[repo.public_3.0_base_arm_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/arm/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzwr_3.0_arm-target-circle_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-wearable/latest/repos/target-circle/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for wearable (emulator-circle)
+#
+[profile.tzwr_3.0_emulator-circle]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_emulator, repo.tzwr_3.0_emulator-circle
+buildroot = ~/GBS-ROOT-3.0-WEARABLE-EMUL-CIRCLE
+
+[repo.public_3.0_base_emulator]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/emulator32/packages/
+
+[repo.tzwr_3.0_emulator-circle]
+url = http://download.tizen.org/snapshots/tizen/3.0-wearable/latest/repos/emulator-circle/packages/
+
+###############################################
+#
+# Tizen v3.0 for wearable (emulator-circle), Mirroring Server for HQ developers
+#
+[profile.tzwr_3.0_emulator-circle_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_emulator_mirror, repo.tzwr_3.0_emulator-circle_mirror
+buildroot = ~/GBS-ROOT-3.0-WEARABLE-EMUL-CIRCLE
+
+[repo.public_3.0_base_emulator_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/emulator32/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzwr_3.0_emulator-circle_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-wearable/latest/repos/emulator-circle/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for common (armv7l)
+#
+[profile.tzcommon_3.0_arm-wayland]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_arm, repo.tzcommon_3.0_arm-wayland
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_arm]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/
+
+[repo.tzcommon_3.0_arm-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-common/latest/repos/arm-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for common (armv7l), Mirroring Server for HQ developers
+#
+[profile.tzcommon_3.0_arm-wayland_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_arm_mirror, repo.tzcommon_3.0_arm-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_arm_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/arm/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzcommon_3.0_arm-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-common/latest/repos/arm-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for common (arm64-wayland)
+#
+[profile.tzcommon_3.0_arm64-wayland]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_arm64, repo.tzcommon_3.0_arm64-wayland
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_arm64]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm64/packages/
+
+[repo.tzcommon_3.0_arm64-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-common/latest/repos/arm64-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for common (arm64-wayland), Mirroring Server for HQ developers
+#
+[profile.tzcommon_3.0_arm64-wayland_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_arm64_mirror, repo.tzcommon_3.0_arm64-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_arm64_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/arm64/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzcommon_3.0_arm64-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-common/latest/repos/arm64-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for common (emulator32-wayalnd)
+#
+[profile.tzcommon_3.0_emulator32-wayland]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_emul, repo.tzcommon_3.0_emul-wayland
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_emul]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/emulator32/packages/
+
+[repo.tzcommon_3.0_emul-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-common/latest/repos/emulator32-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for common (emulator32-wayland), Mirroring Server for HQ developers
+#
+[profile.tzcommon_3.0_emulator32-wayland_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_emul_mirror, repo.tzcommon_3.0_emul-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_emul_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/emulator32/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzcommon_3.0_emul-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-common/latest/repos/emulator32-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for common (ia32)
+#
+[profile.tzcommon_3.0_ia32-wayland]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_ia32, repo.tzcommon_3.0_ia32-wayland
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_ia32]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/ia32/packages/
+
+[repo.tzcommon_3.0_ia32-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-common/latest/repos/ia32-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for common (ia32), Mirroring Server for HQ developers
+#
+[profile.tzcommon_3.0_ia32-wayland_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_ia32_mirror, repo.tzcommon_3.0_ia32-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_ia32_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/ia32/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzcommon_3.0_ia32-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-common/latest/repos/ia32-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for common (x86_64)
+#
+[profile.tzcommon_3.0_x86-wayland]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_x86, repo.tzcommon_3.0_x86-wayland
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_x86]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/x86_64/packages/
+
+[repo.tzcommon_3.0_x86-wayland]
+url = http://download.tizen.org/snapshots/tizen/3.0-common/latest/repos/x86_64-wayland/packages/
+
+###############################################
+#
+# Tizen v3.0 for common (x86_64), Mirroring Server for HQ developers
+#
+[profile.tzcommon_3.0_x86-wayland_mirror]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_x86_mirror, repo.tzcommon_3.0_x86-wayland_mirror
+buildroot = ~/GBS-ROOT-3.0-COMMON
+
+[repo.public_3.0_base_x86_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-base/latest/repos/x86_64/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+[repo.tzcommon_3.0_x86-wayland_mirror]
+url = http://165.213.149.200/download/public_mirror/tizen/3.0-common/latest/repos/x86_64-wayland/packages/
+user = blinkbot
+passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
+
+###############################################
+#
+# Tizen v3.0 for ivi (armv7l)
+#
+[profile.tzivi_3.0_arm]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_arm, repo.tzivi_3.0_arm
+buildroot = ~/GBS-ROOT-3.0-IVI
+
+[repo.public_3.0_base_arm]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/
+
+[repo.tzivi_3.0_arm]
+url = http://download.tizen.org/snapshots/tizen/3.0-ivi/latest/repos/arm/packages/
+
+###############################################
+#
+# Tizen v3.0 for ivi (emulator)
+#
+[profile.tzivi_3.0_emulator]
+obs = obs.tizen_3.0
+repos =  repo.public_3.0_base_emul, repo.tzivi_3.0_emul
+buildroot = ~/GBS-ROOT-3.0-IVI
+
+[repo.public_3.0_base_emul]
+url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/emulator32/packages/
+
+[repo.tzivi_3.0_emul]
+url = http://download.tizen.org/snapshots/tizen/3.0-ivi/latest/repos/emulator/packages/
+
+#############################################
+#
+# Tizen v3.0 for product tv (JazzM armv7l)
+#
+[profile.tztv_3.0_arm-jazzm]
+obs = obs.tizen_product_tv
+repos = repo.tv_product_3.0_jazzm, repo.tv_product_3.0_base, repo.tv_product_3.0_toolchain
+buildroot = ~/GBS-ROOT-3.0-TV-PRODUCT-JAZZM
+
+[repo.tv_product_3.0_base]
+url=http://168.219.244.109/tizen-rsa/tizen-3.0-base-main2017/standard/latest/repos/base/armv7l/packages/
+
+[repo.tv_product_3.0_toolchain]
+url=http://168.219.244.109/tizen-rsa/tizen-3.0-base-toolchain/standard/latest/repos/base/armv7l/packages/
+
+[repo.tv_product_3.0_jazzm]
+url=http://168.219.244.109/releases/tizen-3.0-product-main2017/product/JazzM/latest/repos/product/armv7l/packages/
+
+#############################################
+#
+# Tizen v3.0 for product tv overseas (JazzM armv7l)
+#
+[profile.tztv_3.0_arm-jazzm_overseas]
+obs = obs.tizen_product_tv
+repos = repo.tv_product_3.0_jazzm_overseas, repo.tv_product_3.0_base_jazzm_overseas
+buildroot = ~/GBS-ROOT-3.0-TV-PRODUCT-JAZZM
+
+[repo.tv_product_3.0_base_overseas]
+url=http://10.103.211.119/tizen-rsa/tizen-3.0-base-main2017/standard/latest/repos/base/armv7l/packages/
+
+[repo.tv_product_3.0_toolchain_overseas]
+url=http://10.103.211.119/tizen-rsa/tizen-3.0-base-toolchain/standard/latest/repos/base/armv7l/packages/
+
+[repo.tv_product_3.0_jazzm_overseas]
+url=http://10.103.211.119/releases/tizen-3.0-product-main2017/product/JazzM/latest/repos/product/armv7l/packages/
+
+#############################################
+#
+# Tizen v3.0 for product tv (emulator)
+#
+[profile.tztv_3.0_emulator32_product]
+obs = obs.tizen_product_tv
+repos = repo.tv_product_3.0_emulator32_product, repo.tv_product_3.0_base_emulator32_product
+buildroot = ~/GBS-ROOT-3.0-TV-PRODUCT-EMULATOR32
+
+[repo.tv_product_3.0_base_emulator32_product]
+url=http://168.219.244.109/tizen-rsa/tizen-3.0-base-main2017/emulator32/latest/repos/base/ia32/packages/
+
+[repo.tv_product_3.0_emulator32_product]
+url=http://168.219.244.109/releases/tizen-3.0-product-main2017/product/emulator32/latest/repos/product/ia32/packages/
+
+#############################################
+#
+# Tizen v3.0 for product tv (KantM armv7l)
+#
+[profile.tztv_3.0_arm-kantm]
+obs = obs.tizen_product_tv
+repos = repo.tv_product_3.0_kantm, repo.tv_product_3.0_base, repo.tv_product_3.0_toolchain
+buildroot = ~/GBS-ROOT-3.0-TV-PRODUCT-KANTM_XWALK
+
+[repo.tv_product_3.0_base]
+url=http://168.219.244.109/tizen-rsa/tizen-3.0-base-main2017/standard/latest/repos/base/armv7l/packages/
+
+[repo.tv_product_3.0_toolchain]
+url=http://168.219.244.109/tizen-rsa/tizen-3.0-base-toolchain/standard/latest/repos/base/armv7l/packages/
+
+[repo.tv_product_3.0_kantm]
+url=http://168.219.244.109/releases/tizen-3.0-product-main2017/product/KantM/latest/repos/product/armv7l/packages/
+
+###############################################
+#
+# Tizen v2.4 for mobile
+#
+[profile.tizenmb_v2.4]
+obs = obs.tizenmb
+# The order is IMPORTANT!
+repos = repo.tizenmb_supplement_v2.4, repo.devel_gcc49_base_standard, repo.spin_2.4_mobile_target_tm1
+buildroot = ~/GBS-ROOT-2.4-DEV
+
+[repo.spin_2.4_mobile_target_tm1]
+url = http://168.219.209.55/download/snapshots/2.4-mobile/common/latest/repos/target-TM1/packages/
+
+[repo.devel_gcc49_base_standard]
+url = http://168.219.209.55/download/snapshots/2.4-base/common/latest/repos/standard/packages/
+
+[repo.tizenmb_supplement_v2.4]
+url = http://10.251.52.177/tizenrepo/eur-open/supplement_mobile_v2.4/
+
+###############################################
+#
+# Tizen v2.4 for emulator(i586)
+#
+[profile.tizen_emulator_v2.4]
+obs = obs.tizenmb
+# The order is IMPORTANT!
+repos = repo.spin_2.4_mobile_emulator, repo.devel_gcc49_base_emulator
+buildroot = ~/GBS-ROOT-2.4-DEV
+
+[repo.spin_2.4_mobile_emulator]
+url = http://168.219.209.55/download/snapshots/2.4-mobile/common/latest/repos/emulator/packages/
+
+[repo.devel_gcc49_base_emulator]
+url = http://168.219.209.55/download/live/devel:/gcc49:/Base/emulator/
+
+###############################################
+#
+# Tizen v2.3 for mobile
+#
+[profile.tizenmb_v2.3]
+obs = obs.tizenmb
+# The order is IMPORTANT!
+repos = repo.tizenmb_supplement_v2.3, repo.tizenmb_supplement_chromium_v2.3, repo.tizenmb_base_v2.3
+buildroot = ~/GBS-ROOT-2.3-DEV
+
+[repo.tizenmb_supplement_v2.3]
+url = http://10.251.52.177/tizenrepo/eur-open/supplement_v2.3
+
+[repo.tizenmb_base_v2.3]
+url = http://10.251.52.177/tizenrepo/eur-open/PtnZ910FXX_20141020.002
+
+# Supplementary repo for chromium
+[repo.tizenmb_supplement_chromium_v2.3]
+url = http://10.251.52.177/tizenrepo/eur-open/supplement_mobile_chromium_orange_v2.3_1
+
+###############################################
+#
+# Tizen v2.1 for mobile
+#
+[profile.tizenmb_v2.1]
+passwdx =
+obs = obs.tizenmb
+# The order is IMPORTANT!
+repos = repo.tizenmb_supplement, repo.tizenmb_base
+buildroot = ~/GBS-ROOT
+
+[obs.tizenmb]
+url = http://slp-build.sec.samsung.net:81
+
+# base repo
+[repo.tizenmb_base]
+url = http://10.251.52.177/tizenrepo/jpn-dcm/Redwood8974JPNDCM_20131218.006
+
+# Supplementary repo for additional rpms packages required in gbs build
+[repo.tizenmb_supplement]
+url = http://10.251.52.177/tizenrepo/jpn-dcm/supplement
+
+#############################################
+#
+# Tizen v2.4 for product tv (HawkP armv7l)
+#
+[profile.tztv_v2.4_product]
+obs = obs.tztv_v2.4_product
+repos = repo.supplement, repo.product_2016, repo.base_2016
+buildroot = ~/GBS-ROOT-2.4-TV-PRODUCT-ARM-X11
+
+[repo.base_2016]
+url=http://168.219.244.109/tizen-rsa/tztv-2.4-base-main2016/standard/latest/repos/base/armv7l/packages/
+
+[repo.product_2016]
+# TODO: The latest tizen_v2.4 product repository is unstable.
+#       It is better to stay at tztv-2.4-main2016-hawk-p_20150905.1 version until the latest will be stable.
+#url=http://168.219.244.109/releases/tztv-2.4-product-main2016/product/Hawk-P/latest/repos/product/armv7l/packages/
+url=http://168.219.244.109/releases/tztv-2.4-product-main2016/product/Hawk-P/tztv-2.4-main2016-hawk-p_20150905.1/repos/product/armv7l/packages/
+
+[repo.supplement]
+url=http://10.251.52.177/tizenrepo/tv_repo/supplement_tizen_v2.4_product/
+
+[obs.tztv_v2.4_product]
+url = https://168.219.241.169:81
+user = obs_viewer
+passwdx = obs_viewer_169
index a51f533..8f9b37a 100755 (executable)
@@ -8,11 +8,6 @@ import subprocess
 import sys
 
 top_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
-if '--xwalk' in sys.argv:
-  xwalk_dir = os.path.join(top_dir, '..', 'xwalk')
-  sys.argv.remove('--xwalk')
-else:
-  xwalk_dir = None
 chrome_src = os.environ.get('CHROME_SRC')
 if chrome_src:
   chrome_src = os.path.abspath(chrome_src)
@@ -123,8 +118,7 @@ if __name__ == '__main__':
   os.environ["CHROMIUM_BUILDTOOLS_PATH"]=os.path.join(chrome_src, "buildtools")
 
   #notifications -> enable_notifications in build/config/features.gni
-  #args[arg] += " ewk_bringup=false xwalk_link_against_chromium_ewk=false notifications=false"
-  args[arg] += " xwalk_link_against_chromium_ewk=false"
+  #args[arg] += " ewk_bringup=false notifications=false"
 
   args[arg] += " gcc_version=49"  # It should be in condition for arm target
 
@@ -144,7 +138,7 @@ if __name__ == '__main__':
       buildtools_path = os.path.join(buildtools_path, "../tizen_src/")
       subdir = 'buildtools'
     else:
-      raise Error('Unknown platform: ' + sys.platform)
+      raise Error('The subdir is not set.')
 
     bin_path = os.path.join(buildtools_path, subdir)
 
index 4a64ab7..a5f2fb7 100755 (executable)
@@ -42,12 +42,6 @@ while [[ $# > 0 ]]; do
     #use_wayland=true)
     #  use_wayland=true
     #  ;;
-    --xwalk)
-      building_xwalk=1
-      ;;
-    building_crosswalk_bin=*)
-      building_xwalk_for_development=1
-      ;;
   esac
   shift;
 done
@@ -70,8 +64,7 @@ if [ "$ORIGINAL_GN_DEFINES" != "$GN_DEFINES" ]; then
     echo "Removing component=shared_library from GN_DEFINES."
 fi
 
-COMMON_GN_PARAMETERS="
-                      use_libjpeg_turbo=true
+COMMON_GN_PARAMETERS="use_libjpeg_turbo=true
                       proprietary_codecs=true
                       use_alsa=false
                       use_aura=false
@@ -89,72 +82,57 @@ COMMON_GN_PARAMETERS="
                       disable_fatal_linker_warnings=true
                       depth=\"${TOPDIR}\"
                       use_libpci=false
-                      "
-                      # Moved it in //tizen_src/build/config/BUILDCONFIG.gn
-                      # use_efl=true
-                      # declared also from build config
-                      # is_desktop_linux=false
-                      # declared also from //build/config/features.gni
-                      # proprietary_codecs=true
-                      # enable_plugins=true
+                     "
 
 SYSTEM_DEPS="--system-libraries
              libpng
             "
 
-if [ "$building_xwalk" == "1" ] && [ "$building_xwalk_for_development" != "1" ]; then
-  COMMON_GN_PARAMETERS+="
-                         xwalk_link_against_chromium_ewk=true
-                         "
-fi
-
 add_desktop_flags() {
   clang="true"
   if [ "$USECLANG" == "0" ]; then
     clang="false"
   fi
   ADDITIONAL_GN_PARAMETERS+="building_for_tizen=false
-                              building_for_tizen_mobile=false
-                              building_for_tizen_tv=false
-                              is_clang=${clang}
-                              werror=false
-                              use_sysroot=false
-                              use_wayland=false
-                              target_os="\"linux\""
-                              target_cpu=\"${host_arch}\"
-                             "
+                             building_for_tizen_mobile=false
+                             building_for_tizen_tv=false
+                             is_clang=${clang}
+                             werror=false
+                             use_sysroot=false
+                             use_wayland=false
+                             target_os="\"linux\""
+                             target_cpu=\"${host_arch}\"
+                            "
 }
 
 add_arm_flags() {
-  ADDITIONAL_GN_PARAMETERS+="armv7=true
-                              arm_thumb=true
-                              arm_use_neon=true
-                             "
+  ADDITIONAL_GN_PARAMETERS+="arm_use_neon=true
+                            "
 }
 
 add_tizen_flags() {
   ADDITIONAL_GN_PARAMETERS+="building_for_tizen=true
-                              python_ver=\"$(getPythonVersion)\"
-                              enable_basic_printing=true
-                              enable_print_preview=true
-                              is_clang=false
-                              linux_use_bundled_binutils=false
-                              enable_nacl=false
-                              tizen_multimedia_eme_support=false
-                              target_os="\"tizen\""
-                              current_cpu=\"${host_arch}\"
-                              host_cpu=\"${host_arch}\"
-                              target_cpu=\"${host_arch}\"
-                             "
-                              # We do not need it
-                              # tizen=true
-                              # not used any place
-                              # linux_use_bundled_gold=false
-                              # declared also from //build/config/features.gni
-                              #enable_basic_printing=true
-                              #enable_print_preview=true
-                              #It is defined from //build/toolchain/gcc_toolchain.gni
-                              #is_clang=false
+                             python_ver=\"$(getPythonVersion)\"
+                             enable_basic_printing=true
+                             is_clang=false
+                             linux_use_bundled_binutils=false
+                             enable_nacl=false
+                             tizen_multimedia_eme_support=false
+                             target_os="\"tizen\""
+                             current_cpu=\"${host_arch}\"
+                             host_cpu=\"${host_arch}\"
+                             target_cpu=\"${host_arch}\"
+                             v8_snapshot_toolchain=\"//tizen_src/build/toolchain/tizen:$host_arch\"
+                            "
+
+  # FIXME : Note that the v8_snapshot_toolchain has been set to wrong
+  # toolchain clang in x64 build even is_clang is false.
+  # This sets it to toolchain gcc forcibly as workaround.
+  # It needs to be set to the toolchain gcc under is_clang is false.
+  if [ "$host_arch" == "x64" ]; then
+    ADDITIONAL_GN_PARAMETERS+="v8_snapshot_toolchain=\"//tizen_src/build/toolchain/tizen:x64\"
+                              "
+  fi
 
   # TODO(youngsoo): Once binutils-gold issue on tizen v3.0 ARM 64bit is fixed,
   #                 make the latest tizen version unconditional.
@@ -163,28 +141,26 @@ add_tizen_flags() {
     #            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15383
     ADDITIONAL_GN_PARAMETERS+="linux_use_gold_flags=true
                               "
-                                #prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild\"
-                               #"
   elif [ "$tizen_version" == "24" -a "$target" == "tv" ]; then
     ADDITIONAL_GN_PARAMETERS+="linux_use_gold_flags=false
-                                prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild/tizen_v2.4_tv\"
-                               "
+                               prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild/tizen_v2.4_tv\"
+                              "
   else
     ADDITIONAL_GN_PARAMETERS+="linux_use_gold_flags=false
-                                prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild\"
-                               "
+                               prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild\"
+                              "
   fi
 
   if [ "$tizen_version" == "30" ]; then
     # [M49_2623] Temporary disabling the flag.
     #            FIXME: http://165.213.149.170/jira/browse/TWF-610
     ADDITIONAL_GN_PARAMETERS+="tizen_multimedia_support=false
-                                tizen_tbm_support=false
-                               "
+                               tizen_tbm_support=false
+                              "
   else
     ADDITIONAL_GN_PARAMETERS+="tizen_multimedia_support=false
-                                werror=false
-                               "
+                               werror=false
+                              "
   fi
 
   # use_wayland come from spec file and based on that wayland_bringup sets in tizen_features.gni
@@ -194,12 +170,12 @@ add_tizen_flags() {
 add_wayland_flags() {
   if [ "$use_wayland" == "true" ]; then
     ADDITIONAL_GN_PARAMETERS+="use_wayland=true
-                                wayland_bringup=true
-                               "
+                               wayland_bringup=true
+                              "
   else
     ADDITIONAL_GN_PARAMETERS+="use_wayland=false
-                                wayland_bringup=false
-                               "
+                               wayland_bringup=false
+                              "
   fi
 }
 
@@ -216,7 +192,7 @@ add_cross_flags() {
   ADDITIONAL_GN_PARAMETERS+="target_cpu=\"arm\"
                              sysroot=\"$SYSROOTDIR\"
                              arm_tune=\"arm7\"
-                             "
+                            "
 
   # Compiling yasm with crosscompile + icecc leads to some strange errors (one file is built for target instead of host).
   # Yasm is an assembler used only by the build (not at runtime) and it is generally available in Linux distros so let's just
index 699f672..d22e48c 100644 (file)
@@ -7,12 +7,21 @@ import("//build/toolchain/gcc_toolchain.gni")
 
 template("tizen_gcc_toolchain") {
   gcc_toolchain(target_name) {
-    is_clang = invoker.is_clang
-    if (is_clang) {
-      prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
-                           root_build_dir)
-      cc = "$prefix/clang"
-      cxx = "$prefix/clang++"
+    assert(defined(invoker.toolchain_args),
+           "toolchain_args must be defined for tizen_gcc_toolchain()")
+    toolchain_args = invoker.toolchain_args
+    toolchain_args.current_os = "tizen"
+
+    if (defined(toolchain_args.is_clang)) {
+      toolchain_uses_clang = toolchain_args.is_clang
+    } else {
+      toolchain_uses_clang = is_clang
+    }
+
+    if (toolchain_uses_clang) {
+      _prefix = rebase_path("$clang_base_path/bin", root_build_dir)
+      cc = "$_prefix/clang"
+      cxx = "$_prefix/clang++"
     } else {
       cc = "gcc"
       cxx = "g++"
@@ -27,44 +36,53 @@ template("tizen_gcc_toolchain") {
     # Don't use .cr.so for loadable_modules since they are always loaded via
     # absolute path.
     loadable_module_extension = ".so"
-
-    toolchain_os = "tizen"
-    toolchain_cpu = invoker.toolchain_cpu
-    use_goma = false
   }
 }
 
 template("tizen_gcc_toolchains_helper") {
   tizen_gcc_toolchain(target_name) {
-    toolchain_cpu = invoker.toolchain_cpu
+    forward_variables_from(invoker, "*")
+    toolchain_args.is_clang = false
   }
 
   tizen_gcc_toolchain("clang_$target_name") {
-    toolchain_cpu = invoker.toolchain_cpu
-    is_clang = true
+    forward_variables_from(invoker, "*")
+    toolchain_args.is_clang = true
   }
 }
 
 tizen_gcc_toolchains_helper("x86") {
-  toolchain_cpu = "x86"
+  toolchain_args = {
+    current_cpu = "x86"
+  }
 }
 
 tizen_gcc_toolchains_helper("arm") {
-  toolchain_cpu = "arm"
+  toolchain_args = {
+    current_cpu = "arm"
+  }
 }
 
 tizen_gcc_toolchains_helper("mipsel") {
-  toolchain_cpu = "mipsel"
+  toolchain_args = {
+    current_cpu = "mipsel"
+  }
 }
 
 tizen_gcc_toolchains_helper("x64") {
-  toolchain_cpu = "x86_64"
+  toolchain_args = {
+    current_cpu = "x64"
+  }
 }
 
 tizen_gcc_toolchains_helper("arm64") {
-  toolchain_cpu = "aarch64"
+  toolchain_args = {
+    current_cpu = "arm64"
+  }
 }
 
 tizen_gcc_toolchains_helper("mips64el") {
-  toolchain_cpu = "mipsel64el"
+  toolchain_args = {
+    current_cpu = "mips64el"
+  }
 }
diff --git a/tizen_src/chromium-efl-gn.patch b/tizen_src/chromium-efl-gn.patch
deleted file mode 100644 (file)
index 0c0514d..0000000
+++ /dev/null
@@ -1,5851 +0,0 @@
-diff --git a/.gn b/.gn
-new file mode 100644
-index 0000000..53ef4d0
---- /dev/null
-+++ b/.gn
-@@ -0,0 +1,253 @@
-+# This file is used by the GN meta build system to find the root of the source
-+# tree and to set startup options. For documentation on the values set in this
-+# file, run "gn help dotfile" at the command line.
-+
-+# The location of the build configuration file.
-+buildconfig = "//tizen_src/build/config/BUILDCONFIG.gn"
-+
-+# The secondary source root is a parallel directory tree where
-+# GN build files are placed when they can not be placed directly
-+# in the source tree, e.g. for third party source trees.
-+secondary_source = "//build/secondary/"
-+
-+# These are the targets to check headers for by default. The files in targets
-+# matching these patterns (see "gn help label_pattern" for format) will have
-+# their includes checked for proper dependencies when you run either
-+# "gn check" or "gn gen --check".
-+check_targets = [
-+  #"//apps/*",  # Medium-hard.
-+  "//ash/*",
-+  "//base/*",
-+  "//blink/*",
-+  "//breakpad/*",
-+  "//build/*",
-+  "//cc/*",
-+
-+  #"//chrome/*",  # Epic number of errors.
-+  "//chrome/app/*",
-+  "//chrome/common/*",
-+  "//chrome/installer/*",
-+  "//chrome/third_party/mozilla_security_manager/*",
-+  "//chrome/tools/*",
-+  "//chrome/utility/*",
-+  "//chromecast/*",
-+  "//chrome_elf/*",
-+  "//cloud_print/*",
-+  "//components/*",
-+
-+  #"//content/*",  # A whole lot of errors.
-+  "//content/gpu/*",
-+  "//content/public/*",
-+  "//content/renderer/*",
-+
-+  #"//content/shell/*",  # Needs Android fix, bug 597020.
-+
-+  #"//content/test/*",  # A couple of errors left.
-+  "//content/test:content_gl_benchmark",
-+  "//content/test:content_gl_tests",
-+  "//content/test:content_perftests",
-+  "//content/test:content_site_isolation_browsertests",
-+  "//content/test:content_test_mojo_bindings",
-+  "//content/test:content_unittests",
-+  "//content/test:test_support",
-+  "//courgette/*",
-+  "//crypto/*",
-+  "//data/*",
-+  "//dbus/*",
-+  "//device/*",
-+
-+  #"//extensions/*",  # Lots of errors.
-+  "//gin/*",
-+  "//google_apis/*",
-+  "//google_update/*",
-+  "//gpu/*",
-+
-+  #"//ios/*",
-+  "//ipc/*",
-+
-+  #"//jingle/*",
-+  "//mash/*",
-+
-+  #"//media/*",  # Lots of errors.
-+  "mojo/*",
-+
-+  #"//native_client/*",
-+  "//net/*",
-+
-+  #"//pdf/*",  # Medium-hard.
-+  #"//ppapi/*",  # Lots of errors.
-+  "//ppapi/examples/*",
-+  "//printing/*",
-+
-+  #"//remoting/*",  # Medium-hard.
-+  "//rlz/*",
-+
-+  #"//sandbox/*",  # Medium-hard.
-+  "//sdch/*",
-+  "//skia/*",
-+  "//sql/*",
-+  "//storage/*",
-+  "//sync/*",
-+  "//testing/*",
-+
-+  #"//third_party/*",  # May not ever want this.
-+  "//third_party/hunspell/*",
-+  "//third_party/kasko/*",
-+  "//third_party/libaddressinput/*",
-+  "//third_party/libphonenumber/*",
-+  "//third_party/blink/renderer/*",
-+  "//tools/*",
-+
-+  #"//ui/*",  # Work left on Chromeos w/ use_ozone. Some parts of UI that work:
-+  "//ui/accessibility/*",
-+  "//ui/android/*",
-+  "//ui/app_list/*",
-+  "//ui/aura/*",
-+  "//ui/aura_extra/*",
-+  "//ui/base/*",
-+  "//ui/chromeos/*",
-+  "//ui/compositor/*",
-+  "//ui/display/*",
-+  "//ui/events:events",  # Specifically avoid //ui/events/ozone
-+  "//ui/events:events_base",
-+  "//ui/events:events_unittests",
-+  "//ui/file_manager/*",
-+  "//ui/gfx/*",
-+  "//ui/gl/*",
-+  "//ui/keyboard/*",
-+  "//ui/login/*",
-+  "//ui/message_center/*",
-+  "//ui/mojo/*",
-+  "//ui/native_theme/*",
-+  "//ui/platform_window/*",
-+  "//ui/resources/*",
-+  "//ui/shell_dialogs/*",
-+  "//ui/snapshot/*",
-+  "//ui/strings/*",
-+  "//ui/surface/*",
-+  "//ui/touch_selection/*",
-+  "//ui/views/*",
-+  "//ui/views_content_client/*",
-+  "//ui/web_dialogs/*",
-+  "//ui/webui/*",
-+  "//ui/wm/*",
-+  "//url/*",
-+  "//v8/*",
-+  "//win8/*",
-+]
-+
-+# These are the list of GN files that run exec_script. This whitelist exists
-+# to force additional review for new uses of exec_script, which is strongly
-+# discouraged except for gypi_to_gn calls.
-+exec_script_whitelist = [
-+  "//android_webview/BUILD.gn",
-+  "//ash/BUILD.gn",
-+  "//build/config/BUILD.gn",
-+  "//build/config/android/config.gni",
-+  "//build/config/android/internal_rules.gni",
-+  "//build/config/android/rules.gni",
-+  "//build/config/compiler/BUILD.gn",
-+  "//build/config/gcc/gcc_version.gni",
-+  "//build/config/ios/ios_sdk.gni",
-+  "//build/config/linux/BUILD.gn",
-+  "//build/config/linux/pkg_config.gni",
-+  "//build/config/mac/mac_sdk.gni",
-+  "//build/config/posix/BUILD.gn",
-+  "//build/config/sysroot.gni",
-+  "//build/config/win/BUILD.gn",
-+  "//build/config/win/visual_studio_version.gni",
-+  "//build/gn_helpers.py",
-+  "//build/gypi_to_gn.py",
-+  "//build/linux/BUILD.gn",
-+  "//build/toolchain/concurrent_links.gni",
-+  "//build/toolchain/gcc_toolchain.gni",
-+  "//build/toolchain/mac/BUILD.gn",
-+  "//build/toolchain/nacl/BUILD.gn",
-+  "//build/toolchain/win/BUILD.gn",
-+  "//build/util/version.gni",
-+  "//chrome/android/BUILD.gn",
-+  "//chrome/browser/BUILD.gn",
-+  "//chrome/browser/chromeos/BUILD.gn",
-+  "//chrome/browser/extensions/BUILD.gn",
-+  "//chrome/browser/resources/chromeos/chromevox/BUILD.gn",
-+  "//chrome/browser/media/router/BUILD.gn",
-+  "//chrome/browser/ui/BUILD.gn",
-+  "//chrome/chrome_tests.gni",
-+  "//chrome/common/BUILD.gn",
-+  "//chrome/common/extensions/api/schemas.gni",
-+  "//chrome/renderer/BUILD.gn",
-+  "//chrome/test/BUILD.gn",
-+  "//chrome/utility/BUILD.gn",
-+  "//chromeos/BUILD.gn",
-+
-+  # TODO(dgn): Layer violation but breaks the build otherwise, see
-+  # https://crbug.com/474506
-+  "//clank/java/BUILD.gn",
-+  "//clank/native/BUILD.gn",
-+
-+  "//components/domain_reliability/BUILD.gn",
-+  "//content/browser/browser.gni",
-+  "//content/child/child.gni",
-+  "//content/common/common.gni",
-+  "//content/public/android/BUILD.gn",
-+  "//content/renderer/renderer.gni",
-+  "//content/test/BUILD.gn",
-+  "//content/utility/utility.gni",
-+  "//extensions/common/api/schemas.gni",
-+  "//extensions/extensions.gni",
-+  "//extensions/shell/app_shell.gni",
-+  "//extensions/shell/common/api/schemas.gni",
-+  "//google_apis/BUILD.gn",
-+  "//gpu/gles2_conform_support/BUILD.gn",
-+  "//gpu/khronos_glcts_support/BUILD.gn",
-+  "//jingle/BUILD.gn",
-+  "//net/BUILD.gn",
-+  "//ppapi/ppapi_sources.gni",
-+  "//printing/BUILD.gn",
-+  "//remoting/host/BUILD.gn",
-+  "//remoting/remoting_srcs.gni",
-+  "//remoting/remoting_version.gni",
-+  "//skia/BUILD.gn",
-+  "//sync/protocol/protocol_sources.gni",
-+  "//third_party/android_platform/BUILD.gn",
-+  "//third_party/angle/BUILD.gn",
-+  "//third_party/angle/src/tests/BUILD.gn",
-+  "//third_party/boringssl/BUILD.gn",
-+  "//third_party/catapult/tracing/BUILD.gn",
-+  "//third_party/cld_2/BUILD.gn",
-+  "//third_party/cython/rules.gni",
-+  "//third_party/google_input_tools/inputview.gni",
-+  "//third_party/harfbuzz-ng/BUILD.gn",
-+  "//third_party/libaddressinput/BUILD.gn",
-+  "//third_party/opus/BUILD.gn",
-+  "//third_party/openh264/BUILD.gn",
-+  "//third_party/blink/renderer/bindings/bindings.gni",
-+  "//third_party/blink/renderer/bindings/scripts/scripts.gni",
-+  "//third_party/blink/renderer/config.gni",
-+  "//third_party/blink/renderer/core/core.gni",
-+  "//third_party/blink/renderer/devtools/BUILD.gn",
-+  "//third_party/blink/renderer/modules/modules.gni",
-+  "//third_party/blink/renderer/platform/BUILD.gn",
-+  "//third_party/blink/renderer/platform/platform.gni",
-+  "//third_party/blink/renderer/web/BUILD.gn",
-+  "//third_party/blink/renderer/wtf/BUILD.gn",
-+  "//third_party/blink/public/BUILD.gn",
-+  "//tools/gn/BUILD.gn",
-+  "//tools/gn/build_settings.h",
-+  "//tools/gn/command_help.cc",
-+  "//tools/gn/docs/language.md",
-+  "//tools/gn/format_test_data/053.gn",
-+  "//tools/gn/format_test_data/053.golden",
-+  "//tools/gn/format_test_data/055.gn",
-+  "//tools/gn/format_test_data/055.golden",
-+  "//tools/gn/function_exec_script.cc",
-+  "//tools/gn/gn.gyp",
-+  "//tools/gn/input_conversion.cc",
-+  "//tools/gn/misc/emacs/gn.el",
-+  "//tools/gn/misc/vim/syntax/gn.vim",
-+  "//tools/gn/setup.cc",
-+  "//ui/accessibility/BUILD.gn",
-+  "//ui/views/BUILD.gn",
-+  "//v8/test/cctest/BUILD.gn",
-+  "//v8/test/unittests/BUILD.gn",
-+]
-diff --git a/BUILD.gn b/BUILD.gn
-new file mode 100644
-index 0000000..3550d31
---- /dev/null
-+++ b/BUILD.gn
-@@ -0,0 +1,18 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+#import("//build/config/features.gni")
-+#import("//tizen_src/supplement.gni")
-+#import("//build/config/sanitizers/sanitizers.gni")
-+#import("//build/config/ui.gni")
-+#import("//build_overrides/v8.gni")
-+#import("//media/media_options.gni")
-+#import("//third_party/openh264/openh264_args.gni")
-+
-+group("tizen_src_root") {
-+  testonly = true
-+  deps = [
-+    "//tizen_src/ewk:chromium_efl_all"
-+  ]
-+}
-diff --git a/build/BUILD.gn b/build/BUILD.gn
-new file mode 100644
-index 0000000..4b125f2
---- /dev/null
-+++ b/build/BUILD.gn
-@@ -0,0 +1,596 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+import("//tizen_src/build/config/linux/pkg_config.gni")
-+
-+config("evas") {
-+  ldflags = [ "-levas" ]
-+}
-+
-+tizen_pkg_config("libevas") {
-+  packages = [ "evas" ]
-+}
-+
-+config("evas-public") {
-+  #cflags = [ "-evas" ]
-+}
-+
-+config("ecore") {
-+  #TODO: toolsets may be required
-+  #'toolsets': ['host', 'target'],
-+  ldflags = [ "-lecore" ]
-+}
-+
-+tizen_pkg_config("libecore") {
-+  #TODO: toolsets may be required
-+  #'toolsets': ['host', 'target'],
-+  packages = [ "ecore" ]
-+}
-+
-+config("ecore-imf-evas") {
-+  ldflags = [ "-lecore_imf_evas" ]
-+}
-+
-+tizen_pkg_config("libecore-imf-evas") {
-+  packages = [ "ecore-imf-evas" ]
-+}
-+
-+config("ecore-imf-evas-public") {
-+}
-+
-+config("ecore-x") {
-+  if (!use_wayland) {
-+    ldflags = [ "-lecore_x" ]
-+  }
-+}
-+
-+tizen_pkg_config("libecore-x") {
-+  packages = []
-+  if (!use_wayland) {
-+    packages = [ "ecore-x" ]
-+  }
-+}
-+
-+config("ecore-x-public") {
-+  if (!use_wayland) {
-+    #cflags = [ "-ecore-x" ]
-+  }
-+}
-+
-+config("ecore-wayland") {
-+  if (building_for_tizen && use_wayland) {
-+    ldflags = [ "-lecore_wayland" ]
-+  }
-+}
-+
-+tizen_pkg_config("libecore-wayland") {
-+  packages = []
-+  if (building_for_tizen && use_wayland) {
-+    packages = [ "ecore-wayland" ]
-+  }
-+}
-+
-+config("ecore-wayland-public") {
-+  if (building_for_tizen && use_wayland) {
-+    cflags = [ "-ecore-wayland" ]
-+  }
-+}
-+
-+config("ecore-evas") {
-+  ldflags = [ "-lecore_evas" ]
-+}
-+
-+tizen_pkg_config("libecore-evas") {
-+  packages = [ "ecore-evas" ]
-+}
-+
-+config("ecore-evas-public") {
-+}
-+
-+config("ecore-input") {
-+  ldflags = [ "-lecore_input" ]
-+}
-+
-+tizen_pkg_config("libecore-input") {
-+  packages = [ "ecore-input" ]
-+}
-+
-+config("ecore-input-public") {
-+  cflags = [ "-ecore-input" ]
-+}
-+
-+config("elementary") {
-+  ldflags = [
-+    "-lelementary",
-+    "-leet",
-+    "-lefreet",
-+    "-lefreet_mime",
-+    "-lefreet_trash",
-+  ]
-+}
-+
-+tizen_pkg_config("libelementary") {
-+  packages = [ "elementary" ]
-+}
-+
-+config("elementary-public") {
-+  cflags = [] #[ "-elementary" ]
-+  if (is_clang) {
-+    # Fix: elm_prefs_common.h:27:9: warning: empty struct has size 0 in C, size 1 in C++
-+    cflags += [ "-Wno-extern-c-compat" ]
-+  }
-+}
-+
-+config("edje") {
-+  ldflags = [ "-ledje" ]
-+}
-+
-+tizen_pkg_config("libedje") {
-+  packages = [ "edje" ]
-+}
-+
-+config("edje-public") {
-+  cflags = [ "-edje" ]
-+}
-+
-+config("efl-extension") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-lefl-extension" ]
-+  }
-+}
-+
-+tizen_pkg_config("libefl-extension") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "efl-extension" ]
-+  }
-+}
-+
-+config("efl-extension-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-efl-extension" ]
-+  }
-+}
-+
-+config("ui-gadget") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    ldflags = [ "-lui-gadget-1" ]
-+  }
-+}
-+
-+tizen_pkg_config("libui-gadget") {
-+  packages = []
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    packages = [ "ui-gadget-1" ]
-+  }
-+}
-+
-+config("ui-gadget-public") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    cflags = [ "-DUG_WAYLAND" ]
-+  }
-+}
-+
-+config("capi-appfw-application") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-lcapi-appfw-application" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-appfw-application") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "capi-appfw-application" ]
-+  }
-+}
-+
-+config("capi-appfw-application-public") {
-+  if (building_for_tizen) {
-+#    cflags = [ "-capi-appfw-application" ]
-+  }
-+}
-+
-+config("capi-location-manager") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    ldflags = [ "-lcapi-location-manager" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-location-manager") {
-+  packages = []
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    packages = [ "capi-location-manager" ]
-+  }
-+}
-+
-+config("capi-location-manager-public") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    #cflags = [ "-capi-location-manager" ]
-+  }
-+}
-+
-+config("capi-system-info") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    ldflags = [ "-lcapi-system-info" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-system-info") {
-+  packages = []
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    packages = [ "capi-system-info" ]
-+  }
-+}
-+
-+config("capi-system-info-public") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    #cflags = [ "-capi-system-info" ]
-+  }
-+}
-+
-+config("capi-system-device") {
-+  if (building_for_tizen_mobile) {
-+    ldflags = [ "-lcapi-system-device" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-system-device") {
-+  packages = []
-+  if (building_for_tizen_mobile) {
-+    packages = [ "capi-system-device" ]
-+  }
-+}
-+
-+config("capi-system-device-public") {
-+  if (building_for_tizen_mobile) {
-+    #cflags = [ "-capi-system-device" ]
-+  }
-+}
-+
-+config("capi-system-sensor") {
-+  if (building_for_tizen_mobile) {
-+    #ldflags = [ "-capi-system-sensor" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-system-sensor") {
-+  packages = []
-+  if (building_for_tizen_mobile) {
-+    packages = [ "capi-system-sensor" ]
-+  }
-+}
-+
-+config("capi-system-sensor-public") {
-+  if (building_for_tizen_mobile) {
-+    cflags = [ "-capi-system-sensor" ]
-+  }
-+}
-+
-+config("capi-system-system-settings") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-lcapi-system-system-settings" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-system-system-settings") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "capi-system-system-settings" ]
-+  }
-+}
-+
-+config("capi-system-system-settings-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-capi-system-system-settings" ]
-+  }
-+}
-+
-+config("libdri2") {
-+  if (building_for_tizen && !use_wayland) {
-+    ldflags = [ "-llibdri2" ]
-+  }
-+}
-+
-+tizen_pkg_config("liblibdri2") {
-+  packages = []
-+  if (building_for_tizen && !use_wayland) {
-+    packages = [ "libdri2" ]
-+  }
-+}
-+
-+config("libdri2-public") {
-+  if (building_for_tizen && !use_wayland) {
-+    cflags = [ "-libdri2" ]
-+  }
-+}
-+
-+config("libdrm") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-llibdrm" ]
-+  }
-+}
-+
-+tizen_pkg_config("liblibdrm") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "libdrm" ]
-+  }
-+}
-+
-+config("libdrm-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-libdrm" ]
-+  }
-+}
-+
-+config("libtbm") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-llibtbm" ]
-+  }
-+}
-+
-+tizen_pkg_config("liblibtbm") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "libtbm" ]
-+  }
-+}
-+
-+config("libtbm-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-libtbm" ]
-+  }
-+}
-+
-+config("x11") {
-+  if (!use_wayland) {
-+    #ldflags = [ "-x11" ]
-+  }
-+}
-+
-+tizen_pkg_config("libx11") {
-+  packages = []
-+  if (!use_wayland) {
-+    packages = [ "x11" ]
-+  }
-+}
-+
-+config("x11-public") {
-+  if (!use_wayland) {
-+    cflags = [ "-x11" ]
-+  }
-+}
-+
-+config("gstreamer") {
-+  if (chromium_efl_tizen_version >= 24) {
-+    ldflags = [
-+      "-lgstreamer-1.0",
-+      "-lgstbase-1.0",
-+      "-lgstapp-1.0",
-+      "-lgstpbutils-1.0",
-+      "-lgstvideo-1.0",
-+    ]
-+  } else { # for Tizen v2.X
-+    ldflags = [
-+      "gstreamer-0.10",
-+      "gstreamer-base-0.10",
-+      "gstreamer-app-0.10",
-+      "gstreamer-pbutils-0.10",
-+      "gstreamer-interfaces-0.10",
-+      "gstreamer-video-0.10",
-+    ]
-+  }
-+}
-+
-+tizen_pkg_config("libgstreamer") {
-+  if (chromium_efl_tizen_version >= 24) {
-+    packages = [
-+      "gstreamer-1.0",
-+      "gstreamer-base-1.0",
-+      "gstreamer-app-1.0",
-+      "gstreamer-pbutils-1.0",
-+      "gstreamer-video-1.0",
-+    ]
-+  } else { # for Tizen v2.X
-+    packages = [
-+      "gstreamer-0.10",
-+      "gstreamer-base-0.10",
-+      "gstreamer-app-0.10",
-+      "gstreamer-pbutils-0.10",
-+      "gstreamer-interfaces-0.10",
-+      "gstreamer-video-0.10",
-+    ]
-+  }
-+}
-+
-+config("gstreamer-public") {
-+  #cflags = dependent_pkgs
-+}
-+
-+config("gstreamer-fft") {
-+  ldflags = [ "-gstreamer-fft-1.0" ]
-+}
-+
-+tizen_pkg_config("libgstreamer-fft") {
-+  packages = [ "gstreamer-fft-1.0" ]
-+}
-+
-+config("gstreamer-fft-public") {
-+  cflags = [ "-gstreamer-fft-1.0" ]
-+}
-+
-+config("capi-media-camera") {
-+  if (building_for_tizen) {
-+    #ldflags = [ "-capi-media-camera" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-media-camera") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "capi-media-camera" ]
-+  }
-+}
-+
-+config("capi-media-camera-public") {
-+  if (building_for_tizen) {
-+    #cflags = [ "-capi-media-camera" ]
-+  }
-+}
-+
-+config("capi-media-audio-io") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-lcapi-media-audio-io" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-media-audio-io") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "capi-media-audio-io" ]
-+  }
-+}
-+
-+config("capi-media-audio-io-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-capi-media-audio-io" ]
-+  }
-+}
-+
-+config("capi-media-player") {
-+  if (building_for_tizen) {
-+    #ldflags = [ "-capi-media-player" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-media-player") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "capi-media-player" ]
-+  }
-+}
-+
-+config("capi-media-player-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-capi-media-player" ]
-+  }
-+}
-+
-+config("capi-media-tool") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-lcapi-media-tool" ]
-+  }
-+}
-+
-+tizen_pkg_config("libcapi-media-tool") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "capi-media-tool" ]
-+  }
-+}
-+
-+config("capi-media-tool-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-capi-media-tool" ]
-+  }
-+}
-+
-+config("mm-player") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-lmm-player" ]
-+  }
-+}
-+
-+tizen_pkg_config("libmm-player") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "mm-player" ]
-+  }
-+}
-+
-+config("mm-player-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-mm-player" ]
-+  }
-+}
-+
-+config("tts") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-ltts" ]
-+  }
-+}
-+
-+tizen_pkg_config("libtts") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "tts" ]
-+  }
-+}
-+
-+config("tts-public") {
-+  if (building_for_tizen) {
-+    cflags = [ "-tts" ]
-+  }
-+}
-+
-+config("vconf") {
-+  if (building_for_tizen) {
-+    ldflags = [ "-lvconf" ]
-+  }
-+}
-+
-+tizen_pkg_config("libvconf") {
-+  packages = []
-+  if (building_for_tizen) {
-+    packages = [ "vconf" ]
-+  }
-+}
-+
-+config("vconf-public") {
-+  if (building_for_tizen) {
-+    #cflags = [ "-vconf" ]
-+  }
-+}
-+
-+config("feedback") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    ldflags = [ "-lfeedback" ]
-+  }
-+}
-+
-+tizen_pkg_config("libfeedback") {
-+  packages = []
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    packages = [ "feedback" ]
-+  }
-+}
-+
-+config("feedback-public") {
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    #cflags = [ "-feedback" ]
-+  }
-+}
-+
-+config("tizen_tzplatform_config") {
-+  if (chromium_efl_tizen_version >= 30 && is_tizen) {
-+    ldflags = [
-+      "-ltzplatform-config-static",
-+      "-ltzplatform-config-2.0",
-+    ]
-+  }
-+}
-+
-+tizen_pkg_config("libtizen_tzplatform_config") {
-+  packages = []
-+  if (chromium_efl_tizen_version >= 30) {
-+    #packages = [ "libtzplatform-config" ]
-+  }
-+}
-+
-+config("tizen_tzplatform_config-public") {
-+  if (chromium_efl_tizen_version >= 30) {
-+    cflags = [ "-libtzplatform-config" ]
-+  }
-+}
-diff --git a/build/build_desktop.sh b/build/build_desktop.sh
-index 576a2c6..1e9463f 100755
---- a/build/build_desktop.sh
-+++ b/build/build_desktop.sh
-@@ -7,13 +7,20 @@ trap 'error_report $0 $LINENO' ERR SIGINT SIGTERM SIGQUIT
- host_arch=$(getHostArch)
--if [ -z "$GYP_GENERATOR_OUTPUT" ]; then
--  export GYP_GENERATOR_OUTPUT=${TOPDIR}/"out.${host_arch}"
--fi
--
- parseHostBuildScriptParams desktop $@
--JHBUILD_STAMPFILE="${GYP_GENERATOR_OUTPUT}/Dependencies/Root/jhbuild.stamp"
-+JHBUILD_STAMPFILE=""
-+if [ "$USE_GN" ]; then
-+  if [ -z "$GN_GENERATOR_OUTPUT" ]; then
-+    export GN_GENERATOR_OUTPUT=${TOPDIR}/"out.${host_arch}"
-+  fi
-+  JHBUILD_STAMPFILE="${GN_GENERATOR_OUTPUT}/Dependencies/Root/jhbuild.stamp"
-+else
-+  if [ -z "$GYP_GENERATOR_OUTPUT" ]; then
-+    export GYP_GENERATOR_OUTPUT=${TOPDIR}/"out.${host_arch}"
-+  fi
-+  JHBUILD_STAMPFILE="${GYP_GENERATOR_OUTPUT}/Dependencies/Root/jhbuild.stamp"
-+fi
- forceJHBuildIfNeeded() {
-   if [[ $FORCE_JHBUILD == 1 ]]; then
-@@ -29,7 +36,12 @@ forceJHBuildIfNeeded() {
- forceJHBuildIfNeeded
--JHBUILD_DEPS="${GYP_GENERATOR_OUTPUT}/Dependencies/Root"
-+JHBUILD_DEPS=""
-+if [ "$USE_GN" ]; then
-+  JHBUILD_DEPS="${GN_GENERATOR_OUTPUT}/Dependencies/Root"
-+else
-+  JHBUILD_DEPS="${GYP_GENERATOR_OUTPUT}/Dependencies/Root"
-+fi
- if [ "${host_arch}" == "x64" ]; then
-   _LIBDIR=lib64
- elif [ "${host_arch}" == "ia32" ]; then
-@@ -47,9 +59,29 @@ fi
- ${SCRIPTDIR}/apply_patches.sh ${SCRIPTDIR}/patches
--export __GYP_CHROMIUMEFL_TARGET=desktop
-+if [ "$USE_GN" ]; then
-+  export __GN_CHROMIUMEFL_TARGET=desktop
-+else
-+  export __GYP_CHROMIUMEFL_TARGET=desktop
-+fi
--hostGypChromiumEfl
-+#export BUILD_DEPENDENCIES_LIB_PATH="${JHBUILD_DEPS}/${_LIBDIR}"
-+#export BUILD_DEPENDENCIES_INCLUDE_PATH="${JHBUILD_DEPS}/include"
-+
-+#deps_include_path="\"${JHBUILD_DEPS}/include "
-+#for module in "${JHBUILD_DEPS}/include/*"
-+#do
-+#  deps_include_path="$deps_include_path$module "
-+#done
-+#deps_include_path="$deps_include_path\""
-+
-+if [ "$USE_GN" ]; then
-+  #hostGnChromiumEfl "deps_include_path=$deps_include_path deps_lib_path=\"${JHBUILD_DEPS}/${_LIBDIR}\""
-+  hostGnChromiumEfl "deps_include_path=\"${JHBUILD_DEPS}/include\" deps_lib_path=\"${JHBUILD_DEPS}/${_LIBDIR}\""
-+# deps_efl_pc_path=\"${JHBUILD_DEPS}/Source/efl-1.16.0/pc\"
-+else
-+  hostGypChromiumEfl
-+fi
- export LD_LIBRARY_PATH="${JHBUILD_DEPS}/${_LIBDIR}:$LD_LIBRARY_PATH"
- export PATH="${JHBUILD_DEPS}/bin:$PATH"
-diff --git a/build/cmd_execution.py b/build/cmd_execution.py
-new file mode 100755
-index 0000000..0159933
---- /dev/null
-+++ b/build/cmd_execution.py
-@@ -0,0 +1,17 @@
-+#!/usr/bin/env python
-+
-+import sys
-+import os
-+
-+if __name__ == '__main__':
-+
-+  l = len(sys.argv)
-+  c = 1;
-+  cmd = ""
-+  while c < l:
-+    cmd += sys.argv[c] + " "
-+    c += 1
-+
-+  os.system(cmd)
-+
-+  sys.exit(0)
-diff --git a/build/common.sh b/build/common.sh
-index 63b0867..1f029d4 100755
---- a/build/common.sh
-+++ b/build/common.sh
-@@ -78,6 +78,12 @@ function parseHostBuildScriptParams() {
-       --skip-gyp)
-         export SKIP_GYP=1
-         ;;
-+      --use-gn)
-+        export USE_GN=1
-+        ;;
-+      --skip-gn)
-+        export SKIP_GN=1
-+        ;;
-       --ccache)
-         echo using ccache
-         export USE_CCACHE=1
-@@ -137,6 +143,25 @@ function hostGypChromiumEfl() {
-   fi
- }
-+function hostGnChromiumEfl() {
-+  if [[ $SKIP_GN != 1 ]]; then
-+    local XWALK_ARG=""
-+    local COMPONENT_ARG=""
-+    if [[ $BUILD_XWALK == 1 ]]; then
-+      XWALK_ARG="xwalk=true"
-+    fi
-+    if [[ $COMPONENT_BUILD == 1 ]]; then
-+      COMPONENT_ARG="component=shared_library"
-+    fi
-+    ${TOPDIR}/tizen_src/build/gn_chromiumefl.sh \
-+      $XWALK_ARG \
-+      $COMPONENT_ARG \
-+      "outdir=\"$TOPDIR/out.$(getHostArch)\"" \
-+      "chromium_efl_tizen_version=30" \
-+      $@
-+  fi
-+}
-+
- function hostNinja() {
-   if [[ $SKIP_NINJA == 0 ]]; then
-     TARGETS="chromium-ewk efl_webprocess efl_webview_app ubrowser"
-@@ -149,7 +174,15 @@ function hostNinja() {
-     if [[ $BUILD_XWALK == 1 ]]; then
-       TARGETS="$TARGETS xwalk"
-     fi
--    BUILDDIR=${GYP_GENERATOR_OUTPUT}/${BUILD_SUBDIRECTORY}
-+    if [[ $BUILD_CHROMEDRIVER == 1 ]]; then
-+      TARGETS="$TARGETS chromedriver"
-+    fi
-+    if [ "$USE_GN" ]; then
-+      export BUILD_SUBDIRECTORY=""
-+      BUILDDIR=${GN_GENERATOR_OUTPUT}/${BUILD_SUBDIRECTORY}
-+    else
-+      BUILDDIR=${GYP_GENERATOR_OUTPUT}/${BUILD_SUBDIRECTORY}
-+    fi
-     ninja -C $BUILDDIR ${JOBS} ${TARGETS}
-   fi
- }
-@@ -245,6 +278,16 @@ function setupAndExecuteTargetBuild() {
-         count=$(( $count + 1 ))
-         ARGS[$count]="_skip_gyp 1"
-     ;;
-+    --use-gn)
-+        ARGS[$count]=--define
-+        count=$(( $count + 1 ))
-+        ARGS[$count]="_use_gn 1"
-+    ;;
-+    --skip-gn)
-+        ARGS[$count]=--define
-+        count=$(( $count + 1 ))
-+        ARGS[$count]="_skip_gn 1"
-+    ;;
-     --xwalk)
-         ARGS[$count]=--define
-         count=$(( $count + 1 ))
-diff --git a/build/config/BUILD.gn b/build/config/BUILD.gn
-new file mode 100644
-index 0000000..67a787e
---- /dev/null
-+++ b/build/config/BUILD.gn
-@@ -0,0 +1,131 @@
-+# Copyright (c) 2013 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.
-+
-+import("//build/config/features.gni")
-+import("//build/config/ui.gni")
-+
-+# One common error that happens is that GYP-generated headers within gen/ get
-+# included rather than the GN-generated ones within gen/ subdirectories.
-+# TODO(agrieve): Remove once GYP is gone (as well as exec_script exception).
-+#assert(
-+#    exec_script("//build/dir_exists.py", [ "obj.host" ], "string") == "False",
-+#    "GYP artifacts detected in $root_build_dir.$0x0A" +
-+#        "You must wipe this directory before building with GN.")
-+
-+# TODO(brettw) Most of these should be removed. Instead of global feature
-+# flags, we should have more modular flags that apply only to a target and its
-+# dependents. For example, depending on the "x11" meta-target should define
-+# USE_X11 for all dependents so that everything that could use X11 gets the
-+# define, but anything that doesn't depend on X11 doesn't see it.
-+#
-+# For now we define these globally to match the current GYP build.
-+config("tizen_feature_flags") {
-+  defines = [
-+    # TODO: Check if those defines are still necessary. If they are add an explanation why.
-+    "COMPONENT_BUILD",
-+    "SKIA_DLL",
-+    "BUILDING_V8_SHARED",
-+    "V8_SHARED",
-+  ]
-+
-+  if (use_efl) {
-+    defines += [ "USE_EFL" ]
-+  }
-+  if (tizen_tbm_support) {
-+    defines += [ "TIZEN_TBM_SUPPORT" ]
-+  }
-+  if (ewk_bringup) {
-+    defines += [ "EWK_BRINGUP" ]
-+  }
-+
-+  if (prebuilt_ld_gold_dir != "") {
-+    ldflags = [ "-B${prebuilt_ld_gold_dir}" ]
-+
-+    if (gcc_version >= 49) {
-+      # In GCC 4.9, the linker (either bfd or gold) is called with the -plugin argument
-+      # which our current bundled gold linker (in build/prebuild) does not accept.
-+      # Since our gold a x64 64bit statically linked binary, even if we rebuild it
-+      # with plugin support enabled, the plugin being loaded would be a 32bit ARM binary.
-+      # and load would fail. So we disable linker's plugin loadeir (specifically
-+      # gcc's liblto_plugin).
-+      cflags = [ "-fPIC" ]
-+      ldflags += [ "-shared" ]
-+      ldflags += [ "-fno-use-linker-plugin" ]
-+    }
-+  }
-+
-+  if (building_for_tizen) {
-+    defines += [
-+      "OS_TIZEN",
-+      "WTF_OS_TIZEN",
-+    ]
-+    # Tizen build system has a global option '-Wformat-security'.
-+    # So, a cflag '-Wno-format' from chromium-efl needs to be ignored.
-+    # Otherwise, following error will happen.
-+    # error: -Wformat-security ignored without -Wformat [-Werror=format-security]
-+    if (prebuilt_ld_gold_dir == "") {
-+      cflags = [ "-Wno-format" ]
-+    }
-+
-+    defines += [ "NO_UNWIND_TABLES" ]
-+
-+    if (chromium_efl_tizen_version == 30) {
-+      defines += [
-+        "TIZEN_MAJOR_VERSION=3",
-+        "TIZEN_MINOR_VERSION=0",
-+        "TIZEN_PATCH_VERSION=0",
-+      ]
-+    } else if (chromium_efl_tizen_version == 24) {
-+      defines += [
-+        "TIZEN_MAJOR_VERSION=2",
-+        "TIZEN_MINOR_VERSION=4",
-+        "TIZEN_PATCH_VERSION=0",
-+      ]
-+    } else if (chromium_efl_tizen_version == 23) {
-+      defines += [
-+        "TIZEN_MAJOR_VERSION=2",
-+        "TIZEN_MINOR_VERSION=3",
-+        "TIZEN_PATCH_VERSION=0",
-+      ]
-+    }
-+
-+    if (use_wayland) {
-+      defines += [ "USE_WAYLAND" ]
-+    }
-+    if (tizen_multimedia_support) {
-+      defines += [
-+        "TIZEN_MULTIMEDIA_SUPPORT",
-+        "TIZEN_MULTIMEDIA_USE_CAPI_AUDIO_IO",
-+      ]
-+    }
-+
-+    # TODO: There are X11 dependencies in following condition.
-+    #       The files need to be implemented based on Wayland.
-+    if (wayland_bringup) {
-+      defines += [ "WAYLAND_BRINGUP" ]
-+    }
-+  }
-+
-+  if (building_for_tizen_mobile) {
-+    defines += [
-+      "OS_TIZEN_MOBILE",
-+      "WTF_OS_TIZEN_MOBILE",
-+      "TIZEN_CONTENTS_DETECTION",
-+    ]
-+  }
-+
-+  if (building_for_tizen_tv) {
-+    defines += [
-+      "OS_TIZEN_TV",
-+      "WTF_OS_TIZEN_TV",
-+    ]
-+
-+    if (chromium_efl_tizen_version == 24) {
-+      cflags -= [
-+        "-march=armv7-a",
-+        "-mtune=generic-armv7-a",
-+      ]
-+    }
-+  }
-+}
-diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
-new file mode 100644
-index 0000000..2e3d330
---- /dev/null
-+++ b/build/config/BUILDCONFIG.gn
-@@ -0,0 +1,671 @@
-+# Copyright (c) 2013 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.
-+
-+# =============================================================================
-+# WHAT IS THIS FILE?
-+# =============================================================================
-+#
-+# This is the master GN build configuration. This file is loaded after the
-+# build args (args.gn) for the build directory and after the toplevel ".gn"
-+# file (which points to this file as the build configuration).
-+#
-+# This file will be executed and the resulting context will be used to execute
-+# every other file in the build. So variables declared here (that don't start
-+# with an underscore) will be implicitly global.
-+
-+# =============================================================================
-+# PLATFORM SELECTION
-+# =============================================================================
-+#
-+# There are two main things to set: "os" and "cpu". The "toolchain" is the name
-+# of the GN thing that encodes combinations of these things.
-+#
-+# Users typically only set the variables "target_os" and "target_cpu" in "gn
-+# args", the rest are set up by our build and internal to GN.
-+#
-+# There are three different types of each of these things: The "host"
-+# represents the computer doing the compile and never changes. The "target"
-+# represents the main thing we're trying to build. The "current" represents
-+# which configuration is currently being defined, which can be either the
-+# host, the target, or something completely different (like nacl). GN will
-+# run the same build file multiple times for the different required
-+# configuration in the same build.
-+#
-+# This gives the following variables:
-+#  - host_os, host_cpu, host_toolchain
-+#  - target_os, target_cpu, default_toolchain
-+#  - current_os, current_cpu, current_toolchain.
-+#
-+# Note the default_toolchain isn't symmetrical (you would expect
-+# target_toolchain). This is because the "default" toolchain is a GN built-in
-+# concept, and "target" is something our build sets up that's symmetrical with
-+# its GYP counterpart. Potentially the built-in default_toolchain variable
-+# could be renamed in the future.
-+#
-+# When writing build files, to do something only for the host:
-+#   if (current_toolchain == host_toolchain) { ...
-+
-+if (target_os == "") {
-+  target_os = host_os
-+}
-+
-+if (target_cpu == "") {
-+  if (target_os == "tizen") {
-+    # If we're building for Tizen, we should assume that we want to
-+    # build for ARM by default, not the host_cpu (which is likely x64).
-+    # This allows us to not have to specify both target_os and target_cpu
-+    # on the command line.
-+    target_cpu = "arm"
-+  } else {
-+    target_cpu = host_cpu
-+  }
-+}
-+
-+if (current_cpu == "") {
-+  current_cpu = target_cpu
-+}
-+if (current_os == "") {
-+  current_os = target_os
-+}
-+
-+# =============================================================================
-+# BUILD FLAGS
-+# =============================================================================
-+#
-+# This block lists input arguments to the build, along with their default
-+# values.
-+#
-+# If a value is specified on the command line, it will overwrite the defaults
-+# given in a declare_args block, otherwise the default will be used.
-+#
-+# YOU SHOULD ALMOST NEVER NEED TO ADD FLAGS TO THIS FILE. GN allows any file in
-+# the build to declare build flags. If you need a flag for a single component,
-+# you can just declare it in the corresponding BUILD.gn file.
-+#
-+# - If your feature is a single target, say //components/foo, you can put
-+#   a declare_args() block in //components/foo/BUILD.gn and use it there.
-+#   Nobody else in the build needs to see the flag.
-+#
-+# - Defines based on build variables should be implemented via the generated
-+#   build flag header system. See //build/buildflag_header.gni. You can put
-+#   the buildflag_header target in the same file as the build flag itself. You
-+#   should almost never set "defines" directly.
-+#
-+# - If your flag toggles a target on and off or toggles between different
-+#   versions of similar things, write a "group" target that forwards to the
-+#   right target (or no target) depending on the value of the build flag. This
-+#   group can be in the same BUILD.gn file as the build flag, and targets can
-+#   depend unconditionally on the group rather than duplicating flag checks
-+#   across many targets.
-+#
-+# - If a semi-random set of build files REALLY needs to know about a define and
-+#   the above pattern for isolating the build logic in a forwarding group
-+#   doesn't work, you can put the argument in a .gni file. This should be put
-+#   in the lowest level of the build that knows about this feature (which should
-+#   almost always be outside of the //build directory!).
-+#
-+# Other flag advice:
-+#
-+# - Use boolean values when possible. If you need a default value that expands
-+#   to some complex thing in the default case (like the location of the
-+#   compiler which would be computed by a script), use a default value of -1 or
-+#   the empty string. Outside of the declare_args block, conditionally expand
-+#   the default value as necessary.
-+#
-+# - Use a name like "use_foo" or "is_foo" (whatever is more appropriate for
-+#   your feature) rather than just "foo".
-+#
-+# - Write good comments directly above the declaration with no blank line.
-+#   These comments will appear as documentation in "gn args --list".
-+#
-+# - Don't call exec_script inside declare_args. This will execute the script
-+#   even if the value is overridden, which is wasteful. See first bullet.
-+
-+declare_args() {
-+  # Set to enable the official build level of optimization. This has nothing
-+  # to do with branding, but enables an additional level of optimization above
-+  # release (!is_debug). This might be better expressed as a tri-state
-+  # (debug, release, official) but for historical reasons there are two
-+  # separate flags.
-+  is_official_build = false
-+
-+  # Debug build. Enabling official builds automatically sets is_debug to false.
-+  is_debug = false
-+
-+  # Whether we're a traditional desktop unix.
-+  is_desktop_linux = current_os == "linux"
-+
-+  # Set to true when compiling with the Clang compiler. Typically this is used
-+  # to configure warnings.
-+  is_clang = current_os == "ios"
-+
-+  # Allows the path to a custom target toolchain to be injected as a single
-+  # argument, and set as the default toolchain.
-+  custom_toolchain = ""
-+
-+  # This should not normally be set as a build argument.  It's here so that
-+  # every toolchain can pass through the "global" value via toolchain_args().
-+  if (current_os == "tizen") {
-+    host_toolchain = "//tizen_src/build/toolchain/tizen:$host_cpu"
-+  } else {
-+    host_toolchain = ""
-+  }
-+
-+  # DON'T ADD MORE FLAGS HERE. Read the comment above.
-+}
-+
-+declare_args() {
-+  # Component build. Setting to true compiles targets declared as "components"
-+  # as shared libraries loaded dynamically. This speeds up development time.
-+  # When false, components will be linked statically.
-+  #
-+  # For more information see
-+  # https://chromium.googlesource.com/chromium/src/+/master/docs/component_build.md
-+  is_component_build = is_debug && current_os != "ios"
-+}
-+
-+assert(!(is_debug && is_official_build), "Can't do official debug builds")
-+
-+# ==============================================================================
-+# TOOLCHAIN SETUP
-+# ==============================================================================
-+#
-+# Here we set the default toolchain, as well as the variable host_toolchain
-+# which will identify the toolchain corresponding to the local system when
-+# doing cross-compiles. When not cross-compiling, this will be the same as the
-+# default toolchain.
-+#
-+# We do this before anything else to make sure we complain about any
-+# unsupported os/cpu combinations as early as possible.
-+
-+if (host_toolchain == "") {
-+  # This should only happen in the top-level context.
-+  # In a specific toolchain context, the toolchain_args()
-+  # block should have propagated a value down.
-+  # TODO(dpranke): Add some sort of assert here that verifies that
-+  # no toolchain omitted host_toolchain from its toolchain_args().
-+
-+  if (host_os == "linux") {
-+    if (target_os != "linux") {
-+      # TODO(dpranke) - is_clang normally applies only to the target
-+      # build, and there is no way to indicate that you want to override
-+      # it for both the target build *and* the host build. Do we need to
-+      # support this?
-+      host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
-+    } else if (is_clang) {
-+      host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
-+    } else {
-+      host_toolchain = "//build/toolchain/linux:$host_cpu"
-+    }
-+  } else if (host_os == "mac") {
-+    host_toolchain = "//build/toolchain/mac:clang_$host_cpu"
-+  } else if (host_os == "win") {
-+    # On Windows always use the target CPU for host builds. On the
-+    # configurations we support this will always work and it saves build steps.
-+    if (is_clang) {
-+      host_toolchain = "//build/toolchain/win:clang_$target_cpu"
-+    } else {
-+      host_toolchain = "//build/toolchain/win:$target_cpu"
-+    }
-+  } else {
-+    assert(false, "Unsupported host_os: $host_os")
-+  }
-+}
-+
-+_default_toolchain = ""
-+
-+if (target_os == "tizen") {
-+  assert(host_os == "linux" || host_os == "mac",
-+         "Tizen builds are only supported on Linux and Mac hosts.")
-+  if (is_clang) {
-+    _default_toolchain = "//tizen_src/build/toolchain/tizen_clang_$target_cpu"
-+  } else {
-+    _default_toolchain = "//tizen_src/build/toolchain/tizen_$target_cpu"
-+  }
-+} else if (target_os == "chromeos" || target_os == "linux") {
-+  # See comments in build/toolchain/cros/BUILD.gn about board compiles.
-+  if (is_clang) {
-+    _default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-+  } else {
-+    _default_toolchain = "//build/toolchain/linux:$target_cpu"
-+  }
-+} else if (target_os == "ios") {
-+  _default_toolchain = "//build/toolchain/mac:ios_clang_$target_cpu"
-+} else if (target_os == "mac") {
-+  assert(host_os == "mac", "Mac cross-compiles are unsupported.")
-+  _default_toolchain = host_toolchain
-+} else if (target_os == "win") {
-+  # On Windows we use the same toolchain for host and target by default.
-+  assert(target_os == host_os, "Win cross-compiles only work on win hosts.")
-+  if (is_clang) {
-+    _default_toolchain = "//build/toolchain/win:clang_$target_cpu"
-+  } else {
-+    _default_toolchain = "//build/toolchain/win:$target_cpu"
-+  }
-+} else if (target_os == "winrt_81" || target_os == "winrt_81_phone" ||
-+           target_os == "winrt_10") {
-+  _default_toolchain = "//build/toolchain/win:winrt_$target_cpu"
-+} else {
-+  assert(false, "Unsupported target_os: $target_os")
-+}
-+
-+# If a custom toolchain has been set in the args, set it as default. Otherwise,
-+# set the default toolchain for the platform (if any).
-+if (custom_toolchain != "") {
-+  set_default_toolchain(custom_toolchain)
-+} else if (_default_toolchain != "") {
-+  set_default_toolchain(_default_toolchain)
-+}
-+
-+# =============================================================================
-+# OS DEFINITIONS
-+# =============================================================================
-+#
-+# We set these various is_FOO booleans for convenience in writing OS-based
-+# conditions.
-+#
-+# - is_android, is_chromeos, is_ios, and is_win should be obvious.
-+# - is_mac is set only for desktop Mac. It is not set on iOS.
-+# - is_posix is true for mac and any Unix-like system (basically everything
-+#   except Windows).
-+# - is_linux is true for desktop Linux and ChromeOS, but not Android (which is
-+#   generally too different despite being based on the Linux kernel).
-+#
-+# Do not add more is_* variants here for random lesser-used Unix systems like
-+# aix or one of the BSDs. If you need to check these, just check the
-+# current_os value directly.
-+
-+if (current_os == "win" || current_os == "winrt_81" ||
-+    current_os == "winrt_81_phone" || current_os == "winrt_10") {
-+  is_android = false
-+  is_chromeos = false
-+  is_ios = false
-+  is_linux = false
-+  is_mac = false
-+  is_nacl = false
-+  is_posix = false
-+  is_win = true
-+  is_tizen = false
-+  use_efl = false
-+} else if (current_os == "mac") {
-+  is_android = false
-+  is_chromeos = false
-+  is_ios = false
-+  is_linux = false
-+  is_mac = true
-+  is_nacl = false
-+  is_posix = true
-+  is_win = false
-+  is_tizen = false
-+  use_efl = false
-+} else if (current_os == "tizen") {
-+  is_android = false
-+  is_chromeos = false
-+  is_ios = false
-+  is_linux = false
-+  is_mac = false
-+  is_nacl = false
-+  is_posix = true
-+  is_win = false
-+  is_tizen = true
-+  use_efl = true
-+  is_official_build = false
-+} else if (current_os == "nacl") {
-+  # current_os == "nacl" will be passed by the nacl toolchain definition.
-+  # It is not set by default or on the command line. We treat is as a
-+  # Posix variant.
-+  is_android = false
-+  is_chromeos = false
-+  is_ios = false
-+  is_linux = false
-+  is_mac = false
-+  is_nacl = true
-+  is_posix = true
-+  is_win = false
-+  is_tizen = false
-+  use_efl = false
-+} else if (current_os == "ios") {
-+  is_android = false
-+  is_chromeos = false
-+  is_ios = true
-+  is_linux = false
-+  is_mac = false
-+  is_nacl = false
-+  is_posix = true
-+  is_win = false
-+  is_tizen = false
-+  use_efl = false
-+} else if (current_os == "linux") {
-+  is_android = false
-+  is_chromeos = false
-+  is_ios = false
-+  is_linux = true
-+  is_mac = false
-+  is_nacl = false
-+  is_posix = true
-+  is_win = false
-+  is_tizen = false
-+  use_efl = true
-+  is_official_build = false
-+}
-+
-+# =============================================================================
-+# SOURCES FILTERS
-+# =============================================================================
-+#
-+# These patterns filter out platform-specific files when assigning to the
-+# sources variable. The magic variable |sources_assignment_filter| is applied
-+# to each assignment or appending to the sources variable and matches are
-+# automatically removed.
-+#
-+# Note that the patterns are NOT regular expressions. Only "*" and "\b" (path
-+# boundary = end of string or slash) are supported, and the entire string
-+# must match the pattern (so you need "*.cc" to match all .cc files, for
-+# example).
-+
-+# DO NOT ADD MORE PATTERNS TO THIS LIST, see set_sources_assignment_filter call
-+# below.
-+sources_assignment_filter = []
-+if (!is_posix) {
-+  sources_assignment_filter += [
-+    "*_posix.h",
-+    "*_posix.cc",
-+    "*_posix_unittest.h",
-+    "*_posix_unittest.cc",
-+    "*\bposix/*",
-+  ]
-+}
-+if (!is_win) {
-+  sources_assignment_filter += [
-+    "*_win.cc",
-+    "*_win.h",
-+    "*_win_unittest.cc",
-+    "*\bwin/*",
-+    "*.def",
-+    "*.rc",
-+  ]
-+}
-+if (!is_mac) {
-+  sources_assignment_filter += [
-+    "*_mac.h",
-+    "*_mac.cc",
-+    "*_mac.mm",
-+    "*_mac_unittest.h",
-+    "*_mac_unittest.cc",
-+    "*_mac_unittest.mm",
-+    "*\bmac/*",
-+    "*_cocoa.h",
-+    "*_cocoa.cc",
-+    "*_cocoa.mm",
-+    "*_cocoa_unittest.h",
-+    "*_cocoa_unittest.cc",
-+    "*_cocoa_unittest.mm",
-+    "*\bcocoa/*",
-+  ]
-+}
-+if (!is_ios) {
-+  sources_assignment_filter += [
-+    "*_ios.h",
-+    "*_ios.cc",
-+    "*_ios.mm",
-+    "*_ios_unittest.h",
-+    "*_ios_unittest.cc",
-+    "*_ios_unittest.mm",
-+    "*\bios/*",
-+  ]
-+}
-+if (!is_mac && !is_ios) {
-+  sources_assignment_filter += [ "*.mm" ]
-+}
-+if (!is_linux) {
-+  sources_assignment_filter += [
-+    "*_linux.h",
-+    "*_linux.cc",
-+    "*_linux_unittest.h",
-+    "*_linux_unittest.cc",
-+    "*\blinux/*",
-+  ]
-+}
-+if (!is_android) {
-+  sources_assignment_filter += [
-+    "*_android.h",
-+    "*_android.cc",
-+    "*_android_unittest.h",
-+    "*_android_unittest.cc",
-+    "*\bandroid/*",
-+  ]
-+}
-+if (!is_chromeos) {
-+  sources_assignment_filter += [
-+    "*_chromeos.h",
-+    "*_chromeos.cc",
-+    "*_chromeos_unittest.h",
-+    "*_chromeos_unittest.cc",
-+    "*\bchromeos/*",
-+  ]
-+}
-+
-+# DO NOT ADD MORE PATTERNS TO THIS LIST, see set_sources_assignment_filter call
-+# below.
-+
-+# Actually save this list.
-+#
-+# These patterns are executed for every file in the source tree of every run.
-+# Therefore, adding more patterns slows down the build for everybody. We should
-+# only add automatic patterns for configurations affecting hundreds of files
-+# across many projects in the tree.
-+#
-+# Therefore, we only add rules to this list corresponding to platforms on the
-+# Chromium waterfall.  This is not for non-officially-supported platforms
-+# (FreeBSD, etc.) toolkits, (X11, GTK, etc.), or features. For these cases,
-+# write a conditional in the target to remove the file(s) from the list when
-+# your platform/toolkit/feature doesn't apply.
-+set_sources_assignment_filter(sources_assignment_filter)
-+
-+# =============================================================================
-+# TARGET DEFAULTS
-+# =============================================================================
-+#
-+# Set up the default configuration for every build target of the given type.
-+# The values configured here will be automatically set on the scope of the
-+# corresponding target. Target definitions can add or remove to the settings
-+# here as needed.
-+
-+# Holds all configs used for running the compiler.
-+default_compiler_configs = [
-+  "//build/config:feature_flags",
-+  "//tizen_src/build/config:tizen_feature_flags",
-+  "//build/config/compiler:afdo",
-+  "//build/config/compiler:compiler",
-+  "//build/config/compiler:clang_stackrealign",
-+  "//build/config/compiler:compiler_arm_fpu",
-+  "//build/config/compiler:chromium_code",
-+  "//build/config/compiler:default_include_dirs",
-+  "//tizen_src/build/config/compiler:tizen_default_include_dirs",
-+  "//build/config/compiler:default_optimization",
-+  "//build/config/compiler:default_stack_frames",
-+  "//build/config/compiler:default_symbols",
-+  "//build/config/compiler:no_rtti",
-+  "//build/config/compiler:runtime_library",
-+  "//build/config/sanitizers:default_sanitizer_flags",
-+]
-+if (!is_tizen) {
-+  default_compiler_configs += [
-+    "//tizen_src/build/config/compiler:tizen_default_lib_dirs",
-+  ]
-+}
-+if (is_win) {
-+  default_compiler_configs += [
-+    "//build/config/win:default_crt",
-+    "//build/config/win:lean_and_mean",
-+    "//build/config/win:nominmax",
-+    "//build/config/win:unicode",
-+    "//build/config/win:winver",
-+    "//build/config/win:vs_code_analysis",
-+  ]
-+}
-+if (current_os == "winrt_81" || current_os == "winrt_81_phone" ||
-+    current_os == "winrt_10") {
-+  default_compiler_configs += [ "//build/config/win:target_winrt" ]
-+}
-+if (is_posix) {
-+  default_compiler_configs += [
-+    "//build/config/gcc:no_exceptions",
-+    "//build/config/gcc:symbol_visibility_hidden",
-+  ]
-+}
-+
-+if (!use_efl) {
-+  default_compiler_configs +=
-+      [ "//build/config/android:default_cygprofile_instrumentation" ]
-+}
-+
-+if (is_clang && !is_nacl) {
-+  default_compiler_configs += [
-+    "//build/config/clang:find_bad_constructs",
-+    "//build/config/clang:extra_warnings",
-+  ]
-+}
-+
-+# Debug/release-related defines.
-+if (is_debug) {
-+  default_compiler_configs += [ "//build/config:debug" ]
-+} else {
-+  default_compiler_configs += [ "//build/config:release" ]
-+}
-+
-+# Static libraries and source sets use only the compiler ones.
-+set_defaults("static_library") {
-+  configs = default_compiler_configs
-+}
-+set_defaults("source_set") {
-+  configs = default_compiler_configs
-+}
-+
-+# Compute the set of configs common to all linked targets (shared libraries,
-+# loadable modules, executables) to avoid duplication below.
-+if (is_win) {
-+  # Many targets remove these configs, so they are not contained within
-+  # //build/config:executable_config for easy removal.
-+  _linker_configs = [
-+    "//build/config/win:default_incremental_linking",
-+
-+    # Default to console-mode apps. Most of our targets are tests and such
-+    # that shouldn't use the windows subsystem.
-+    "//build/config/win:console",
-+  ]
-+} else if (is_mac || is_ios) {
-+  _linker_configs = [ "//build/config/mac:strip_all" ]
-+} else {
-+  _linker_configs = []
-+}
-+
-+# Executable defaults.
-+default_executable_configs = default_compiler_configs + [
-+                               "//build/config:default_libs",
-+                               "//build/config:executable_config",
-+                             ] + _linker_configs
-+set_defaults("executable") {
-+  configs = default_executable_configs
-+}
-+
-+# Test defaults.
-+set_defaults("test") {
-+  configs = default_executable_configs
-+}
-+
-+# Shared library and loadable module defaults (also for components in component
-+# Test defaults.# mode).
-+default_shared_library_configs = default_compiler_configs + [
-+                                   "//build/config:default_libs",
-+                                   "//build/config:shared_library_config",
-+                                 ] + _linker_configs
-+if (!use_efl) {
-+  # Strip native JNI exports from shared libraries by default. Binaries that
-+  # want this can remove this config.
-+  default_shared_library_configs +=
-+      [ "//build/config/android:hide_native_jni_exports" ]
-+}
-+set_defaults("shared_library") {
-+  configs = default_shared_library_configs
-+}
-+set_defaults("loadable_module") {
-+  configs = default_shared_library_configs
-+}
-+
-+# ==============================================================================
-+# COMPONENT SETUP
-+# ==============================================================================
-+
-+# Defines a component, which equates to a shared_library when
-+# is_component_build == true and a static_library otherwise.
-+#
-+# Use static libraries for the static build rather than source sets because
-+# many of of our test binaries link many large dependencies but often don't
-+# use large portions of them. The static libraries are much more efficient to
-+# link in this situation since only the necessary object files are linked.
-+#
-+# The invoker can override the type of the target in the non-component-build
-+# case by setting static_component_type to either "source_set" or
-+# "static_library". If unset, the default will be used.
-+template("component") {
-+  if (is_component_build) {
-+    _component_mode = "shared_library"
-+  } else if (defined(invoker.static_component_type)) {
-+    assert(invoker.static_component_type == "static_library" ||
-+           invoker.static_component_type == "source_set")
-+    _component_mode = invoker.static_component_type
-+  } else if (is_android || !defined(invoker.sources)) {
-+    # When there are no sources defined, use a source set to avoid creating
-+    # an empty static library (which generally don't work).
-+    #
-+    # When we changed components to default from source sets to static
-+    # libraries, an Android benchmark regressed slightly
-+    # (https://crbug.com/619593). We don't have a good theory on why this might
-+    # be since theoretically it should be the same. It could be something as
-+    # silly as random code locality luck.
-+    #
-+    # There seems to be no build-time performance hit to using source sets on
-+    # Android (the normal reason for defaulting to static libraries), so we
-+    # make the default on Android to be source set.
-+    #
-+    # If it's been a long time since this was added and you're skeptical,
-+    # please feel free to remove the Android exception and see if any
-+    # benchmarks obviously regress. If not, it would be great to standardize
-+    # with the rest of the platforms.
-+    _component_mode = "source_set"
-+  } else {
-+    _component_mode = "static_library"
-+  }
-+  target(_component_mode, target_name) {
-+    # Explicitly forward visibility, implicitly forward everything else.
-+    # Forwarding "*" doesn't recurse into nested scopes (to avoid copying all
-+    # globals into each template invocation), so won't pick up file-scoped
-+    # variables. Normally this isn't too bad, but visibility is commonly
-+    # defined at the file scope. Explicitly forwarding visibility and then
-+    # excluding it from the "*" set works around this problem.
-+    # See http://crbug.com/594610
-+    forward_variables_from(invoker, [ "visibility" ])
-+    forward_variables_from(invoker, "*", [ "visibility" ])
-+
-+    # All shared libraries must have the sanitizer deps to properly link in
-+    # asan mode (this target will be empty in other cases).
-+    if (!defined(deps)) {
-+      deps = []
-+    }
-+    deps += [ "//build/config/sanitizers:deps" ]
-+  }
-+}
-+
-+# Component defaults
-+set_defaults("component") {
-+  if (is_component_build) {
-+    configs = default_shared_library_configs
-+    if (is_android) {
-+      configs -= [ "//build/config/android:hide_native_jni_exports" ]
-+    }
-+  } else {
-+    configs = default_compiler_configs
-+  }
-+}
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-new file mode 100644
-index 0000000..ede97e0
---- /dev/null
-+++ b/build/config/compiler/BUILD.gn
-@@ -0,0 +1,131 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+declare_args() {
-+  if (is_tizen) {
-+    deps_include_path = "/usr/include"
-+    deps_lib_path = "/usr/lib"
-+  } else {
-+    deps_include_path = ""
-+  }
-+}
-+
-+config("tizen_default_lib_dirs") {
-+  lib_dirs = [
-+  ]
-+}
-+
-+config("tizen_default_include_dirs") {
-+  include_dirs = [
-+    "//tizen_src",
-+    "//tizen_src/chromium_impl",
-+    "//tizen_src/ecore_wrapper",
-+
-+    "//third_party/blink/renderer",
-+
-+    deps_include_path,
-+    # find / -name *.h -printf '%h\n' | sort --unique
-+    "$deps_include_path/dbus-1.0",
-+    "$deps_include_path/ecore-1",
-+    "$deps_include_path/ecore-audio-1",
-+    "$deps_include_path/ecore-audio-cxx-1",
-+    "$deps_include_path/ecore-avahi-1",
-+    "$deps_include_path/ecore-con-1",
-+    "$deps_include_path/ecore-cxx-1",
-+    "$deps_include_path/ecore-evas-1",
-+    "$deps_include_path/ecore-file-1",
-+    "$deps_include_path/ecore-imf-1",
-+    "$deps_include_path/ecore-imf-evas-1",
-+    "$deps_include_path/ecore-input-1",
-+    "$deps_include_path/ecore-input-evas-1",
-+    "$deps_include_path/ecore-ipc-1",
-+    "$deps_include_path/ecore-x-1",
-+    "$deps_include_path/ector-1",
-+    "$deps_include_path/ector-1/cairo",
-+    "$deps_include_path/ector-1/generic",
-+    "$deps_include_path/ector-1/software",
-+    "$deps_include_path/edje-1",
-+    "$deps_include_path/eet-1",
-+    "$deps_include_path/eet-cxx-1",
-+    "$deps_include_path/eet-cxx-1/eet-cxx",
-+    "$deps_include_path/eeze-1",
-+    "$deps_include_path/efl-1",
-+    "$deps_include_path/efl-1/interfaces",
-+    "$deps_include_path/efl-cxx-1",
-+    "$deps_include_path/efreet-1",
-+    "$deps_include_path/eina-1",
-+    "$deps_include_path/eina-1/eina",
-+    "$deps_include_path/eina-cxx-1",
-+    "$deps_include_path/eina-cxx-1/eina-cxx",
-+    "$deps_include_path/eio-1",
-+    "$deps_include_path/eio-cxx-1",
-+    "$deps_include_path/eldbus-1",
-+    "$deps_include_path/eldbus_cxx-1",
-+    "$deps_include_path/elementary-1",
-+    "$deps_include_path/elementary-cxx-1",
-+    "$deps_include_path/elocation-1",
-+    "$deps_include_path/elua-1",
-+    "$deps_include_path/embryo-1",
-+    "$deps_include_path/emile-1",
-+    "$deps_include_path/emotion-1",
-+    "$deps_include_path/eo-1",
-+    "$deps_include_path/eo-cxx-1",
-+    "$deps_include_path/eolian-1",
-+    "$deps_include_path/eolian-cxx-1",
-+    "$deps_include_path/eolian-cxx-1/grammar",
-+    "$deps_include_path/ethumb-1",
-+    "$deps_include_path/ethumb-client-1",
-+    "$deps_include_path/evas-1",
-+    "$deps_include_path/evas-1/canvas",
-+    "$deps_include_path/evas-cxx-1",
-+    "$deps_include_path/evas-cxx-1/canvas",
-+    "$deps_include_path/gio-unix-2.0",
-+    "$deps_include_path/gio-unix-2.0/gio",
-+    "$deps_include_path/glib-2.0",
-+    "$deps_include_path/glib-2.0/gio",
-+    "$deps_include_path/glib-2.0/glib",
-+    "$deps_include_path/glib-2.0/glib/deprecated",
-+    "$deps_include_path/glib-2.0/gobject",
-+    "$deps_include_path/gstreamer-1.0",
-+    "$deps_include_path/gstreamer-1.0/gst",
-+    "$deps_include_path/gstreamer-1.0/gst/allocators",
-+    "$deps_include_path/gstreamer-1.0/gst/app",
-+    "$deps_include_path/gstreamer-1.0/gst/audio",
-+    "$deps_include_path/gstreamer-1.0/gst/base",
-+    "$deps_include_path/gstreamer-1.0/gst/basecamerabinsrc",
-+    "$deps_include_path/gstreamer-1.0/gst/check",
-+    "$deps_include_path/gstreamer-1.0/gst/codecparsers",
-+    "$deps_include_path/gstreamer-1.0/gst/controller",
-+    "$deps_include_path/gstreamer-1.0/gst/egl",
-+    "$deps_include_path/gstreamer-1.0/gst/fft",
-+    "$deps_include_path/gstreamer-1.0/gst/insertbin",
-+    "$deps_include_path/gstreamer-1.0/gst/interfaces",
-+    "$deps_include_path/gstreamer-1.0/gst/mpegts",
-+    "$deps_include_path/gstreamer-1.0/gst/net",
-+    "$deps_include_path/gstreamer-1.0/gst/pbutils",
-+    "$deps_include_path/gstreamer-1.0/gst/riff",
-+    "$deps_include_path/gstreamer-1.0/gst/rtp",
-+    "$deps_include_path/gstreamer-1.0/gst/rtsp",
-+    "$deps_include_path/gstreamer-1.0/gst/sdp",
-+    "$deps_include_path/gstreamer-1.0/gst/tag",
-+    "$deps_include_path/gstreamer-1.0/gst/uridownloader",
-+    "$deps_include_path/gstreamer-1.0/gst/video",
-+    "$deps_include_path/libsoup-2.4",
-+    "$deps_include_path/libsoup-2.4/libsoup",
-+    "$deps_include_path/orc-0.4",
-+    "$deps_include_path/orc-0.4/orc",
-+    "$deps_include_path/orc-0.4/orc-test",
-+  ]
-+
-+  if (is_tizen) {
-+    include_dirs += [
-+      "$deps_include_path/appfw",
-+      "$deps_include_path/system",
-+
-+      "$deps_lib_path/dbus-1.0/include",
-+      "$deps_lib_path/gstreamer-1.0/include",
-+      "$deps_lib_path/gstreamer-1.0/include/gst",
-+    ]
-+  }
-+}
-diff --git a/build/config/linux/pkg_config.gni b/build/config/linux/pkg_config.gni
-new file mode 100644
-index 0000000..19f6d5c
---- /dev/null
-+++ b/build/config/linux/pkg_config.gni
-@@ -0,0 +1,33 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//build/config/linux/pkg_config.gni")
-+
-+template("tizen_pkg_config") {
-+  assert(defined(invoker.packages),
-+         "Variable |packages| must be defined to be a list in pkg_config.")
-+
-+  if (invoker.packages == []) {
-+    config(target_name) {
-+    }
-+  } else {
-+    pkg_config(target_name) {
-+      packages = invoker.packages
-+
-+      if (defined(invoker.extra_args)) {
-+        extra_args = invoker.extra_args
-+      }
-+
-+      if (defined(invoker.ignore_libs)) {
-+        ignore_libs = invoker.ignore_libs
-+      }
-+
-+      forward_variables_from(invoker,
-+                             [
-+                               "defines",
-+                               "visibility",
-+                             ])
-+    }
-+  }
-+}
-diff --git a/build/config/tizen/BUILD.gn b/build/config/tizen/BUILD.gn
-new file mode 100644
-index 0000000..4c1430a
---- /dev/null
-+++ b/build/config/tizen/BUILD.gn
-@@ -0,0 +1,156 @@
-+# Copyright 2014 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.
-+
-+import("//build/config/sanitizers/sanitizers.gni")
-+import("//build/config/sysroot.gni")
-+
-+assert(is_tizen)
-+
-+# This is included by reference in the //build/config/compiler config that
-+# is applied to all targets. It is here to separate out the logic that is
-+# Android-only.
-+config("compiler") {
-+  cflags = [
-+    "-ffunction-sections",
-+    "-fno-short-enums",
-+  ]
-+  ldflags = []
-+
-+  if (!is_clang) {
-+    # Clang doesn't support these flags.
-+    cflags += [ "-finline-limit=64" ]
-+  }
-+  if (is_clang) {
-+    rebased_android_toolchain_root =
-+        rebase_path(android_toolchain_root, root_build_dir)
-+    assert(rebased_android_toolchain_root != "")  # Mark as used.
-+    if (current_cpu == "mipsel") {
-+      cflags += [
-+        # TODO(gordanac) Enable integrated-as.
-+        "-no-integrated-as",
-+        "-B${rebased_android_toolchain_root}/bin",  # Else /usr/bin/as gets picked up.
-+      ]
-+    }
-+  }
-+
-+  # Use gold for Android for most CPU architectures.
-+  if (current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm") {
-+    if (linux_use_gold_flags == true) {
-+      cflags += [ "-Wno-deprecated" ]
-+      ldflags += [ "-fuse-ld=gold" ]
-+    }
-+    if (is_clang) {
-+      # Let clang find the ld.gold in the NDK.
-+      ldflags += [ "--gcc-toolchain=$rebased_android_toolchain_root" ]
-+    }
-+
-+    # Use -mstackrealign due to a bug on ia32 Jelly Bean.
-+    # See crbug.com/521527
-+    if (current_cpu == "x86") {
-+      cflags += [ "-mstackrealign" ]
-+    }
-+  }
-+
-+  if (current_cpu == "mipsel" && is_clang) {
-+    # Let clang find the ld.bfd in the NDK.
-+    ldflags += [ "--gcc-toolchain=$rebased_android_toolchain_root" ]
-+  }
-+
-+  ldflags += [
-+    #"-Wl,--build-id=sha1",
-+    #"-Wl,--no-undefined",
-+
-+    # Don't allow visible symbols from libgcc or libc++ to be
-+    # re-exported.
-+    "-Wl,--exclude-libs=libgcc.a",
-+    "-Wl,--exclude-libs=libc++_static.a",
-+
-+    # Don't allow visible symbols from libraries that contain
-+    # assembly code with symbols that aren't hidden properly.
-+    # http://crbug.com/448386
-+    "-Wl,--exclude-libs=libvpx_assembly_arm.a",
-+  ]
-+
-+  if (is_clang) {
-+    if (current_cpu == "arm") {
-+      abi_target = "arm-linux-androideabi"
-+    } else if (current_cpu == "x86") {
-+      abi_target = "i686-linux-androideabi"
-+    } else if (current_cpu == "arm64") {
-+      # Place holder for arm64 support, not tested.
-+      # TODO: Enable clang support for Android Arm64. http://crbug.com/539781
-+      abi_target = "aarch64-linux-androideabi"
-+    } else if (current_cpu == "x64") {
-+      # Place holder for x64 support, not tested.
-+      # TODO: Enable clang support for Android x64. http://crbug.com/539781
-+      abi_target = "x86_64-linux-androideabi"
-+    } else if (current_cpu == "mipsel") {
-+      abi_target = "mipsel-linux-android"
-+    } else if (current_cpu == "mips64el") {
-+      # Place holder for mips64 support, not tested.
-+      abi_target = "mips64el-linux-androideabi"
-+    } else {
-+      assert(false, "Architecture not supported")
-+    }
-+    cflags += [
-+      "-target",
-+      abi_target,
-+    ]
-+    ldflags += [
-+      "-target",
-+      abi_target,
-+    ]
-+  }
-+
-+  # Assign any flags set for the C compiler to asmflags so that they are sent
-+  # to the assembler.
-+  asmflags = cflags
-+}
-+
-+config("executable_config") {
-+  cflags = [ "-fPIE" ]
-+  asmflags = [ "-fPIE" ]
-+  ldflags = [ "-pie" ]
-+}
-+
-+config("hide_native_jni_exports") {
-+  ldflags = [ "-Wl,--version-script=" +
-+              rebase_path("//build/android/android_no_jni_exports.lst") ]
-+}
-+
-+# Instrumentation -------------------------------------------------------------
-+#
-+# The BUILDCONFIG file sets the "default_cygprofile_instrumentation" config on
-+# targets by default. You can override whether the cygprofile instrumentation is
-+# used on a per-target basis:
-+#
-+# configs -= [ "//build/config/android:default_cygprofile_instrumentation" ]
-+# configs += [ "//build/config/android:no_cygprofile_instrumentation" ]
-+
-+#config("default_cygprofile_instrumentation") {
-+#  if (use_order_profiling) {
-+#    configs = [ ":cygprofile_instrumentation" ]
-+#  } else {
-+#    configs = [ ":no_cygprofile_instrumentation" ]
-+#  }
-+#}
-+
-+config("cygprofile_instrumentation") {
-+  defines = [ "CYGPROFILE_INSTRUMENTATION=1" ]
-+  cflags = [ "-finstrument-functions" ]
-+
-+  if (!is_clang) {
-+    cflags += [
-+      # Allow mmx intrinsics to inline, so that the compiler can expand the intrinsics.
-+      "-finstrument-functions-exclude-file-list=mmintrin.h",
-+
-+      # Avoid errors with current NDK:
-+      # "third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/include/arm_neon.h:3426:3: error: argument must be a constant"
-+      "-finstrument-functions-exclude-file-list=arm_neon.h",
-+    ]
-+  }
-+}
-+
-+config("no_cygprofile_instrumentation") {
-+}
-diff --git a/build/config/tizen_features.gni b/build/config/tizen_features.gni
-new file mode 100644
-index 0000000..702cd56
---- /dev/null
-+++ b/build/config/tizen_features.gni
-@@ -0,0 +1,93 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//build/config/ui.gni")
-+
-+declare_args() {
-+  gcc_version = 49
-+
-+  use_wayland = false
-+
-+  linux_use_gold_flags = false   # no use of this variable, if removing then revome from gn_chromiumefl.sh also
-+
-+  disable_fatal_linker_warnings = true  # no use of this variable, if removing then revome from gn_chromiumefl.sh also
-+
-+  python_ver = "2.5"  # no use of this variable, if removing then revome from gn_chromiumefl.sh also
-+
-+  depth = ""  # no use of this variable, if removing then revome from gn_chromiumefl.sh also
-+
-+  use_cairo = false
-+  use_pango = false
-+
-+  tizen_multimedia_support = false
-+  # declared from BUILDCONFIG.gn
-+  #is_clang = false
-+  xwalk_link_against_chromium_ewk = false
-+
-+  tizen_mobile = false
-+  building_for_tizen_tv = false
-+  building_for_tizen_mobile = false
-+  if (is_tizen && tizen_multimedia_support) {
-+    tizen_multimedia_eme_support = true
-+  } else {
-+    tizen_multimedia_eme_support = false
-+  }
-+
-+  exe_dir = "/usr/lib/chromium-efl/"
-+  edje_dir = "/usr/share/chromium-efl/themes/"
-+  data_dir = "/usr/share/chromium-efl/"
-+  locale_dir = "/usr/share/chromium-efl/locale/"
-+
-+  prebuilt_ld_gold_dir = ""
-+  chromium_efl_tizen_version = 24
-+  tizen_tbm_support = false
-+  building_for_tizen = false
-+}
-+
-+werror = false
-+
-+# This file should contain gn code that is supposed to be common
-+# for all build targets we have in chromium-ewk. Things specific only to one
-+# component should go to appropriate gni file included below.
-+
-+use_gstreamer_fft = false
-+
-+use_aura = false
-+
-+# Moved it in //tizen_src/build/config/BUILDCONFIG.gn
-+#use_efl = true
-+# Declared from the //build/config/ui.gni
-+#use_default_render_theme = true
-+
-+ewk_bringup = true
-+wayland_bringup = use_wayland
-+
-+building_strategy = "ewk" # 'ewk', 'libs' and 'crosswalk-bin'
-+
-+compile_suid_client = true
-+compile_credentials = true
-+# Declared from the //build/config/features.gni
-+#enable_web_speech = false
-+# Declare from //third_party/webrtc/build/webrtc.gni
-+#rtc_use_h264 = false # override value in third_party/webrtc/build/common.gypi
-+
-+edje_compiler = "edje_cc"
-+
-+grit_additional_defines = "-Duse_aura"
-+
-+if (use_ozone) {
-+  # Declared from the //build/config/ui.gni
-+  #use_glib = true
-+  external_ozone_platforms = [ "efl" ]
-+}
-+
-+if (xwalk_link_against_chromium_ewk) {
-+  import("//tizen_src/ewk/efl_integration/link_xwalk_against_chromium_efl.gni")
-+}
-+
-+is_official_build = false
-+
-+treat_warnings_as_errors=werror
-+
-+use_x11=false
-diff --git a/build/gbs.conf b/build/gbs.conf
-index fbeb934..c90e0be 100755
---- a/build/gbs.conf
-+++ b/build/gbs.conf
-@@ -115,7 +115,7 @@ url = https://api.tizen.org
- [profile.tztv_v3.0_arm-wayland]
- obs = obs.tizen_v3.0
- repos = repo.public_3.0_base_arm, repo.tztv_v3.0_arm-wayland
--buildroot = ~/GBS-ROOT-3.0-TV-ARM-WAYLAND
-+buildroot = ~/GBS-ROOT-3.0-TV-ARM-WAYLAND_M51
- [repo.public_3.0_base_arm]
- url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/
-@@ -164,7 +164,7 @@ url = http://download.tizen.org/snapshots/tizen/tv/latest/repos/emulator32-wayla
- [profile.tzmb_v3.0_arm-wayland]
- obs = obs.tizen_v3.0
- repos = repo.public_3.0_base_arm, repo.tzmb_v3.0_arm-wayland
--buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM-WAYLAND
-+buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM-WAYLAND_M51
- [repo.public_3.0_base_arm]
- url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/
-@@ -198,7 +198,7 @@ passwdx = QlpoOTFBWSZTWd0JOhUAAACBAABgIAAhAIIjF3JFOFCQ3Qk6FQ==
- [profile.tzmb_v3.0_arm64-wayland]
- obs = obs.tizen_v3.0
- repos = repo.public_3.0_base_arm64, repo.tzmb_v3.0_arm64-wayland
--buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM64-WAYLAND
-+buildroot = ~/GBS-ROOT-3.0-MOBILE-ARM64-WAYLAND_M51
- [repo.public_3.0_base_arm64]
- url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm64/packages/
-@@ -247,7 +247,7 @@ url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/emulator32-w
- [profile.tzmb_v3.0_TM1]
- obs = obs.tizen_v3.0
- repos =  repo.public_3.0_base_arm, repo.tzmb_v3.0_TM1
--buildroot = ~/GBS-ROOT-3.0-MOBILE-TM1
-+buildroot = ~/GBS-ROOT-3.0-MOBILE-TM1_M51
- [repo.public_3.0_base_arm]
- url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/
-@@ -262,7 +262,7 @@ url = http://download.tizen.org/snapshots/tizen/mobile/latest/repos/target-TM1/p
- [profile.tzmb_v3.0_TM1_mirror]
- obs = obs.tizen_v3.0
- repos =  repo.public_3.0_base_arm_mirror, repo.tzmb_v3.0_TM1_mirror
--buildroot = ~/GBS-ROOT-3.0-MOBILE-TM1
-+buildroot = ~/GBS-ROOT-3.0-MOBILE-TM1-M53-GN
- [repo.public_3.0_base_arm_mirror]
- url = http://165.213.149.200/download/public_mirror/tizen/base/latest/repos/arm/packages/
-diff --git a/build/gn_chromiumefl b/build/gn_chromiumefl
-new file mode 100755
-index 0000000..52d6101
---- /dev/null
-+++ b/build/gn_chromiumefl
-@@ -0,0 +1,164 @@
-+#!/usr/bin/env python
-+
-+import argparse
-+import glob
-+import os
-+import shlex
-+import subprocess
-+import sys
-+
-+top_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
-+if '--xwalk' in sys.argv:
-+  xwalk_dir = os.path.join(top_dir, '..', 'xwalk')
-+  sys.argv.remove('--xwalk')
-+else:
-+  xwalk_dir = None
-+chrome_src = os.environ.get('CHROME_SRC')
-+if chrome_src:
-+  chrome_src = os.path.abspath(chrome_src)
-+if not chrome_src or not os.path.isdir(chrome_src):
-+  chrome_src = os.path.join(top_dir, '..')
-+  print 'CHROME_SRC not set, falling back to ' + chrome_src
-+
-+script_dir = os.path.abspath(os.path.join(chrome_src, 'build'))
-+if not os.path.isdir(script_dir):
-+  print script_dir + " is not a valid directory"
-+  sys.exit(1)
-+
-+sys.path.insert(0, script_dir)
-+import gn_helpers
-+
-+
-+# Add paths so that pymod_do_main(...) can import files.
-+sys.path.insert(1, os.path.join(chrome_src, 'tools', 'generate_shim_headers'))
-+sys.path.insert(1, os.path.join(chrome_src, 'tools', 'grit'))
-+
-+# Remove the above and keep the line below once we require a newer specific
-+# Chromium revision.
-+sys.path.insert(1, os.path.join(chrome_src, 'third_party', 'WebKit',
-+    'Source', 'build', 'scripts'))
-+sys.path.insert(1, os.path.join(chrome_src, 'chrome', 'tools', 'build'))
-+sys.path.insert(1, os.path.join(chrome_src, 'native_client', 'build'))
-+
-+def GetOutputDirectory():
-+  """Returns the output directory that GN will use."""
-+
-+  # Handle command line generator flags.
-+  parser = argparse.ArgumentParser()
-+  parser.add_argument('-G', dest='genflags', default=[], action='append')
-+  genflags = parser.parse_known_args()[0].genflags
-+
-+  # Handle generator flags from the environment.
-+  genflags += shlex.split(os.environ.get('GN_GENERATOR_FLAGS', ''))
-+
-+  needle = 'output_dir='
-+  for item in genflags:
-+    if item.startswith(needle):
-+      return item[len(needle):]
-+
-+  return 'out'
-+
-+
-+if __name__ == '__main__':
-+  arg = 0
-+  args = []
-+  for i in range(len(sys.argv)):
-+    if arg > 0:
-+      args[arg] += " " + sys.argv[i];
-+      continue
-+    if sys.argv[i] in ("--args="):
-+      args.append(sys.argv[i])
-+      arg=i
-+    else:
-+      args.append(sys.argv[i])
-+
-+  # On Mac we want to override CXX and CC that is provided with
-+  # the Chromium GYP environment.
-+  if sys.platform.startswith('darwin'):
-+    os.environ['CXX'] = 'clang++'
-+    os.environ['CC'] = 'clang'
-+
-+  #gyp_helper.apply_chromium_gyp_env()
-+
-+#  args.extend(['-I' + i for i in additional_include_files(args)])
-+
-+  # On Mac we want to build in x64 mode. And we want to use libc++.
-+  # Even though we are not on linux, it seems we specifically have to disable linux_use_tcmalloc.
-+  if sys.platform in ('darwin',):
-+      args[arg] += " host_arch=\"x64\" use_libcpp=true linux_use_tcmalloc=false"
-+
-+  # There shouldn't be a circular dependency relationship between .gyp files,
-+  # but in Chromium's .gyp files, on non-Mac platforms, circular relationships
-+  # currently exist.  The check for circular dependencies is currently
-+  # bypassed on other platforms, but is left enabled on the Mac, where a
-+  # violation of the rule causes Xcode to misbehave badly.
-+  # TODO(mark): Find and kill remaining circular dependencies, and remove this
-+  # option.  http://crbug.com/35878.
-+  # TODO(tc): Fix circular dependencies in ChromiumOS then add linux2 to the
-+  # list.
-+  #if sys.platform not in ('darwin',):
-+  #  args[arg] += " no_circular_check=true"
-+
-+  # the top_level source directory is the first common ancestor of our module and the chromium source tree for the build to be sane.
-+  # commonprefix works on a character basis, so it might return a phony common prefix (not the common parent directory we expect),
-+  toplevel= os.path.commonprefix([top_dir, chrome_src])
-+
-+  if not os.path.exists(toplevel):
-+    toplevel = os.path.join(toplevel, os.pardir)
-+  #args[arg] += " toplevel-dir=\"" + toplevel + "\""
-+  # Tweak the output location.
-+  #args[arg] += "generator-output=\"" + os.path.abspath(GetOutputDirectory()) + "\""
-+  #args[arg] += " Goutput_dir=\"" + os.path.abspath(GetOutputDirectory()) + "\""
-+  #args[arg] += " check=true"
-+
-+  # gyp on gbs fails with multiprocessing.SemLock() not implemented
-+  # disabling parallel gyp for gbs
-+  gbs_build = os.environ.get('BUILDING_WITH_GBS')
-+  #if gbs_build:
-+    #args[arg] += " no-parallel=true"
-+
-+  os.environ["CHROMIUM_BUILDTOOLS_PATH"]=os.path.join(chrome_src, "buildtools")
-+
-+  #notifications -> enable_notifications in build/config/features.gni
-+  #args[arg] += " ewk_bringup=false xwalk_link_against_chromium_ewk=false notifications=false"
-+  args[arg] += " xwalk_link_against_chromium_ewk=false"
-+
-+  args[arg] += " gcc_version=49"  # It should be in condition for arm target
-+
-+  args.append("--defines=USE_EFL")
-+  args.append("-v")
-+
-+  buildtools_path = os.environ.get('CHROMIUM_BUILDTOOLS_PATH')
-+  host_arch = os.environ.get('HOST_ARCH')
-+  if not buildtools_path:
-+    print "build tool path is empty"
-+    sys.exit(1)
-+  else:
-+    if sys.platform.startswith(('cygwin', 'win')):
-+      subdir = 'win'
-+    elif sys.platform == 'darwin':
-+      subdir = 'mac'
-+    elif host_arch.startswith('arm'):
-+      buildtools_path = os.path.join(buildtools_path, "../tizen_src/buildtools/")
-+      subdir = 'arm'
-+    elif sys.platform.startswith('linux'):
-+        subdir = 'linux64'
-+    else:
-+      raise Error('Unknown platform: ' + sys.platform)
-+
-+    bin_path = os.path.join(buildtools_path, subdir)
-+
-+    exeSuffix = ''
-+    if sys.platform.startswith(('cygwin', 'win')):
-+      exeSuffix = '.exe'
-+    elif host_arch.startswith('arm'):
-+      exeSuffix = '.arm'
-+
-+    gn_path = os.path.join(bin_path, 'gn' + exeSuffix)
-+    if not os.path.exists(gn_path):
-+      print 'Could not find gn executable at: %s' % gn_path
-+      sys.exit(2)
-+    else:
-+      print 'Updating projects from gn files...'
-+      sys.exit(subprocess.call([gn_path] + args[1:]))
-+
-diff --git a/build/gn_chromiumefl.sh b/build/gn_chromiumefl.sh
-new file mode 100755
-index 0000000..2e9344f
---- /dev/null
-+++ b/build/gn_chromiumefl.sh
-@@ -0,0 +1,310 @@
-+#!/bin/bash
-+
-+source $(dirname $0)/common.sh
-+trap 'error_report $0 $LINENO' ERR SIGINT SIGTERM SIGQUIT
-+host_arch=$(getHostArch)
-+export HOST_ARCH=$host_arch
-+
-+supported_targets=("mobile" "tv" "desktop")
-+
-+if [ -z "$GN_GENERATOR_OUTPUT" ]; then
-+  GN_GENERATOR_OUTPUT="out.${host_arch}"
-+fi
-+
-+echo ${host_arch}
-+echo $GN_GENERATOR_OUTPUT
-+
-+if [ -z "$GN_GENERATOR_FLAG" ]; then
-+  export GN_GENERATOR_FLAG=$GN_GENERATOR_OUTPUT
-+fi
-+
-+EXTRA_GN_ARGS="$@"
-+
-+# __GN_CHROMIUMEFL_TARGET is defined when we are called from build_desktop.sh.
-+# Otherwise we are called by gbs whch already passes the correct building_for_* flag.
-+if [ "$__GN_CHROMIUMEFL_TARGET" == "desktop" ]; then
-+  target=desktop
-+fi
-+
-+while [[ $# > 0 ]]; do
-+  case "$1" in
-+    building_for_tizen_*=true)
-+      buildType="gbs"
-+      target=$(echo $1 | sed -e 's/building_for_tizen_\(.*\)=true/\1/')
-+      target_arch="arm"
-+      ;;
-+    chromium_efl_tizen_version=*)
-+      tizen_version=$(echo $1 | sed -e 's#chromium_efl_tizen_version\=\([0-9.]*\)#\1#')
-+      ;;
-+    tizen_emulator_support=1)
-+      tizen_emulator_support=1
-+      ;;
-+    #use_wayland=true)
-+    #  use_wayland=true
-+    #  ;;
-+    --xwalk)
-+      building_xwalk=1
-+      ;;
-+    building_crosswalk_bin=*)
-+      building_xwalk_for_development=1
-+      ;;
-+  esac
-+  shift;
-+done
-+
-+findElementInArray "$target" "${supported_targets[@]}"
-+if [[ $? == 1 ]]; then
-+  echo "Unsupported target: $target"
-+  exit 1
-+fi
-+
-+if [ "$__GN_CHROMIUMEFL_TARGET" == "crosscompile" ]; then
-+  buildType=crosscompile
-+  EXTRA_GN_ARGS+=" edje_compiler=${TOPDIR}/out.${host_arch}/Dependencies/Root/bin/edje_cc"
-+fi
-+
-+ORIGINAL_GN_DEFINES="$GN_DEFINES"
-+export GN_DEFINES=$(echo "$GN_DEFINES" | sed -e 's/component\s*=\s*shared_library//g')
-+if [ "$ORIGINAL_GN_DEFINES" != "$GN_DEFINES" ]; then
-+    echo "WARNING: component build is not supported."
-+    echo "Removing component=shared_library from GN_DEFINES."
-+fi
-+
-+COMMON_GN_PARAMETERS="
-+                      use_libjpeg_turbo=true
-+                      proprietary_codecs=true
-+                      use_alsa=false
-+                      use_aura=false
-+                      use_gconf=false
-+                      use_kerberos=false
-+                      use_ozone=true
-+                      ozone_auto_platforms=false
-+                      ozone_platform_wayland=false
-+                      is_desktop_linux=false
-+                      use_pango=false
-+                      use_cairo=false
-+                      enable_plugins=true
-+                      enable_extensions=true
-+                      use_cups=false
-+                      use_allocator=\"none\"
-+                      disable_fatal_linker_warnings=true
-+                      depth=\"${TOPDIR}\"
-+                      use_libpci=false
-+                      "
-+                      # Moved it in //tizen_src/build/config/BUILDCONFIG.gn
-+                      # use_efl=true
-+                      # declared also from build config
-+                      # is_desktop_linux=false
-+                      # declared also from //build/config/features.gni
-+                      # proprietary_codecs=true
-+                      # use_gconf=false
-+                      # enable_plugins=true
-+
-+if [ "$building_xwalk" == "1" ] && [ "$building_xwalk_for_development" != "1" ]; then
-+  COMMON_GN_PARAMETERS+="
-+                         xwalk_link_against_chromium_ewk=true
-+                         "
-+fi
-+
-+add_desktop_flags() {
-+  clang="true"
-+  if [ "$USECLANG" == "0" ]; then
-+    clang="false"
-+  fi
-+  ADDITIONAL_GN_PARAMETERS+="building_for_tizen=false
-+                              building_for_tizen_mobile=false
-+                              building_for_tizen_tv=false
-+                              clang=${clang}
-+                              werror=false
-+                              use_sysroot=false
-+                              use_wayland=false
-+                              target_os="\"linux\""
-+                              target_cpu=\"${host_arch}\"
-+                             "
-+}
-+
-+add_arm_flags() {
-+  ADDITIONAL_GN_PARAMETERS+="armv7=true
-+                              arm_thumb=true
-+                              arm_use_neon=true
-+                             "
-+}
-+
-+add_tizen_flags() {
-+  ADDITIONAL_GN_PARAMETERS+="building_for_tizen=true
-+                              python_ver=\"$(getPythonVersion)\"
-+                              enable_basic_printing=true
-+                              enable_print_preview=true
-+                              is_clang=false
-+                              linux_use_bundled_binutils=false
-+                              enable_nacl=false
-+                              tizen_multimedia_eme_support=false
-+                              target_os="\"tizen\""
-+                             "
-+                              # We do not need it
-+                              # tizen=true
-+                              # not used any place
-+                              # linux_use_bundled_gold=false
-+                              # declared also from //build/config/features.gni
-+                              #enable_basic_printing=true
-+                              #enable_print_preview=true
-+                              #It is defined from //build/toolchain/gcc_toolchain.gni
-+                              #is_clang=false
-+
-+  # TODO(youngsoo): Once binutils-gold issue on tizen v3.0 ARM 64bit is fixed,
-+  #                 make the latest tizen version unconditional.
-+  if [ "$tizen_version" == "30" ] && [ "$host_arch" == "arm" ]; then
-+    # [M48_2564] Temporary disabling the flag for switching to new chromium
-+    #            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15383
-+    ADDITIONAL_GN_PARAMETERS+="linux_use_gold_flags=true
-+                              "
-+                                #prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild\"
-+                               #"
-+  elif [ "$tizen_version" == "24" -a "$target" == "tv" ]; then
-+    ADDITIONAL_GN_PARAMETERS+="linux_use_gold_flags=false
-+                                prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild/tizen_v2.4_tv\"
-+                               "
-+  else
-+    ADDITIONAL_GN_PARAMETERS+="linux_use_gold_flags=false
-+                                prebuilt_ld_gold_dir=\"${TOPDIR}/tizen_src/build/prebuild\"
-+                               "
-+  fi
-+
-+  if [ "$tizen_version" == "30" ]; then
-+    # [M49_2623] Temporary disabling the flag.
-+    #            FIXME: http://165.213.149.170/jira/browse/TWF-610
-+    ADDITIONAL_GN_PARAMETERS+="tizen_multimedia_support=false
-+                                tizen_tbm_support=false
-+                               "
-+  else
-+    ADDITIONAL_GN_PARAMETERS+="tizen_multimedia_support=false
-+                                werror=false
-+                               "
-+  fi
-+
-+  # use_wayland come from spec file and based on that wayland_bringup sets in tizen_features.gni
-+  #add_wayland_flags
-+}
-+
-+add_wayland_flags() {
-+  if [ "$use_wayland" == "true" ]; then
-+    ADDITIONAL_GN_PARAMETERS+="use_wayland=true
-+                                wayland_bringup=true
-+                               "
-+  else
-+    ADDITIONAL_GN_PARAMETERS+="use_wayland=false
-+                                wayland_bringup=false
-+                               "
-+  fi
-+}
-+
-+add_gbs_flags() {
-+  # target_arch changed to target_cpu but not changed because it seems that
-+  # it is used for gbs and added target_cpu also.
-+  ADDITIONAL_GN_PARAMETERS+="target_cpu=\"${host_arch}\"
-+                            "
-+                            #  sysroot=""
-+                            #"
-+                              #no-parallel=true
-+                             #"
-+  # TODO(b.kelemen): ideally crosscompile should also support system libs.
-+  # Unfortunately the gbs root doesn't contain everything chromium needs.
-+#  SYSTEM_DEPS="-Duse_system_expat=true
-+#               -Duse_system_libjpeg=false
-+#               -Duse_system_libpng=true
-+#               -Duse_system_libusb=true
-+#               -Duse_system_libxml=true
-+#               -Duse_system_libxslt=true
-+#               -Duse_system_re2=true
-+#               -Duse_system_zlib=true
-+#              "
-+  SYSTEM_DEPS="" #"--system-libraries
-+               #libxml
-+              #"
-+
-+  # [M50_2661] Temporary using the icu of internal chformium instead of system.
-+  #            The icu of system doesn't support utrie2.h
-+  #            FIXME: http://suprem.sec.samsung.net/jira/browse/TWF-967
-+#  SYSTEM_DEPS+="-Duse_system_icu=false
-+#               "
-+
-+  if [ "$target" == "mobile" ]; then
-+#    SYSTEM_DEPS+="-Duse_system_bzip2=true
-+#                  -Duse_system_libexif=true
-+#                  -Duse_system_nspr=true
-+#                 "
-+    SYSTEM_DEPS+="
-+                 "
-+  fi
-+}
-+
-+add_cross_flags() {
-+  # target_arch changed to target_cpu but not changed because it seems that
-+  # it is used for gbs and added target_cpu also.
-+  ADDITIONAL_GN_PARAMETERS+="target_cpu=\"arm\"
-+                             sysroot=\"$SYSROOTDIR\"
-+                             arm_tune=\"arm7\"
-+                             "
-+
-+  # Compiling yasm with crosscompile + icecc leads to some strange errors (one file is built for target instead of host).
-+  # Yasm is an assembler used only by the build (not at runtime) and it is generally available in Linux distros so let's just
-+  # use it from the system.
-+  ADDITIONAL_GN_PARAMETERS+="use_system_yasm=true"
-+}
-+
-+if [ "$target" == "desktop" ]; then
-+  add_desktop_flags
-+else
-+  add_tizen_flags
-+  if [ "$target" == "mobile" -o "$target" == "tv" ]; then
-+    if [ "$target_arch" == "arm" ]; then
-+      add_arm_flags
-+    fi
-+    if [ "$buildType" == "gbs" ]; then
-+      add_gbs_flags
-+    elif [ "$buildType" == "crosscompile" ]; then
-+      add_cross_flags
-+    fi
-+  fi
-+  if [ "$SYSTEM_DEPS" != "" ]; then
-+    #replacing original files with correct ones according to $SYSTEM_DEPS
-+    $TOPDIR/build/linux/unbundle/replace_gn_files.py $SYSTEM_DEPS
-+  fi
-+fi
-+
-+_GN_ARGS="
-+    gen
-+    $GN_GENERATOR_FLAG
-+    --root=${TOPDIR}
-+    --dotfile=${TOPDIR}/tizen_src/.gn
-+    --args=
-+    $COMMON_GN_PARAMETERS
-+    $SYSTEM_DEPS
-+    $ADDITIONAL_GN_PARAMETERS
-+    $EXTRA_GN_ARGS
-+    "
-+printf "GN_ARGUMENTS:\n"
-+for arg in $_GN_ARGS; do
-+  printf "    * ${arg##-D}\n"
-+done
-+
-+if [ -f "${TOPDIR}/BUILD_.gn" ]; then
-+  rm "${TOPDIR}/BUILD.gn"
-+else
-+  mv "${TOPDIR}/BUILD.gn" "${TOPDIR}/BUILD_.gn"
-+fi
-+ln -s "${TOPDIR}/tizen_src/BUILD.gn" "${TOPDIR}/BUILD.gn"
-+
-+${TOPDIR}/tizen_src/build/gn_chromiumefl \
-+    ${_GN_ARGS}
-+
-+ret=$?
-+
-+mv ${TOPDIR}/BUILD_.gn ${TOPDIR}/BUILD.gn
-+
-+if [ "$SYSTEM_DEPS" != "" ]; then
-+  # Restore gn files to their original states not to mess up the tree permanently.
-+  $TOPDIR/build/linux/unbundle/replace_gn_files.py --undo $SYSTEM_DEPS
-+fi
-+
-+exit $ret
-diff --git a/build/jhbuild/jhbuildrc b/build/jhbuild/jhbuildrc
-index 6ae610c..8a90c1b 100644
---- a/build/jhbuild/jhbuildrc
-+++ b/build/jhbuild/jhbuildrc
-@@ -30,7 +30,10 @@ moduleset = [ __moduleset_file_uri, ]
- __extra_modules = os.environ.get("WEBKIT_EXTRA_MODULES", "").split(",")
- modules = [ 'chromeefl-dependencies', ]
--outdir = os.environ.get('GYP_GENERATOR_OUTPUT', 'out')
-+if os.environ['USE_GN']:
-+  outdir = os.environ.get('GN_GENERATOR_OUTPUT', 'out')
-+else:
-+  outdir = os.environ.get('GYP_GENERATOR_OUTPUT', 'out')
- checkoutroot = os.path.abspath(os.path.join(outdir,'Dependencies', 'Source'))
- prefix = os.path.abspath(os.path.join(outdir,'Dependencies', 'Root'))
-diff --git a/build/patches/gn_build_is_tizen_on_ffmpeg.diff b/build/patches/gn_build_is_tizen_on_ffmpeg.diff
-new file mode 100644
-index 0000000..342adbf
---- /dev/null
-+++ b/build/patches/gn_build_is_tizen_on_ffmpeg.diff
-@@ -0,0 +1,100 @@
-+diff --git a/third_party/ffmpeg/ffmpeg_generated.gni b/third_party/ffmpeg/ffmpeg_generated.gni
-+index e952679..d0208c7 100644
-+--- a/third_party/ffmpeg/ffmpeg_generated.gni
-++++ b/third_party/ffmpeg/ffmpeg_generated.gni
-+@@ -12,7 +12,7 @@ ffmpeg_c_sources = []
-+ ffmpeg_gas_sources = []
-+ ffmpeg_yasm_sources = []
-+ 
-+-if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-++if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium") || is_tizen) {
-+   ffmpeg_c_sources += [
-+     "libavcodec/allcodecs.c",
-+     "libavcodec/autorename_libavcodec_utils.c",
-+@@ -146,7 +146,7 @@ if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "C
-+   ]
-+ }
-+ 
-+-if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-++if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium") || is_tizen) {
-+   ffmpeg_c_sources += [
-+     "libavcodec/h264pred.c",
-+     "libavcodec/hpeldsp.c",
-+@@ -167,7 +167,7 @@ if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "C
-+   ]
-+ }
-+ 
-+-if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-++if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || is_tizen) {
-+   ffmpeg_c_sources += [
-+     "libavcodec/aac_ac3_parser.c",
-+     "libavcodec/aac_parser.c",
-+@@ -255,7 +255,7 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chr
-+   ]
-+ }
-+ 
-+-if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
-++if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || is_tizen) {
-+   ffmpeg_c_sources += [
-+     "libavcodec/arm/fft_fixed_init_arm.c",
-+     "libavcodec/arm/fft_init_arm.c",
-+@@ -282,7 +282,7 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chr
-+   ]
-+ }
-+ 
-+-if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
-++if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || is_tizen) {
-+   ffmpeg_c_sources += [
-+     "libavcodec/arm/h264pred_init_arm.c",
-+     "libavcodec/arm/hpeldsp_init_arm.c",
-+@@ -302,7 +302,7 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chr
-+   ]
-+ }
-+ 
-+-if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS")) {
-++if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_tizen && arm_use_neon)) {
-+   ffmpeg_c_sources += [
-+     "libavutil/arm/float_dsp_init_neon.c",
-+   ]
-+@@ -361,7 +361,7 @@ if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_l
-+   ]
-+ }
-+ 
-+-if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
-++if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || is_tizen) {
-+   ffmpeg_c_sources += [
-+     "libavcodec/arm/aacpsdsp_init_arm.c",
-+     "libavcodec/arm/mpegaudiodsp_init_arm.c",
-+@@ -483,7 +483,7 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chr
-+   ]
-+ }
-+ 
-+-if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS")) {
-++if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_tizen && arm_use_neon)) {
-+   ffmpeg_c_sources += [
-+     "libavcodec/arm/hpeldsp_init_neon.c",
-+     "libavcodec/arm/vp8dsp_init_neon.c",
-+diff --git a/third_party/ffmpeg/ffmpeg_options.gni b/third_party/ffmpeg/ffmpeg_options.gni
-+index 6bb719a..44735d6 100644
-+--- a/third_party/ffmpeg/ffmpeg_options.gni
-++++ b/third_party/ffmpeg/ffmpeg_options.gni
-+@@ -47,8 +47,10 @@ assert(ffmpeg_branding == "Chromium" ||
-+ 
-+ if (current_cpu == "x86") {
-+   ffmpeg_arch = "ia32"
-+-} else if (current_cpu == "arm" && arm_version >= 7 && arm_use_neon) {
-++} else if ((current_cpu == "arm" || is_tizen) && arm_version >= 7 && arm_use_neon) {
-+   ffmpeg_arch = "arm-neon"
-++} else if (is_tizen) {
-++  ffmpeg_arch = "arm"
-+ } else {
-+   ffmpeg_arch = current_cpu
-+ }
-+@@ -61,6 +63,6 @@ os_config = current_os
-+ if ((is_linux || is_chromeos) && is_msan) {
-+   os_config = "linux-noasm"
-+   disable_ffmpeg_asm = true
-+-} else if (is_chromeos) {
-++} else if (is_chromeos || is_tizen) {
-+   os_config = "linux"
-+ }
-diff --git a/build/toolchain/tizen/BUILD.gn b/build/toolchain/tizen/BUILD.gn
-new file mode 100644
-index 0000000..af68b41
---- /dev/null
-+++ b/build/toolchain/tizen/BUILD.gn
-@@ -0,0 +1,70 @@
-+# Copyright 2013 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.
-+
-+import("//build/config/sysroot.gni")  # Imports android/config.gni.
-+import("//build/toolchain/gcc_toolchain.gni")
-+
-+template("tizen_gcc_toolchain") {
-+  gcc_toolchain(target_name) {
-+
-+    is_clang = invoker.is_clang
-+    if (is_clang) {
-+      prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
-+                           root_build_dir)
-+      cc = "$prefix/clang"
-+      cxx = "$prefix/clang++"
-+    } else {
-+      cc = "gcc"
-+      cxx = "g++"
-+    }
-+    ar = cc + "-ar"
-+    ld = cxx
-+    readelf = "readelf"
-+    nm = "nm"
-+    #strip = "strip"
-+
-+    # Don't use .cr.so for loadable_modules since they are always loaded via
-+    # absolute path.
-+    loadable_module_extension = ".so"
-+
-+    toolchain_os = "tizen"
-+    toolchain_cpu = invoker.toolchain_cpu
-+    use_goma = false
-+  }
-+}
-+
-+template("tizen_gcc_toolchains_helper") {
-+  tizen_gcc_toolchain(target_name) {
-+    toolchain_cpu = invoker.toolchain_cpu
-+  }
-+
-+  tizen_gcc_toolchain("clang_$target_name") {
-+    toolchain_cpu = invoker.toolchain_cpu
-+    is_clang = true
-+  }
-+}
-+
-+tizen_gcc_toolchains_helper("x86") {
-+  toolchain_cpu = "x86"
-+}
-+
-+tizen_gcc_toolchains_helper("arm") {
-+  toolchain_cpu = "arm"
-+}
-+
-+tizen_gcc_toolchains_helper("mipsel") {
-+  toolchain_cpu = "mipsel"
-+}
-+
-+tizen_gcc_toolchains_helper("x64") {
-+  toolchain_cpu = "x86_64"
-+}
-+
-+tizen_gcc_toolchains_helper("arm64") {
-+  toolchain_cpu = "aarch64"
-+}
-+
-+tizen_gcc_toolchains_helper("mips64el") {
-+  toolchain_cpu = "mipsel64el"
-+}
-diff --git a/buildtools/arm/gn.arm b/buildtools/arm/gn.arm
-new file mode 100755
-index 0000000..58ce3c5
-Binary files /dev/null and b/buildtools/arm/gn.arm differ
-diff --git a/chromium_impl/base/base_efl.gni b/chromium_impl/base/base_efl.gni
-new file mode 100644
-index 0000000..10ce612
---- /dev/null
-+++ b/chromium_impl/base/base_efl.gni
-@@ -0,0 +1,18 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//build/config/ui.gni")
-+
-+external_base_configs = [
-+  "//tizen_src/build:ecore",
-+  "//tizen_src/build:libecore",
-+]
-+external_base_sources = [
-+  "//tizen_src/chromium_impl/base/message_loop/message_pump_ecore.cc",
-+  "//tizen_src/chromium_impl/base/message_loop/message_pump_ecore.h",
-+]
-+
-+if (use_glib) {
-+  external_base_sources += [ "//base/message_loop/message_pump_glib.cc" ]
-+}
-diff --git a/chromium_impl/chrome/chrome_tests_efl.gni b/chromium_impl/chrome/chrome_tests_efl.gni
-new file mode 100644
-index 0000000..d411852
---- /dev/null
-+++ b/chromium_impl/chrome/chrome_tests_efl.gni
-@@ -0,0 +1,12 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+# For //chrome/test/chromedriver:lib target
-+# It seems that keycode_text_conversion_win.cc is not used in gn files so no need to exclude it.
-+external_exclude_chrome_test_driver_sources = [] #[ "test/chromedriver/keycode_text_conversion_win.cc" ]
-+if (use_wayland) {
-+  #external_exclude_chrome_test_driver_sources += [ "test/chromedriver/keycode_text_conversion_x.cc" ]
-+}
-diff --git a/chromium_impl/components/components.gni b/chromium_impl/components/components.gni
-new file mode 100644
-index 0000000..31b5917
---- /dev/null
-+++ b/chromium_impl/components/components.gni
-@@ -0,0 +1,9 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+declare_args() {
-+  chromium_code = 1
-+}
-+
-+js_dialog_efl_deps = [ "//tizen_src/chromium_impl/components/js_dialogs_efl" ]
-diff --git a/chromium_impl/components/js_dialogs_efl/BUILD.gn b/chromium_impl/components/js_dialogs_efl/BUILD.gn
-new file mode 100644
-index 0000000..21aa662
---- /dev/null
-+++ b/chromium_impl/components/js_dialogs_efl/BUILD.gn
-@@ -0,0 +1,23 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+static_library("js_dialogs_efl") {
-+  configs += [
-+    "//tizen_src/build:elementary",
-+    "//tizen_src/build:libelementary",
-+    "//tizen_src/build:efl-extension",
-+    "//tizen_src/build:libefl-extension",
-+  ]
-+  deps = [
-+    "//base",
-+    "//skia",
-+  ]
-+  include_dirs = [ ".." ]
-+  sources = [
-+    "javascript_dialog_manager_efl.cc",
-+    "javascript_dialog_manager_efl.h",
-+    "javascript_modal_dialog_efl.cc",
-+    "javascript_modal_dialog_efl.h",
-+  ]
-+}
-diff --git a/chromium_impl/content/BUILD.gn b/chromium_impl/content/BUILD.gn
-new file mode 100644
-index 0000000..58c8979
---- /dev/null
-+++ b/chromium_impl/content/BUILD.gn
-@@ -0,0 +1,24 @@
-+# copyright (c) 2015 samsung electronics. all rights reserved.
-+# use of this source code is governed by a bsd-style license that can be
-+# found in the license file.
-+
-+static_library("android_content_detection") {
-+  set_sources_assignment_filter([])
-+  sources = [
-+    "//content/renderer/android/renderer_date_time_picker.h",
-+    "//content/renderer/android/renderer_date_time_picker.cc",
-+    "//content/renderer/android/content_detector.h",
-+    "//content/renderer/android/content_detector.cc",
-+    "//content/renderer/android/email_detector.h",
-+    "//content/renderer/android/email_detector.cc",
-+    "//content/renderer/android/phone_number_detector.h",
-+    "//content/renderer/android/phone_number_detector.cc",
-+  ]
-+
-+  deps = [
-+    "//third_party/libphonenumber:libphonenumber",
-+    "//third_party/icu:icui18n",
-+    "//third_party/blink/public:blink",
-+    "//mojo/public/cpp/bindings:bindings",
-+  ]
-+}
-diff --git a/chromium_impl/content/browser/browser_efl.gni b/chromium_impl/content/browser/browser_efl.gni
-new file mode 100644
-index 0000000..c966874
---- /dev/null
-+++ b/chromium_impl/content/browser/browser_efl.gni
-@@ -0,0 +1,82 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//build/config/features.gni")
-+
-+external_content_browser_efl_sources = [
-+  "//tizen_src/chromium_impl/content/browser/compositor/context_factory_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/compositor/mailbox_output_surface_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/compositor/mailbox_output_surface_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_view_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_view_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_impl_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_impl_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_dest_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_dest_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_source_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_source_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/tracing/tracing_controller_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/tracing/tracing_controller_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/disambiguation_popup_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/disambiguation_popup_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/edge_effect.h",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/edge_effect.cc",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/im_context_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/im_context_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/native_web_keyboard_event_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/render_widget_host_view_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/render_widget_host_view_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/web_event_factory_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/renderer_host/web_event_factory_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/screen_orientation/screen_orientation_delegate_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/screen_orientation/screen_orientation_delegate_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_box_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_box_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_controller_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_controller_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_handle_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_handle_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_magnifier_efl.cc",
-+  "//tizen_src/chromium_impl/content/browser/selection/selection_magnifier_efl.h",
-+  "//tizen_src/chromium_impl/content/browser/public/browser/web_contents_efl_delegate.h",
-+  "//tizen_src/chromium_impl/content/browser/public/browser/web_contents_view_efl_delegate.h",
-+]
-+
-+external_content_browser_efl_sources += [
-+  "//content/browser/renderer_host/ui_events_helper.cc",
-+  "//content/browser/renderer_host/ui_events_helper.h",
-+]
-+
-+if (building_for_tizen) {
-+  external_content_browser_efl_sources += [
-+    "//tizen_src/chromium_impl/content/browser/speech/tts_message_filter_efl.cc",
-+    "//tizen_src/chromium_impl/content/browser/speech/tts_message_filter_efl.h",
-+    "//tizen_src/chromium_impl/content/browser/speech/tts_tizen.cc",
-+    "//tizen_src/chromium_impl/content/browser/speech/tts_tizen.h",
-+  ]
-+}
-+if (building_for_tizen_mobile) {
-+  external_exclude_content_browser_efl_sources = [ "device_sensors/data_fetcher_shared_memory_default.cc" ]
-+  external_content_browser_efl_sources += [
-+    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_impl_tizen.cc",
-+    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_impl_tizen.h",
-+    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_shared_memory_tizen.cc",
-+  ]
-+}
-+if (tizen_multimedia_support) {
-+  external_content_browser_efl_sources += [
-+    "//tizen_src/chromium_impl/content/browser/media/media_web_contents_observer_efl.cc",
-+    "//tizen_src/chromium_impl/content/browser/media/media_web_contents_observer_efl.h",
-+    "//tizen_src/chromium_impl/content/browser/media/efl/browser_demuxer_efl.cc",
-+    "//tizen_src/chromium_impl/content/browser/media/efl/browser_demuxer_efl.h",
-+    "//tizen_src/chromium_impl/content/browser/media/efl/browser_media_player_manager_efl.cc",
-+    "//tizen_src/chromium_impl/content/browser/media/efl/browser_media_player_manager_efl.h",
-+  ]
-+}
-+if (tizen_tbm_support) {
-+  external_content_browser_efl_sources += [
-+    "//tizen_src/chromium_impl/content/browser/media/browser_mediapacket_manager.cc",
-+    "//tizen_src/chromium_impl/content/browser/media/browser_mediapacket_manager.h",
-+  ]
-+}
-diff --git a/chromium_impl/content/common/BUILD.gn b/chromium_impl/content/common/BUILD.gn
-new file mode 100644
-index 0000000..da16d38
---- /dev/null
-+++ b/chromium_impl/content/common/BUILD.gn
-@@ -0,0 +1,36 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+config("content_common_efl") {
-+  visibility = [ "//tizen_src/chromium_impl/content/common/common_efl.gni" ]
-+
-+  defines = [
-+    "DATA_DIR=\"$data_dir\"",
-+    "EXE_DIR=\"$exe_dir\"",
-+  ]
-+
-+  if (building_for_tizen) {
-+    defines += [
-+      "EDJE_DIR=\"$edje_dir\"",
-+      "LOCALE_DIR=\"$locale_dir\"",
-+    ]
-+  } else {
-+    # TODO
-+    # Release
-+    # [TODO] This code should be removed.
-+    outdir = "/home/ychul.kang/blink/src/ct-chromium-efl-dev-m56/src/out.x64"
-+    defines += [
-+      "EDJE_DIR=\"$outdir/Release/resources\"",
-+      "LOCALE_DIR=\"$outdir/Release/locale\"",
-+    ]
-+    # Debug
-+#    defines += [
-+#      "EDJE_DIR=\"$outdir/Debug/resources\"",
-+#      "LOCALE_DIR=\"$outdir/Debug/locale\"",
-+#    ]
-+  }
-+}
-+
-diff --git a/chromium_impl/content/common/common_efl.gni b/chromium_impl/content/common/common_efl.gni
-new file mode 100644
-index 0000000..21a7133
---- /dev/null
-+++ b/chromium_impl/content/common/common_efl.gni
-@@ -0,0 +1,57 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+external_content_common_efl_configs = [ "//tizen_src/chromium_impl/content/common:content_common_efl" ]
-+
-+external_exclude_content_common_efl_sources = []
-+
-+external_content_common_efl_sources = [
-+  "//tizen_src/chromium_impl/content/common/content_client_export.cc",
-+  "//tizen_src/chromium_impl/content/common/content_client_export.h",
-+  "//tizen_src/chromium_impl/content/common/message_generator_efl.cc",
-+  "//tizen_src/chromium_impl/content/common/message_generator_efl.h",
-+  "//tizen_src/chromium_impl/content/common/paths_efl.h",
-+  "//tizen_src/chromium_impl/content/common/paths_efl.cc",
-+  "//tizen_src/chromium_impl/content/common/render_messages_efl.h",
-+  "//tizen_src/chromium_impl/content/common/cursors/webcursor_efl.cc",
-+  "//tizen_src/chromium_impl/content/common/cursors/webcursor_efl.h",
-+  "//tizen_src/chromium_impl/content/common/wrt/wrt_url_parse.h",
-+]
-+
-+if (building_for_tizen) {
-+  external_content_common_efl_sources += [
-+    "//tizen_src/chromium_impl/content/common/tts_messages_efl.h",
-+    "//tizen_src/chromium_impl/content/common/tts_utterance_request_efl.cc",
-+    "//tizen_src/chromium_impl/content/common/tts_utterance_request_efl.h",
-+  ]
-+}
-+
-+if (building_for_tizen && !ewk_bringup) {
-+  external_content_common_efl_sources += [
-+    "//tizen_src/chromium_impl/content/common/gpu/client/gpu_memory_buffer_impl_efl.cc",
-+    "//tizen_src/chromium_impl/content/common/gpu/gpu_memory_buffer_factory_efl.cc",
-+  ]
-+
-+  if (!wayland_bringup) {
-+    external_content_common_efl_sources += [
-+      "//tizen_src/chromium_impl/content/common/gpu/client/gpu_memory_buffer_impl_efl_pixmap.cc",
-+      "//tizen_src/chromium_impl/content/common/gpu/client/gpu_memory_buffer_impl_efl_pixmap.h",
-+      "//tizen_src/chromium_impl/content/common/gpu/gpu_memory_buffer_factory_efl_pixmap.cc",
-+      "//tizen_src/chromium_impl/content/common/gpu/gpu_memory_buffer_factory_efl_pixmap.h",
-+    ]
-+  }
-+}
-+
-+if (tizen_multimedia_support) {
-+  external_content_common_efl_sources += [
-+    "//tizen_src/chromium_impl/content/common/media/efl/media_player_messages_enums_efl.h",
-+    "//tizen_src/chromium_impl/content/common/media/efl/media_player_messages_efl.h",
-+    "//tizen_src/chromium_impl/content/common/gpu/media/efl/tizen_video_decode_accelerator.h",
-+    "//tizen_src/chromium_impl/content/common/gpu/media/efl/tizen_video_decode_accelerator.cc",
-+    "//tizen_src/chromium_impl/content/common/gpu/media/efl/tizen_video_encode_accelerator.h",
-+    "//tizen_src/chromium_impl/content/common/gpu/media/efl/tizen_video_encode_accelerator.cc",
-+  ]
-+}
-diff --git a/chromium_impl/content/common/paths_efl.cc b/chromium_impl/content/common/paths_efl.cc
-index bbea3d7..5ccf641 100644
---- a/chromium_impl/content/common/paths_efl.cc
-+++ b/chromium_impl/content/common/paths_efl.cc
-@@ -15,7 +15,7 @@
- #include "build/tizen_version.h"
- #if defined(OS_TIZEN)
--#include <app.h>
-+#include <appfw/app.h>
- #if TIZEN_VERSION_AT_LEAST(3,0,0)
- #include <tzplatform_config.h>
- #endif
-diff --git a/chromium_impl/content/content_efl.gni b/chromium_impl/content/content_efl.gni
-new file mode 100644
-index 0000000..7e95a98
---- /dev/null
-+++ b/chromium_impl/content/content_efl.gni
-@@ -0,0 +1,109 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+import("//tizen_src/chromium_impl/components/components.gni")
-+
-+external_content_common_configs = [
-+  "//tizen_src/build:capi-appfw-application",
-+  "//tizen_src/build:libcapi-appfw-application",
-+  "//tizen_src/build:tizen_tzplatform_config",
-+  "//tizen_src/build:libtizen_tzplatform_config",
-+  "//tizen_src/build:tts",
-+  "//tizen_src/build:libtts",
-+]
-+
-+external_content_common_deps = [ "//build/linux:fontconfig" ]
-+
-+external_content_browser_configs = [
-+  "//tizen_src/build:capi-media-player",
-+  "//tizen_src/build:libcapi-media-player",
-+  "//tizen_src/build:capi-media-tool",
-+  "//tizen_src/build:libcapi-media-tool",
-+  "//tizen_src/build:capi-system-sensor",
-+  "//tizen_src/build:libcapi-system-sensor",
-+  "//tizen_src/build:ecore",
-+  "//tizen_src/build:libecore",
-+  "//tizen_src/build:ecore-imf-evas",
-+  "//tizen_src/build:libecore-imf-evas",
-+  "//tizen_src/build:ecore-evas",
-+  "//tizen_src/build:libecore-evas",
-+  "//tizen_src/build:elementary",
-+  "//tizen_src/build:libelementary",
-+  "//tizen_src/build:efl-extension",
-+  "//tizen_src/build:libefl-extension",
-+]
-+
-+external_content_browser_extra_configs = [
-+  "//tizen_src/build:tts",
-+  "//tizen_src/build:libtts",
-+]
-+
-+external_content_browser_deps = [
-+  "//tizen_src/chromium_impl/efl:window-factory",
-+  "//tizen_src/chromium_impl/edje_resources:edje_resources_efl",
-+  "//ui/gl:gl",
-+]
-+
-+external_content_renderer_extra_configs = [
-+  "//tizen_src/build:tts",
-+  "//tizen_src/build:libtts",
-+]
-+
-+external_content_renderer_deps = [
-+  "//tizen_src/chromium_impl/content:android_content_detection",
-+]
-+
-+external_content_gpu_configs = [
-+  "//tizen_src/build:evas",
-+  "//tizen_src/build:libevas",
-+]
-+
-+external_content_shell_configs = [
-+  "//tizen_src/build:evas",
-+  "//tizen_src/build:libevas",
-+  "//tizen_src/build:ecore-evas",
-+  "//tizen_src/build:libecore-evas",
-+  "//tizen_src/build:elementary",
-+  "//tizen_src/build:libelementary",
-+]
-+
-+external_content_shell_deps = [
-+  "//tizen_src/chromium_impl/efl:efl-init",
-+]
-+external_content_shell_deps += js_dialog_efl_deps
-+
-+if (building_for_tizen) {
-+  external_content_browser_configs += [
-+    "//tizen_src/build:vconf",
-+    "//tizen_src/build:libvconf",
-+  ]
-+}
-+
-+if (!use_wayland) {
-+    external_content_common_configs += [ "//tizen_src/build:ecore-x" ]
-+    external_content_common_configs += [ "//tizen_src/build:libecore-x" ]
-+    external_content_browser_configs += [ "//tizen_src/build:x11" ]
-+    external_content_browser_configs += [ "//tizen_src/build:libx11" ]
-+    external_content_browser_extra_configs += [ "//tizen_src/build:ecore-x" ]
-+    external_content_browser_extra_configs += [ "//tizen_src/build:libecore-x" ]
-+    external_content_shell_configs += [ "//tizen_src/build:ecore-x" ]
-+    external_content_shell_configs += [ "//tizen_src/build:libecore-x" ]
-+} else {
-+   external_content_common_configs += [ "//tizen_src/build:ecore-wayland" ]
-+   external_content_common_configs += [ "//tizen_src/build:libecore-wayland" ]
-+   external_content_shell_configs += [ "//tizen_src/build:ecore-wayland" ]
-+   external_content_shell_configs += [ "//tizen_src/build:libecore-wayland" ]
-+}
-+
-+if (tizen_multimedia_support) {
-+   external_content_browser_configs += [
-+     "//tizen_src/build:capi-media-player",
-+     "//tizen_src/build:libcapi-media-player",
-+     "//tizen_src/build:capi-media-tool",
-+     "//tizen_src/build:libcapi-media-tool",
-+   ]
-+   external_content_common_configs += ["//tizen_src/build:gstreamer"]
-+   external_content_common_configs += ["//tizen_src/build:libgstreamer"]
-+}
-diff --git a/chromium_impl/content/gpu/gpu_efl.gni b/chromium_impl/content/gpu/gpu_efl.gni
-new file mode 100644
-index 0000000..97a5235
---- /dev/null
-+++ b/chromium_impl/content/gpu/gpu_efl.gni
-@@ -0,0 +1,12 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+external_content_gpu_efl_sources = [
-+  "//tizen_src/chromium_impl/content/gpu/gpu_thread_override_efl.cc",
-+  "//tizen_src/chromium_impl/content/gpu/in_process_gpu_thread_efl.cc",
-+  "//tizen_src/chromium_impl/content/gpu/shared_mailbox_manager.h",
-+  "//tizen_src/chromium_impl/content/gpu/shared_mailbox_manager.cc",
-+]
-+
-+external_exclude_content_gpu_efl_sources = [ "in_process_gpu_thread.cc" ]
-diff --git a/chromium_impl/content/renderer/renderer_efl.gni b/chromium_impl/content/renderer/renderer_efl.gni
-new file mode 100644
-index 0000000..ba3f05d
---- /dev/null
-+++ b/chromium_impl/content/renderer/renderer_efl.gni
-@@ -0,0 +1,34 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+external_exclude_content_renderer_efl_sources = []
-+
-+if (building_for_tizen) {
-+  external_content_renderer_efl_sources = [
-+    "//tizen_src/chromium_impl/content/renderer/tts_dispatcher_efl.cc",
-+    "//tizen_src/chromium_impl/content/renderer/tts_dispatcher_efl.h",
-+  ]
-+}
-+
-+if (tizen_multimedia_support) {
-+  external_exclude_content_renderer_efl_sources = [
-+    "//content/renderer/media/audio_decoder.cc",
-+    "//content/renderer/media/audio_decoder.h",
-+  ]
-+
-+  external_content_renderer_efl_sources += [
-+    "media/efl/audio_decoder_efl.h",
-+    "media/efl/media_source_delegate_efl.cc",
-+    "media/efl/media_source_delegate_efl.h",
-+    "media/efl/renderer_demuxer_efl.cc",
-+    "media/efl/renderer_demuxer_efl.h",
-+    "media/efl/renderer_media_player_manager_efl.cc",
-+    "media/efl/renderer_media_player_manager_efl.h",
-+    "media/efl/webmediaplayer_efl.cc",
-+    "media/efl/webmediaplayer_efl.h",
-+    "media/tizen/audio_decoder_capi.cc",
-+  ]
-+}
-diff --git a/chromium_impl/content/shell/shell_efl.gni b/chromium_impl/content/shell/shell_efl.gni
-new file mode 100644
-index 0000000..7e051e6
---- /dev/null
-+++ b/chromium_impl/content/shell/shell_efl.gni
-@@ -0,0 +1,12 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+external_content_shell_lib_efl_sources = [
-+  "//tizen_src/chromium_impl/content/shell/browser/shell_efl.cc",
-+  "//tizen_src/chromium_impl/content/shell/browser/shell_web_contents_view_delegate_efl.cc"
-+]
-+
-+external_content_shell_efl_sources = [ "//tizen_src/chromium_impl/content/shell/browser/shell_main_efl.cc" ]
-+
-+external_exclude_content_shell_efl_sources = [ "app/shell_main.cc" ]
-diff --git a/chromium_impl/device/battery/battery_status_manager_tizen.cc b/chromium_impl/device/battery/battery_status_manager_tizen.cc
-index 23deb1d..615c4db 100644
---- a/chromium_impl/device/battery/battery_status_manager_tizen.cc
-+++ b/chromium_impl/device/battery/battery_status_manager_tizen.cc
-@@ -6,6 +6,7 @@
- #include <vconf/vconf.h>
- #include <system/device.h>
-+#include <device/battery.h>
- namespace device {
-@@ -220,6 +221,7 @@ int BatteryStatusManagerTizen::GetRemainingTimeUntilDischarged(
- }
- bool BatteryStatusManagerTizen::StartListeningBatteryChange() {
-+#if !defined(EWK_BRINGUP)
-   if (vconf_notify_key_changed(
-           VCONFKEY_SYSMAN_BATTERY_CHARGE_NOW, OnChargingStatusChanged, this) ||
-       device_battery_set_cb(OnLevelChanged, this) != DEVICE_ERROR_NONE ||
-@@ -230,6 +232,7 @@ bool BatteryStatusManagerTizen::StartListeningBatteryChange() {
-     StopListeningBatteryChange();
-     return false;
-   }
-+#endif
-   int charging = 0;
-   if (vconf_get_int(VCONFKEY_SYSMAN_BATTERY_CHARGE_NOW, &charging) < 0)
-@@ -256,7 +259,9 @@ void BatteryStatusManagerTizen::StopListeningBatteryChange() {
-   UnsetRemainingTimeUntilDischargedCb();
-   vconf_ignore_key_changed(VCONFKEY_SYSMAN_BATTERY_CHARGE_NOW,
-       OnChargingStatusChanged);
-+#if !defined(EWK_BRINGUP)
-   device_battery_unset_cb();
-+#endif
- }
- }  // namespace device
-diff --git a/chromium_impl/device/battery_tizen.gni b/chromium_impl/device/battery_tizen.gni
-new file mode 100644
-index 0000000..0e5ee98
---- /dev/null
-+++ b/chromium_impl/device/battery_tizen.gni
-@@ -0,0 +1,15 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+external_device_battery_configs = [
-+  "//tizen_src/build:capi-system-device",
-+  "//tizen_src/build:libcapi-system-device",
-+  "//tizen_src/build:vconf",
-+  "//tizen_src/build:libvconf",
-+]
-+
-+external_device_battery_sources = [
-+  "//tizen_src/chromium_impl/device/battery/battery_status_manager_tizen.cc",
-+  "//tizen_src/chromium_impl/device/battery/battery_status_manager_tizen.h",
-+]
-diff --git a/chromium_impl/device/vibration/vibration_efl.gni b/chromium_impl/device/vibration/vibration_efl.gni
-new file mode 100644
-index 0000000..d0869ec
---- /dev/null
-+++ b/chromium_impl/device/vibration/vibration_efl.gni
-@@ -0,0 +1,11 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+external_device_vibration_efl_sources = [
-+  "//tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.cc",
-+  "//tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.h",
-+  "//tizen_src/chromium_impl/device/vibration/vibration_provider_client.h",
-+]
-+
-+external_exclude_device_vibration_efl_sources = [ "vibration_manager_impl_default.cc" ]
-diff --git a/chromium_impl/device/vibration/vibration_manager_impl_efl.cc b/chromium_impl/device/vibration/vibration_manager_impl_efl.cc
-index 3057af7..92ec0c5 100644
---- a/chromium_impl/device/vibration/vibration_manager_impl_efl.cc
-+++ b/chromium_impl/device/vibration/vibration_manager_impl_efl.cc
-@@ -8,6 +8,14 @@
- namespace device {
-+VibrationManagerImplEfl::VibrationManagerImplEfl(
-+      mojo::InterfaceRequest<VibrationManager> request)
-+      : binding_(this, std::move(request)) {
-+}
-+
-+VibrationManagerImplEfl::~VibrationManagerImplEfl() {
-+}
-+
- std::unique_ptr<VibrationProviderClient> VibrationManagerImplEfl::provider_client_ = std::unique_ptr<VibrationProviderClient>();
- void VibrationManagerImplEfl::Vibrate(int64_t milliseconds, const VibrateCallback& callback) {
-diff --git a/chromium_impl/device/vibration/vibration_manager_impl_efl.h b/chromium_impl/device/vibration/vibration_manager_impl_efl.h
-index 3afd983..56664b9 100644
---- a/chromium_impl/device/vibration/vibration_manager_impl_efl.h
-+++ b/chromium_impl/device/vibration/vibration_manager_impl_efl.h
-@@ -15,10 +15,12 @@ namespace device {
- class DEVICE_VIBRATION_EXPORT VibrationManagerImplEfl : public VibrationManager {
-  public:
-+  // Moved ctor and dtor definitions in implementation file because of :
-+  // error: [chromium-style] Complex constructor has an inlined body.
-+  // error: [chromium-style] Complex destructor has an inline body.
-   explicit VibrationManagerImplEfl(
--      mojo::InterfaceRequest<VibrationManager> request)
--      : binding_(this, std::move(request)) {}
--  ~VibrationManagerImplEfl() override {}
-+      mojo::InterfaceRequest<VibrationManager> request);
-+  ~VibrationManagerImplEfl() override;
-   void Vibrate(int64_t milliseconds, const VibrateCallback& callback) override;
-   void Cancel(const CancelCallback& callback) override;
-diff --git a/chromium_impl/edje_resources/BUILD.gn b/chromium_impl/edje_resources/BUILD.gn
-new file mode 100644
-index 0000000..b43c08f
---- /dev/null
-+++ b/chromium_impl/edje_resources/BUILD.gn
-@@ -0,0 +1,34 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+template("edje_res_efl") {
-+  edje_target_name = "${target_name}_generate"
-+  action_foreach(edje_target_name) {
-+    script = "//tizen_src/build/cmd_execution.py"
-+    sources = invoker.sources
-+    outputs = [ "$root_out_dir/resources/{{source_name_part}}.edj" ]
-+    args = [
-+      "$edje_compiler",
-+      "-id",
-+      rebase_path("images/"),
-+      rebase_path("{{source_file_part}}"),
-+      rebase_path("$root_out_dir/resources/{{source_name_part}}.edj"),
-+    ]
-+  }
-+
-+  source_set(target_name) {
-+    deps = [ ":$edje_target_name" ]
-+  }
-+}
-+
-+edje_res_efl("edje_resources_efl") {
-+  sources = [
-+    "SelectionHandles.edc",
-+    "Magnifier.edc",
-+    "DisambiguationPopup.edc",
-+    "Edge.edc",
-+  ]
-+}
-diff --git a/chromium_impl/efl/BUILD.gn b/chromium_impl/efl/BUILD.gn
-new file mode 100644
-index 0000000..e44699f
---- /dev/null
-+++ b/chromium_impl/efl/BUILD.gn
-@@ -0,0 +1,47 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+static_library("window-factory") {
-+  configs += [ "//tizen_src/build:evas" ]
-+  configs += [ "//tizen_src/build:libevas" ]
-+  configs += [ "//tizen_src/build:elementary" ]
-+  configs += [ "//tizen_src/build:libelementary" ]
-+  public_configs = [ "//tizen_src/build:elementary-public" ]
-+
-+  sources = [
-+    "window_factory.h",
-+    "window_factory.cc",
-+  ]
-+}
-+
-+static_library("efl-init") {
-+  configs += [ "//tizen_src/build:evas" ]
-+  configs += [ "//tizen_src/build:libevas" ]
-+  configs += [ "//tizen_src/build:elementary" ]
-+  configs += [ "//tizen_src/build:libelementary" ]
-+  public_configs = [ "//tizen_src/build:elementary-public" ]
-+
-+  deps = [ "//ui/compositor:compositor" ]
-+
-+  sources = [
-+    "efl_export.h",
-+    "init.h",
-+    "init.cc",
-+  ]
-+
-+  if (use_ozone) {
-+    deps += [ "//ui/ozone:ozone" ]
-+  }
-+  if (use_wayland) {
-+    configs += [ "//tizen_src/build:ecore-wayland" ]
-+    configs += [ "//tizen_src/build:libecore-wayland" ]
-+    public_configs += [ "//tizen_src/build:ecore-wayland-public" ]
-+  } else {
-+    configs += [ "//tizen_src/build:ecore-x" ]
-+    configs += [ "//tizen_src/build:libecore-x" ]
-+    public_configs += [ "//tizen_src/build:ecore-x-public" ]
-+  }
-+}
-diff --git a/chromium_impl/gpu/gpu_efl.gni b/chromium_impl/gpu/gpu_efl.gni
-new file mode 100644
-index 0000000..87c6ab9
---- /dev/null
-+++ b/chromium_impl/gpu/gpu_efl.gni
-@@ -0,0 +1,23 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+external_exclude_gpu_efl_sources = [
-+  "gpu_driver_bug_list_json.cc",
-+  "gpu_info_collector_x11.cc",
-+  "software_rendering_list_json.cc",
-+]
-+
-+if (!is_tizen) {
-+  external_exclude_gpu_efl_sources += [
-+    "gpu_info_collector_linux.cc",
-+  ]
-+}
-+
-+external_gpu_efl_sources = [
-+  "//tizen_src/chromium_impl/gpu/config/gpu_driver_bug_list_json_efl.cc",
-+  "//tizen_src/chromium_impl/gpu/config/gpu_info_collector_efl.cc",
-+  "//tizen_src/chromium_impl/gpu/config/software_rendering_list_json_efl.cc",
-+  "//tizen_src/chromium_impl/gpu/config/scoped_restore_non_owned_egl_context.cc",
-+  "//tizen_src/chromium_impl/gpu/config/scoped_restore_non_owned_egl_context.h"
-+]
-diff --git a/chromium_impl/media/BUILD.gn b/chromium_impl/media/BUILD.gn
-new file mode 100644
-index 0000000..5d9a968
---- /dev/null
-+++ b/chromium_impl/media/BUILD.gn
-@@ -0,0 +1,23 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+if (tizen_multimedia_support) {
-+  config("media_efl_config") {
-+    defines = [
-+      "TIZEN_VIDEO_CAPTURE_SUPPORT",
-+      "TIZEN_MULTIMEDIA_ZEROCOPY_SUPPORT",
-+    ]
-+
-+    include_dirs = [
-+      "//third_party/WebKit",
-+      "//third_party/libyuv/include",
-+      "//third_party/mojo/src",
-+      "//v8/include",
-+    ]
-+
-+    defines += [ "TIZEN_MULTIMEDIA_EME_SUPPORT = 1" ]
-+  }
-+}
-diff --git a/chromium_impl/media/media_efl.gni b/chromium_impl/media/media_efl.gni
-new file mode 100644
-index 0000000..04747a0
---- /dev/null
-+++ b/chromium_impl/media/media_efl.gni
-@@ -0,0 +1,86 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+external_media_efl_deps = []
-+external_media_efl_sources = []
-+external_exclude_media_efl_sources = []
-+external_media_efl_config = []
-+
-+if (use_ozone) {
-+  external_media_efl_deps += [ "//tizen_src/chromium_impl/ui/ozone:ozone_efl" ]
-+}
-+
-+if (tizen_multimedia_support) {
-+  external_media_efl_deps += [
-+    "//tizen_src/build:capi-media-audio-io",
-+    "//tizen_src/build:libcapi-media-audio-io",
-+    "//tizen_src/build:capi-media-camera",
-+    "//tizen_src/build:libcapi-media-camera",
-+    "//tizen_src/build:capi-media-player",
-+    "//tizen_src/build:libcapi-media-player",
-+    "//tizen_src/build:ecore",
-+    "//tizen_src/build:libecore",
-+    "//tizen_src/build:mm_player",
-+  ]
-+
-+  if (!use_wayland) {
-+    external_media_efl_deps += [
-+      "//tizen_src/build:ecore-x",
-+      "//tizen_src/build:libecore-x",
-+      "//ui/gl:gl",
-+    ]
-+  } else {
-+    external_media_efl_deps += [ "//tizen_src/build:ecore-wayland" ]
-+    external_media_efl_deps += [ "//tizen_src/build:libecore-wayland" ]
-+  }
-+
-+  if (building_for_tizen_mobile) {
-+    external_media_efl_deps += [ "//tizen_src/build:capi-system-device" ]
-+    external_media_efl_deps += [ "//tizen_src/build:libcapi-system-device" ]
-+  }
-+
-+  external_media_efl_sources += [
-+    "audio/tizen/audio_manager_capi.cc",
-+    "audio/tizen/audio_manager_capi.h",
-+    "audio/tizen/audio_manager_tizen.cc",
-+    "audio/tizen/capi_audio_input.cc",
-+    "audio/tizen/capi_audio_input.h",
-+    "audio/tizen/capi_audio_output.cc",
-+    "audio/tizen/capi_audio_output.h",
-+    "audio/tizen/capi_util.cc",
-+    "audio/tizen/capi_util.h",
-+    "base/efl/demuxer_efl.h",
-+    "base/efl/demuxer_stream_player_params_efl.cc",
-+    "base/efl/demuxer_stream_player_params_efl.h",
-+    "base/efl/media_player_efl.cc",
-+    "base/efl/media_player_efl.h",
-+    "base/efl/media_player_manager_efl.h",
-+    "base/efl/media_player_util_efl.cc",
-+    "base/efl/media_player_util_efl.h",
-+    "base/efl/webaudio_decoder_efl.h",
-+    "base/efl/webaudio_media_codec_info_efl.h",
-+    "base/tizen/media_player_bridge_capi.cc",
-+    "base/tizen/media_player_bridge_capi.h",
-+    "base/tizen/media_source_player_capi.cc",
-+    "base/tizen/media_source_player_capi.h",
-+    "base/tizen/webaudio_decoder_browser_capi.cc",
-+    "base/tizen/webaudio_decoder_browser_capi.h",
-+    "capture/video/tizen/video_capture_device_factory_tizen.cc",
-+    "capture/video/tizen/video_capture_device_factory_tizen.h",
-+    "capture/video/tizen/video_capture_device_tizen.cc",
-+    "capture/video/tizen/video_capture_device_tizen.h",
-+  ]
-+
-+  external_exclude_media_efl_sources += [
-+    "audio/linux/audio_manager_linux.cc",
-+    "capture/video/linux/video_capture_device_factory_linux.cc",
-+    "capture/video/linux/video_capture_device_factory_linux.h",
-+    "capture/video/linux/video_capture_device_linux.cc",
-+    "capture/video/linux/video_capture_device_linux.h",
-+  ]
-+
-+  external_media_efl_config += [ ":media_efl_config" ]
-+}
-diff --git a/chromium_impl/third_party/blink/renderer/core/BUILD.gn b/chromium_impl/third_party/blink/renderer/core/BUILD.gn
-new file mode 100644
-index 0000000..d436269
---- /dev/null
-+++ b/chromium_impl/third_party/blink/renderer/core/BUILD.gn
-@@ -0,0 +1,32 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+source_set("webkit_core_generated") {
-+  sources = [
-+    "$root_gen_dir/TizenUserAgentStyleSheets.h",
-+    "$root_gen_dir/TizenUserAgentStyleSheetsData.cpp",
-+  ]
-+
-+  deps = [ ":TizenUserAgentStyleSheets" ]
-+}
-+
-+action("TizenUserAgentStyleSheets") {
-+  script = "make-file-arrays.py"
-+  stylesheet = "rendering/themeChromiumTizen.css"
-+  inputs = [
-+    stylesheet,
-+  ]
-+  outputs = [
-+    "$root_gen_dir/TizenUserAgentStyleSheets.h",
-+    "$root_gen_dir/TizenUserAgentStyleSheetsData.cpp",
-+  ]
-+  out_h = rebase_path("$root_gen_dir/TizenUserAgentStyleSheets.h", root_build_dir)
-+  out_cpp = rebase_path("$root_gen_dir/TizenUserAgentStyleSheetsData.cpp", root_build_dir)
-+  args = [
-+    "--namespace",
-+    "blink",
-+    "--out-h=$out_h",
-+    "--out-cpp=$out_cpp",
-+  ] + rebase_path(inputs, root_build_dir)
-+}
-diff --git a/chromium_impl/third_party/blink/renderer/core/core_efl.gni b/chromium_impl/third_party/blink/renderer/core/core_efl.gni
-new file mode 100644
-index 0000000..e473da9
---- /dev/null
-+++ b/chromium_impl/third_party/blink/renderer/core/core_efl.gni
-@@ -0,0 +1,26 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+# For //third_party/blink/renderer/core:rendering target
-+# Temporary kept in the //third_party/blink/renderer/core:remaining target
-+if (is_tizen) {
-+  # Already excluded using !linux in //third_party/blink/renderer/core/BUILD.gn
-+  external_exclude_webkit_core_rendering_sources = []
-+} else {
-+# [TODO] This code should be fixed.
-+#  external_exclude_webkit_core_rendering_sources = [ "layout/LayoutThemeLinux.cpp" ]
-+  external_exclude_webkit_core_rendering_sources = []
-+}
-+external_webkit_core_rendering_sources = [
-+  "//tizen_src/chromium_impl/third_party/blink/renderer/core/rendering/RenderThemeChromiumTizen.cpp",
-+  "//tizen_src/chromium_impl/third_party/blink/renderer/core/rendering/RenderThemeChromiumTizen.h",
-+]
-+
-+# For //third_party/blink/renderer/core:core_generated target
-+external_webkit_core_generated_deps = [
-+  "//tizen_src/chromium_impl/third_party/blink/renderer/core:webkit_core_generated",
-+]
-+
-+# For //third_party/blink/renderer/core:make_core_generated target
-+external_webkit_core_make_generated_deps = [ "//tizen_src/chromium_impl/third_party/blink/renderer/core:TizenUserAgentStyleSheets" ]
-diff --git a/chromium_impl/third_party/blink/renderer/core/make-file-arrays.py b/chromium_impl/third_party/blink/renderer/core/make-file-arrays.py
-index 0bedc2d..c7f1a6d 100755
---- a/chromium_impl/third_party/blink/renderer/core/make-file-arrays.py
-+++ b/chromium_impl/third_party/blink/renderer/core/make-file-arrays.py
-@@ -109,7 +109,8 @@ def write_header_file(header_file_name, flag, names_and_contents, namespace):
- def write_cpp_file(cpp_file_name, flag, names_and_contents, header_file_name, namespace):
-     with open(cpp_file_name, 'w') as cpp_file:
--        cpp_file.write('#include "config.h"\n')
-+        # TODO : commented for gn build.
-+        #cpp_file.write('#include "config.h"\n')
-         cpp_file.write('#include "%s"\n' % os.path.basename(header_file_name))
-         if flag:
-             cpp_file.write('#if ' + flag + '\n')
-diff --git a/chromium_impl/third_party/blink/renderer/modules/modules_efl.gni b/chromium_impl/third_party/blink/renderer/modules/modules_efl.gni
-new file mode 100644
-index 0000000..fb84a85
---- /dev/null
-+++ b/chromium_impl/third_party/blink/renderer/modules/modules_efl.gni
-@@ -0,0 +1,10 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+if (use_gstreamer_fft) {
-+  external_webkit_modules_configs = [ "//tizen_src/build:gstreamer-fft" ]
-+  external_webkit_modules_configs += [ "//tizen_src/build:libgstreamer-fft" ]
-+}
-diff --git a/chromium_impl/third_party/blink/renderer/platform/blink_platform_efl.gni b/chromium_impl/third_party/blink/renderer/platform/blink_platform_efl.gni
-new file mode 100644
-index 0000000..fea7652
---- /dev/null
-+++ b/chromium_impl/third_party/blink/renderer/platform/blink_platform_efl.gni
-@@ -0,0 +1,5 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+external_webkit_platform_files = [ "//tizen_src/chromium_impl/third_party/blink/renderer/platform/audio/gstreamer/FFTFrameGStreamer.cpp" ]
-diff --git a/chromium_impl/ui/BUILD.gn b/chromium_impl/ui/BUILD.gn
-new file mode 100644
-index 0000000..9132e91
---- /dev/null
-+++ b/chromium_impl/ui/BUILD.gn
-@@ -0,0 +1,32 @@
-+# copyright (c) 2015 samsung electronics. all rights reserved.
-+# use of this source code is governed by a bsd-style license that can be
-+# found in the license file.
-+
-+static_library("ui_events_source_inject") {
-+  sources = [
-+    # Indirectly includes ui/events/gestures/gesture_recognizer_impl_efl.cc/h.
-+    "events/gestures/gesture_recognizer_impl_override.cc",
-+    "events/gestures/gesture_recognizer_impl_efl.cc",
-+    "events/gestures/gesture_recognizer_impl_efl.h",
-+    "//ui/events/gestures/gesture_provider_aura.cc",
-+    "//ui/events/gestures/gesture_provider_aura.h",
-+    "//ui/events/gestures/motion_event_aura.cc",
-+    "//ui/events/gestures/motion_event_aura.h",
-+  ]
-+}
-+
-+static_library("ui_native_theme_inject") {
-+  sources = [
-+    "//ui/native_theme/native_theme_aura.h",
-+    "//ui/native_theme/native_theme_aura.cc",
-+  ]
-+  deps = [ "//skia" ]
-+}
-+
-+static_library("ui_base_inject") {
-+  sources = [
-+    #"//ui/base/cursor/cursors_aura.h",
-+    #"//ui/base/cursor/cursors_aura.cc",
-+  ]
-+  deps = [ "//skia" ]
-+}
-diff --git a/chromium_impl/ui/gl/gl_image_efl_pixmap.h b/chromium_impl/ui/gl/gl_image_efl_pixmap.h
-index d4272e4..8f85bb3 100644
---- a/chromium_impl/ui/gl/gl_image_efl_pixmap.h
-+++ b/chromium_impl/ui/gl/gl_image_efl_pixmap.h
-@@ -22,7 +22,6 @@ class GL_EXPORT GLImageEflPixmap : public GLImage {
-   virtual void Destroy(bool have_context) override;
-   virtual gfx::Size GetSize() override;
-   virtual bool BindTexImage(unsigned target) override;
--  virtual void ReleaseTexImage(unsigned target) override;
-   virtual bool CopyTexSubImage(unsigned target,
-                                const gfx::Point& offset,
-                                const gfx::Rect& rect) override;
-diff --git a/chromium_impl/ui/ozone/BUILD.gn b/chromium_impl/ui/ozone/BUILD.gn
-new file mode 100644
-index 0000000..21822ea
---- /dev/null
-+++ b/chromium_impl/ui/ozone/BUILD.gn
-@@ -0,0 +1,26 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+static_library("ozone_efl") {
-+  deps = [ "//ui/ozone/common" ]
-+
-+  if (!use_wayland) {
-+    configs += [ "//tizen_src/build:ecore-x" ]
-+    configs += [ "//tizen_src/build:libecore-x" ]
-+  } else {
-+    configs += [ "//tizen_src/build:ecore-wayland" ]
-+    configs += [ "//tizen_src/build:libecore-wayland" ]
-+  }
-+
-+  sources = [
-+    "client_native_pixmap_factory_efl.h",
-+    "client_native_pixmap_factory_efl.cc",
-+    "ozone_platform_efl.h",
-+    "ozone_platform_efl.cc",
-+    "surface_factory_efl.h",
-+    "surface_factory_efl.cc",
-+  ]
-+}
-diff --git a/chromium_impl/ui/ui_efl.gni b/chromium_impl/ui/ui_efl.gni
-new file mode 100644
-index 0000000..6d86b21
---- /dev/null
-+++ b/chromium_impl/ui/ui_efl.gni
-@@ -0,0 +1,136 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("ui_efl_injections.gni")
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+external_ui_base_configs = [
-+  "//tizen_src/build:elementary",
-+  "//tizen_src/build:libelementary",
-+]
-+
-+external_ui_gl_configs = [
-+  "//tizen_src/build:evas",
-+  "//tizen_src/build:libevas",
-+  "//tizen_src/build:ecore-evas",
-+  "//tizen_src/build:libecore-evas",
-+  "//tizen_src/build:libdrm",
-+  "//tizen_src/build:liblibdrm",
-+  "//tizen_src/build:libtbm",
-+  "//tizen_src/build:liblibtbm",
-+]
-+
-+external_ui_gfx_x11_configs = []
-+external_ui_gfx_configs = []
-+external_ozone_platform_deps = []
-+
-+if (!use_wayland) {
-+  external_ui_base_configs += [
-+    "//tizen_src/build:ecore-x",
-+    "//tizen_src/build:libecore-x",
-+    "//tizen_src/build:x11",
-+    "//tizen_src/build:libx11",
-+  ]
-+  external_ui_gl_configs += [ "//tizen_src/build:libdri2" ]
-+  external_ui_gl_configs += [ "//tizen_src/build:liblibdri2" ]
-+  external_ui_gfx_x11_configs += [ "//tizen_src/build:ecore-x" ]
-+  external_ui_gfx_x11_configs += [ "//tizen_src/build:libecore-x" ]
-+  external_ui_gfx_configs += [ "//tizen_src/build:ecore-x" ]
-+  external_ui_gfx_configs += [ "//tizen_src/build:libecore-x" ]
-+
-+  if (building_for_tizen) {
-+    # needed for efl_pixmap.cc/h
-+    external_ui_gl_configs += [ "//tizen_src/build:x11" ]
-+    external_ui_gl_configs += [ "//tizen_src/build:libx11" ]
-+  }
-+} else {
-+  external_ui_gfx_configs += [ "//tizen_src/build:ecore-wayland" ]
-+  external_ui_gfx_configs += [ "//tizen_src/build:libecore-wayland" ]
-+}
-+
-+if (use_ozone) {
-+  external_ozone_platform_deps += [
-+    "//tizen_src/chromium_impl/ui/ozone:ozone_efl",
-+    "//ui/events/devices:devices",
-+  ]
-+}
-+
-+# For //ui/gfx target
-+external_ui_gfx_sources = [
-+  "//ui/gfx/nine_image_painter.cc",
-+  "//ui/gfx/nine_image_painter.h",
-+  "//tizen_src/chromium_impl/ui/display/device_display_info_efl.cc",
-+  "//tizen_src/chromium_impl/ui/display/device_display_info_efl.h",
-+  "//tizen_src/chromium_impl/ui/display/screen_efl.h",
-+  "//tizen_src/chromium_impl/ui/display/screen_efl.cc",
-+]
-+
-+# For //ui/gfx/x target
-+external_ui_gfx_x11_sources = [ "//tizen_src/chromium_impl/ui/gfx/x/x11_types_override.cc" ]
-+external_exclude_ui_gfx_x11_sources = [ "x11_types.cc" ]
-+if (wayland_bringup) {
-+  external_exclude_ui_gfx_x11_sources += [ "gfx/x11_types_override.cc" ]
-+}
-+
-+external_exclude_ui_gl_sources = []
-+# For //ui/gl target
-+external_exclude_ui_gl_sources += [ "gl_context_egl.cc" ]
-+external_ui_gl_sources = [
-+  "//tizen_src/chromium_impl/ui/gl/gl_shared_context_efl.h",
-+  "//tizen_src/chromium_impl/ui/gl/gl_shared_context_efl.cc",
-+  "//tizen_src/chromium_impl/ui/gl/gl_context_egl_override.cc",
-+  "//tizen_src/chromium_impl/ui/gl/gl_current_context_efl.cc",
-+]
-+if (building_for_tizen) {
-+  external_ui_gl_sources += [
-+    "//tizen_src/chromium_impl/ui/gl/gl_image_efl_pixmap.cc",
-+    "//tizen_src/chromium_impl/ui/gl/gl_image_efl_pixmap.h",
-+  ]
-+  if (!wayland_bringup) {
-+    external_ui_gl_sources += [
-+      "//tizen_src/chromium_impl/ui/gl/efl_pixmap.cc",
-+      "//tizen_src/chromium_impl/ui/gl/efl_pixmap.h",
-+    ]
-+  }
-+}
-+
-+# For //ui/events/platform/x11 target
-+external_exclude_ui_x11_event_sources = []
-+if (wayland_bringup) {
-+  external_exclude_ui_x11_event_sources = [
-+    "gfx/x11_event_source_efl.h",
-+    "gfx/x11_event_source_efl.cc",
-+  ]
-+}
-+
-+# For //ui/base target
-+external_ui_base_includes = [ "//third_party/mojo/src/" ]
-+external_ui_base_sources = [
-+  "//ui/base/cursor/cursor.h",
-+  "//ui/base/cursor/cursor.cc",
-+  "//ui/base/nine_image_painter_factory.h",
-+  "//tizen_src/chromium_impl/ui/base/resource/resource_bundle_efl.cc",
-+  "//tizen_src/chromium_impl/ui/base/clipboard/clipboard_efl.cc",
-+  "//tizen_src/chromium_impl/ui/base/clipboard/clipboard_efl.h",
-+  "//tizen_src/chromium_impl/ui/base/clipboard/clipboard_helper_efl.cc",
-+  "//tizen_src/chromium_impl/ui/base/clipboard/clipboard_helper_efl.h",
-+]
-+if (use_x11) {
-+  if (!wayland_bringup) {
-+    external_ui_base_sources += [
-+      "//ui/base/cursor/cursor_x11.cc",
-+      "//ui/base/cursor/cursor_x11.h",
-+      "//ui/base/cursor/cursor_loader_x11.h",
-+      "//ui/base/cursor/cursor_loader_x11.cc",
-+    ]
-+  }
-+}
-+external_exclude_ui_base_sources = []
-+
-+# For //ui/snapshot target
-+external_ui_snapshot_sources = [ "//tizen_src/chromium_impl/ui/snapshot/snapshot_efl.cc" ]
-+
-+# For //ui/events:gesture_detection target
-+external_exclude_ui_gesture_detection_sources = [ "gesture_detection/gesture_configuration_default.cc"]
-+external_ui_gesture_detection_sources = [ "//tizen_src/chromium_impl/ui/events/gesture_detection/gesture_configuration_efl.cc" ]
-diff --git a/chromium_impl/ui/ui_efl_injections.gni b/chromium_impl/ui/ui_efl_injections.gni
-new file mode 100644
-index 0000000..6209c0a
---- /dev/null
-+++ b/chromium_impl/ui/ui_efl_injections.gni
-@@ -0,0 +1,37 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+# In static mode, we build some sources that is needed
-+# by efl-port as injectable static library.
-+# However, in component mode, we build each of ui modules
-+# as single DLL. So we include needed sources directly.
-+
-+external_ui_base_static_lib_deps = [ "//tizen_src/chromium_impl/ui:ui_base_inject" ]
-+
-+external_ui_events_static_lib_deps = [ "//tizen_src/chromium_impl/ui:ui_events_source_inject" ]
-+
-+external_native_theme_static_lib_deps = [ "//tizen_src/chromium_impl/ui:ui_native_theme_inject" ]
-+
-+# For //ui/base target
-+external_ui_base_shared_lib_sources = [
-+  "cursor/cursors_aura.cc",
-+  "cursor/cursors_aura.h",
-+]
-+
-+# For //ui/events target
-+external_ui_events_shared_lib_sources = [
-+  "events/gestures/gesture_recognizer_impl_override.cc",
-+  "events/gestures/gesture_recognizer_impl_efl.cc",
-+  "events/gestures/gesture_recognizer_impl_efl.h",
-+  "gestures/gesture_provider_aura.cc",
-+  "gestures/gesture_provider_aura.h",
-+  "gestures/motion_event_aura.cc",
-+  "gestures/motion_event_aura.h",
-+]
-+
-+# For //ui/native_theme target
-+external_ui_native_theme_shared_lib_sources = [
-+  "native_theme_aura.cc",
-+  "native_theme_aura.h",
-+]
-diff --git a/ewk/BUILD.gn b/ewk/BUILD.gn
-new file mode 100644
-index 0000000..0770d10
---- /dev/null
-+++ b/ewk/BUILD.gn
-@@ -0,0 +1,12 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+group("chromium_efl_all") {
-+  testonly = true
-+  deps = [
-+#    "//tizen_src/ewk/unittest:ewk_unittests",
-+    "//tizen_src/ewk/ubrowser:ubrowser",
-+    "//tizen_src/ewk/efl_webview_app:efl_webview_app",
-+  ]
-+}
-diff --git a/ewk/efl_integration/BUILD.gn b/ewk/efl_integration/BUILD.gn
-new file mode 100644
-index 0000000..082d2a7
---- /dev/null
-+++ b/ewk/efl_integration/BUILD.gn
-@@ -0,0 +1,549 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//build/config/allocator.gni")
-+import("//build/config/features.gni")
-+
-+# [M48_2564] Temporary disabling the flag for switching to new chromium
-+#            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15382
-+tizen_autofill_support = false
-+
-+# Components used to auto generate CHROMIUM_VERSION preprocessor define.
-+#TODO : below uncomment
-+#version_file = "//chrome/VERSION"
-+#version_script = "//build/util/version.py"
-+#version_pattern = "@MAJOR@.@MINOR@.@BUILD@.@PATCH@"
-+
-+shared_library("chromium-ewk") {
-+  include_dirs = [
-+    ".",
-+    "//tizen_src/ewk/efl_integration/public",
-+    "//third_party/skia/include/core",
-+    "//v8/include",
-+    "$root_gen_dir/blink",
-+  ]
-+  configs += [ "//tizen_src/build:ecore" ]
-+  configs += [ "//tizen_src/build:libecore" ]
-+  configs += [ "//tizen_src/build:evas" ]
-+  configs += [ "//tizen_src/build:libevas" ]
-+  configs += [ "//tizen_src/build:ecore-evas" ]
-+  configs += [ "//tizen_src/build:libecore-evas" ]
-+  public_configs = [ "//tizen_src/build:ecore-evas-public" ]
-+  configs += [ "//tizen_src/build:elementary" ]
-+  configs += [ "//tizen_src/build:libelementary" ]
-+  public_configs += [ "//tizen_src/build:elementary-public" ]
-+  configs += [ "//tizen_src/build:gstreamer" ]
-+  configs += [ "//tizen_src/build:libgstreamer" ]
-+  public_configs += [ "//tizen_src/build:gstreamer-public" ]
-+  configs += [ "//tizen_src/build:vconf" ]
-+  configs += [ "//tizen_src/build:libvconf" ]
-+  public_configs += [ "//tizen_src/build:vconf-public" ]
-+  configs += [ "//tizen_src/build:capi-location-manager" ]
-+  configs += [ "//tizen_src/build:libcapi-location-manager" ]
-+  public_configs += [ "//tizen_src/build:capi-location-manager-public" ]
-+  configs += [ "//tizen_src/build:capi-system-info" ]
-+  configs += [ "//tizen_src/build:libcapi-system-info" ]
-+  public_configs += [ "//tizen_src/build:capi-system-info-public" ]
-+  configs += [ "//tizen_src/build:capi-media-camera" ]
-+  configs += [ "//tizen_src/build:libcapi-media-camera" ]
-+  public_configs += [ "//tizen_src/build:capi-media-camera-public" ]
-+  configs += [ "//tizen_src/build:feedback" ]
-+  configs += [ "//tizen_src/build:libfeedback" ]
-+  public_configs += [ "//tizen_src/build:feedback-public" ]
-+  configs += [ "//tizen_src/build:efl-extension" ]
-+  configs += [ "//tizen_src/build:libefl-extension" ]
-+  public_configs += [ "//tizen_src/build:efl-extension-public" ]
-+  configs += [ "//tizen_src/build:ui-gadget" ]
-+  configs += [ "//tizen_src/build:libui-gadget" ]
-+  public_configs += [ "//tizen_src/build:ui-gadget-public" ]
-+  deps = [
-+    "//tizen_src/ewk/po_tizen:locale_efl",
-+    "//tizen_src/chromium_impl/efl:efl-init",
-+
-+    "//base/:base_static",
-+    "//chrome/browser/media/router:mojo_bindings",
-+    "//chrome:packed_resources",
-+    "//content/public/browser",
-+    "//content/shell:resources",
-+    "//content/shell:pak",
-+    "//components/visitedlink/browser",
-+    "//components/visitedlink/renderer",
-+    "//components/sessions",
-+    "//components/autofill/content/renderer",
-+    "//components/autofill/content/browser",
-+    "//components/network_session_configurator",
-+    "//components/password_manager/content/browser",
-+    "//components/password_manager/core/common",
-+    "//components/password_manager/core/browser",
-+    "//components/plugins/renderer",
-+    "//components/variations",
-+    "//device/vibration",
-+    "//extensions:shell_and_test_pak",
-+    "//printing",
-+    "//skia",
-+    "//storage/browser",
-+    "//third_party/leveldatabase",
-+    "//third_party/sqlite",
-+    "//third_party/blink/renderer/wtf",
-+    "//ui/compositor",
-+    "//ui/events",
-+    "//ui/events:events_base",
-+    "//ui/gl",
-+    "//v8",
-+  ]
-+
-+  # TODO : needs to check for generating this macro define
-+  defines = [ "CHROMIUM_VERSION=\"<!(python <(version_script) -f <(version_file) -t \"<(version_pattern)\")\"" ]
-+  ldflags = [
-+    "-Wl,--no-undefined"
-+    # TODO : need to check below for uncomment
-+    #"-Wl,--version-script,//tizen_src/ewk/<(filter_file)"
-+  ]
-+  cflags = [
-+    # Symbol visibility controled by chromium-ewk.filter
-+    "-fvisibility=hidden",
-+    # Treat warning as error for this target.
-+    # It needs to be included by means of pattern list because '-Werror' cflag
-+    # will be excluded in chromium side (src/build/common.gypi), and GYP
-+    # processes pattern lists after exclusion lists.
-+    # (ref: https://gyp.gsrc.io/docs/InputFormatReference.md#Processing-Order)
-+    #"-Werror",
-+    "-w",
-+  ]
-+
-+  if (!xwalk_link_against_chromium_ewk) {
-+    # TODO : needs to check the below filter provision
-+    #filter_file = "chromium-ewk.filter"
-+    deps += [
-+      "//content/common",
-+      "//content/public/common",
-+      "//content/public/app:both"
-+    ]
-+  } else {
-+    # TODO : needs to check the below filter provision
-+    #filter_file = "chromium-ewk-xwalk.filter"
-+    deps += [
-+      "//components/storage_monitor",
-+      "//components/web_modal",
-+      "//content/app:both"
-+    ]
-+  }
-+
-+  if (building_for_tizen) {
-+    exclude_source_set = [
-+      "browser/sound_effect.cc",
-+      "browser/sound_effect.h",
-+    ]
-+    deps += [ "//cc:cc" ]
-+  } else {
-+    if (use_gio) {
-+      configs += [ "//build/linux:gio_config" ]
-+    }
-+    exclude_source_set = [
-+      "browser/sound_effect_tizen.cc",
-+      "browser/geolocation/location_provider_efl.cc",
-+      "browser/geolocation/location_provider_efl.h"
-+    ]
-+  }
-+
-+  # TODO : Below dependency is set in chromium/device/battery_tizen.gypi,
-+  # but since m47 it failed to get properly "injected"
-+  # to device_battery target due to the new nesting
-+  # used in the target declaration.
-+  if (building_for_tizen_mobile) {
-+    configs += [ "../../build:capi-system-device" ]
-+    configs += [ "../../build:libcapi-system-device" ]
-+    public_configs += [ "../../build:capi-system-device-public" ]
-+  }
-+
-+  sources = []
-+  if (enable_notifications) {
-+    sources = [
-+      "browser/notification/notification_controller_efl.cc",
-+      "browser/notification/notification_controller_efl.h",
-+    ]
-+  }
-+
-+  if (tizen_autofill_support) {
-+    defines = [ "TIZEN_AUTOFILL_SUPPORT=true" ]
-+  }
-+
-+  if (use_allocator == "tcmalloc") {
-+    deps += [ "//base/allocator" ]
-+  }
-+
-+  if (use_wayland) {
-+    configs += [ "../../build:ecore-wayland" ]
-+    configs += [ "../../build:libecore-wayland" ]
-+    public_configs += [ "../../build:ecore-wayland-public" ]
-+  } else {
-+    configs += [ "../../build:ecore-x" ]
-+    configs += [ "../../build:libecore-x" ]
-+    public_configs += [ "../../build:ecore-x-public" ]
-+  }
-+
-+  if (use_ozone) {
-+    deps += [ "//ui/ozone" ]
-+  }
-+
-+  sources += [
-+    "autofill_popup_view_efl.cc",
-+    "autofill_popup_view_efl.h",
-+    "browser_context_efl.cc",
-+    "browser_context_efl.h",
-+    "browser_main_parts_efl.cc",
-+    "browser_main_parts_efl.h",
-+    "chromium_ewk.gypi",
-+    "command_line_efl.cc",
-+    "command_line_efl.h",
-+    "content_browser_client_efl.cc",
-+    "content_browser_client_efl.h",
-+    "content_main_delegate_efl.cc",
-+    "content_main_delegate_efl.h",
-+    "context_menu_controller_efl.cc",
-+    "context_menu_controller_efl.h",
-+    "cookie_manager.cc",
-+    "cookie_manager.h",
-+    "devtools_delegate_efl.cc",
-+    "devtools_delegate_efl.h",
-+    "devtools_manager_delegate_efl.cc",
-+    "devtools_manager_delegate_efl.h",
-+    "efl_webprocess_main.cc",
-+    "efl_webprocess_main.h",
-+    "eweb_context.cc",
-+    "eweb_context.h",
-+    "eweb_view_callbacks.h",
-+    "eweb_view.cc",
-+    "eweb_view.h",
-+    "ewk_global_data.cc",
-+    "ewk_global_data.h",
-+    "file_chooser_controller_efl.cc",
-+    "file_chooser_controller_efl.h",
-+    "geolocation_permission_popup.cc",
-+    "geolocation_permission_popup.h",
-+    "http_user_agent_settings_efl.cc",
-+    "http_user_agent_settings_efl.h",
-+    "locale_efl.cc",
-+    "locale_efl.h",
-+    "message_pump_for_ui_efl.cc",
-+    "message_pump_for_ui_efl.h",
-+    "network_delegate_efl.cc",
-+    "network_delegate_efl.h",
-+    "notification_permission_popup.cc",
-+    "notification_permission_popup.h",
-+    "permission_popup.h",
-+#    "permission_popup_manager.cc",
-+    "permission_popup_manager.h",
-+    "popup_controller_efl.cc",
-+    "popup_controller_efl.h",
-+    "scroll_detector.cc",
-+    "scroll_detector.h",
-+    "text_encoding_map_efl.cc",
-+    "text_encoding_map_efl.h",
-+    "url_request_context_getter_efl.cc",
-+    "url_request_context_getter_efl.h",
-+    "usermedia_permission_popup.cc",
-+    "usermedia_permission_popup.h",
-+    "web_contents_efl_delegate_ewk.cc",
-+    "web_contents_efl_delegate_ewk.h",
-+    "web_contents_delegate_efl.cc",
-+    "web_contents_delegate_efl.h",
-+    "web_contents_view_delegate_ewk.cc",
-+    "web_contents_view_delegate_ewk.h",
-+    "web_contents_view_efl_delegate_ewk.cc",
-+    "web_contents_view_efl_delegate_ewk.h",
-+
-+    "browser/browsing_data_remover_efl.cc",
-+    "browser/browsing_data_remover_efl.h",
-+    "browser/download_manager_delegate_efl.cc",
-+    "browser/download_manager_delegate_efl.h",
-+    "browser/editor_client_observer.cc",
-+    "browser/editor_client_observer.h",
-+    "browser/javascript_dialog_manager_efl.cc",
-+    "browser/javascript_dialog_manager_efl.h",
-+    "browser/javascript_modal_dialog_efl.cc",
-+    "browser/javascript_modal_dialog_efl.h",
-+    "browser/login_delegate_efl.cc",
-+    "browser/login_delegate_efl.h",
-+    "browser/mime_override_manager_efl.cc",
-+    "browser/mime_override_manager_efl.h",
-+    "browser/navigation_policy_handler_efl.cc",
-+    "browser/navigation_policy_handler_efl.h",
-+    "browser/permission_manager_efl.cc",
-+    "browser/permission_manager_efl.h",
-+    "browser/policy_response_delegate_efl.cc",
-+    "browser/policy_response_delegate_efl.h",
-+    "browser/quota_permission_context_efl.cc",
-+    "browser/quota_permission_context_efl.h",
-+    "browser/render_message_filter_efl.cc",
-+    "browser/render_message_filter_efl.h",
-+    "browser/resource_dispatcher_host_delegate_efl.cc",
-+    "browser/resource_dispatcher_host_delegate_efl.h",
-+    "browser/resource_throttle_efl.cc",
-+    "browser/resource_throttle_efl.h",
-+    "browser/scoped_allow_wait_for_legacy_web_view_api.h",
-+    "browser/scoped_wait_for_ewk.h",
-+    "browser/sound_effect.cc",
-+    "browser/sound_effect.h",
-+    "browser/sound_effect_tizen.cc",
-+    "browser/ssl_host_state_delegate_efl.cc",
-+    "browser/ssl_host_state_delegate_efl.h",
-+    "browser/web_view_browser_message_filter.cc",
-+    "browser/web_view_browser_message_filter.h",
-+
-+    # Make use of Android webview"s simplified pref class.
-+    "browser/autofill/autofill_client_efl.h",
-+    "browser/autofill/autofill_client_efl.cc",
-+    "browser/autofill/personal_data_manager_factory.cc",
-+    "browser/autofill/personal_data_manager_factory.h",
-+
-+    "browser/favicon/favicon_database.h",
-+    "browser/favicon/favicon_database_p.cc",
-+    "browser/favicon/favicon_commands.cc",
-+    "browser/favicon/favicon_downloader.h",
-+    "browser/favicon/favicon_database_p.h",
-+    "browser/favicon/favicon_database.cc",
-+    "browser/favicon/favicon_commands.h",
-+    "browser/favicon/favicon_downloader.cc",
-+    "browser/geolocation/access_token_store_efl.cc",
-+    "browser/geolocation/access_token_store_efl.h",
-+    "browser/geolocation/geolocation_permission_context_efl.cc",
-+    "browser/geolocation/geolocation_permission_context_efl.h",
-+    "browser/geolocation/location_provider_efl.cc",
-+    "browser/geolocation/location_provider_efl.h",
-+    "browser/inputpicker/color_chooser_efl.cc",
-+    "browser/inputpicker/color_chooser_efl.h",
-+    "browser/inputpicker/InputPicker.cc",
-+    "browser/inputpicker/InputPicker.h",
-+
-+    "browser/password_manager/password_store_factory.cc",
-+    "browser/password_manager/password_store_factory.h",
-+    "browser/password_manager/password_manager_client_efl.cc",
-+    "browser/password_manager/password_manager_client_efl.h",
-+
-+    "browser/selectpicker/popup_picker.cc",
-+    "browser/selectpicker/popup_menu_item.cc",
-+    "browser/selectpicker/popup_picker.h",
-+    "browser/selectpicker/popup_menu_item_private.h",
-+    "browser/selectpicker/popup_menu_item.h",
-+
-+    "browser/vibration/vibration_provider_client.cc",
-+    "browser/vibration/vibration_provider_client.h",
-+
-+    "browser/web_cache_efl/web_cache_manager_efl.cc",
-+    "browser/web_cache_efl/web_cache_manager_efl.h",
-+
-+    "browser/webdata/web_data_service.h",
-+    "browser/webdata/web_data_service_factory.h",
-+    "browser/webdata/web_data_service_factory.cc",
-+    "browser/webdata/web_data_service.cc",
-+
-+    "common/cache_params_efl.h",
-+    "common/content_client_efl.cc",
-+    "common/content_client_efl.h",
-+    "common/content_switches_efl.cc",
-+    "common/content_switches_efl.h",
-+    "common/editing_messages.h",
-+    "common/hit_test_params.h",
-+    "common/message_generator_ewk.h",
-+    "common/message_generator_ewk.cc",
-+    "common/navigation_policy_params.cc",
-+    "common/navigation_policy_params.h",
-+    "common/print_pages_params.h",
-+    "common/print_pages_params.cc",
-+    "common/render_messages_ewk.h",
-+    "common/tizen_extensible.cc",
-+    "common/tizen_extensible.h",
-+    "common/version_info_efl.h",
-+    "common/version_info.h",
-+    "common/version_info.cc",
-+    "common/web_contents_utils.cc",
-+    "common/web_contents_utils.h",
-+    "common/web_preferences_efl.h",
-+
-+    "private/back_forward_list.h",
-+    "private/ewk_auth_challenge_private.h",
-+    "private/ewk_autofill_profile_private.cc",
-+    "private/ewk_autofill_profile_private.h",
-+    "private/ewk_back_forward_list_private.cc",
-+    "private/ewk_back_forward_list_private.h",
-+    "private/ewk_certificate_private.h",
-+    "private/ewk_console_message_private.h",
-+    "private/ewk_context_form_autofill_profile_private.cc",
-+    "private/ewk_context_form_autofill_profile_private.h",
-+    "private/ewk_context_menu_private.h",
-+    "private/ewk_context_private.cc",
-+    "private/ewk_context_private.h",
-+    "private/ewk_cookie_manager_private.h",
-+    "private/ewk_custom_handlers_private.cc",
-+    "private/ewk_custom_handlers_private.h",
-+    "private/ewk_error_private.h",
-+    "private/ewk_favicon_database_private.h",
-+    "private/ewk_frame_private.cc",
-+    "private/ewk_frame_private.h",
-+    "private/ewk_geolocation_private.cc",
-+    "private/ewk_geolocation_private.h",
-+    "private/ewk_history_private.cc",
-+    "private/ewk_history_private.h",
-+    "private/ewk_hit_test_private.cc",
-+    "private/ewk_hit_test_private.h",
-+    "private/ewk_main_private.cc",
-+    "private/ewk_main_private.h",
-+    "private/ewk_notification_private.cc",
-+    "private/ewk_notification_private.h",
-+    "private/ewk_object_private.h",
-+    "private/ewk_policy_decision_private.cc",
-+    "private/ewk_policy_decision_private.h",
-+    "private/ewk_private.h",
-+    "private/ewk_quota_permission_request_private.cc",
-+    "private/ewk_quota_permission_request_private.h",
-+    "private/ewk_security_origin_private.cc",
-+    "private/ewk_security_origin_private.h",
-+    "private/ewk_settings_private.cc",
-+    "private/ewk_settings_private.h",
-+    "private/ewk_suspendable_object.cc",
-+    "private/ewk_suspendable_object.h",
-+    "private/ewk_text_style_private.h",
-+    "private/ewk_tracing_private.cc",
-+    "private/ewk_tracing_private.h",
-+    "private/ewk_user_media_private.cc",
-+    "private/ewk_user_media_private.h",
-+    "private/ewk_view_private.cc",
-+    "private/ewk_view_private.h",
-+    "private/ewk_web_application_icon_data_private.cc",
-+    "private/ewk_web_application_icon_data_private.h",
-+    "private/ewk_window_features_private.h",
-+    "private/ewk_wrt_private.cc",
-+    "private/ewk_wrt_private.h",
-+    "private/webview_delegate_ewk.cc",
-+    "private/webview_delegate_ewk.h",
-+
-+    "public/ewk_application_cache_manager.cc",
-+    "public/ewk_application_cache_manager.h",
-+    "public/ewk_auth_challenge.cc",
-+    "public/ewk_auth_challenge.h",
-+    "public/ewk_auth_request.cc",
-+    "public/ewk_auth_request.h",
-+    "public/ewk_autofill_profile.cc",
-+    "public/ewk_autofill_profile.h",
-+    "public/ewk_back_forward_list.cc",
-+    "public/ewk_back_forward_list.h",
-+    "public/ewk_back_forward_list_item.cc",
-+    "public/ewk_back_forward_list_item.h",
-+    "public/ewk_certificate.cc",
-+    "public/ewk_certificate.h",
-+    "public/ewk_console_message.cc",
-+    "public/ewk_console_message.h",
-+    "public/ewk_content_screening_detection.cc",
-+    "public/ewk_content_screening_detection.h",
-+    "public/ewk_context.cc",
-+    "public/ewk_context.h",
-+    "public/ewk_context_menu.cc",
-+    "public/ewk_context_menu.h",
-+    "public/ewk_cookie_manager.cc",
-+    "public/ewk_cookie_manager.h",
-+    "public/ewk_custom_handlers.cc",
-+    "public/ewk_custom_handlers.h",
-+    "public/ewk_dispatcher.cc",
-+    "public/ewk_dispatcher.h",
-+    "public/ewk_error.cc",
-+    "public/ewk_error.h",
-+    "public/ewk_favicon_database.cc",
-+    "public/ewk_favicon_database.h",
-+    "public/ewk_frame.cc",
-+    "public/ewk_frame.h",
-+    "public/ewk_geolocation.cc",
-+    "public/ewk_geolocation.h",
-+    "public/ewk_history.cc",
-+    "public/ewk_history.h",
-+    "public/ewk_hit_test.cc",
-+    "public/ewk_hit_test.h",
-+    "public/ewk_intercept_request.cc",
-+    "public/ewk_intercept_request.h",
-+    "public/ewk_ipc_message.cc",
-+    "public/ewk_ipc_message.h",
-+    "public/ewk_main.cc",
-+    "public/ewk_main.h",
-+    "public/ewk_notification.cc",
-+    "public/ewk_notification.h",
-+    "public/ewk_object.cc",
-+    "public/ewk_object.h",
-+    "public/ewk_page_group.cc",
-+    "public/ewk_page_group.h",
-+    "public/ewk_policy_decision.cc",
-+    "public/ewk_policy_decision.h",
-+    "public/ewk_popup_menu_item.cc",
-+    "public/ewk_popup_menu_item.h",
-+    "public/ewk_quota_permission_request.cc",
-+    "public/ewk_quota_permission_request.h",
-+    "public/ewk_security_origin.cc",
-+    "public/ewk_security_origin.h",
-+    "public/ewk_settings.cc",
-+    "public/ewk_settings.h",
-+    "public/ewk_storage_manager.cc",
-+    "public/ewk_storage_manager.h",
-+    "public/ewk_text_style.cc",
-+    "public/ewk_text_style.h",
-+    "public/ewk_tracing.cc",
-+    "public/ewk_tracing.h",
-+    "public/ewk_user_media.cc",
-+    "public/ewk_user_media.h",
-+    "public/ewk_view.cc",
-+    "public/ewk_view.h",
-+    "public/ewk_web_application_icon_data.cc",
-+    "public/ewk_web_application_icon_data.h",
-+    "public/ewk_window_features.cc",
-+    "public/ewk_window_features.h",
-+    "public/ewk_chromium.cc",
-+    "public/ewk_chromium.h",
-+    "public/ewk_enums.h",
-+    "public/ewk_export.h",
-+    "public/ewk_log.h",
-+    "public/ewk_touch.h",
-+
-+    "browser/web_view_evas_handler.cc",
-+    "browser/web_view_evas_handler.h",
-+
-+    "renderer/content_renderer_client_efl.cc",
-+    "renderer/content_renderer_client_efl.h",
-+    "renderer/editorclient_agent.cc",
-+    "renderer/editorclient_agent.h",
-+    "renderer/plugins/plugin_placeholder_efl.cc",
-+    "renderer/plugins/plugin_placeholder_efl.h",
-+    "renderer/print_web_view_helper_efl.cc",
-+    "renderer/print_web_view_helper_efl.h",
-+    "renderer/render_frame_observer_efl.cc",
-+    "renderer/render_frame_observer_efl.h",
-+    "renderer/render_thread_observer_efl.cc",
-+    "renderer/render_thread_observer_efl.h",
-+    "renderer/render_view_observer_efl.cc",
-+    "renderer/render_view_observer_efl.h",
-+
-+    "wrt/wrtwidget.cc",
-+    "wrt/wrt_file_protocol_handler.cc",
-+    "wrt/dynamicplugin.cc",
-+    "wrt/wrt_file_protocol_handler.h",
-+    "wrt/wrt_widget_host.cc",
-+    "wrt/wrtwidget.h",
-+    "wrt/wrt_widget_host.h",
-+    "wrt/dynamicplugin.h",
-+  ]
-+  sources -= exclude_source_set
-+  deps += [ "resource:edje_resources_ewk" ]
-+}
-+
-+executable("efl_webprocess") {
-+  sources = [ "efl_webprocess.cc" ]
-+  deps = [ ":chromium-ewk" ]
-+}
-+
-+copy("launch_exec_script") {
-+  sources = [ "launch_exec.sh" ]
-+  outputs = [ "$root_out_dir/{{source_file_part}}" ]
-+}
-+
-+source_set("launch_exec") {
-+  sources = [ "launch_exec.sh" ]
-+  deps = [ ":launch_exec_script" ]
-+}
-diff --git a/ewk/efl_integration/browser/password_manager/password_manager_client_efl.h b/ewk/efl_integration/browser/password_manager/password_manager_client_efl.h
-index d7ecabe..f99fbd2 100644
---- a/ewk/efl_integration/browser/password_manager/password_manager_client_efl.h
-+++ b/ewk/efl_integration/browser/password_manager/password_manager_client_efl.h
-@@ -34,7 +34,7 @@ public:
-   // PasswordManagerClient implementation.
-   virtual bool PromptUserToSaveOrUpdatePassword(
--      scoped_ptr<PasswordFormManager> form_to_save,
-+      std::unique_ptr<PasswordFormManager> form_to_save,
-       CredentialSourceType type,
-       bool update_password) override;
-@@ -48,7 +48,7 @@ public:
-   void NotifyUserAutoSignin(
-       ScopedVector<autofill::PasswordForm> local_forms) override;
-   void AutomaticPasswordSave(
--      scoped_ptr<PasswordFormManager> saved_form_manager) override;
-+      std::unique_ptr<PasswordFormManager> saved_form_manager) override;
-   const PasswordManager* GetPasswordManager() const override;
-   const CredentialsFilter* GetStoreResultFilter() const override;
-diff --git a/ewk/efl_integration/common/version_info.cc b/ewk/efl_integration/common/version_info.cc
-index b1f427d..43db755 100644
---- a/ewk/efl_integration/common/version_info.cc
-+++ b/ewk/efl_integration/common/version_info.cc
-@@ -124,7 +124,8 @@ std::string VersionInfo::ProductNameAndVersionForUserAgent() const {
-   // if the browser supports the WebRTC feature.
-   // TODO(max koo): Do we need to open our real version number
-   // or just use Chrome/aa.bb.cc.dd as Chromium/Chrome do?
--  return std::string("Chrome/") + CHROMIUM_VERSION;
-+  // TODO(suchit): Need to fix for chromium version in gn file
-+  return std::string("Chrome/") /*+ CHROMIUM_VERSION*/;
- }
- std::string VersionInfo::DefaultUserAgent() const {
-diff --git a/ewk/efl_integration/launch_exec.sh b/ewk/efl_integration/launch_exec.sh
-index 16f4d90..18e80b4 100755
---- a/ewk/efl_integration/launch_exec.sh
-+++ b/ewk/efl_integration/launch_exec.sh
-@@ -27,7 +27,7 @@ else
- fi
- CHROMIUM_EFL_LIBDIR=$(readlink -e $SCRIPTDIR/lib)
--CHROMIUM_EFL_DEPENDENCIES_LIBDIR=$(readlink -e $SCRIPTDIR/../Dependencies/Root/$_LIBDIR)
-+CHROMIUM_EFL_DEPENDENCIES_LIBDIR=$(readlink -e $SCRIPTDIR/Dependencies/Root/$_LIBDIR)
- export LD_LIBRARY_PATH=$CHROMIUM_EFL_DEPENDENCIES_LIBDIR:$CHROMIUM_EFL_LIBDIR:${LD_LIBRARY_PATH}
- echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
-diff --git a/ewk/efl_integration/resource/BUILD.gn b/ewk/efl_integration/resource/BUILD.gn
-new file mode 100644
-index 0000000..fa6f35f
---- /dev/null
-+++ b/ewk/efl_integration/resource/BUILD.gn
-@@ -0,0 +1,33 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+template("edje_res_ewk") {
-+  edje_target_name = "${target_name}_generate"
-+  action_foreach(edje_target_name) {
-+    script = "//tizen_src/build/cmd_execution.py"
-+    sources = invoker.sources
-+    outputs = [ "$root_out_dir/resources/{{source_name_part}}.edj" ]
-+    args = [
-+      "$edje_compiler",
-+      "-id",
-+      rebase_path("../images/"),
-+      rebase_path("{{source_file_part}}"),
-+      rebase_path("$root_out_dir/resources/{{source_name_part}}.edj"),
-+    ]
-+  }
-+
-+  source_set(target_name) {
-+    data = [ ":$edje_target_name" ]
-+  }
-+}
-+
-+edje_res_ewk("edje_resources_ewk") {
-+  sources = [
-+    "AutofillPopup.edc",
-+    "JavaScriptPopup.edc",
-+    "control.edc",
-+  ]
-+}
-diff --git a/ewk/efl_webview_app/BUILD.gn b/ewk/efl_webview_app/BUILD.gn
-new file mode 100644
-index 0000000..7b413ac
---- /dev/null
-+++ b/ewk/efl_webview_app/BUILD.gn
-@@ -0,0 +1,117 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+copy("efl_webview_app_script") {
-+  sources = [ "efl_webview_app.sh" ]
-+  outputs = [ "$root_out_dir/{{source_file_part}}" ]
-+}
-+
-+executable("efl_webview_app") {
-+  deps = [
-+    ":efl_webview_app_script",
-+  ]
-+  configs += [ "//tizen_src/build:capi-system-device" ]
-+  configs += [ "//tizen_src/build:libcapi-system-device" ]
-+  public_configs = [ "//tizen_src/build:capi-system-device-public" ]
-+  configs += [ "//tizen_src/build:evas" ]
-+  configs += [ "//tizen_src/build:libevas" ]
-+  configs += [ "//tizen_src/build:ecore" ]
-+  configs += [ "//tizen_src/build:libecore" ]
-+  configs += [ "//tizen_src/build:ecore-evas" ]
-+  configs += [ "//tizen_src/build:libecore-evas" ]
-+  public_configs += [ "//tizen_src/build:ecore-evas-public" ]
-+  configs += [ "//tizen_src/build:elementary" ]
-+  configs += [ "//tizen_src/build:libelementary" ]
-+  public_configs += [ "//tizen_src/build:elementary-public" ]
-+  deps += [
-+    "//tizen_src/ewk/efl_integration:chromium-ewk",
-+    "//tizen_src/ewk/efl_integration:launch_exec",
-+  ]
-+  import("../tizen_version_defines_for_apps.gni")
-+  cflags = [
-+    # Treat warning as error for this target.
-+    # It needs to be included by means of pattern list because '-Werror' cflag
-+    # will be excluded in chromium side (src/build/common.gypi), and GYP
-+    # processes pattern lists after exclusion lists.
-+    # (ref: https://gyp.gsrc.io/docs/InputFormatReference.md#Processing-Order)
-+    "-Werror"
-+  ]
-+  if (!use_wayland) {
-+    configs += [ "//tizen_src/build:ecore-x" ]
-+    configs += [ "//tizen_src/build:libecore-x" ]
-+    public_configs += [ "//tizen_src/build:ecore-x-public" ]
-+  } else {
-+    configs += [ "//tizen_src/build:ecore-wayland" ]
-+    configs += [ "//tizen_src/build:libecore-wayland" ]
-+    public_configs += [ "//tizen_src/build:ecore-wayland-public" ]
-+  }
-+  include_dirs = [ "../efl_integration" ]
-+  sources = [ "app.c" ]
-+  ldflags = [ "-Llib" ]
-+  #libs = [ "libchromium-ewk" ]
-+}
-+
-+executable("mini_browser") {
-+  cflags = [
-+    # Treat warning as error for this target.
-+    # It needs to be included by means of pattern list because '-Werror' cflag
-+    # will be excluded in chromium side (src/build/common.gypi), and GYP
-+    # processes pattern lists after exclusion lists.
-+    # (ref: https://gyp.gsrc.io/docs/InputFormatReference.md#Processing-Order)
-+    "-Werror"
-+  ]
-+  sources = []
-+  include_dirs = []
-+  ldflags = []
-+  libs = []
-+  deps = []
-+  if (building_for_tizen) { # FIXME: mini_browser shouldn't depend on dlog and appcore-efl without OS(TIZEN) checks
-+    sources += [
-+      "mini_browser.c",
-+      "browser-object.h",
-+      "browser-string.h",
-+    ]
-+    include_dirs += [ "../efl_integration" ]
-+    configs += [ "//tizen_src/build:capi-system-device" ]
-+    configs += [ "//tizen_src/build:libcapi-system-device" ]
-+    public_configs = [ "//tizen_src/build:capi-system-device-public" ]
-+    configs += [ "//tizen_src/build:capi-appfw-application" ]
-+    configs += [ "//tizen_src/build:libcapi-appfw-application" ]
-+    public_configs += [ "//tizen_src/build:capi-appfw-application-public" ]
-+    configs += [ "//tizen_src/build:evas" ]
-+    configs += [ "//tizen_src/build:libevas" ]
-+    configs += [ "//tizen_src/build:ecore" ]
-+    configs += [ "//tizen_src/build:libecore" ]
-+    configs += [ "//tizen_src/build:ecore-evas" ]
-+    configs += [ "//tizen_src/build:libecore-evas" ]
-+    public_configs += [ "//tizen_src/build:ecore-evas-public" ]
-+    configs += [ "//tizen_src/build:efl-extension" ]
-+    configs += [ "//tizen_src/build:libefl-extension" ]
-+    public_configs += [ "//tizen_src/build:efl-extension-public" ]
-+    configs += [ "//tizen_src/build:elementary" ]
-+    configs += [ "//tizen_src/build:libelementary" ]
-+    public_configs += [ "//tizen_src/build:elementary-public" ]
-+    deps += [
-+      "//tizen_src/ewk/efl_integration:chromium-ewk",
-+      #"//build/linux:glib",   removed from the chromium
-+    ]
-+    configs += [ "//build/config/linux:glib" ]
-+    import("../tizen_version_defines_for_apps.gni")
-+    if (!use_wayland) {
-+      configs += [ "//tizen_src/build:ecore-x" ]
-+      configs += [ "//tizen_src/build:libecore-x" ]
-+      public_configs += [ "//tizen_src/build:ecore-x-public" ]
-+    } else {
-+      configs += [ "//tizen_src/build:ecore-wayland" ]
-+      configs += [ "//tizen_src/build:libecore-wayland" ]
-+      public_configs += [ "//tizen_src/build:ecore-wayland-public" ]
-+    }
-+    ldflags += [ "-ldlog" ]
-+    ldflags += [ "-ldbus-glib-1" ]
-+    libs += [ "dlog" ]
-+    libs += [ "dbus-glib-1" ]
-+  }
-+}
-diff --git a/ewk/efl_webview_app/app.c b/ewk/efl_webview_app/app.c
-index fcdd83d..7349697 100644
---- a/ewk/efl_webview_app/app.c
-+++ b/ewk/efl_webview_app/app.c
-@@ -1034,7 +1034,7 @@ void __customize_context_menu_cb(void* data, Evas_Object *obj, void *event_info)
- static void get_app_cache_usage_cb(int64_t usage, void* user_data)
- {
--  static int count_usage_callback = 0;
-+  static unsigned int count_usage_callback = 0;
-   Ewk_Security_Origin* origin = (Ewk_Security_Origin*)user_data;
-   printf("AppCache usage for %s is %ld\n", ewk_security_origin_host_get(origin), (long int)usage);
-   ewk_context_application_cache_delete(ewk_context_default_get(), origin);
-@@ -1075,7 +1075,7 @@ static void get_origins_for_webDB_cb(Eina_List* origins, void* user_data)
-   Eina_List* list_iterator = NULL;
-   void* data = NULL;
-   web_database_origins = origins;
--  static int flag = 0;
-+  static unsigned int flag = 0;
-   EINA_LIST_FOREACH(origins, list_iterator, data) {
-     Ewk_Security_Origin* origin = (Ewk_Security_Origin*)(data);
-     printf("Web Database origin : %s\n", ewk_security_origin_host_get(origin));
-diff --git a/ewk/efl_webview_app/mini_browser.c b/ewk/efl_webview_app/mini_browser.c
-index 32423c2..e2844a9 100644
---- a/ewk/efl_webview_app/mini_browser.c
-+++ b/ewk/efl_webview_app/mini_browser.c
-@@ -2,7 +2,7 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
--#include <app.h>
-+#include <appfw/app.h>
- #include <dlog.h>
- #include <Ecore.h>
- #include <Ecore_Evas.h>
-diff --git a/ewk/po_tizen/BUILD.gn b/ewk/po_tizen/BUILD.gn
-new file mode 100644
-index 0000000..a1c4940
---- /dev/null
-+++ b/ewk/po_tizen/BUILD.gn
-@@ -0,0 +1,90 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+declare_args() {
-+  msgfmt = "/usr/bin/msgfmt"
-+}
-+
-+template("po_translations") {
-+  po_target_name = "${target_name}_generate"
-+  action_foreach(po_target_name) {
-+    script = "//tizen_src/build/cmd_execution.py"
-+    sources = invoker.sources
-+    outputs = [ "$root_out_dir/locale/{{source_name_part}}/LC_MESSAGES/WebKit.mo" ]
-+    args = [
-+      "$msgfmt",
-+      "-o",
-+      rebase_path("$root_out_dir/locale/{{source_name_part}}/LC_MESSAGES/WebKit.mo"),
-+      rebase_path("{{source_file_part}}"),
-+    ]
-+  }
-+
-+  source_set(target_name) {
-+    deps = [ ":$po_target_name" ]
-+  }
-+}
-+
-+po_translations("locale_efl") {
-+  sources = [
-+    "ar.po",
-+    "az.po",
-+    "bg.po",
-+    "bn.po",
-+    "ca.po",
-+    "cs.po",
-+    "da.po",
-+    "de_DE.po",
-+    "el_GR.po",
-+    "en_PH.po",
-+    "en.po",
-+    "en_US.po",
-+    "es_ES.po",
-+    "es_MX.po",
-+    "et.po",
-+    "eu.po",
-+    "fi.po",
-+    "fr_CA.po",
-+    "fr_FR.po",
-+    "ga.po",
-+    "gl.po",
-+    "gu.po",
-+    "hi.po",
-+    "hr.po",
-+    "hu.po",
-+    "hy.po",
-+    "is.po",
-+    "it_IT.po",
-+    "ja_JP.po",
-+    "ka.po",
-+    "kk.po",
-+    "kn.po",
-+    "ko_KR.po",
-+    "lt.po",
-+    "lv.po",
-+    "mk.po",
-+    "nb.po",
-+    "nl_NL.po",
-+    "ml.po",
-+    "pl.po",
-+    "pt_BR.po",
-+    "pt_PT.po",
-+    "ro.po",
-+    "ru_RU.po",
-+    "si.po",
-+    "sk.po",
-+    "sl.po",
-+    "sr.po",
-+    "sv.po",
-+    "ta.po",
-+    "te.po",
-+    "tr_TR.po",
-+    "uk.po",
-+    "ur.po",
-+    "uz.po",
-+    "zh_CN.po",
-+    "zh_HK.po",
-+    "zh_SG.po",
-+    "zh_TW.po",
-+  ]
-+}
-diff --git a/ewk/tizen_version_defines_for_apps.gni b/ewk/tizen_version_defines_for_apps.gni
-new file mode 100644
-index 0000000..650e1b9
---- /dev/null
-+++ b/ewk/tizen_version_defines_for_apps.gni
-@@ -0,0 +1,19 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+defines = []
-+
-+if (building_for_tizen) {
-+    if (chromium_efl_tizen_version == 30) {
-+      defines += ["TIZEN_V_3_0=true"]
-+    }
-+    if (chromium_efl_tizen_version == 24) {
-+      defines += ["TIZEN_V_2_4=true"]
-+    }
-+    if (chromium_efl_tizen_version == 23) {
-+      defines += ["TIZEN_V_2_3=true"]
-+    }
-+}
-diff --git a/ewk/ubrowser/BUILD.gn b/ewk/ubrowser/BUILD.gn
-new file mode 100644
-index 0000000..25b2108
---- /dev/null
-+++ b/ewk/ubrowser/BUILD.gn
-@@ -0,0 +1,68 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+copy("ubrowser_script") {
-+  sources = [ "ubrowser.sh" ]
-+  outputs = [ "$root_out_dir/{{source_file_part}}" ]
-+}
-+
-+executable("ubrowser") {
-+  configs += [ "//tizen_src/build:capi-system-device" ]
-+  configs += [ "//tizen_src/build:libcapi-system-device" ]
-+  public_configs = [ "//tizen_src/build:capi-system-device-public" ]
-+  configs += [ "//tizen_src/build:evas" ]
-+  configs += [ "//tizen_src/build:libevas" ]
-+  configs += [ "//tizen_src/build:ecore" ]
-+  configs += [ "//tizen_src/build:libecore" ]
-+  configs += [ "//tizen_src/build:ecore-evas" ]
-+  configs += [ "//tizen_src/build:libecore-evas" ]
-+  public_configs += [ "//tizen_src/build:ecore-evas-public" ]
-+  configs += [ "//tizen_src/build:elementary" ]
-+  configs += [ "//tizen_src/build:libelementary" ]
-+  public_configs += [ "//tizen_src/build:elementary-public" ]
-+  deps = [
-+    "//tizen_src/ewk/efl_integration:chromium-ewk",
-+    "//tizen_src/ewk/efl_integration:launch_exec",
-+  ]
-+  configs += [ "//tizen_src/build:efl-extension" ]
-+  configs += [ "//tizen_src/build:libefl-extension" ]
-+  public_configs += [ "//tizen_src/build:efl-extension-public" ]
-+  defines = [
-+    # Uncomment once uBrowser replaces mini_browser and it's xml
-+    # manifest is shipped in the rpm package
-+    #"TIZEN_APP=true"
-+  ]
-+  include_dirs = [
-+    ".",
-+    "../efl_integration/public",
-+  ]
-+  sources = [
-+    "browser.cc",
-+    "browser.h",
-+    "logger.cc",
-+    "logger.h",
-+    "main.cc",
-+    "window.cc",
-+    "window.h",
-+    "window_ui.h",
-+    "window_ui.cc",
-+  ]
-+  deps += [ ":ubrowser_script" ]
-+  cflags = [
-+    # Treat warning as error for this target.
-+    # It needs to be included by means of pattern list because '-Werror' cflag
-+    # will be excluded in chromium side (src/build/common.gypi), and GYP
-+    # processes pattern lists after exclusion lists.
-+    # (ref: https://gyp.gsrc.io/docs/InputFormatReference.md#Processing-Order)
-+    "-Werror"
-+  ]
-+  ldflags = []
-+  libs = []
-+  if (building_for_tizen) {
-+    configs += [ "//tizen_src/build:capi-appfw-application" ]
-+    configs += [ "//tizen_src/build:libcapi-appfw-application" ]
-+  }
-+}
-diff --git a/ewk/ubrowser/main.cc b/ewk/ubrowser/main.cc
-index 0b16a04..7b9c973 100644
---- a/ewk/ubrowser/main.cc
-+++ b/ewk/ubrowser/main.cc
-@@ -9,7 +9,7 @@
- #include <unistd.h>
- #include <vector>
- #if defined(OS_TIZEN)
--#include <app.h>
-+#include <appfw/app.h>
- #endif // OS_TIZEN
- #include "browser.h"
-diff --git a/ewk/unittest/BUILD.gn b/ewk/unittest/BUILD.gn
-new file mode 100644
-index 0000000..bd92e7b
---- /dev/null
-+++ b/ewk/unittest/BUILD.gn
-@@ -0,0 +1,395 @@
-+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//testing/test.gni")
-+import("//tizen_src/build/config/tizen_features.gni")
-+
-+shared_library("bundle_sample") {
-+  sources = [ "resources/ewk_context/injected_bundle/chromium/bundle_sample.cc" ]
-+  deps = [ "//v8:v8" ]
-+  include_dirs = [
-+    ".",
-+    "//v8/include/",
-+  ]
-+}
-+
-+#copy("libbundle") {
-+#  sources = [ "$root_out_dir/lib/libbundle_sample.so" ]
-+#  outputs = [ "$root_out_dir/resources/ewk_context/injected_bundle/chromium/{{source_file_part}}" ]
-+#}
-+
-+test("ewk_unittests") {
-+  testonly = true
-+  configs += [ "//tizen_src/build:ecore-evas" ]
-+  configs += [ "//tizen_src/build:libecore-evas" ]
-+  public_configs = [ "//tizen_src/build:ecore-evas-public" ]
-+  configs += [ "//tizen_src/build:ecore-x" ]
-+  configs += [ "//tizen_src/build:libecore-x" ]
-+  public_configs += [ "//tizen_src/build:ecore-x-public" ]
-+  configs += [ "//tizen_src/build:edje" ]
-+  configs += [ "//tizen_src/build:libedje" ]
-+  public_configs += [ "//tizen_src/build:edje-public" ]
-+  configs += [ "//tizen_src/build:elementary" ]
-+  configs += [ "//tizen_src/build:libelementary" ]
-+  public_configs += [ "//tizen_src/build:elementary-public" ]
-+  deps = [
-+    "//tizen_src/ewk/efl_integration:chromium-ewk",
-+    "//testing/gtest",
-+    ":bundle_sample",
-+  ]
-+  include_dirs = [
-+    "../efl_integration/public",
-+  ]
-+  sources = [
-+    "execute_utc_blink.cpp",
-+    "utc_blink_cb_contextmenu_allowed.cpp",
-+    "utc_blink_cb_contextmenu_willshow.cpp",
-+    "utc_blink_cb_editorclient_candidate_closed.cpp",
-+    "utc_blink_cb_editorclient_candidate_opened.cpp",
-+    "utc_blink_cb_editorclient_ime_closed.cpp",
-+    "utc_blink_cb_editorclient_ime_opened.cpp",
-+    "utc_blink_cb_form_submit.cpp",
-+    "utc_blink_cb_fullscreen_enterfullscreen.cpp",
-+    "utc_blink_cb_fullscreen_exitfullscreen.cpp",
-+    "utc_blink_cb_geolocation_valid.cpp",
-+    "utc_blink_cb_icon_received.cpp",
-+    "utc_blink_cb_inputmethod_changed.cpp",
-+    "utc_blink_cb_load_finished.cpp",
-+    "utc_blink_cb_load_progress.cpp",
-+    "utc_blink_cb_load_progress_finished.cpp",
-+    "utc_blink_cb_load_progress_started.cpp",
-+    "utc_blink_cb_load_started.cpp",
-+    "utc_blink_cb_magnifier_hide.cpp",
-+    "utc_blink_cb_magnifier_show.cpp",
-+    "utc_blink_cb_popup_blocked.cpp",
-+    "utc_blink_cb_protocolhandler_isregistered.cpp",
-+    "utc_blink_cb_protocolhandler_registration_requested.cpp",
-+    "utc_blink_cb_protocolhandler_unregistration_requested.cpp",
-+    "utc_blink_cb_redo_size.cpp",
-+    "utc_blink_cb_textselection_mode.cpp",
-+    "utc_blink_cb_title_changed.cpp",
-+    "utc_blink_cb_undo_size.cpp",
-+    "utc_blink_cb_unfocus_direction.cpp",
-+    "utc_blink_cb_uri_changed.cpp",
-+    "utc_blink_cb_url_changed.cpp",
-+    "utc_blink_ewk_auth_challenge_credential_cancel_func.cpp",
-+    "utc_blink_ewk_auth_challenge_credential_use_func.cpp",
-+    "utc_blink_ewk_auth_challenge_realm_get_func.cpp",
-+    "utc_blink_ewk_auth_challenge_suspend_func.cpp",
-+    "utc_blink_ewk_autofill_profile_data_get_func.cpp",
-+    "utc_blink_ewk_autofill_profile_data_set_func.cpp",
-+    "utc_blink_ewk_autofill_profile_delete_func.cpp",
-+    "utc_blink_ewk_autofill_profile_id_get_func.cpp",
-+    "utc_blink_ewk_autofill_profile_new_func.cpp",
-+    "utc_blink_ewk_back_forward_list_count_func.cpp",
-+    "utc_blink_ewk_back_forward_list_current_item_get_func.cpp",
-+    "utc_blink_ewk_back_forward_list_item_at_index_get_func.cpp",
-+    "utc_blink_ewk_back_forward_list_item_original_url_get_func.cpp",
-+    "utc_blink_ewk_back_forward_list_item_ref_func.cpp",
-+    "utc_blink_ewk_back_forward_list_item_title_get_func.cpp",
-+    "utc_blink_ewk_back_forward_list_item_unref_func.cpp",
-+    "utc_blink_ewk_back_forward_list_item_url_get_func.cpp",
-+    "utc_blink_ewk_back_forward_list_n_back_items_copy_func.cpp",
-+    "utc_blink_ewk_back_forward_list_n_forward_items_copy_func.cpp",
-+    "utc_blink_ewk_back_forward_list_next_item_get_func.cpp",
-+    "utc_blink_ewk_back_forward_list_previous_item_get_func.cpp",
-+    "utc_blink_ewk_base.cpp",
-+    "utc_blink_ewk_base.h",
-+    "utc_blink_ewk_certificate_policy_decision_allowed_set_func.cpp",
-+    "utc_blink_ewk_certificate_policy_decision_certificate_pem_get_func.cpp",
-+    "utc_blink_ewk_certificate_policy_decision_suspend_func.cpp",
-+    "utc_blink_ewk_certificate_policy_decision_url_get_func.cpp",
-+    "utc_blink_ewk_console_message_level_get_func.cpp",
-+    "utc_blink_ewk_console_message_line_get_func.cpp",
-+    "utc_blink_ewk_console_message_source_get_func.cpp",
-+    "utc_blink_ewk_console_message_text_get_func.cpp",
-+    "utc_blink_ewk_context_additional_plugin_path_set_func.cpp",
-+    "utc_blink_ewk_context_application_cache_delete_all_func.cpp",
-+    "utc_blink_ewk_context_application_cache_delete_func.cpp",
-+    "utc_blink_ewk_context_application_cache_origins_get_func.cpp",
-+    "utc_blink_ewk_context_cache_clear_func.cpp",
-+    "utc_blink_ewk_context_cache_disabled_set_func.cpp",
-+    "utc_blink_ewk_context_cache_model_get_func.cpp",
-+    "utc_blink_ewk_context_cache_model_set_func.cpp",
-+    "utc_blink_ewk_context_certificate_file_get_func.cpp",
-+    "utc_blink_ewk_context_certificate_file_set_func.cpp",
-+    "utc_blink_ewk_context_cookie_manager_get_func.cpp",
-+    "utc_blink_ewk_context_default_get_func.cpp",
-+    "utc_blink_ewk_context_delete_func.cpp",
-+    "utc_blink_ewk_context_did_start_download_callback_set_func.cpp",
-+    "utc_blink_ewk_context_form_autofill_profile_add_func.cpp",
-+    "utc_blink_ewk_context_form_autofill_profile_get_all_func.cpp",
-+    "utc_blink_ewk_context_form_autofill_profile_get_func.cpp",
-+    "utc_blink_ewk_context_form_autofill_profile_remove_func.cpp",
-+    "utc_blink_ewk_context_form_autofill_profile_set_func.cpp",
-+    "utc_blink_ewk_context_form_autofill_profile_utils.cpp",
-+    "utc_blink_ewk_context_form_autofill_profile_utils.h",
-+    "utc_blink_ewk_context_form_candidate_data_delete_all_func.cpp",
-+    "utc_blink_ewk_context_form_password_data_delete_all_func.cpp",
-+    "utc_blink_ewk_context_icon_database_icon_object_add_func.cpp",
-+    "utc_blink_ewk_context_icon_database_path_set_func.cpp",
-+    "utc_blink_ewk_context_inspector_server_start_func.cpp",
-+    "utc_blink_ewk_context_inspector_server_stop_func.cpp",
-+    "utc_blink_ewk_context_local_file_system_all_delete_func.cpp",
-+    "utc_blink_ewk_context_local_file_system_delete_func.cpp",
-+    "utc_blink_ewk_context_menu.h",
-+    "utc_blink_ewk_context_menu_item_append_as_action_func.cpp",
-+    "utc_blink_ewk_context_menu_item_append_func.cpp",
-+    "utc_blink_ewk_context_menu_item_count_func.cpp",
-+    "utc_blink_ewk_context_menu_item_image_url_get_func.cpp",
-+    "utc_blink_ewk_context_menu_item_link_url_get_func.cpp",
-+    "utc_blink_ewk_context_menu_item_remove_func.cpp",
-+    "utc_blink_ewk_context_menu_item_tag_get_func.cpp",
-+    "utc_blink_ewk_context_menu_nth_item_get_func.cpp",
-+    "utc_blink_ewk_context_new_func.cpp",
-+    "utc_blink_ewk_context_new_with_injected_bundle_path_func.cc",
-+    "utc_blink_ewk_context_notify_low_memory_func.cpp",
-+    "utc_blink_ewk_context_pixmap_set_func.cpp",
-+    "utc_blink_ewk_context_preferred_languages_set_func.cpp",
-+    "utc_blink_ewk_context_proxy_uri_get_func.cpp",
-+    "utc_blink_ewk_context_proxy_uri_set_func.cpp",
-+    "utc_blink_ewk_context_vibration_client_callbacks_set_func.cpp",
-+    "utc_blink_ewk_context_web_database_delete_all_func.cpp",
-+    "utc_blink_ewk_context_web_database_delete_func.cpp",
-+    "utc_blink_ewk_context_web_database_origins_get_func.cpp",
-+    "utc_blink_ewk_context_web_indexed_database_delete_all_func.cpp",
-+    "utc_blink_ewk_context_web_storage_delete_all_func.cpp",
-+    "utc_blink_ewk_context_web_storage_origin_delete_func.cpp",
-+    "utc_blink_ewk_context_web_storage_origins_get_func.cpp",
-+    "utc_blink_ewk_cookie_manager_accept_policy_async_get_func.cpp",
-+    "utc_blink_ewk_cookie_manager_accept_policy_set_func.cpp",
-+    "utc_blink_ewk_cookie_manager_cookies_clear_func.cpp",
-+    "utc_blink_ewk_custom_handlers_data_base_url_get_func.cpp",
-+    "utc_blink_ewk_custom_handlers_data_result_set_func.cpp",
-+    "utc_blink_ewk_custom_handlers_data_target_get_func.cpp",
-+    "utc_blink_ewk_custom_handlers_data_title_get_func.cpp",
-+    "utc_blink_ewk_custom_handlers_data_url_get_func.cpp",
-+    "utc_blink_ewk_error_code_get_func.cpp",
-+    "utc_blink_ewk_error_description_get_func.cpp",
-+    "utc_blink_ewk_error_type_get_func.cpp",
-+    "utc_blink_ewk_error_url_get_func.cpp",
-+    "utc_blink_ewk_frame_is_main_frame_func.cpp",
-+    "utc_blink_ewk_geolocation_permission_reply_func.cpp",
-+    "utc_blink_ewk_geolocation_permission_request_origin_get_func.cpp",
-+    "utc_blink_ewk_geolocation_permission_request_set_func.cpp",
-+    "utc_blink_ewk_geolocation_permission_request_suspend_func.cpp",
-+    "utc_blink_ewk_history_back_list_length_get_func.cpp",
-+    "utc_blink_ewk_history_forward_list_length_get.cpp",
-+    "utc_blink_ewk_history_free_func.cpp",
-+    "utc_blink_ewk_history_item_title_get_func.cpp",
-+    "utc_blink_ewk_history_item_uri_get_func.cpp",
-+    "utc_blink_ewk_history_nth_item_get.cpp",
-+    "utc_blink_ewk_hit_test_attribute_hash_get_func.cpp",
-+    "utc_blink_ewk_hit_test_free_func.cpp",
-+    "utc_blink_ewk_hit_test_image_file_name_extension_get_func.cpp",
-+    "utc_blink_ewk_hit_test_image_uri_get_func.cpp",
-+    "utc_blink_ewk_hit_test_link_label_get_func.cpp",
-+    "utc_blink_ewk_hit_test_link_title_get_func.cpp",
-+    "utc_blink_ewk_hit_test_link_uri_get_func.cpp",
-+    "utc_blink_ewk_hit_test_media_uri_get_func.cpp",
-+    "utc_blink_ewk_hit_test_node_value_get_func.cpp",
-+    "utc_blink_ewk_hit_test_result_context_get_func.cpp",
-+    "utc_blink_ewk_hit_test_tag_name_get_func.cpp",
-+    "utc_blink_ewk_home_directory_get_func.cpp",
-+    "utc_blink_ewk_home_directory_set_func.cpp",
-+    "utc_blink_ewk_notification_body_get_func.cpp",
-+    "utc_blink_ewk_notification_callbacks_reset_func.cpp",
-+    "utc_blink_ewk_notification_callbacks_set_func.cpp",
-+    "utc_blink_ewk_notification_clicked_func.cpp",
-+    "utc_blink_ewk_notification_closed_func.cpp",
-+    "utc_blink_ewk_notification_icon_get_func.cpp",
-+    "utc_blink_ewk_notification_icon_save_as_png_func.cpp",
-+    "utc_blink_ewk_notification_id_get_func.cpp",
-+    "utc_blink_ewk_notification_permission_reply_func.cpp",
-+    "utc_blink_ewk_notification_permission_request_origin_get_func.cpp",
-+    "utc_blink_ewk_notification_permission_request_set_func.cpp",
-+    "utc_blink_ewk_notification_permission_request_suspend_func.cpp",
-+    "utc_blink_ewk_notification_policies_removed_func.cpp",
-+    "utc_blink_ewk_notification_security_origin_get_func.cpp",
-+    "utc_blink_ewk_notification_showed_func.cpp",
-+    "utc_blink_ewk_notification_silent_get_func.cpp",
-+    "utc_blink_ewk_notification_title_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_cookie_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_frame_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_host_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_http_method_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_ignore_func.cpp",
-+    "utc_blink_ewk_policy_decision_navigation_type_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_password_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_response_headers_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_response_mime_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_response_status_code_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_scheme_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_suspend_func.cpp",
-+    "utc_blink_ewk_policy_decision_type_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_url_get_func.cpp",
-+    "utc_blink_ewk_policy_decision_use_func.cpp",
-+    "utc_blink_ewk_policy_decision_userid_get_func.cpp",
-+    "utc_blink_ewk_quota_permission_request_is_persistent_get_func.cpp",
-+    "utc_blink_ewk_quota_permission_request_origin_host_get_func.cpp",
-+    "utc_blink_ewk_quota_permission_request_origin_port_get_func.cpp",
-+    "utc_blink_ewk_quota_permission_request_origin_protocol_get_func.cpp",
-+    "utc_blink_ewk_quota_permission_request_quota_get_func.cpp",
-+    "utc_blink_ewk_security_origin_host_get_func.cpp",
-+    "utc_blink_ewk_security_origin_port_get_func.cpp",
-+    "utc_blink_ewk_security_origin_protocol_get_func.cpp",
-+    "utc_blink_ewk_settings_autofill_password_form_enabled_get_func.cpp",
-+    "utc_blink_ewk_settings_autofill_password_form_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_auto_fitting_get_func.cpp",
-+    "utc_blink_ewk_settings_auto_fitting_set_func.cpp",
-+    "utc_blink_ewk_settings_clear_text_selection_automatically_set_func.cpp",
-+    "utc_blink_ewk_settings_current_legacy_font_size_mode_set_func.cpp",
-+    "utc_blink_ewk_settings_default_encoding_set_func.cpp",
-+    "utc_blink_ewk_settings_default_keypad_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_detect_contents_automatically_set_func.cpp",
-+    "utc_blink_ewk_settings_edge_effect_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_editable_link_behavior_set_func.cpp",
-+    "utc_blink_ewk_settings_extra_feature_set_func.cpp",
-+    "utc_blink_ewk_settings_font_default_size_get_func.cpp",
-+    "utc_blink_ewk_settings_font_default_size_set_func.cpp",
-+    "utc_blink_ewk_settings_force_zoom_set_func.cpp",
-+    "utc_blink_ewk_settings_form_candidate_data_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_form_profile_data_enabled_get_func.cpp",
-+    "utc_blink_ewk_settings_form_profile_data_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_initial_list_style_position_get_func.cpp",
-+    "utc_blink_ewk_settings_initial_list_style_position_set_func.cpp",
-+    "utc_blink_ewk_settings_is_encoding_valid_func.cpp",
-+    "utc_blink_ewk_settings_javascript_enabled_get_func.cpp",
-+    "utc_blink_ewk_settings_javascript_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_link_effect_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_link_magnifier_enabled_get_func.cpp",
-+    "utc_blink_ewk_settings_link_magnifier_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_private_browsing_enabled_get_func.cpp",
-+    "utc_blink_ewk_settings_private_browsing_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_load_remote_images_set_func.cpp",
-+    "utc_blink_ewk_settings_loads_images_automatically_set_func.cpp",
-+    "utc_blink_ewk_settings_paste_image_uri_mode_set_func.cpp",
-+    "utc_blink_ewk_settings_plugins_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_scripts_can_open_windows_get_func.cpp",
-+    "utc_blink_ewk_settings_scripts_can_open_windows_set_func.cpp",
-+    "utc_blink_ewk_settings_scripts_window_open_get_func.cpp",
-+    "utc_blink_ewk_settings_scripts_window_open_set_func.cpp",
-+    "utc_blink_ewk_settings_select_word_automatically_set_func.cpp",
-+    "utc_blink_ewk_settings_spdy_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_text_autosizing_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_text_autosizing_font_scale_factor_set_func.cpp",
-+    "utc_blink_ewk_settings_text_selection_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_text_style_state_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_text_zoom_enabled_set_func.cpp",
-+    "utc_blink_ewk_settings_uses_encoding_detector_set_func.cpp",
-+    "utc_blink_ewk_settings_uses_keypad_without_user_action_set_func.cpp",
-+    "utc_blink_ewk_text_style_align_center_get_func.cpp",
-+    "utc_blink_ewk_text_style_align_full_get_func.cpp",
-+    "utc_blink_ewk_text_style_align_left_get_func.cpp",
-+    "utc_blink_ewk_text_style_align_right_get_func.cpp",
-+    "utc_blink_ewk_text_style_bg_color_get_func.cpp",
-+    "utc_blink_ewk_text_style_bold_get_func.cpp",
-+    "utc_blink_ewk_text_style_color_get_func.cpp",
-+    "utc_blink_ewk_text_style_font_size_get_func.cpp",
-+    "utc_blink_ewk_text_style_has_composition_get_func.cpp",
-+    "utc_blink_ewk_text_style_italic_get_func.cpp",
-+    "utc_blink_ewk_text_style_ordered_list_get_func.cpp",
-+    "utc_blink_ewk_text_style_position_get_func.cpp",
-+    "utc_blink_ewk_text_style_underline_get_func.cpp",
-+    "utc_blink_ewk_text_style_unordered_list_get_func.cpp",
-+    "utc_blink_ewk_user_media_permission_request_set_func.cpp",
-+    "utc_blink_ewk_user_media_permission_request_suspend_func.cpp",
-+    "utc_blink_ewk_view_add_func.cpp",
-+    "utc_blink_ewk_view_add_in_incognito_mode_func.cpp",
-+    "utc_blink_ewk_view_add_with_context_func.cpp",
-+    "utc_blink_ewk_view_add_with_session_data_func.cpp",
-+    "utc_blink_ewk_view_application_name_for_user_agent_get_func.cpp",
-+    "utc_blink_ewk_view_application_name_for_user_agent_set_func.cpp",
-+    "utc_blink_ewk_view_back_forward_list_clear_func.cpp",
-+    "utc_blink_ewk_view_back_forward_list_get_func.cpp",
-+    "utc_blink_ewk_view_back_func.cpp",
-+    "utc_blink_ewk_view_back_possible_func.cpp",
-+    "utc_blink_ewk_view_browser_font_set_func.cpp",
-+    "utc_blink_ewk_view_command_execute_func.cpp",
-+    "utc_blink_ewk_view_content_security_policy_set_func.cpp",
-+    "utc_blink_ewk_view_contents_pdf_get_func.cpp",
-+    "utc_blink_ewk_view_contents_set_func.cpp",
-+    "utc_blink_ewk_view_contents_size_get_func.cpp",
-+    "utc_blink_ewk_view_context_get_func.cpp",
-+    "utc_blink_ewk_view_custom_header_add_func.cpp",
-+    "utc_blink_ewk_view_custom_header_remove_func.cpp",
-+    "utc_blink_ewk_view_draws_transparent_background_set_func.cpp",
-+    "utc_blink_ewk_view_encoding_custom_set_func.cpp",
-+    "utc_blink_ewk_view_forward_func.cpp",
-+    "utc_blink_ewk_view_forward_possible_func.cpp",
-+    "utc_blink_ewk_view_fullscreen_exit_func.cpp",
-+    "utc_blink_ewk_view_geolocation_permission_callback_set_func.cpp",
-+    "utc_blink_ewk_view_get_cookies_for_url_func.cpp",
-+    "utc_blink_ewk_view_history_get_func.cpp",
-+    "utc_blink_ewk_view_hit_test_new_func.cpp",
-+    "utc_blink_ewk_view_hit_test_request_func.cpp",
-+    "utc_blink_ewk_view_html_contents_set_func.cpp",
-+    "utc_blink_ewk_view_html_string_load_func.cpp",
-+    "utc_blink_ewk_view_inspector_server_stop_func.cpp",
-+    "utc_blink_ewk_view_javascript_confirm_reply_func.cpp",
-+    "utc_blink_ewk_view_load_progress_get_func.cpp",
-+    "utc_blink_ewk_view_main_frame_get_func.cpp",
-+    "utc_blink_ewk_view_mhtml_data_get_func.cpp",
-+    "utc_blink_ewk_view_notification_permission_callback_set_func.cpp",
-+    "utc_blink_ewk_view_orientation_lock_callback_set_func.cpp",
-+    "utc_blink_ewk_view_orientation_send_func.cpp",
-+    "utc_blink_ewk_view_page_visibility_state_set_func.cpp",
-+    "utc_blink_ewk_view_plain_text_get_func.cpp",
-+    "utc_blink_ewk_view_quota_permission_request_callback_set_func.cpp",
-+    "utc_blink_ewk_view_quota_permission_request_cancel_func.cpp",
-+    "utc_blink_ewk_view_quota_permission_request_reply_func.cpp",
-+    "utc_blink_ewk_view_reload_func.cpp",
-+    "utc_blink_ewk_view_resume_func.cpp",
-+    "utc_blink_ewk_view_scale_get_func.cpp",
-+    "utc_blink_ewk_view_scale_range_get_func.cpp",
-+    "utc_blink_ewk_view_scale_set_func.cpp",
-+    "utc_blink_ewk_view_screenshot_contents_get_func.cpp",
-+    "utc_blink_ewk_view_script_execute_func.cpp",
-+    "utc_blink_ewk_view_scroll_pos_get_func.cpp",
-+    "utc_blink_ewk_view_scroll_set_func.cpp",
-+    "utc_blink_ewk_view_scroll_size_get_func.cpp",
-+    "utc_blink_ewk_view_session_data_get_func.cpp",
-+    "utc_blink_ewk_view_settings_get_func.cpp",
-+    "utc_blink_ewk_view_stop_func.cpp",
-+    "utc_blink_ewk_view_suspend_func.cpp",
-+    "utc_blink_ewk_view_text_find_func.cpp",
-+    "utc_blink_ewk_view_text_find_highlight_clear_func.cpp",
-+    "utc_blink_ewk_view_text_selection_clear_func.cpp",
-+    "utc_blink_ewk_view_text_selection_text_get_func.cpp",
-+    "utc_blink_ewk_view_text_zoom_get_func.cpp",
-+    "utc_blink_ewk_view_text_zoom_set_func.cpp",
-+    "utc_blink_ewk_view_title_get_func.cpp",
-+    "utc_blink_ewk_view_touch_events_enabled_set_func.cpp",
-+    "utc_blink_ewk_view_url_get_func.cpp",
-+    "utc_blink_ewk_view_url_request_set_func.cpp",
-+    "utc_blink_ewk_view_url_set_func.cpp",
-+    "utc_blink_ewk_view_user_agent_get_func.cpp",
-+    "utc_blink_ewk_view_user_agent_set_func.cpp",
-+    "utc_blink_ewk_view_use_settings_font_func.cpp",
-+    "utc_blink_ewk_view_visibility_set_func.cpp",
-+    "utc_blink_ewk_view_web_application_capable_get_func.cpp",
-+    "utc_blink_ewk_view_web_application_icon_url_get_func.cpp",
-+    "utc_blink_ewk_view_web_application_icon_urls_get_func.cpp",
-+    "utc_blink_ewk_web_application_icon_data_url_get_func.cpp",
-+  ]
-+  cflags = [ "-glib-2.0" ]
-+  ldflags = [ "-glib-2.0" ]
-+  libs = [ "glib-2.0" ]
-+  #TODO : Uncomment it.
-+  #deps += [ ":libbundle" ]
-+  if (building_for_tizen && building_strategy=="ewk") {
-+    cflags += [ "-scim" ]
-+    ldflags += [ "-scim" ]
-+    libs += [ "scim" ]
-+  }
-+  defines = []
-+  if (ewk_bringup) {
-+    defines += [ "EWK_BRINGUP=true" ]
-+    sources -= [
-+      #XXX: enable *local_file_system* once we find a way to set --allow-file-access-from-files flag at runtime
-+      "utc_blink_ewk_context_local_file_system_all_delete_func.cpp",
-+      "utc_blink_ewk_context_local_file_system_delete_func.cpp",
-+    ]
-+  }
-+}
-diff --git a/packaging/chromium-efl.spec b/packaging/chromium-efl.spec
-index a64108c..2cc95e1 100644
---- a/packaging/chromium-efl.spec
-+++ b/packaging/chromium-efl.spec
-@@ -39,12 +39,15 @@ Source1: content_shell.in
- #       2) The value '2.0' of '%{tizen}' should be '2.3'.
- %if "%{tizen}" == "3.0"
- %define chromium_efl_tizen_version 3.0
-+%define gn_chromium_efl_tizen_version 30
- %endif
- %if "%{tizen}" == "2.3" || "%{tizen}" == "2.4"
- %define chromium_efl_tizen_version 2.4
-+%define gn_chromium_efl_tizen_version 24
- %endif
- %if "%{tizen}" == "2.0"
- %define chromium_efl_tizen_version 2.3
-+%define gn_chromium_efl_tizen_version 23
- %endif
- %if %{!?TIZEN_PROFILE_TV:0}%{?TIZEN_PROFILE_TV:1} || "%{!?profile:0}%{?profile}" == "tv"
-@@ -117,6 +120,7 @@ BuildRequires: pkgconfig(zlib)
- %if "%{chromium_efl_tizen_version}" == "3.0"
- %ifarch armv7l
- BuildRequires: python-accel-armv7l-cross-arm
-+BuildRequires: binutils-gold
- %endif
- %ifarch aarch64
- BuildRequires: python-accel-aarch64-cross-aarch64
-@@ -142,7 +146,7 @@ BuildRequires: pkgconfig(xtst)
- # TODO(youngsoo): The binutils-gold crashes mini_browser on the Tizen v3.0 ARM 64 bit images.
- #                 Once fixed, use binutils-gold for all targets on Tizen v3.0.
--%ifnarch aarch64 %{arm} # [M48_2564] Temporary excluding arm architecture for fixing memory issue
-+%ifnarch aarch64 #%{arm} # [M48_2564] Temporary excluding arm architecture for fixing memory issue
-                         #            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15383
- %if "%{chromium_efl_tizen_version}" == "3.0"
- BuildRequires: binutils-gold
-@@ -277,7 +281,7 @@ trap 'tizen_src/build/apply_patches.sh -r' EXIT
- # architecture related configuration + neon temporary workaround
- %if %{?_skip_ninja:0}%{!?_skip_ninja:1}
- %ifarch %{arm} aarch64
--  export ADDITION_OPTION=" -finline-limit=64 -foptimize-sibling-calls -fno-unwind-tables -fno-exceptions -Os "
-+  export ADDITION_OPTION=" -finline-limit=64 -foptimize-sibling-calls -fno-unwind-tables -fno-exceptions -O2 "
-   export CFLAGS="$CFLAGS $ADDITION_OPTION"
-   export CXXFLAGS="$CXXFLAGS $ADDITION_OPTION"
-@@ -305,13 +309,21 @@ trap 'tizen_src/build/apply_patches.sh -r' EXIT
- # The variable chromium-efl_tizen_version and _repository are essentially needed for build.
- # Therefore, if the variable is not defined, it explicitly raises exception here.
- %define OUTPUT_BASE_FOLDER out.tz_v%{chromium_efl_tizen_version}.%{OUTPUT_BUILD_PROFILE_TARGET}.%{_repository}
--export GYP_GENERATOR_OUTPUT=$PWD/%{OUTPUT_BASE_FOLDER}
-+%if 0%{?_use_gn:1}
-+  export GN_GENERATOR_OUTPUT=$PWD/%{OUTPUT_BASE_FOLDER}
-+%else
-+  export GYP_GENERATOR_OUTPUT=$PWD/%{OUTPUT_BASE_FOLDER}
-+%endif
- #set build mode
--%if 0%{?_debug_mode}
--  %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Debug
-+%if 0%{?_use_gn:1}
-+  %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}
- %else
--  %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Release
-+  %if 0%{?_debug_mode}
-+    %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Debug
-+  %else
-+    %global OUTPUT_FOLDER %{OUTPUT_BASE_FOLDER}/Release
-+  %endif
- %endif
- %global XWALK_GEN %{OUTPUT_FOLDER}/xwalk_gen
-@@ -329,8 +341,38 @@ fi
-   cp -a LICENSE "%{XWALK_GEN}"/LICENSE.chromium
- %endif
-+#gn generate
-+%if 0%{?_use_gn:1}
-+#run standard gn_chromiumefl wrapper
-+   ./tizen_src/build/gn_chromiumefl.sh \
-+  "exe_dir=\"%{CHROMIUM_EXE_DIR}\"" \
-+  "data_dir=\"%{CHROMIUM_DATA_DIR}\"" \
-+  "edje_dir=\"%{CHROMIUM_DATA_DIR}/themes\"" \
-+  "locale_dir=\"%{CHROMIUM_LOCALE_DIR}\"" \
-+%if 0%{?_remove_webcore_debug_symbols:1}
-+  "remove_webcore_debug_symbols=true" \
-+%endif
-+%if 0%{?chromium_efl_tizen_version:1}
-+  "chromium_efl_tizen_version=%{gn_chromium_efl_tizen_version}" \
-+%endif
-+%if "%{?_with_wayland}" == "1"
-+  "use_wayland=true" \
-+%endif
-+%if "%{?_repository}" == "emulator" || "%{?_repository}" == "emulator32-x11"
-+  "tizen_emulator_support=true"  \
-+%endif
-+%if 0%{?build_xwalk}
-+  --xwalk \
-+%endif
-+%if 0%{?component_build}
-+  "component=\"shared_library\"" \
-+%endif
-+  "tizen_%{OUTPUT_BUILD_PROFILE_TARGET}=true" \
-+  "building_for_tizen_%{OUTPUT_BUILD_PROFILE_TARGET}=true"
-+%endif
-+
- #gyp generate
--%if %{?_skip_gyp:0}%{!?_skip_gyp:1}
-+%if %{?_skip_gyp:0}%{!?_skip_gyp:1} && 0%{!?_use_gn:1}
- #run standard gyp_chromiumefl wrapper
-    ./tizen_src/build/gyp_chromiumefl.sh \
-   -Dexe_dir="%{CHROMIUM_EXE_DIR}" \
-@@ -447,7 +489,11 @@ cp -r "%{OUTPUT_FOLDER}/locale" "%{buildroot}/%{CHROMIUM_LOCALE_DIR}"
- install -m 0755 "%{OUTPUT_FOLDER}"/locales/*.pak      "%{buildroot}%{CHROMIUM_EXE_DIR}"/locales
--install -m 0755 "%{OUTPUT_FOLDER}"/lib/libchromium-ewk.so    "%{buildroot}"%{_libdir}
-+%if 0%{?_use_gn:1}
-+  install -m 0755 "%{OUTPUT_FOLDER}"/libchromium-ewk.so    "%{buildroot}"%{_libdir}
-+%else
-+  install -m 0755 "%{OUTPUT_FOLDER}"/lib/libchromium-ewk.so    "%{buildroot}"%{_libdir}
-+%endif
- install -m 0755 "%{OUTPUT_FOLDER}"/efl_webprocess    "%{buildroot}%{CHROMIUM_EXE_DIR}"
- install -m 0755 "%{OUTPUT_FOLDER}"/icudtl.dat    "%{buildroot}%{CHROMIUM_EXE_DIR}"
index 594c13b..50c8f4e 100644 (file)
@@ -2,38 +2,89 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//build/config/features.gni")
+import("//tizen_src/build/config/tizen_features.gni")
 
+##############################################################################
+# Configs
+##############################################################################
+
+external_content_browser_efl_configs = [
+  "//tizen_src/build:capi-system-sensor",
+  "//tizen_src/build:libcapi-system-sensor",
+  "//tizen_src/build:ecore",
+  "//tizen_src/build:libecore",
+  "//tizen_src/build:ecore-imf-evas",
+  "//tizen_src/build:libecore-imf-evas",
+  "//tizen_src/build:ecore-evas",
+  "//tizen_src/build:libecore-evas",
+  "//tizen_src/build:elementary",
+  "//tizen_src/build:libelementary",
+  "//tizen_src/build:efl-extension",
+  "//tizen_src/build:libefl-extension",
+  "//tizen_src/build:tts",
+  "//tizen_src/build:libtts",
+]
+
+if (building_for_tizen) {
+  external_content_browser_efl_configs += [
+    "//tizen_src/build:vconf",
+    "//tizen_src/build:libvconf",
+  ]
+}
+
+if (!use_wayland) {
+  external_content_browser_efl_configs += [
+    "//tizen_src/build:x11",
+    "//tizen_src/build:libx11",
+    "//tizen_src/build:ecore-x",
+    "//tizen_src/build:libecore-x",
+  ]
+}
+
+if (tizen_multimedia_support) {
+  external_content_browser_efl_configs += [
+    "//tizen_src/build:capi-media-player",
+    "//tizen_src/build:libcapi-media-player",
+    "//tizen_src/build:capi-media-tool",
+    "//tizen_src/build:libcapi-media-tool",
+  ]
+}
+
+##############################################################################
+# Dependency
+##############################################################################
+
+external_content_browser_efl_deps = [
+  "//tizen_src/chromium_impl/efl:window-factory",
+  "//tizen_src/chromium_impl/edje_resources:edje_resources_efl",
+  "//ui/gl:gl",
+]
+
+##############################################################################
+# Source
+##############################################################################
 external_content_browser_efl_sources = [
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_view_efl.h",
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_view_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_impl_efl.h",
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_impl_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_dest_efl.h",
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_dest_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_source_efl.h",
-  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_source_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/tracing/tracing_controller_efl.h",
-  "//tizen_src/chromium_impl/content/browser/tracing/tracing_controller_efl.cc",
   "//tizen_src/chromium_impl/content/browser/compositor/evasgl_context_provider.cc",
   "//tizen_src/chromium_impl/content/browser/compositor/evasgl_context_provider.h",
   "//tizen_src/chromium_impl/content/browser/compositor/evasgl_delegated_frame_host.cc",
   "//tizen_src/chromium_impl/content/browser/compositor/evasgl_delegated_frame_host.h",
   "//tizen_src/chromium_impl/content/browser/compositor/evasgl_output_surface.cc",
   "//tizen_src/chromium_impl/content/browser/compositor/evasgl_output_surface.h",
-  "//tizen_src/chromium_impl/content/browser/renderer_host/disambiguation_popup_efl.h",
+  "//tizen_src/chromium_impl/content/browser/public/browser/web_contents_efl_delegate.h",
+  "//tizen_src/chromium_impl/content/browser/public/browser/web_contents_view_efl_delegate.h",
   "//tizen_src/chromium_impl/content/browser/renderer_host/disambiguation_popup_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/renderer_host/edge_effect.h",
+  "//tizen_src/chromium_impl/content/browser/renderer_host/disambiguation_popup_efl.h",
   "//tizen_src/chromium_impl/content/browser/renderer_host/edge_effect.cc",
-  "//tizen_src/chromium_impl/content/browser/renderer_host/im_context_efl.h",
+  "//tizen_src/chromium_impl/content/browser/renderer_host/edge_effect.h",
   "//tizen_src/chromium_impl/content/browser/renderer_host/im_context_efl.cc",
+  "//tizen_src/chromium_impl/content/browser/renderer_host/im_context_efl.h",
   "//tizen_src/chromium_impl/content/browser/renderer_host/native_web_keyboard_event_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/renderer_host/render_widget_host_view_efl.h",
   "//tizen_src/chromium_impl/content/browser/renderer_host/render_widget_host_view_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/renderer_host/web_event_factory_efl.h",
+  "//tizen_src/chromium_impl/content/browser/renderer_host/render_widget_host_view_efl.h",
   "//tizen_src/chromium_impl/content/browser/renderer_host/web_event_factory_efl.cc",
-  "//tizen_src/chromium_impl/content/browser/screen_orientation/screen_orientation_delegate_efl.h",
+  "//tizen_src/chromium_impl/content/browser/renderer_host/web_event_factory_efl.h",
   "//tizen_src/chromium_impl/content/browser/screen_orientation/screen_orientation_delegate_efl.cc",
+  "//tizen_src/chromium_impl/content/browser/screen_orientation/screen_orientation_delegate_efl.h",
   "//tizen_src/chromium_impl/content/browser/selection/selection_box_efl.cc",
   "//tizen_src/chromium_impl/content/browser/selection/selection_box_efl.h",
   "//tizen_src/chromium_impl/content/browser/selection/selection_controller_efl.cc",
@@ -42,8 +93,16 @@ external_content_browser_efl_sources = [
   "//tizen_src/chromium_impl/content/browser/selection/selection_handle_efl.h",
   "//tizen_src/chromium_impl/content/browser/selection/selection_magnifier_efl.cc",
   "//tizen_src/chromium_impl/content/browser/selection/selection_magnifier_efl.h",
-  "//tizen_src/chromium_impl/content/browser/public/browser/web_contents_efl_delegate.h",
-  "//tizen_src/chromium_impl/content/browser/public/browser/web_contents_view_efl_delegate.h",
+  "//tizen_src/chromium_impl/content/browser/tracing/tracing_controller_efl.cc",
+  "//tizen_src/chromium_impl/content/browser/tracing/tracing_controller_efl.h",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_view_efl.cc",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_view_efl.h",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_impl_efl.cc",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_contents_impl_efl.h",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_dest_efl.cc",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_dest_efl.h",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_source_efl.cc",
+  "//tizen_src/chromium_impl/content/browser/web_contents/web_drag_source_efl.h",
 ]
 
 external_content_browser_efl_sources += [
@@ -52,22 +111,18 @@ external_content_browser_efl_sources += [
 ]
 
 if (building_for_tizen) {
+  external_exclude_content_browser_efl_sources = [ "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_shared_memory_tizen.cc" ]
+
   external_content_browser_efl_sources += [
+    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_impl_tizen.cc",
+    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_impl_tizen.h",
+    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_shared_memory_tizen.cc",
     "//tizen_src/chromium_impl/content/browser/speech/tts_message_filter_efl.cc",
     "//tizen_src/chromium_impl/content/browser/speech/tts_message_filter_efl.h",
     "//tizen_src/chromium_impl/content/browser/speech/tts_tizen.cc",
     "//tizen_src/chromium_impl/content/browser/speech/tts_tizen.h",
   ]
 }
-if (building_for_tizen_mobile) {
-  external_exclude_content_browser_efl_sources =
-      [ "device_sensors/data_fetcher_shared_memory_default.cc" ]
-  external_content_browser_efl_sources += [
-    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_impl_tizen.cc",
-    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_impl_tizen.h",
-    "//tizen_src/chromium_impl/content/browser/device_sensors/data_fetcher_shared_memory_tizen.cc",
-  ]
-}
 if (tizen_multimedia_support) {
   external_content_browser_efl_sources += [
     "//tizen_src/chromium_impl/content/browser/media/media_web_contents_observer_efl.cc",
index 4756286..1b8110b 100644 (file)
@@ -4,8 +4,55 @@
 
 import("//tizen_src/build/config/tizen_features.gni")
 
-external_content_common_efl_configs =
-    [ "//tizen_src/chromium_impl/content/common:content_common_efl" ]
+##############################################################################
+# Configs
+##############################################################################
+
+external_content_common_efl_configs = [
+  "//tizen_src/build:capi-appfw-application",
+  "//tizen_src/build:libcapi-appfw-application",
+  "//tizen_src/build:tts",
+  "//tizen_src/build:libtts",
+  "//tizen_src/chromium_impl/content/common:content_common_efl",
+]
+
+if (is_tizen) {
+  external_content_common_efl_configs += [
+    "//tizen_src/build:tizen_tzplatform_config",
+    "//tizen_src/build:libtizen_tzplatform_config",
+  ]
+}
+
+if (use_wayland) {
+  external_content_common_efl_configs += [
+    "//tizen_src/build:ecore-wayland",
+    "//tizen_src/build:libecore-wayland",
+  ]
+} else {
+  external_content_common_efl_configs += [
+    "//tizen_src/build:ecore-x",
+    "//tizen_src/build:libecore-x",
+  ]
+}
+
+if (tizen_multimedia_support) {
+  external_content_common_efl_configs += [
+    "//tizen_src/build:capi-media-player",
+    "//tizen_src/build:libcapi-media-player",
+    "//tizen_src/build:gstreamer",
+    "//tizen_src/build:libgstreamer",
+  ]
+}
+
+##############################################################################
+# Dependency
+##############################################################################
+
+external_content_common_efl_deps = [ "//third_party/fontconfig" ]
+
+##############################################################################
+# Source
+##############################################################################
 
 external_exclude_content_common_efl_sources = []
 
index ba3f05d..b82318f 100644 (file)
@@ -4,21 +4,44 @@
 
 import("//tizen_src/build/config/tizen_features.gni")
 
-external_exclude_content_renderer_efl_sources = []
+##############################################################################
+# Configs
+##############################################################################
+external_content_renderer_efl_configs = [
+  "//tizen_src/build:ecore",
+  "//tizen_src/build:libecore",
+  "//tizen_src/build:tts",
+  "//tizen_src/build:libtts",
+]
+
+if (tizen_multimedia_support) {
+  external_content_renderer_efl_configs += [
+    "//tizen_src/build:capi-media-player",
+    "//tizen_src/build:libcapi-media-player",
+  ]
+}
+
+##############################################################################
+# Dependency
+##############################################################################
+external_content_renderer_efl_deps =
+    [ "//tizen_src/chromium_impl/content:android_content_detection" ]
+
+##############################################################################
+# Source
+##############################################################################
+external_content_renderer_efl_sources = []
 
 if (building_for_tizen) {
-  external_content_renderer_efl_sources = [
+  external_content_renderer_efl_sources += [
     "//tizen_src/chromium_impl/content/renderer/tts_dispatcher_efl.cc",
     "//tizen_src/chromium_impl/content/renderer/tts_dispatcher_efl.h",
   ]
 }
 
 if (tizen_multimedia_support) {
-  external_exclude_content_renderer_efl_sources = [
-    "//content/renderer/media/audio_decoder.cc",
-    "//content/renderer/media/audio_decoder.h",
-  ]
-
+  #"media/audio_decoder.cc",
+  #"media/audio_decoder.h",
   external_content_renderer_efl_sources += [
     "media/efl/audio_decoder_efl.h",
     "media/efl/media_source_delegate_efl.cc",
index e00d303..7476e8d 100644 (file)
@@ -2,6 +2,33 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import("//tizen_src/build/config/tizen_features.gni")
+import("//tizen_src/chromium_impl/components/components.gni")
+
+external_content_shell_efl_configs = [
+  "//tizen_src/build:evas",
+  "//tizen_src/build:libevas",
+  "//tizen_src/build:ecore-evas",
+  "//tizen_src/build:libecore-evas",
+  "//tizen_src/build:elementary",
+  "//tizen_src/build:libelementary",
+]
+
+if (use_wayland) {
+  external_content_shell_efl_configs += [
+    "//tizen_src/build:ecore-wayland",
+    "//tizen_src/build:libecore-wayland",
+  ]
+} else {
+  external_content_shell_efl_configs += [
+    "//tizen_src/build:ecore-x",
+    "//tizen_src/build:libecore-x",
+  ]
+}
+
+external_content_shell_efl_deps = [ "//tizen_src/chromium_impl/efl:efl-init" ]
+external_content_shell_efl_deps += js_dialog_efl_deps
+
 external_content_shell_lib_efl_sources = [
   "//tizen_src/chromium_impl/content/shell/browser/shell_efl.cc",
   "//tizen_src/chromium_impl/content/shell/browser/shell_web_contents_view_delegate_efl.cc",
index cff8241..fa5a6f3 100644 (file)
@@ -5,13 +5,13 @@
 static_library("ui_events_source_inject") {
   sources = [
     # Indirectly includes ui/events/gestures/gesture_recognizer_impl_efl.cc/h.
+    "//tizen_src/chromium_impl/ui/events/gestures/gesture_recognizer_impl_efl.cc",
+    "//tizen_src/chromium_impl/ui/events/gestures/gesture_recognizer_impl_efl.h",
+    "//tizen_src/chromium_impl/ui/events/gestures/gesture_recognizer_impl_override.cc",
     "//ui/events/gestures/gesture_provider_aura.cc",
     "//ui/events/gestures/gesture_provider_aura.h",
     "//ui/events/gestures/motion_event_aura.cc",
     "//ui/events/gestures/motion_event_aura.h",
-    "events/gestures/gesture_recognizer_impl_efl.cc",
-    "events/gestures/gesture_recognizer_impl_efl.h",
-    "events/gestures/gesture_recognizer_impl_override.cc",
   ]
   include_dirs = [
     "//third_party/skia/include/android",
index 329d71f..16168d7 100644 (file)
@@ -24,9 +24,9 @@ external_ui_base_shared_lib_sources = [
 
 # For //ui/events target
 external_ui_events_shared_lib_sources = [
-  "events/gestures/gesture_recognizer_impl_override.cc",
-  "events/gestures/gesture_recognizer_impl_efl.cc",
-  "events/gestures/gesture_recognizer_impl_efl.h",
+  "//tizen_src/chromium_impl/ui/events/gestures/gesture_recognizer_impl_override.cc",
+  "//tizen_src/chromium_impl/ui/events/gestures/gesture_recognizer_impl_efl.cc",
+  "//tizen_src/chromium_impl/ui/events/gestures/gesture_recognizer_impl_efl.h",
   "gestures/gesture_provider_aura.cc",
   "gestures/gesture_provider_aura.h",
   "gestures/motion_event_aura.cc",
diff --git a/tizen_src/ewk/chromium-ewk-xwalk.filter b/tizen_src/ewk/chromium-ewk-xwalk.filter
deleted file mode 100644 (file)
index 44cc1a7..0000000
+++ /dev/null
@@ -1,949 +0,0 @@
-{
-  global:
-    ewk_*;
-    efl_webprocess_main;
-    extern "C++" {
-      v8::*;
-      std::*;
-      base::*;
-    };
-
-    # autofill
-    _ZN8autofill13AutofillAgentC1EPN7content11RenderFrameEPNS_21PasswordAutofillAgentEPNS_23PasswordGenerationAgentE;
-    _ZN8autofill13AutofillAgentC2EPN7content11RenderFrameEPNS_21PasswordAutofillAgentEPNS_23PasswordGenerationAgentE;
-    _ZN8autofill21PasswordAutofillAgentC1EPN7content11RenderFrameE;
-    _ZN8autofill21PasswordAutofillAgentC2EPN7content11RenderFrameE;
-
-    # blink
-    _ZN5blink13WebLocalFrame15frameForContextEN2v86HandleINS1_7ContextEEE;
-    _ZN5blink13WebLocalFrame22frameForCurrentContextEv;
-    _ZN5blink14SecurityOrigin23grantLoadLocalResourcesEv;
-    _ZN5blink16WebDOMFileSystem6createEPNS_13WebLocalFrameENS_17WebFileSystemTypeERKNS_9WebStringERKNS_6WebURLENS0_16SerializableTypeE;
-    _ZN5blink16WebDOMFileSystem13createV8EntryERKNS_9WebStringENS0_9EntryTypeEN2v86HandleINS5_6ObjectEEEPNS5_7IsolateE;
-    _ZN5blink16WebDOMFileSystem5resetEv;
-    _ZN5blink16WebDOMFileSystem9toV8ValueEN2v86HandleINS1_6ObjectEEEPNS1_7IsolateE;
-    _ZN5blink17WebSecurityOrigin5resetEv;
-    _ZN5blink17WebSecurityOrigin6createERKNS_6WebURLE;
-    _ZN5blink17WebSecurityPolicy25registerURLSchemeAsSecureERKNS_9WebStringE;
-    _ZN5blink17WebSecurityPolicy29addOriginAccessWhitelistEntryERKNS_6WebURLERKNS_9WebStringES6_b;
-    _ZN5blink17WebSecurityPolicy30registerURLSchemeAsCORSEnabledERKNS_9WebStringE;
-    _ZN5blink29WebScopedMicrotaskSuppression10initializeEv;
-    _ZN5blink29WebScopedMicrotaskSuppression5resetEv;
-    _ZN5blink7WebNode5resetEv;
-    _ZN5blink9WebString5resetEv;
-    _ZN5blink9WebString6assignEPKtj;
-    _ZN5blink9WebString6assignEPKtm;
-    _ZN5blink9WebString6assignEPN3WTF10StringImplE;
-    _ZN5blink9WebString6assignERKS0_;
-    _ZN5blink9WebString8fromUTF8EPKc;
-    _ZN5blink9WebString8fromUTF8EPKcj;
-    _ZN5blink9WebString8fromUTF8EPKcm;
-    _ZNK5blink13WebURLRequest10httpMethodEv;
-    _ZNK5blink13WebURLRequest3urlEv;
-    _ZNK5blink11WebDocument3urlEv;
-    _ZNK5blink11WebDocument14securityOriginEv;
-    _ZNK5blink17WebSecurityOrigin10canRequestERKNS_6WebURLE;
-    _ZNK5blink17WebSecurityOrigin23grantLoadLocalResourcesEv;
-    _ZNK5blink9WebString4utf8Ev;
-    _ZNK5blink9WebString5data8Ev;
-    _ZNK5blink9WebString6data16Ev;
-    _ZNK5blink9WebString6lengthEv;
-
-    # content
-    _ZN7content10FaviconURLD1Ev;
-    _ZN7content10FaviconURLD2Ev;
-    _ZN7content10RenderView11FromWebViewEPN5blink7WebViewE;
-    _ZN7content10RenderView13FromRoutingIDEi;
-    _ZN7content11ContentMainERKNS_17ContentMainParamsE;
-    _ZN7content11WebContents12CreateParamsC1EPNS_14BrowserContextE;
-    _ZN7content11WebContents12CreateParamsC1EPNS_14BrowserContextEPNS_12SiteInstanceE;
-    _ZN7content11WebContents12CreateParamsC2EPNS_14BrowserContextE;
-    _ZN7content11WebContents12CreateParamsC2EPNS_14BrowserContextEPNS_12SiteInstanceE;
-    _ZN7content11WebContents12CreateParamsD1Ev;
-    _ZN7content11WebContents12CreateParamsD2Ev;
-    _ZN7content11WebContents6CreateERKNS0_12CreateParamsE;
-    _ZN7content11WebContents19FromRenderFrameHostEPNS_15RenderFrameHostE;
-    _ZN7content11GeopositionC1Ev;
-    _ZN7content11GeopositionC2Ev;
-    _ZN7content12DownloadItem10kInvalidIdE;
-    _ZN7content12SiteInstance12CreateForURLEPNS_14BrowserContextERK4GURL;
-    _ZN7content12RenderThread3GetEv;
-    _ZN7content12ChildProcess11main_threadEv;
-    _ZN7content12ChildProcess13AddRefProcessEv;
-    _ZN7content12ChildProcess14ReleaseProcessEv;
-    _ZN7content12ChildProcess15set_main_threadEPNS_15ChildThreadImplE;
-    _ZN7content12ChildProcess15WaitForDebuggerERKSs;
-    _ZN7content12ChildProcess16GetShutDownEventEv;
-    _ZN7content12ChildProcess7currentEv;
-    _ZN7content12ChildProcessC1Ev;
-    _ZN7content12ChildProcessC2Ev;
-    _ZN7content12ChildProcessD0Ev;
-    _ZN7content12ChildProcessD1Ev;
-    _ZN7content12ChildProcessD2Ev;
-    _ZN7content13BrowserThread11CurrentlyOnENS0_2IDE;
-    _ZN7content13BrowserThread15GetBlockingPoolEv;
-    _ZN7content13BrowserThread16PostTaskAndReplyENS0_2IDERKN15tracked_objects8LocationERKN4base8CallbackIFvvEEESB_;
-    _ZN7content13BrowserThread28GetTaskRunnerForThreadENS0_2IDE;
-    _ZN7content13BrowserThread29UnsafeGetMessageLoopForThreadENS0_2IDE;
-    _ZN7content13BrowserThread8PostTaskENS0_2IDERKN15tracked_objects8LocationERKN4base8CallbackIFvvEEE;
-    _ZN7content13ContentClientC1Ev;
-    _ZN7content13ContentClientC2Ev;
-    _ZN7content13ContentClientD0Ev;
-    _ZN7content13ContentClientD1Ev;
-    _ZN7content13ContentClientD2Ev;
-    _ZN7content13ContentClient22CanSendWhileSwappedOutEPKN3IPC7MessageE;
-    _ZN7content14BrowserContext26GetDefaultStoragePartitionEPS0_;
-    _ZN7content14BrowserContext18GetDownloadManagerEPS0_;
-    _ZN7content14BrowserContext19GetStoragePartitionEPS0_PNS_12SiteInstanceE;
-    _ZN7content14BrowserContext31GarbageCollectStoragePartitionsEPS0_10scoped_ptrIN9__gnu_cxx8hash_setIN4base8FilePathEN9base_hash4hashIS6_EESt8equal_toIS6_ESaIS6_EEENS5_14DefaultDeleterISD_EEERKNS5_8CallbackIFvvEEE;
-    _ZN7content14BrowserContextD0Ev;
-    _ZN7content14BrowserContextD1Ev;
-    _ZN7content14BrowserContextD2Ev;
-    _ZN7content14RenderViewHost6FromIDEii;
-    _ZN7content15ResourceContextC1Ev;
-    _ZN7content15ResourceContextC2Ev;
-    _ZN7content15ResourceContextD0Ev;
-    _ZN7content15ResourceContextD1Ev;
-    _ZN7content15ResourceContextD2Ev;
-    _ZN7content15ResourceContext19CreateKeygenHandlerEjRKSsRK4GURLRKN4base8CallbackIFv10scoped_ptrIN3net13KeygenHandlerENS6_14DefaultDeleterISA_EEEEEE;
-    _ZN7content15ResourceContext20GetMediaDeviceIDSaltEv;
-    _ZN7content15ResourceContext21CreateClientCertStoreEv;
-    _ZN7content16ChildProcessHost12GetChildPathEi;
-    _ZN7content16PepperPluginInfoC1Ev;
-    _ZN7content16PepperPluginInfoC2Ev;
-    _ZN7content16PepperPluginInfoD1Ev;
-    _ZN7content16PepperPluginInfoD2Ev;
-    _ZN7content16RenderThreadImpl7currentEv;
-    _ZN7content16SetContentClientEPNS_13ContentClientE;
-    _ZN7content16V8ValueConverter6createEv;
-    _ZN7content16OneWriterSeqLock10WriteBeginEv;
-    _ZN7content16OneWriterSeqLock8WriteEndEv;
-    _ZN7content16kFlashPluginNameE;
-    _ZN7content17BlinkPlatformImpl17ResumeSharedTimerEv;
-    _ZN7content17BlinkPlatformImpl18SuspendSharedTimerEv;
-    _ZN7content17FileChooserParamsC1Ev;
-    _ZN7content17FileChooserParamsC2Ev;
-    _ZN7content17FileChooserParamsD1Ev;
-    _ZN7content17FileChooserParamsD2Ev;
-    _ZN7content17RenderProcessHost6FromIDEi;
-    _ZN7content17RenderMediaClient23AddKeySystemsInfoForUMAEPSt6vectorIN5media19KeySystemInfoForUMAESaIS3_EE;
-    _ZN7content17CookieStoreConfigC1ERKN4base8FilePathENS0_17SessionCookieModeEPN7storage20SpecialStoragePolicyEPN3net21CookieMonsterDelegateE;
-    _ZN7content17CookieStoreConfigC1Ev;
-    _ZN7content17CookieStoreConfigC2ERKN4base8FilePathENS0_17SessionCookieModeEPN7storage20SpecialStoragePolicyEPN3net21CookieMonsterDelegateE;
-    _ZN7content17CookieStoreConfigC2Ev;
-    _ZN7content17CookieStoreConfigD1Ev;
-    _ZN7content17CookieStoreConfigD2Ev;
-    _ZN7content17CreateCookieStoreERKNS_17CookieStoreConfigE;
-    _ZN7content17DevToolsAgentHost14GetOrCreateForEPNS_11WebContentsE;
-    _ZN7content17DevToolsAgentHost14GetOrCreateAllEv;
-    _ZN7content17MediaStreamDeviceC1ENS_15MediaStreamTypeERKSsS3_;
-    _ZN7content17MediaStreamDeviceC1ENS_15MediaStreamTypeERKSsS3_iii;
-    _ZN7content17MediaStreamDeviceC1Ev;
-    _ZN7content17MediaStreamDeviceC2ENS_15MediaStreamTypeERKSsS3_;
-    _ZN7content17MediaStreamDeviceC2ENS_15MediaStreamTypeERKSsS3_iii;
-    _ZN7content17MediaStreamDeviceC2Ev;
-    _ZN7content17MediaStreamDeviceD1Ev;
-    _ZN7content17MediaStreamDeviceD2Ev;
-    _ZN7content17WebPluginMimeTypeC1ERKSsS2_S2_;
-    _ZN7content17WebPluginMimeTypeC1Ev;
-    _ZN7content17WebPluginMimeTypeC2ERKSsS2_S2_;
-    _ZN7content17WebPluginMimeTypeC2Ev;
-    _ZN7content17WebPluginMimeTypeD1Ev;
-    _ZN7content17WebPluginMimeTypeD2Ev;
-    _ZN7content18MediaStreamDevicesC1EmRKNS_17MediaStreamDeviceE;
-    _ZN7content18MediaStreamDevicesC1Ev;
-    _ZN7content18MediaStreamDevicesC2EmRKNS_17MediaStreamDeviceE;
-    _ZN7content18MediaStreamDevicesC2Ev;
-    _ZN7content18RenderViewObserver10OnDestructEv;
-    _ZN7content18RenderViewObserver17OnMessageReceivedERKN3IPC7MessageE;
-    _ZN7content18RenderViewObserver4SendEPN3IPC7MessageE;
-    _ZN7content18RenderViewObserver4SendEPN3IPC7MessageE;
-    _ZN7content18RenderViewObserverC1EPNS_10RenderViewE;
-    _ZN7content18RenderViewObserverC2EPNS_10RenderViewE;
-    _ZN7content18RenderViewObserverD0Ev;
-    _ZN7content18RenderViewObserverD1Ev;
-    _ZN7content18RenderViewObserverD2Ev;
-    _ZN7content19WebContentsDelegate31ShouldFocusLocationBarByDefaultEPNS_11WebContentsE;
-    _ZN7content19ContentMainDelegate25CreateContentPluginClientEv;
-    _ZN7content19ContentMainDelegate26CreateContentUtilityClientEv;
-    _ZN7content19ContentMainDelegate39ShouldEnableTerminationOnHeapCorruptionEv;
-    _ZN7content19DevToolsHttpHandler19ServerSocketFactory18CreateForTetheringEPSs;
-    _ZN7content19DevToolsHttpHandler5StartE10scoped_ptrINS0_19ServerSocketFactoryEN4base14DefaultDeleterIS2_EEERKSsPNS_27DevToolsHttpHandlerDelegateERKNS3_8FilePathE;
-    _ZN7content19FileChooserFileInfoC1Ev;
-    _ZN7content19FileChooserFileInfoC2Ev;
-    _ZN7content19FileChooserFileInfoD1Ev;
-    _ZN7content19FileChooserFileInfoD2Ev;
-    _ZN7content19MediaCaptureDevices11GetInstanceEv;
-    _ZN7content19RenderFrameObserver10OnDestructEv;
-    _ZN7content19RenderFrameObserver17OnMessageReceivedERKN3IPC7MessageE;
-    _ZN7content19RenderFrameObserver4SendEPN3IPC7MessageE;
-    _ZN7content19RenderFrameObserverC1EPNS_11RenderFrameE;
-    _ZN7content19RenderFrameObserverC2EPNS_11RenderFrameE;
-    _ZN7content19RenderFrameObserverD0Ev;
-    _ZN7content19RenderFrameObserverD1Ev;
-    _ZN7content19RenderFrameObserverD2Ev;
-    _ZN7content19WebContentsDelegate11CanDownloadEPNS_14RenderViewHostERK4GURLRKSsRKN4base8CallbackIFvbEEE;
-    _ZN7content19WebContentsDelegate12CanDragEnterEPNS_11WebContentsERKNS_8DropDataEN5blink16WebDragOperationE;
-    _ZN7content19WebContentsDelegate14IsNeverVisibleEPNS_11WebContentsE;
-    _ZN7content19WebContentsDelegate16OpenColorChooserEPNS_11WebContentsEjRKSt6vectorINS_15ColorSuggestionESaIS4_EE;
-    _ZN7content19WebContentsDelegate16ViewSourceForTabEPNS_11WebContentsERK4GURL;
-    _ZN7content19WebContentsDelegate17HandleContextMenuERKNS_17ContextMenuParamsE;
-    _ZN7content19WebContentsDelegate17OnGoToEntryOffsetEi;
-    _ZN7content19WebContentsDelegate18ViewSourceForFrameEPNS_11WebContentsERK4GURLRKNS_9PageStateE;
-    _ZN7content19WebContentsDelegate17BeforeUnloadFiredEPNS_11WebContentsEbPb;
-    _ZN7content19WebContentsDelegate19AddMessageToConsoleEPNS_11WebContentsEiRKSbItN4base20string16_char_traitsESaItEEiS8_;
-    _ZN7content19WebContentsDelegate21PreHandleGestureEventEPNS_11WebContentsERKN5blink15WebGestureEventE;
-    _ZN7content19WebContentsDelegate21ShouldSuppressDialogsEPNS_11WebContentsE;
-    _ZN7content19WebContentsDelegate23ShouldCreateWebContentsEPNS_11WebContentsEii19WindowContainerTypeRKSbItN4base20string16_char_traitsESaItEERK4GURLRKSsPNS_23SessionStorageNamespaceE;
-    _ZN7content19WebContentsDelegate25ShouldPreserveAbortedURLsEPNS_11WebContentsE;
-    _ZN7content19WebContentsDelegate25ShouldFocusPageAfterCrashEv;
-    _ZN7content19WebContentsDelegate28RequestPpapiBrokerPermissionEPNS_11WebContentsERK4GURLRKN4base8FilePathERKNS6_8CallbackIFvbEEE;
-    _ZN7content19WebContentsDelegate9SaveFrameERK4GURLRKNS_8ReferrerE;
-    _ZN7content19WebContentsDelegate9TakeFocusEPNS_11WebContentsEb;
-    _ZN7content19WebContentsDelegateC1Ev;
-    _ZN7content19WebContentsDelegateC2Ev;
-    _ZN7content19WebContentsDelegateD0Ev;
-    _ZN7content19WebContentsDelegateD1Ev;
-    _ZN7content19WebContentsDelegateD2Ev;
-    _ZN7content19WebContentsObserver17OnMessageReceivedERKN3IPC7MessageE;
-    _ZN7content19WebContentsObserver17OnMessageReceivedERKN3IPC7MessageEPNS_15RenderFrameHostE;
-    _ZN7content19WebContentsObserver4SendEPN3IPC7MessageE;
-    _ZN7content19WebContentsObserverC1EPNS_11WebContentsE;
-    _ZN7content19WebContentsObserverC1Ev;
-    _ZN7content19WebContentsObserverC2EPNS_11WebContentsE;
-    _ZN7content19WebContentsObserverC2Ev;
-    _ZN7content19WebContentsObserverD0Ev;
-    _ZN7content19WebContentsObserverD1Ev;
-    _ZN7content19WebContentsObserverD2Ev;
-    _ZN7content20ContentBrowserClient12CanCommitURLEPNS_17RenderProcessHostERK4GURL;
-    _ZN7content20ContentBrowserClient12IsHandledURLERK4GURL;
-    _ZN7content20ContentBrowserClient12MayReuseHostEPNS_17RenderProcessHostE;
-    _ZN7content20ContentBrowserClient13AllowAppCacheERK4GURLS3_PNS_15ResourceContextE;
-    _ZN7content20ContentBrowserClient14GetAcceptLangsEPNS_14BrowserContextE;
-    _ZN7content20ContentBrowserClient14IsSuitableHostEPNS_17RenderProcessHostERK4GURL;
-    _ZN7content20ContentBrowserClient15GetEffectiveURLEPNS_14BrowserContextERK4GURL;
-    _ZN7content20ContentBrowserClient17GetDefaultFaviconEv;
-    _ZN7content20ContentBrowserClient18AllowServiceWorkerERK4GURLS3_PNS_15ResourceContextE;
-    _ZN7content20ContentBrowserClient18GetTracingDelegateEv;
-    _ZN7content20ContentBrowserClient18ShouldAllowOpenURLEPNS_12SiteInstanceERK4GURL;
-    _ZN7content20ContentBrowserClient19AllowSaveLocalStateEPNS_15ResourceContextE;
-    _ZN7content20ContentBrowserClient19AllowWorkerDatabaseERK4GURLRKSbItN4base20string16_char_traitsESaItEES9_mPNS_15ResourceContextERKSt6vectorISt4pairIiiESaISE_EE;
-    _ZN7content20ContentBrowserClient19GetPermissionStatusENS_14PermissionTypeEPNS_14BrowserContextERK4GURLS6_;
-    _ZN7content20ContentBrowserClient20AllowPepperSocketAPIEPNS_14BrowserContextERK4GURLbPKNS_23SocketPermissionRequestE;
-    _ZN7content20ContentBrowserClient20AllowWorkerIndexedDBERK4GURLRKSbItN4base20string16_char_traitsESaItEEPNS_15ResourceContextERKSt6vectorISt4pairIiiESaISE_EE;
-    _ZN7content20ContentBrowserClient20GetApplicationLocaleEv;
-    _ZN7content20ContentBrowserClient21AllowWorkerFileSystemERK4GURLPNS_15ResourceContextERKSt6vectorISt4pairIiiESaIS8_EEN4base8CallbackIFvbEEE;
-    _ZN7content20ContentBrowserClient22CreateSelectFilePolicyEPNS_11WebContentsE;
-    _ZN7content20ContentBrowserClient22GetDefaultDownloadNameEv;
-    _ZN7content20ContentBrowserClient22IsFastShutdownPossibleEv;
-    _ZN7content20ContentBrowserClient22ShouldAssignSiteForURLERK4GURL;
-    _ZN7content20ContentBrowserClient23SelectClientCertificateEiiPN3net18SSLCertRequestInfoERKN4base8CallbackIFvPNS1_15X509CertificateEEEE;
-    _ZN7content20ContentBrowserClient23ShouldUseProcessPerSiteEPNS_14BrowserContextERK4GURL;
-    _ZN7content20ContentBrowserClient25IsValidStoragePartitionIdEPNS_14BrowserContextERKSs;
-    _ZN7content20ContentBrowserClient26CheckMediaAccessPermissionEPNS_14BrowserContextERK4GURLNS_15MediaStreamTypeE;
-    _ZN7content20ContentBrowserClient27GetDefaultDownloadDirectoryEv;
-    _ZN7content20ContentBrowserClient28GetStoragePartitionIdForSiteEPNS_14BrowserContextERK4GURL;
-    _ZN7content20ContentBrowserClient28OverrideRequestContextForURLERK4GURLPNS_15ResourceContextE;
-    _ZN7content20ContentBrowserClient30GetPresentationServiceDelegateEPNS_11WebContentsE;
-    _ZN7content20ContentBrowserClient30ShouldSwapProcessesForRedirectEPNS_15ResourceContextERK4GURLS5_;
-    _ZN7content20ContentBrowserClient33ShouldTryToUseExistingProcessHostEPNS_14BrowserContextERK4GURL;
-    _ZN7content20ContentBrowserClient34IsPluginAllowedToUseDevChannelAPIsEPNS_14BrowserContextERK4GURL;
-    _ZN7content20ContentBrowserClient35GetCanonicalEncodingNameByAliasNameERKSs;
-    _ZN7content20ContentBrowserClient35OverrideCookieStoreForRenderProcessEi;
-    _ZN7content20ContentBrowserClient40IsPluginAllowedToCallRequestOSFileHandleEPNS_14BrowserContextERK4GURL;
-    _ZN7content20ContentBrowserClient40ShouldSwapBrowsingInstancesForNavigationEPNS_12SiteInstanceERK4GURLS5_;
-    _ZN7content20ContentBrowserClient7OpenURLEPNS_14BrowserContextERKNS_13OpenURLParamsERKN4base8CallbackIFvPNS_11WebContentsEEEE;
-    _ZN7content20ContentBrowserClient9GetNetLogEv;
-    _ZN7content20BrowserMessageFilter18BadMessageReceivedEv;
-    _ZN7content20BrowserMessageFilter28OverrideTaskRunnerForMessageERKN3IPC7MessageE;
-    _ZN7content20BrowserMessageFilter4SendEPN3IPC7MessageE;
-    _ZN7content20BrowserMessageFilterC1Ej;
-    _ZN7content20BrowserMessageFilterC1EPKjm;
-    _ZN7content20BrowserMessageFilterC2Ej;
-    _ZN7content20BrowserMessageFilterC2EPKjm;
-    _ZN7content20BrowserMessageFilterD0Ev;
-    _ZN7content20BrowserMessageFilterD1Ev;
-    _ZN7content20BrowserMessageFilterD2Ev;
-    _ZN7content20NavigationController13LoadURLParamsC1ERK4GURL;
-    _ZN7content20NavigationController13LoadURLParamsC1ERKS1_;
-    _ZN7content20NavigationController13LoadURLParamsC2ERK4GURL;
-    _ZN7content20NavigationController13LoadURLParamsC2ERKS1_;
-    _ZN7content20NavigationController13LoadURLParamsD1Ev;
-    _ZN7content20NavigationController13LoadURLParamsD2Ev;
-    _ZN7content20LocationProviderBase14NotifyCallbackERKNS_11GeopositionE;
-    _ZN7content20LocationProviderBase17SetUpdateCallbackERKN4base8CallbackIFvPKNS_16LocationProviderERKNS_11GeopositionEEEE;
-    _ZN7content20LocationProviderBaseC1Ev;
-    _ZN7content20LocationProviderBaseC2Ev;
-    _ZN7content20LocationProviderBaseD0Ev;
-    _ZN7content20LocationProviderBaseD1Ev;
-    _ZN7content20LocationProviderBaseD2Ev;
-    _ZN7content21ContentRendererClient13AddKeySystemsEPSt6vectorIN5media13KeySystemInfoESaIS3_EE;
-    _ZN7content21ContentRendererClient14DeferMediaLoadEPNS_11RenderFrameERKN4base8CallbackIFvvEEE;
-    _ZN7content21ContentRendererClient15VisitedLinkHashEPKcj;
-    _ZN7content21ContentRendererClient15VisitedLinkHashEPKcm;
-    _ZN7content21ContentRendererClient18GetSadPluginBitmapEv;
-    _ZN7content21ContentRendererClient19GetSadWebViewBitmapEv;
-    _ZN7content21ContentRendererClient23CreatePluginPlaceholderEPNS_11RenderFrameEPN5blink13WebLocalFrameERKNS3_15WebPluginParamsE;
-    _ZN7content21ContentRendererClient23CreatePluginReplacementEPNS_11RenderFrameERKN4base8FilePathE;
-    _ZN7content21ContentRendererClient20OverrideCreatePluginEPNS_11RenderFrameEPN5blink13WebLocalFrameERKNS3_15WebPluginParamsEPPNS3_9WebPluginE;
-    _ZN7content21ContentRendererClient27CreateBrowserPluginDelegateEPNS_11RenderFrameERKSsRK4GURL;
-    _ZN7content21ContentRendererClient12HasErrorPageEiPSs;
-    _ZN7content21ContentRendererClient23ShouldSuppressErrorPageEPNS_11RenderFrameERK4GURL;
-    _ZN7content21ContentRendererClient33CreateWorkerPermissionClientProxyEPNS_11RenderFrameEPN5blink8WebFrameE;
-    _ZN7content21ContentRendererClient34OverrideCreateWebMediaStreamCenterEPN5blink26WebMediaStreamCenterClientE;
-    _ZN7content21ContentRendererClient41OverrideCreateWebRTCPeerConnectionHandlerEPN5blink33WebRTCPeerConnectionHandlerClientE;
-    _ZN7content21ContentRendererClient26OverrideCreateMIDIAccessorEPN5blink21WebMIDIAccessorClientE;
-    _ZN7content21ContentRendererClient25OverrideCreateAudioDeviceEd;
-    _ZN7content21ContentRendererClient20OverrideWebClipboardEv;
-    _ZN7content21ContentRendererClient19OverrideThemeEngineEv;
-    _ZN7content21ContentRendererClient25OverrideSpeechSynthesizerEPN5blink26WebSpeechSynthesizerClientE;
-    _ZN7content21ContentRendererClient31RunIdleHandlerWhenWidgetsHiddenEv;
-    _ZN7content21ContentRendererClient10AllowPopupEv;
-    _ZN7content21ContentRendererClient16HandleNavigationEPNS_11RenderFrameEPNS_13DocumentStateEiPN5blink8WebFrameERKNS5_13WebURLRequestENS5_17WebNavigationTypeENS5_19WebNavigationPolicyEb;
-    _ZN7content21ContentRendererClient10ShouldForkEPN5blink8WebFrameERK4GURLRKSsbbPb;
-    _ZN7content21ContentRendererClient29ShouldForwardToGuestContainerERKN3IPC7MessageE;
-    _ZN7content21ContentRendererClient13IsLinkVisitedEy;
-    _ZN7content21ContentRendererClient22GetPrescientNetworkingEv;
-    _ZN7content21ContentRendererClient33ShouldOverridePageVisibilityStateEPKNS_11RenderFrameEPN5blink22WebPageVisibilityStateE;
-    _ZN7content21ContentRendererClient25AllowPepperMediaStreamAPIERK4GURL;
-    _ZN7content21ContentRendererClient26CreateMediaRendererFactoryEPNS_11RenderFrameE;
-    _ZN7content21ContentRendererClient33IsPluginAllowedToUseCompositorAPIERK4GURL;
-    _ZN7content21ContentRendererClient34IsPluginAllowedToUseDevChannelAPIsEv;
-    _ZN7content21ContentRendererClient26GetUserAgentOverrideForURLERK4GURL;
-    _ZN7content21NotificationRegistrarC1Ev;
-    _ZN7content21NotificationRegistrarC2Ev;
-    _ZN7content21NotificationRegistrarD1Ev;
-    _ZN7content21NotificationRegistrarD2Ev;
-    _ZN7content21NotificationRegistrar3AddEPNS_20NotificationObserverEiRKNS_18NotificationSourceE;
-    _ZN7content21NotificationRegistrar9RemoveAllEv;
-    _ZN7content21kChromeDevToolsSchemeE;
-    _ZN7content22ResourceDispatcherHost3GetEv;
-    _ZN7content23BrowserChildProcessHost6CreateEiPNS_31BrowserChildProcessHostDelegateE;
-    _ZN7content23DownloadManagerDelegate16GenerateFileHashEv;
-    _ZN7content23DownloadManagerDelegate22ShouldCompleteDownloadEPNS_12DownloadItemERKN4base8CallbackIFvvEEE;
-    _ZN7content23DownloadManagerDelegate30ShouldOpenFileBasedOnExtensionERKN4base8FilePathE;
-    _ZN7content23DownloadManagerDelegateD0Ev;
-    _ZN7content23DownloadManagerDelegateD1Ev;
-    _ZN7content23DownloadManagerDelegateD2Ev;
-    _ZN7content23WebContentsViewDelegate15GetNativeWindowEv;
-    _ZN7content23WebContentsViewDelegate23HideDisambiguationPopupEv;
-    _ZN7content23WebContentsViewDelegate23ShowDisambiguationPopupERKN3gfx4RectERK8SkBitmapPvRKN4base8CallbackIFvPN2ui12GestureEventEEEERKNSA_IFvPNSB_10MouseEventEEEE;
-    _ZN7content23WebContentsViewDelegateD0Ev;
-    _ZN7content23WebContentsViewDelegateD1Ev;
-    _ZN7content23WebContentsViewDelegateD2Ev;
-    _ZN7content23DataFetcherSharedMemoryC1Ev;
-    _ZN7content23DataFetcherSharedMemoryC2Ev;
-    _ZN7content23DataFetcherSharedMemoryD0Ev;
-    _ZN7content23DataFetcherSharedMemoryD1Ev;
-    _ZN7content23DataFetcherSharedMemoryD2Ev;
-    _ZN7content23kFlashPluginSplMimeTypeE;
-    _ZN7content23kFlashPluginSwfMimeTypeE;
-    _ZN7content24kFlashPluginSplExtensionE;
-    _ZN7content24kFlashPluginSwfExtensionE;
-    _ZN7content24SpeechRecognitionManager11GetInstanceEv;
-    _ZN7content25BuildUserAgentFromProductERKSs;
-    _ZN7content25RendererBlinkPlatformImpl15visitedLinkHashEPKcj;
-    _ZN7content25RendererBlinkPlatformImpl15visitedLinkHashEPKcm;
-    _ZN7content25ScreenOrientationProvider11SetDelegateEPNS_25ScreenOrientationDelegateE;
-    _ZN7content26ChildProcessSecurityPolicy11GetInstanceEv;
-    _ZN7content26kFlashPluginSplDescriptionE;
-    _ZN7content26kFlashPluginSwfDescriptionE;
-    _ZN7content27DeviceInertialSensorService11GetInstanceEv;
-    _ZN7content27DeviceInertialSensorService24SetDataFetcherForTestingEPNS_23DataFetcherSharedMemoryE;
-    _ZN7content27DataFetcherSharedMemoryBase5FetchEj;
-    _ZN7content27DataFetcherSharedMemoryBase8ShutdownEv;
-    _ZN7content30ResourceDispatcherHostDelegate15OnStreamCreatedEPN3net10URLRequestE10scoped_ptrINS_10StreamInfoEN4base14DefaultDeleterIS5_EEE;
-    _ZN7content30ResourceDispatcherHostDelegate15RequestCompleteEPN3net10URLRequestE;
-    _ZN7content30ResourceDispatcherHostDelegate17OnResponseStartedEPN3net10URLRequestEPNS_15ResourceContextEPNS_16ResourceResponseEPN3IPC6SenderE;
-    _ZN7content30ResourceDispatcherHostDelegate18ShouldBeginRequestERKSsRK4GURLNS_12ResourceTypeEPNS_15ResourceContextE;
-    _ZN7content30ResourceDispatcherHostDelegate19CreateLoginDelegateEPN3net17AuthChallengeInfoEPNS1_10URLRequestE;
-    _ZN7content30ResourceDispatcherHostDelegate19OnRequestRedirectedERK4GURLPN3net10URLRequestEPNS_15ResourceContextEPNS_16ResourceResponseE;
-    _ZN7content30ResourceDispatcherHostDelegate27ShouldForceDownloadResourceERK4GURLRKSs;
-    _ZN7content30ResourceDispatcherHostDelegate31ShouldInterceptResourceAsStreamEPN3net10URLRequestERKSsP4GURLPSs;
-    _ZN7content30ResourceDispatcherHostDelegateC1Ev;
-    _ZN7content30ResourceDispatcherHostDelegateC2Ev;
-    _ZN7content30ResourceDispatcherHostDelegateD0Ev;
-    _ZN7content30ResourceDispatcherHostDelegateD1Ev;
-    _ZN7content30ResourceDispatcherHostDelegateD2Ev;
-    _ZN7content31BrowserChildProcessHostDelegate11CanShutdownEv;
-    _ZN7content31SpeechRecognitionSessionContextD1Ev;
-    _ZN7content31SpeechRecognitionSessionContextD2Ev;
-    _ZN7content32SandboxedProcessLauncherDelegate14GetEnvironmentEv;
-    _ZN7content32SandboxedProcessLauncherDelegate15ShouldUseZygoteEv;
-    _ZNK7content19RenderFrameObserver12render_frameEv;
-    _ZNK7content19WebContentsDelegate22EmbedsFullscreenWidgetEv;
-    _ZNK7content19WebContentsDelegate14IsPopupOrPanelEPKNS_11WebContentsE;
-    _ZNK7content19WebContentsDelegate23GetSizeForNewRenderViewEPNS_11WebContentsE;
-    _ZNK7content19WebContentsDelegate24GetRootWindowResizerRectEv;
-    _ZNK7content19WebContentsDelegate23GetSizeForNewRenderViewEPNS_11WebContentsE;
-    _ZNK7content19WebContentsDelegate24GetExtraRenderViewHeightEv;
-    _ZNK7content20BrowserMessageFilter10OnDestructEv;
-    _ZNK7content21ContentRendererClient31ShouldEnableSiteIsolationPolicyEv;
-    _ZNK7content21ContentRendererClient36ShouldReportDetailedMessageForSourceERKSbItN4base20string16_char_traitsESaItEE;
-    _ZNK7content21RenderProcessHostImpl19audio_renderer_hostEv;
-    _ZNK7content23DownloadManagerDelegate34ApplicationClientIdForFileScanningEv;
-    _ZNK7content27DataFetcherSharedMemoryBase11GetIntervalEv;
-    _ZNK7content27DataFetcherSharedMemoryBase7GetTypeEv;
-    _ZNK7content30ResourceDispatcherHostDelegate22ShouldOverrideMimeTypeERK4GURLRSs;
-    _ZTVN7content16BrowserMainPartsE;
-    _ZTVN7content19ContentMainDelegateE;
-    _ZTVN7content19DevToolsHttpHandler19ServerSocketFactoryE;
-    _ZTVN7content19WebContentsObserverE;
-    _ZTVN7content20ContentBrowserClientE;
-    _ZTVN7content21ContentRendererClientE;
-    _ZTVN7content21RenderProcessObserverE;
-    _ZTVN7content23DownloadManagerDelegateE;
-    _ZTVN7content32SandboxedProcessLauncherDelegateE;
-    _ZThn16_N7content15RenderFrameImpl33createWorkerPermissionClientProxyEPN5blink13WebLocalFrameE;
-    _ZThn4_N7content18RenderViewObserver4SendEPN3IPC7MessageE;
-    _ZThn4_N7content19RenderFrameObserver4SendEPN3IPC7MessageE;
-    _ZThn4_N7content19WebContentsObserver4SendEPN3IPC7MessageE;
-    _ZThn8_N7content18RenderViewObserver4SendEPN3IPC7MessageE;
-    _ZThn8_N7content19RenderFrameObserver4SendEPN3IPC7MessageE;
-    _ZThn8_N7content19WebContentsObserver4SendEPN3IPC7MessageE;
-
-    # crypto
-    _ZN6crypto12SymmetricKey17GenerateRandomKeyENS0_9AlgorithmEj;
-    _ZN6crypto12SymmetricKey17GenerateRandomKeyENS0_9AlgorithmEm;
-    _ZN6crypto12SymmetricKey6ImportENS0_9AlgorithmERKSs;
-    _ZN6crypto12SymmetricKey9GetRawKeyEPSs;
-    _ZN6crypto16SHA256HashStringERKN4base16BasicStringPieceISsEE;
-    _ZN6crypto16SHA256HashStringERKN4base16BasicStringPieceISsEEPvj;
-    _ZN6crypto16SHA256HashStringERKN4base16BasicStringPieceISsEEPvm;
-    _ZN6crypto17SignatureVerifier10VerifyInitEPKhiS2_iS2_i;
-    _ZN6crypto17SignatureVerifier11VerifyFinalEv;
-    _ZN6crypto17SignatureVerifier12VerifyUpdateEPKhi;
-    _ZN6crypto17SignatureVerifier16VerifyInitRSAPSSENS0_13HashAlgorithmES1_iPKhiS3_i;
-    _ZN6crypto17SignatureVerifierC1Ev;
-    _ZN6crypto17SignatureVerifierC2Ev;
-    _ZN6crypto17SignatureVerifierD1Ev;
-    _ZN6crypto9RandBytesEPvj;
-    _ZN6crypto9RandBytesEPvm;
-    _ZN6crypto9Encryptor10SetCounterERKN4base16BasicStringPieceISsEE;
-    _ZN6crypto9Encryptor4InitEPNS_12SymmetricKeyENS0_4ModeERKN4base16BasicStringPieceISsEE;
-    _ZN6crypto9Encryptor7DecryptERKN4base16BasicStringPieceISsEEPSs;
-    _ZN6crypto9Encryptor7EncryptERKN4base16BasicStringPieceISsEEPSs;
-    _ZN6crypto9EncryptorC1Ev;
-    _ZN6crypto9EncryptorC2Ev;
-    _ZN6crypto9EncryptorD0Ev;
-    _ZN6crypto9EncryptorD1Ev;
-    _ZN6crypto9EncryptorD2Ev;
-
-    # dbus
-    _ZN4dbus10MethodCallC1ERKSsS2_;
-    _ZN4dbus10MethodCallC1Ev;
-    _ZN4dbus10MethodCallC2ERKSsS2_;
-    _ZN4dbus10MethodCallC2Ev;
-    _ZN4dbus11ObjectProxy21EmptyResponseCallbackEv;
-    _ZN4dbus13MessageWriter10AppendBoolEb;
-    _ZN4dbus13MessageWriter12AppendStringERKSs;
-    _ZN4dbus13MessageWriterC1EPNS_7MessageE;
-    _ZN4dbus13MessageWriterC2EPNS_7MessageE;
-    _ZN4dbus13MessageWriterD1Ev;
-    _ZN4dbus13MessageWriterD2Ev;
-    _ZN4dbus3Bus7OptionsC1Ev;
-    _ZN4dbus3Bus7OptionsC2Ev;
-    _ZN4dbus3Bus7OptionsD1Ev;
-    _ZN4dbus3Bus7OptionsD2Ev;
-    _ZN4dbus3BusC1ERKNS0_7OptionsE;
-    _ZN4dbus3BusC2ERKNS0_7OptionsE;
-    _ZN4dbus7MessageD0Ev;
-    _ZN4dbus7MessageD1Ev;
-    _ZN4dbus7MessageD2Ev;
-
-    # efl
-    _ZN3efl10InitializeEiPPKc;
-    _ZN3efl13WindowFactory13GetHostWindowEPKN7content11WebContentsE;
-    _ZN3efl16AppendPortParamsERN4base11CommandLineE;
-
-    # gfx
-    _ZN3gfx15DisplayObserverD0Ev;
-    _ZN3gfx15DisplayObserverD1Ev;
-    _ZN3gfx15DisplayObserverD2Ev;
-    _ZN3gfx24kGLImplementationEGLNameE;
-    _ZN3gfx26ImageFrom1xJPEGEncodedDataEPKhj;
-    _ZN3gfx26ImageFrom1xJPEGEncodedDataEPKhm;
-    _ZN3gfx28kGLImplementationDesktopNameE;
-    _ZN3gfx5Image18CreateFrom1xBitmapERK8SkBitmap;
-    _ZN3gfx5Image20CreateFrom1xPNGBytesEPKhj;
-    _ZN3gfx5Image20CreateFrom1xPNGBytesEPKhm;
-    _ZN3gfx5Image20CreateFrom1xPNGBytesERK13scoped_refptrIN4base16RefCountedMemoryEE;
-    _ZN3gfx5ImageaSERKS0_;
-    _ZN3gfx5ImageC1ERKNS_9ImageSkiaE;
-    _ZN3gfx5ImageC1ERKS0_;
-    _ZN3gfx5ImageC1ERKSt6vectorINS_11ImagePNGRepESaIS2_EE;
-    _ZN3gfx5ImageC1Ev;
-    _ZN3gfx5ImageC2ERKNS_9ImageSkiaE;
-    _ZN3gfx5ImageC2ERKS0_;
-    _ZN3gfx5ImageC2ERKSt6vectorINS_11ImagePNGRepESaIS2_EE;
-    _ZN3gfx5ImageC2Ev;
-    _ZN3gfx5ImageD1Ev;
-    _ZN3gfx5ImageD2Ev;
-    _ZN3gfx6Screen15GetNativeScreenEv;
-    _ZN3gfx7DisplayD1Ev;
-    _ZN3gfx7DisplayD2Ev;
-    _ZNK3gfx5Image14Copy1xPNGBytesEv;
-    _ZNK3gfx5Image7IsEmptyEv;
-    _ZNK3gfx7Display10IsInternalEv;
-
-    # gin
-    _ZN3gin13IsolateHolder16kNativesFileNameE;
-    _ZN3gin13IsolateHolder17kSnapshotFileNameE;
-    _ZN3gin13IsolateHolder22kV8SnapshotBasePathKeyE;
-
-    # GURL
-    _ZlsRSoRK4GURL;
-    _ZN4GURLaSES_;
-    _ZN4GURL4SwapEPS_;
-    _ZN4GURLC1EPKcmRKN3url6ParsedEb;
-    _ZN4GURLC1ERKS_;
-    _ZN4GURLC1ERKSbItN4base20string16_char_traitsESaItEE;
-    _ZN4GURLC1ERKSs;
-    _ZN4GURLC1ERKSsNS_24RetainWhiteSpaceSelectorE;
-    _ZN4GURLC1ESsRKN3url6ParsedEb;
-    _ZN4GURLC1Ev;
-    _ZN4GURLC2EPKcmRKN3url6ParsedEb;
-    _ZN4GURLC2ERKS_;
-    _ZN4GURLC2ERKSbItN4base20string16_char_traitsESaItEE;
-    _ZN4GURLC2ERKSs;
-    _ZN4GURLC2ERKSsNS_24RetainWhiteSpaceSelectorE;
-    _ZN4GURLC2ESsRKN3url6ParsedEb;
-    _ZN4GURLC2Ev;
-    _ZN4GURLD1Ev;
-    _ZN4GURLD2Ev;
-    _ZNK4GURLeqERKS_;
-    _ZNK4GURLgtERKS_;
-    _ZNK4GURLltERKS_;
-    _ZNK4GURLneERKS_;
-    _ZNK4GURL10GetContentEv;
-    _ZNK4GURL14HostNoBracketsEv;
-    _ZNK4GURL14PathForRequestEv;
-    _ZNK4GURL17ReplaceComponentsERKN3url12ReplacementsIcEE;
-    _ZNK4GURL17ReplaceiComponentsERKN3url12ReplacementsItEE;
-    _ZNK4GURL19SchemeIsHTTPOrHTTPSEv;
-    _ZNK4GURL4specEv;
-    _ZNK4GURL8DomainIsEPKci;
-    _ZNK4GURL8SchemeIsEPKc;
-    _ZNK4GURL9GetOriginEv;
-
-    # l10n
-    _ZN9l10n_util14GetStringUTF16Ei;
-
-    # IPC
-    _ZN3IPC11ParamTraitsI4GURLE4ReadEPKNS_7MessageEP14PickleIteratorPS1_;
-    _ZN3IPC11ParamTraitsI4GURLE5WriteEPNS_7MessageERKS1_;
-    _ZN3IPC11ParamTraitsIN4base14FileDescriptorEE4ReadEPKNS_7MessageEP14PickleIteratorPS2_;
-    _ZN3IPC11ParamTraitsIN4base14FileDescriptorEE5WriteEPNS_7MessageERKS2_;
-    _ZN3IPC11ParamTraitsIN4base8FilePathEE4ReadEPKNS_7MessageEP14PickleIteratorPS2_;
-    _ZN3IPC11ParamTraitsIN4base8FilePathEE5WriteEPNS_7MessageERKS2_;
-    _ZN3IPC11ParamTraitsIN4base9ListValueEE4ReadEPKNS_7MessageEP14PickleIteratorPS2_;
-    _ZN3IPC11ParamTraitsIN4base9ListValueEE5WriteEPNS_7MessageERKS2_;
-    _ZN3IPC11ParamTraitsINS_13ChannelHandleEE4ReadEPKNS_7MessageEP14PickleIteratorPS1_;
-    _ZN3IPC11ParamTraitsINS_13ChannelHandleEE5WriteEPNS_7MessageERKS1_;
-    _ZN3IPC11SyncChannel6CreateERKNS_13ChannelHandleENS_7Channel4ModeEPNS_8ListenerERK13scoped_refptrIN4base22SingleThreadTaskRunnerEEbPNS9_13WaitableEventE;
-    _ZN3IPC11SyncMessage13GenerateReplyEPKNS_7MessageE;
-    _ZN3IPC11SyncMessage15GetDataIteratorEPKNS_7MessageE;
-    _ZN3IPC11SyncMessageC1EijNS_7Message13PriorityValueEPNS_24MessageReplyDeserializerE;
-    _ZN3IPC11SyncMessageC2EijNS_7Message13PriorityValueEPNS_24MessageReplyDeserializerE;
-    _ZN3IPC11SyncMessageD0Ev;
-    _ZN3IPC11SyncMessageD1Ev;
-    _ZN3IPC11SyncMessageD2Ev;
-    _ZN3IPC12ChannelProxy12RemoveFilterEPNS_13MessageFilterE;
-    _ZN3IPC12ChannelProxy24TakeClientFileDescriptorEv;
-    _ZN3IPC12ChannelProxy9AddFilterEPNS_13MessageFilterE;
-    _ZN3IPC13MessageFilter13OnFilterAddedEPNS_6SenderE;
-    _ZN3IPC13MessageFilter14OnChannelErrorEv;
-    _ZN3IPC13MessageFilter15OnFilterRemovedEv;
-    _ZN3IPC13MessageFilter16OnChannelClosingEv;
-    _ZN3IPC13MessageFilter18OnChannelConnectedEi;
-    _ZN3IPC13MessageFilterC1Ev;
-    _ZN3IPC13MessageFilterC2Ev;
-    _ZN3IPC13MessageFilterD0Ev;
-    _ZN3IPC13MessageFilterD1Ev;
-    _ZN3IPC13MessageFilterD2Ev;
-    _ZN3IPC7Channel25GenerateVerifiedChannelIDERKSs;
-    _ZN3IPC7MessageC1EijNS0_13PriorityValueE;
-    _ZN3IPC7MessageC1EPKci;
-    _ZN3IPC7MessageC1ERKS0_;
-    _ZN3IPC7MessageC1Ev;
-    _ZN3IPC7MessageC2EijNS0_13PriorityValueE;
-    _ZN3IPC7MessageC2EPKci;
-    _ZN3IPC7MessageC2ERKS0_;
-    _ZN3IPC7MessageC2Ev;
-    _ZN3IPC7MessageD0Ev;
-    _ZN3IPC7MessageD1Ev;
-    _ZN3IPC7MessageD2Ev;
-    _ZNK3IPC13MessageFilter26GetSupportedMessageClassesEPSt6vectorIjSaIjEE;
-
-    # media
-    _ZN5media10FFmpegGlue16InitializeFFmpegEv;
-    _ZN5media19CodecIDToAudioCodecE9AVCodecID;
-    _ZN5media19CodecIDToVideoCodecE9AVCodecID;
-    _ZN5media22InitializeMediaLibraryERKN4base8FilePathE;
-
-    # net
-    _ZN3net10IPEndPointC1ERKS0_;
-    _ZN3net10IPEndPointC1ERKSt6vectorIhSaIhEEt;
-    _ZN3net10IPEndPointC1Ev;
-    _ZN3net10IPEndPointC2ERKS0_;
-    _ZN3net10IPEndPointC2ERKSt6vectorIhSaIhEEt;
-    _ZN3net10IPEndPointC2Ev;
-    _ZN3net10IPEndPointD1Ev;
-    _ZN3net10IPEndPointD2E;
-    _ZN3net10FileStreamC1EN4base4FileERK13scoped_refptrINS1_10TaskRunnerEE;
-    _ZN3net10FileStreamC1ERK13scoped_refptrIN4base10TaskRunnerEE;
-    _ZN3net10FileStreamC2EN4base4FileERK13scoped_refptrINS1_10TaskRunnerEE;
-    _ZN3net10FileStreamC2ERK13scoped_refptrIN4base10TaskRunnerEE;
-    _ZN3net11AddressListC1ERKNS_10IPEndPointE;
-    _ZN3net11AddressListC1Ev;
-    _ZN3net11AddressListC2ERKNS_10IPEndPointE;
-    _ZN3net11AddressListC2Ev;
-    _ZN3net11AddressListD1Ev;
-    _ZN3net11AddressListD2Ev;
-    _ZN3net12CertVerifier13CreateDefaultEv;
-    _ZN3net12HostPortPairC1ERKSst;
-    _ZN3net12HostPortPairC1Ev;
-    _ZN3net12HostPortPairC2ERKSst;
-    _ZN3net12HostPortPairC2Ev;
-    _ZN3net12HostResolver11RequestInfoC1ERKNS_12HostPortPairE;
-    _ZN3net12HostResolver11RequestInfoC2ERKNS_12HostPortPairE;
-    _ZN3net12HostResolver21CreateDefaultResolverEPNS_6NetLogE;
-    _ZN3net12kErrorDomainE;
-    _ZN3net12ProxyService30CreateSystemProxyConfigServiceERK13scoped_refptrIN4base22SingleThreadTaskRunnerEES6_;
-    _ZN3net12ProxyService30CreateUsingSystemProxyResolverEPNS_18ProxyConfigServiceEjPNS_6NetLogE;
-    _ZN3net12ProxyService30CreateUsingSystemProxyResolverEPNS_18ProxyConfigServiceEmPNS_6NetLogE;
-    _ZN3net13ErrorToStringEi;
-    _ZN3net13CookieMonster20SetCookieableSchemesEPKPKcj;
-    _ZN3net13CookieMonster20SetCookieableSchemesEPKPKcm;
-    _ZN3net13CookieMonster25kDefaultCookieableSchemesE;
-    _ZN3net13CookieMonster30kDefaultCookieableSchemesCountE;
-    _ZN3net13URLRequestJob10CancelAuthEv;
-    _ZN3net13URLRequestJob10GetCharsetEPSs;
-    _ZN3net13URLRequestJob10NotifyDoneERKNS_16URLRequestStatusE;
-    _ZN3net13URLRequestJob11DoneReadingEv;
-    _ZN3net13URLRequestJob11SetPriorityENS_15RequestPriorityE;
-    _ZN3net13URLRequestJob11StopCachingEv;
-    _ZN3net13URLRequestJob14IsSafeRedirectERK4GURL;
-    _ZN3net13URLRequestJob18GetResponseCookiesEPSt6vectorISsSaISsEE;
-    _ZN3net13URLRequestJob18ResumeNetworkStartEv;
-    _ZN3net13URLRequestJob20GetAuthChallengeInfoEP13scoped_refptrINS_17AuthChallengeInfoEE;
-    _ZN3net13URLRequestJob21NotifyHeadersCompleteEv;
-    _ZN3net13URLRequestJob21UpdatePacketReadTimesEv;
-    _ZN3net13URLRequestJob23ContinueWithCertificateEPNS_15X509CertificateE;
-    _ZN3net13URLRequestJob24ContinueDespiteLastErrorEv;
-    _ZN3net13URLRequestJob25NotifyURLRequestDestroyedEv;
-    _ZN3net13URLRequestJob27DoneReadingRedirectResponseEv;
-    _ZN3net13URLRequestJob4KillEv;
-    _ZN3net13URLRequestJob7SetAuthERKNS_15AuthCredentialsE;
-    _ZN3net13URLRequestJob9GetStatusEv;
-    _ZN3net13URLRequestJob9NeedsAuthEv;
-    _ZN3net13URLRequestJob9OnSuspendEv;
-    _ZN3net13URLRequestJob9SetUploadEPNS_16UploadDataStreamE;
-    _ZN3net14StringIOBufferC1E10scoped_ptrISsN4base14DefaultDeleterISsEEE;
-    _ZN3net14StringIOBufferC1ERKSs;
-    _ZN3net14StringIOBufferC2E10scoped_ptrISsN4base14DefaultDeleterISsEEE;
-    _ZN3net14StringIOBufferC2ERKSs;
-    _ZN3net15X509Certificate30CreateCertificateListFromBytesEPKcii;
-    _ZN3net15X509CertificateD1Ev;
-    _ZN3net15X509CertificateD2Ev;
-    _ZN3net15TCPServerSocketC1EPNS_6NetLogERKNS1_6SourceE;
-    _ZN3net15TCPServerSocketC2EPNS_6NetLogERKNS1_6SourceE;
-    _ZN3net15DirectoryLister5StartEv;
-    _ZN3net15DirectoryListerC1ERKN4base8FilePathEbNS0_8SortTypeEPNS0_23DirectoryListerDelegateE;
-    _ZN3net15DirectoryListerC1ERKN4base8FilePathEPNS0_23DirectoryListerDelegateE;
-    _ZN3net15DirectoryListerC2ERKN4base8FilePathEbNS0_8SortTypeEPNS0_23DirectoryListerDelegateE;
-    _ZN3net15DirectoryListerC2ERKN4base8FilePathEPNS0_23DirectoryListerDelegateE;
-    _ZN3net15DirectoryListerD1Ev;
-    _ZN3net15DirectoryListerD2Ev;
-    _ZN3net15TCPClientSocketC1E10scoped_ptrINS_17TCPSocketLibeventEN4base14DefaultDeleterIS2_EEERKNS_10IPEndPointE;
-    _ZN3net15TCPClientSocketC1ERKNS_11AddressListEPNS_6NetLogERKNS4_6SourceE;
-    _ZN3net15TCPServerSocketC1EPNS_6NetLogERKNS1_6SourceE;
-    _ZN3net15TCPServerSocketC2EPNS_6NetLogERKNS1_6SourceE;
-    _ZN3net15X509Certificate28CalculateChainFingerprint256EP7x509_stRKSt6vectorIS2_SaIS2_EE;
-    _ZN3net16ChannelIDServiceC1EPNS_14ChannelIDStoreERK13scoped_refptrIN4base10TaskRunnerEE;
-    _ZN3net16ChannelIDServiceC2EPNS_14ChannelIDStoreERK13scoped_refptrIN4base10TaskRunnerEE;
-    _ZN3net16ChannelIDServiceD1Ev;
-    _ZN3net16ChannelIDServiceD2E;
-    _ZN3net16GenerateFileNameERK4GURLRKSsS4_S4_S4_S4_;
-    _ZN3net16HttpResponseInfoaSERKS0_;
-    _ZN3net16HttpResponseInfoC1ERKS0_;
-    _ZN3net16HttpResponseInfoC1Ev;
-    _ZN3net16HttpResponseInfoC2ERKS0_;
-    _ZN3net16HttpResponseInfoC2Ev;
-    _ZN3net16HttpResponseInfoD1Ev;
-    _ZN3net16HttpResponseInfoD2Ev;
-    _ZN3net16IOBufferWithSizeC1Ei;
-    _ZN3net16IOBufferWithSizeC1EPci;
-    _ZN3net16IOBufferWithSizeC2Ei;
-    _ZN3net16IOBufferWithSizeC2EPci;
-    _ZN3net17FilePathToFileURLERKN4base8FilePathE;
-    _ZN3net17FileURLToFilePathERK4GURLPN4base8FilePathE;
-    _ZN3net17UDPSocketLibevent17AllowAddressReuseEv;
-    _ZN3net17UDPSocketLibevent4BindERKNS_10IPEndPointE;
-    _ZN3net17UDPSocketLibevent4OpenENS_13AddressFamilyE;
-    _ZN3net17UDPSocketLibevent5CloseEv;
-    _ZN3net17UDPSocketLibevent6SendToEPNS_8IOBufferEiRKNS_10IPEndPointERKN4base8CallbackIFviEEE;
-    _ZN3net17UDPSocketLibevent7ConnectERKNS_10IPEndPointE;
-    _ZN3net17UDPSocketLibevent8RecvFromEPNS_8IOBufferEiPNS_10IPEndPointERKN4base8CallbackIFviEEE;
-    _ZN3net17UDPSocketLibeventC1ENS_14DatagramSocket8BindTypeERKN4base8CallbackIFiiiEEEPNS_6NetLogERKNS9_6SourceE;
-    _ZN3net17UDPSocketLibeventC2ENS_14DatagramSocket8BindTypeERKN4base8CallbackIFiiiEEEPNS_6NetLogERKNS9_6SourceE;
-    _ZN3net17URLRequestFileJob11ReadRawDataEPNS_8IOBufferEiPi;
-    _ZN3net17URLRequestFileJob14OnReadCompleteEPNS_8IOBufferEi;
-    _ZN3net17URLRequestFileJob14OnSeekCompleteEl;
-    _ZN3net17URLRequestFileJob14OnSeekCompleteEx;
-    _ZN3net17URLRequestFileJob14OnSeekCompleteELRequestFileJob14OnSeekCompleteEl;
-    _ZN3net17URLRequestFileJob18IsRedirectResponseEP4GURLPi;
-    _ZN3net17URLRequestFileJob22SetExtraRequestHeadersERKNS_18HttpRequestHeadersE;
-    _ZN3net17URLRequestFileJob4KillEv;
-    _ZN3net17URLRequestFileJob5StartEv;
-    _ZN3net17URLRequestFileJobC1EPNS_10URLRequestEPNS_15NetworkDelegateERKN4base8FilePathERK13scoped_refptrINS5_10TaskRunnerEE;
-    _ZN3net17URLRequestFileJobC2EPNS_10URLRequestEPNS_15NetworkDelegateERKN4base8FilePathERK13scoped_refptrINS5_10TaskRunnerEE;
-    _ZN3net17URLRequestFileJobD0Ev;
-    _ZN3net17URLRequestFileJobD1Ev;
-    _ZN3net17URLRequestFileJobD2Ev;
-    _ZN3net17URLRequestContextC1Ev;
-    _ZN3net17URLRequestContextC2Ev;
-    _ZN3net18HttpNetworkSession6ParamsC1Ev;
-    _ZN3net18HttpNetworkSession6ParamsC2Ev;
-    _ZN3net18HttpNetworkSession6ParamsD1Ev;
-    _ZN3net18HttpNetworkSession6ParamsD2Ev;
-    _ZN3net18URLRequestErrorJobC1EPNS_10URLRequestEPNS_15NetworkDelegateEi;
-    _ZN3net18URLRequestErrorJobC2EPNS_10URLRequestEPNS_15NetworkDelegateEi;
-    _ZN3net19DataProtocolHandlerC1Ev;
-    _ZN3net19DataProtocolHandlerC2Ev;
-    _ZN3net19FileProtocolHandlerC1ERK13scoped_refptrIN4base10TaskRunnerEE;
-    _ZN3net19FileProtocolHandlerC2ERK13scoped_refptrIN4base10TaskRunnerEE;
-    _ZN3net19HttpResponseHeadersC1EP14PickleIterator;
-    _ZN3net19HttpResponseHeadersC1ERKSs;
-    _ZN3net19HttpResponseHeadersC1Ev;
-    _ZN3net19HttpResponseHeadersC2EP14PickleIterator;
-    _ZN3net19HttpResponseHeadersC2ERKSs;
-    _ZN3net19HttpResponseHeadersC2Ev;
-    _ZN3net19HttpResponseHeadersD1Ev;
-    _ZN3net19HttpResponseHeadersD2Ev;
-    _ZN3net19NetworkDelegateImpl14OnResolveProxyERK4GURLiRKNS_12ProxyServiceEPNS_9ProxyInfoE;
-    _ZN3net19NetworkDelegateImpl15OnProxyFallbackERKNS_11ProxyServerEi;
-    _ZN3net19NetworkDelegateImpl24OnBeforeSendProxyHeadersEPNS_10URLRequestERKNS_9ProxyInfoEPNS_18HttpRequestHeadersE;
-    _ZN3net19GetMimeTypeFromFileERKN4base8FilePathEPSs;
-    _ZN3net20UnescapeURLComponentERKSbItN4base20string16_char_traitsESaItEEj;
-    _ZN3net20UnescapeURLComponentERKSsj;
-    _ZN3net20URLRequestJobFactory15ProtocolHandlerD0Ev;
-    _ZN3net20URLRequestJobFactory15ProtocolHandlerD1Ev;
-    _ZN3net20URLRequestJobFactory15ProtocolHandlerD2Ev;
-    _ZN3net21DefaultChannelIDStoreC1EPNS0_15PersistentStoreE;
-    _ZN3net21DefaultChannelIDStoreC2EPNS0_15PersistentStoreE;
-    _ZN3net22HttpAuthHandlerFactory13CreateDefaultEPNS_12HostResolverE;
-    _ZN3net22ParseIPLiteralToNumberERKSsPSt6vectorIhSaIhEE;
-    _ZN3net22TransportSecurityStateC1Ev;
-    _ZN3net22TransportSecurityStateC2Ev;
-    _ZN3net23URLRequestContextGetterC1Ev;
-    _ZN3net23URLRequestContextGetterC2Ev;
-    _ZN3net23URLRequestContextGetterD0Ev;
-    _ZN3net23URLRequestContextGetterD1Ev;
-    _ZN3net23URLRequestContextGetterD2Ev;
-    _ZN3net24GetExtensionsForMimeTypeERKSsPSt6vectorISsSaISsEE;
-    _ZN3net24HttpServerPropertiesImplC1Ev;
-    _ZN3net24HttpServerPropertiesImplC2Ev;
-    _ZN3net24SSLConfigServiceDefaultsC1Ev;
-    _ZN3net24SSLConfigServiceDefaultsC2Ev;
-    _ZN3net24URLRequestContextStorage15set_job_factoryEPNS_20URLRequestJobFactoryE;
-    _ZN3net24URLRequestContextStorage16set_cookie_storeEPNS_11CookieStoreE;
-    _ZN3net24URLRequestContextStorage17set_cert_verifierEPNS_12CertVerifierE;
-    _ZN3net24URLRequestContextStorage17set_host_resolverE10scoped_ptrINS_12HostResolverEN4base14DefaultDeleterIS2_EEE;
-    _ZN3net24URLRequestContextStorage17set_proxy_serviceEPNS_12ProxyServiceE;
-    _ZN3net24URLRequestContextStorage22set_channel_id_serviceE10scoped_ptrINS_16ChannelIDServiceEN4base14DefaultDeleterIS2_EEE;
-    _ZN3net24URLRequestContextStorage22set_ssl_config_serviceEPNS_16SSLConfigServiceE;
-    _ZN3net24URLRequestContextStorage26set_http_server_propertiesE10scoped_ptrINS_20HttpServerPropertiesEN4base14DefaultDeleterIS2_EEE;
-    _ZN3net24URLRequestContextStorage28set_http_transaction_factoryEPNS_22HttpTransactionFactoryE;
-    _ZN3net24URLRequestContextStorage28set_http_user_agent_settingsEPNS_21HttpUserAgentSettingsE;
-    _ZN3net24URLRequestContextStorage28set_transport_security_stateEPNS_22TransportSecurityStateE;
-    _ZN3net24URLRequestContextStorage29set_http_auth_handler_factoryEPNS_22HttpAuthHandlerFactoryE;
-    _ZN3net24URLRequestContextStorageC1EPNS_17URLRequestContextE;
-    _ZN3net24URLRequestContextStorageC2EPNS_17URLRequestContextE;
-    _ZN3net24URLRequestContextStorageD1Ev;
-    _ZN3net24URLRequestContextStorageD2Ev;
-    _ZN3net24URLRequestJobFactoryImpl18SetProtocolHandlerERKSsPNS_20URLRequestJobFactory15ProtocolHandlerE;
-    _ZN3net24URLRequestJobFactoryImplC1Ev;
-    _ZN3net24URLRequestJobFactoryImplC2Ev;
-    _ZN3net25SingleRequestHostResolver7ResolveERKNS_12HostResolver11RequestInfoENS_15RequestPriorityEPNS_11AddressListERKN4base8CallbackIFviEEERKNS_11BoundNetLogE;
-    _ZN3net25SingleRequestHostResolverC1EPNS_12HostResolverE;
-    _ZN3net25SingleRequestHostResolverC2EPNS_12HostResolverE;
-    _ZN3net25SingleRequestHostResolverD1Ev;
-    _ZN3net25SingleRequestHostResolverD2Ev;
-    _ZN3net27StaticHttpUserAgentSettingsC1ERKSsS2_;
-    _ZN3net27StaticHttpUserAgentSettingsC2ERKSsS2_;
-    _ZN3net32URLRequestInterceptingJobFactoryC1E10scoped_ptrINS_20URLRequestJobFactoryEN4base14DefaultDeleterIS2_EEES1_INS_21URLRequestInterceptorENS4_IS7_EEE;
-    _ZN3net32URLRequestInterceptingJobFactoryC2E10scoped_ptrINS_20URLRequestJobFactoryEN4base14DefaultDeleterIS2_EEES1_INS_21URLRequestInterceptorENS4_IS7_EEE;
-    _ZN3net6NetLog6SourceC1ENS0_10SourceTypeEj;
-    _ZN3net6NetLog6SourceC1Ev;
-    _ZN3net6NetLog6SourceC2ENS0_10SourceTypeEj;
-    _ZN3net6NetLog6SourceC2Ev;
-    _ZN3net8IOBufferC1Ei;
-    _ZN3net8IOBufferC1EPc;
-    _ZN3net8IOBufferC1Ev;
-    _ZN3net8IOBufferC2Ei;
-    _ZN3net8IOBufferC2EPc;
-    _ZN3net8IOBufferC2Ev;
-    _ZN3net9HttpCache14DefaultBackendC1ENS_9CacheTypeENS_11BackendTypeERKN4base8FilePathEiRK13scoped_refptrINS4_22SingleThreadTaskRunnerEE;
-    _ZN3net9HttpCache14DefaultBackendC2ENS_9CacheTypeENS_11BackendTypeERKN4base8FilePathEiRK13scoped_refptrINS4_22SingleThreadTaskRunnerEE;
-    _ZN3net9HttpCacheC1EPNS_18HttpNetworkSessionEPNS0_14BackendFactoryE;
-    _ZN3net9HttpCacheC1EPNS_22HttpTransactionFactoryEPNS_6NetLogEPNS0_14BackendFactoryE;
-    _ZN3net9HttpCacheC1ERKNS_18HttpNetworkSession6ParamsEPNS0_14BackendFactoryE;
-    _ZN3net9HttpCacheC2EPNS_18HttpNetworkSessionEPNS0_14BackendFactoryE;
-    _ZN3net9HttpCacheC2EPNS_22HttpTransactionFactoryEPNS_6NetLogEPNS0_14BackendFactoryE;
-    _ZN3net9HttpCacheC2ERKNS_18HttpNetworkSession6ParamsEPNS0_14BackendFactoryE;
-    _ZNK3net10IPEndPoint19ToStringWithoutPortEv;
-    _ZNK3net10IPEndPoint8ToStringEv;
-    _ZNK3net10IPEndPoint9GetFamilyEv;
-    _ZNK3net13URLRequestJob12GetLoadStateEv;
-    _ZNK3net13URLRequestJob15GetResponseCodeEv;
-    _ZNK3net13URLRequestJob16GetSocketAddressEv;
-    _ZNK3net13URLRequestJob17GetLoadTimingInfoEPNS_14LoadTimingInfoE;
-    _ZNK3net13URLRequestJob17GetUploadProgressEv;
-    _ZNK3net13URLRequestJob21GetFullRequestHeadersEPNS_18HttpRequestHeadersE;
-    _ZNK3net13URLRequestJob21GetTotalReceivedBytesEv;
-    _ZNK3net13CertPrincipal14GetDisplayNameEv;
-    _ZNK3net13URLRequestJob22CopyFragmentOnRedirectERK4GURL;
-    _ZNK3net17URLRequestFileJob11GetMimeTypeEPSs;
-    _ZNK3net17URLRequestFileJob11SetupFilterEv;
-    _ZNK3net17URLRequestHttpJob21GetFullRequestHeadersEPNS_18HttpRequestHeadersE;
-    _ZNK3net19NetworkDelegateImpl22OnCanEnablePrivacyModeERK4GURLS3_;
-    _ZNK3net19NetworkDelegateImpl51OnCancelURLRequestWithPolicyViolatingReferrerHeaderERKNS_10URLRequestERK4GURLS6_;
-    _ZNK3net20URLRequestJobFactory15ProtocolHandler20IsSafeRedirectTargetERK4GURL;
-    _ZNK3net23URLRequestContextGetter10OnDestructEv;
-
-    # PathService
-    _ZN11PathService12DisableCacheEv;
-    _ZN11PathService14RemoveOverrideEi;
-    _ZN11PathService16RegisterProviderEPFbiPN4base8FilePathEEii;
-    _ZN11PathService25OverrideAndCreateIfNeededEiRKN4base8FilePathEbb;
-    _ZN11PathService3GetEiPN4base8FilePathE;
-    _ZN11PathService8OverrideEiRKN4base8FilePathE;
-
-    # ppapi
-    _ZN5ppapi4host12ResourceHost13HandleMessageERKN3IPC7MessageEPNS0_18HostMessageContextE;
-    _ZN5ppapi4host12ResourceHost13IsFileRefHostEv;
-    _ZN5ppapi4host12ResourceHost16IsCompositorHostEv;
-    _ZN5ppapi4host12ResourceHost16IsFileSystemHostEv;
-    _ZN5ppapi4host12ResourceHost16IsGraphics2DHostEv;
-    _ZN5ppapi4host12ResourceHost27IsMediaStreamVideoTrackHostEv;
-    _ZN5ppapi4host12ResourceHost9SendReplyERKNS0_19ReplyMessageContextERKN3IPC7MessageE;
-    _ZN5ppapi4host12ResourceHostC1EPNS0_9PpapiHostEii;
-    _ZN5ppapi4host12ResourceHostC2EPNS0_9PpapiHostEii;
-    _ZN5ppapi4host12ResourceHostD0Ev;
-    _ZN5ppapi4host12ResourceHostD1Ev;
-    _ZN5ppapi4host12ResourceHostD2Ev;
-    _ZN5ppapi4host9PpapiHost20AddHostFactoryFilterE10scoped_ptrINS0_11HostFactoryEN4base14DefaultDeleterIS3_EEE;
-
-    # strorage
-    _ZN7storage15IsolatedContext11GetInstanceEv;
-    _ZN7storage15IsolatedContext25RegisterFileSystemForPathENS_14FileSystemTypeERKSsRKN4base8FilePathEPSs;
-    _ZN7storage25GetIsolatedFileSystemNameERK4GURLRKSs;
-    _ZN7storage34GetIsolatedFileSystemRootURIStringERK4GURLRKSsS4_;
-
-    # storage_monitor
-    _ZN15storage_monitor11StorageInfo17IsRemovableDeviceERKSs;
-    _ZN15storage_monitor11StorageInfo19IsMassStorageDeviceERKSs;
-    _ZN15storage_monitor11StorageInfoD1Ev;
-    _ZN15storage_monitor11StorageInfoD2Ev;
-    _ZN15storage_monitor14StorageMonitor11AddObserverEPNS_24RemovableStorageObserverE;
-    _ZN15storage_monitor14StorageMonitor11GetInstanceEv;
-    _ZN15storage_monitor14StorageMonitor14RemoveObserverEPNS_24RemovableStorageObserverE;
-    _ZN15storage_monitor14StorageMonitor17EnsureInitializedEN4base8CallbackIFvvEEE;
-    _ZN15storage_monitor14StorageMonitor6CreateEv;
-    _ZNK15storage_monitor11StorageInfo14GetDisplayNameEb;
-    _ZNK15storage_monitor14StorageMonitor23GetAllAvailableStoragesEv;
-
-    # switches
-    _ZN8switches12kProcessTypeE;
-    _ZN8switches15kEnableViewportE;
-    _ZN8switches16kJavaScriptFlagsE;
-    _ZN8switches17kProcessChannelIDE;
-    _ZN8switches17kGpuNoContextLostE;
-    _ZN8switches19kUseMobileUserAgentE;
-    _ZN8switches19kIgnoreGpuBlacklistE;
-    _ZN8switches20kRemoteDebuggingPortE;
-    _ZN8switches25kAllowFileAccessFromFilesE;
-    _ZN8switches26kEnableThreadedCompositingE;
-    _ZN8switches6kUseGLE;
-
-    # sql
-    _ZN3sql10Connection12StatementRefD1Ev;
-    _ZN3sql10Connection12StatementRefD2Ev;
-    _ZN3sql10Connection18GetUniqueStatementEPKc;
-    _ZN3sql10Connection4OpenERKN4base8FilePathE;
-    _ZN3sql10Connection7ExecuteEPKc;
-    _ZN3sql10Connection7PreloadEv;
-    _ZN3sql10ConnectionC1Ev;
-    _ZN3sql10ConnectionC2Ev;
-    _ZN3sql10ConnectionD1Ev;
-    _ZN3sql10ConnectionD2Ev;
-    _ZN3sql11Transaction5BeginEv;
-    _ZN3sql11Transaction6CommitEv;
-    _ZN3sql11TransactionC1EPNS_10ConnectionE;
-    _ZN3sql11TransactionC2EPNS_10ConnectionE;
-    _ZN3sql11TransactionD1Ev;
-    _ZN3sql11TransactionD2Ev;
-    _ZN3sql9Statement10BindStringEiRKSs;
-    _ZN3sql9Statement3RunEv;
-    _ZN3sql9Statement4StepEv;
-    _ZN3sql9Statement8BindBoolEib;
-    _ZN3sql9StatementC1E13scoped_refptrINS_10Connection12StatementRefEE;
-    _ZN3sql9StatementC1Ev;
-    _ZN3sql9StatementC2E13scoped_refptrINS_10Connection12StatementRefEE;
-    _ZN3sql9StatementC2Ev;
-    _ZN3sql9StatementD1Ev;
-    _ZN3sql9StatementD2Ev;
-    _ZNK3sql10Connection14DoesTableExistEPKc;
-    _ZNK3sql9Statement10ColumnBoolEi;
-    _ZNK3sql9Statement11ColumnInt64Ei;
-    _ZNK3sql9Statement12ColumnStringEi;
-    _ZNK3sql9Statement9ColumnIntEi;
-
-    # ui
-    _ZN2ui11FormatBytesEl;
-    _ZN2ui14ResourceBundle17GetSharedInstanceEv;
-    _ZN2ui14ResourceBundle19GetNativeImageNamedEi;
-    _ZN2ui14ResourceBundle29InitSharedInstanceWithPakPathERKN4base8FilePathE;
-    _ZN2ui15EventFromNativeERKPv;
-    _ZN2ui16SelectedFileInfoC1ERKN4base8FilePathES4_;
-    _ZN2ui16SelectedFileInfoC1Ev;
-    _ZN2ui16SelectedFileInfoC2ERKN4base8FilePathES4_;
-    _ZN2ui16SelectedFileInfoC2Ev;
-    _ZN2ui16SelectedFileInfoD1Ev;
-    _ZN2ui16SelectedFileInfoD2Ev;
-    _ZN2ui16SelectFileDialog10SelectFileENS0_4TypeERKSbItN4base20string16_char_traitsESaItEERKNS2_8FilePathEPKNS0_12FileTypeInfoEiRKSsPvSG_;
-    _ZN2ui16SelectFileDialog6CreateEPNS0_8ListenerEPNS_16SelectFilePolicyE;
-    _ZN2ui16SelectFileDialog12FileTypeInfoC1Ev;
-    _ZN2ui16SelectFileDialog12FileTypeInfoC2Ev;
-    _ZN2ui16SelectFileDialog12FileTypeInfoD1Ev;
-    _ZN2ui16SelectFileDialog12FileTypeInfoD2Ev;
-    _ZN2ui16SelectFilePolicyD0Ev;
-    _ZN2ui16SelectFilePolicyD1Ev;
-    _ZN2ui16SelectFilePolicyD2Ev;
-    _ZN2ui19PlatformEventSource11GetInstanceEv;
-    _ZN2ui19PlatformEventSource24AddPlatformEventObserverEPNS_21PlatformEventObserverE;
-    _ZN2ui19PlatformEventSource27RemovePlatformEventObserverEPNS_21PlatformEventObserverE;
-    _ZN2ui21GrabViewSnapshotAsyncEPvRKN3gfx4RectE13scoped_refptrIN4base10TaskRunnerEERKNS6_8CallbackIFvS5_INS6_15RefCountedBytesEEEEE;
-    _ZN2ui21InstallScreenInstanceEv;
-    _ZN2ui21PageTransitionFromIntEi;
-    _ZNK2ui14ResourceBundle18GetRawDataResourceEi;
-    _ZNK2ui14ResourceBundle21LoadDataResourceBytesEi;
-    _ZNK2ui14ResourceBundle26GetRawDataResourceForScaleEiNS_11ScaleFactorE;
-    _ZTVN2ui16SelectFileDialog8ListenerE;
-
-    # url
-    _ZN3url11kDataSchemeE;
-    _ZN3url11kFileSchemeE;
-    _ZN3url14kAboutBlankURLE;
-    _ZN3url24DecodeURLEscapeSequencesEPKciPNS_12CanonOutputTItEE;
-    _ZN3url24kStandardSchemeSeparatorE;
-    _ZN3url6ParsedC1ERKS0_;
-    _ZN3url6ParsedC1Ev;
-    _ZN3url6ParsedC2ERKS0_;
-    _ZN3url6ParsedC2Ev;
-    _ZN3url6ParsedD1Ev;
-    _ZN3url6ParsedD2Ev;
-
-  local: *;
-};
index ed3a8ac..5ba072b 100644 (file)
@@ -70,7 +70,7 @@ shared_library("chromium-ewk") {
     "//components/variations",
     "//components/visitedlink/browser",
     "//components/visitedlink/renderer",
-    "//content/public/browser",
+    "//content/public/app:both",
     "//content/shell:pak",
     "//content/shell:resources",
     "//printing",
@@ -109,24 +109,6 @@ shared_library("chromium-ewk") {
     "-w",
   ]
 
-  if (!xwalk_link_against_chromium_ewk) {
-    # TODO : needs to check the below filter provision
-    #filter_file = "chromium-ewk.filter"
-    deps += [
-      "//content/common",
-      "//content/public/app:both",
-      "//content/public/common",
-    ]
-  } else {
-    # TODO : needs to check the below filter provision
-    #filter_file = "chromium-ewk-xwalk.filter"
-    deps += [
-      "//components/storage_monitor",
-      "//components/web_modal",
-      "//content/app:both",
-    ]
-  }
-
   if (building_for_tizen) {
     exclude_source_set = [
       "browser/sound_effect.cc",
index 90a3df3..cbe423f 100644 (file)
@@ -381,7 +381,7 @@ test("ewk_unittests") {
 
   #TODO : Uncomment it.
   #deps += [ ":libbundle" ]
-  if (building_for_tizen && building_strategy == "ewk") {
+  if (building_for_tizen) {
     cflags += [ "-scim" ]
     ldflags += [ "-scim" ]
     libs += [ "scim" ]
index 7e0bd2c..5e790df 100644 (file)
@@ -672,8 +672,6 @@ component("base") {
   }
   if (is_tizen) {
     sources -= [
-      "dragdrop/drag_utils.cc",
-      "dragdrop/drag_utils.h",
       "idle/idle.cc",
       "idle/idle.h",
     ]
index 2b7ec96..1bba5c2 100644 (file)
@@ -519,6 +519,11 @@ jumbo_component("views") {
     sources += [ "widget/desktop_aura/desktop_window_tree_host_chromeos.cc" ]
   }
 
+  if (is_tizen) {
+    public -= [ "drag_utils.h" ]
+    sources -= [ "drag_utils.cc" ]
+  }
+
   if (is_win) {
     public += [
       "widget/widget_hwnd_utils.h",