'dependencies': [
'chromium-efl-deps.gyp:efl',
'chromium-efl-deps.gyp:gstreamer',
+ 'theme/theme.gyp:tizen_theme',
'<(chrome_src_dir)/base/allocator/allocator.gyp:allocator',
'<(chrome_src_dir)/content/content.gyp:content',
'<(chrome_src_dir)/content/content.gyp:content_app_browser',
['exclude', 'x11_event_source_libevent\\.cc$'],
['exclude', 'x11_types\\.cc$'],
],
+ 'target_conditions': [
+ ['_target_name=="webcore_rendering"', {
+ 'sources/': [
+ # Have to exclude under target_conditions here because of multiple
+ # includes/excludes in core.gyp
+ ['exclude', 'rendering/RenderThemeChromiumDefault\\.cpp$'],
+ ],
+ }],
+ ],
'conditions': [
['use_efl==1', {
'defines': [
--- /dev/null
+// Copyright 2014 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.
+
+// Define theme method to something else, because we want to have our own
+#define theme not_theme
+#include "third_party/WebKit/Source/core/rendering/RenderThemeChromiumDefault.cpp"
--- /dev/null
+// Copyright 2014 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.
+
+#include "config.h"
+#include "RenderThemeChromiumTizen.h"
+
+#include "TizenUserAgentStyleSheets.h"
+
+namespace blink {
+
+PassRefPtr<RenderTheme> RenderThemeChromiumTizen::create()
+{
+ return adoptRef(new RenderThemeChromiumTizen());
+}
+
+RenderTheme& RenderTheme::theme()
+{
+ DEFINE_STATIC_REF(RenderTheme, renderTheme, (RenderThemeChromiumTizen::create()));
+ return *renderTheme;
+}
+
+RenderThemeChromiumTizen::~RenderThemeChromiumTizen()
+{
+}
+
+String RenderThemeChromiumTizen::extraDefaultStyleSheet()
+{
+ return RenderThemeChromiumDefault::extraDefaultStyleSheet() +
+ String(themeChromiumTizenCss, sizeof(themeChromiumTizenCss));
+}
+
+} // namespace blink
--- /dev/null
+// Copyright 2014 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.
+
+#ifndef RenderThemeChromiumTizen_h
+#define RenderThemeChromiumTizen_h
+
+#include "core/rendering/RenderThemeChromiumDefault.h"
+
+namespace blink {
+
+class RenderThemeChromiumTizen final : public RenderThemeChromiumDefault {
+public:
+ static PassRefPtr<RenderTheme> create();
+ virtual String extraDefaultStyleSheet() override;
+
+ virtual bool delegatesMenuListRendering() const override { return true; }
+
+private:
+ virtual ~RenderThemeChromiumTizen();
+};
+
+} // namespace blink
+
+#endif // RenderThemeChromiumTizen_h
--- /dev/null
+{
+ 'targets': [{
+ 'target_name': 'tizen_theme',
+ 'type': 'static_library',
+
+ 'includes': [
+ # NOTE: gyp includes need to be relative
+ '../../src/build/common.gypi',
+ '../../src/third_party/WebKit/Source/build/features.gypi',
+ '../../src/skia/skia_common.gypi',
+ ],
+ 'dependencies': [
+ '<(chrome_src_dir)/third_party/WebKit/Source/core/core.gyp:webcore',
+ ],
+ 'include_dirs': [
+ '.',
+ '<(chrome_src_dir)',
+ '<(chrome_src_dir)/gpu',
+ '<(chrome_src_dir)/third_party/WebKit',
+ '<(chrome_src_dir)/third_party/WebKit/Source',
+ '<(chrome_src_dir)/third_party/skia/include/core',
+ '<(chrome_src_dir)/third_party/skia/include/utils',
+ '<(chrome_src_dir)/v8/include',
+ '<(SHARED_INTERMEDIATE_DIR)',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/',
+ '<(SHARED_INTERMEDIATE_DIR)/blink',
+ ],
+ 'defines': [
+ 'INSIDE_BLINK=1',
+ '<@(feature_defines)',
+ ],
+ 'sources': [
+ 'RenderThemeChromiumDefault_override.cpp',
+ 'RenderThemeChromiumTizen.cpp',
+ 'RenderThemeChromiumTizen.h',
+ '<(SHARED_INTERMEDIATE_DIR)/TizenUserAgentStyleSheetsData.cpp',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'TizenUserAgentStyleSheets',
+ 'variables': {
+ 'scripts': [
+ '<(chrome_src_dir)/third_party/WebKit/Source/build/scripts/make-file-arrays.py',
+ ],
+ 'stylesheets': [ 'themeChromiumTizen.css', ],
+ },
+ 'inputs': [
+ '<@(scripts)',
+ '<@(stylesheets)'
+ ],
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/TizenUserAgentStyleSheets.h',
+ '<(SHARED_INTERMEDIATE_DIR)/TizenUserAgentStyleSheetsData.cpp',
+ ],
+ 'action': [
+ 'python',
+ '<@(scripts)',
+ '--namespace',
+ 'blink',
+ '--out-h=<(SHARED_INTERMEDIATE_DIR)/TizenUserAgentStyleSheets.h',
+ '--out-cpp=<(SHARED_INTERMEDIATE_DIR)/TizenUserAgentStyleSheetsData.cpp',
+ '<@(stylesheets)',
+ ],
+ },
+ ], # actions
+ }],
+}
--- /dev/null
+/*
+ * Copyright (C) 2014 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Samsung Electronics Co., Ltd. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* These styles override other user-agent styles for Chromium. */
+
+select[size],
+select[multiple],
+select[size][multiple] {
+ -webkit-appearance: menulist;
+ align-items: center;
+ background-color: ButtonFace;
+ border: 1px solid #a9a9a9;
+ border-radius: initial;
+ white-space: pre;
+}