summaryrefslogtreecommitdiffstats
path: root/WebKit/efl
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-05-11 18:35:50 +0100
committerBen Murdoch <benm@google.com>2010-05-14 10:23:05 +0100
commit21939df44de1705786c545cd1bf519d47250322d (patch)
treeef56c310f5c0cdc379c2abb2e212308a3281ce20 /WebKit/efl
parent4ff1d8891d520763f17675827154340c7c740f90 (diff)
downloadexternal_webkit-21939df44de1705786c545cd1bf519d47250322d.zip
external_webkit-21939df44de1705786c545cd1bf519d47250322d.tar.gz
external_webkit-21939df44de1705786c545cd1bf519d47250322d.tar.bz2
Merge Webkit at r58956: Initial merge by Git.
Change-Id: I1d9fb60ea2c3f2ddc04c17a871acdb39353be228
Diffstat (limited to 'WebKit/efl')
-rw-r--r--WebKit/efl/DefaultTheme/default.edc76
-rw-r--r--WebKit/efl/DefaultTheme/widget/button/button.edc176
-rw-r--r--WebKit/efl/DefaultTheme/widget/check/check.edc181
-rw-r--r--WebKit/efl/DefaultTheme/widget/combo/combo.edc306
-rw-r--r--WebKit/efl/DefaultTheme/widget/entry/entry.edc167
-rw-r--r--WebKit/efl/DefaultTheme/widget/file/file.edc148
-rw-r--r--WebKit/efl/DefaultTheme/widget/radio/radio.edc181
-rw-r--r--WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar.edc317
-rw-r--r--WebKit/efl/DefaultTheme/widget/search/cancel/search_cancel.edc131
-rw-r--r--WebKit/efl/DefaultTheme/widget/search/decoration/search_decoration.edc132
-rw-r--r--WebKit/efl/DefaultTheme/widget/search/field/search_field.edc151
-rw-r--r--WebKit/efl/EWebLauncher/main.c108
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp86
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.h21
-rw-r--r--WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp8
-rw-r--r--WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h1
-rw-r--r--WebKit/efl/ewebkit.pc.in12
-rw-r--r--WebKit/efl/ewk/ewk_frame.cpp49
-rw-r--r--WebKit/efl/ewk/ewk_main.cpp3
-rw-r--r--WebKit/efl/ewk/ewk_view.cpp4
20 files changed, 2119 insertions, 139 deletions
diff --git a/WebKit/efl/DefaultTheme/default.edc b/WebKit/efl/DefaultTheme/default.edc
new file mode 100644
index 0000000..7e0fe48
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/default.edc
@@ -0,0 +1,76 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+color_classes {
+ color_class {
+ name: "webkit/selection/active";
+ color: 255 255 255 255; /* foreground */
+ color2: 32 0 200 255; /* background */
+ }
+ color_class {
+ name: "webkit/selection/inactive";
+ color: 255 255 255 255; /* foreground */
+ color2: 128 0 255 128; /* background */
+ }
+ color_class {
+ name: "webkit/focus_ring";
+ color: 26 182 240 255; /* foreground */
+ /* no background, consider transparent */
+ }
+ color_class {
+ name: "webkit/button/text";
+ color: 32 32 32 255;
+ /* no background, consider transparent */
+ }
+ color_class {
+ name: "webkit/combo/text";
+ color: 32 32 32 255;
+ /* no background, consider transparent */
+ }
+ color_class {
+ name: "webkit/entry/text";
+ color: 32 32 32 255;
+ /* no background, consider transparent */
+ }
+ color_class {
+ name: "webkit/search/text";
+ color: 32 32 32 255;
+ /* no background, consider transparent */
+ }
+}
+
+collections {
+ group { name: "webkit/base";
+ /* specific colors and all, used to listen for color_class changes */
+ }
+
+#include "widget/button/button.edc"
+#include "widget/entry/entry.edc"
+#include "widget/scrollbar/scrollbar.edc"
+#include "widget/radio/radio.edc"
+#include "widget/check/check.edc"
+#include "widget/entry/entry.edc"
+#include "widget/combo/combo.edc"
+#include "widget/file/file.edc"
+#include "widget/search/field/search_field.edc"
+#include "widget/search/cancel/search_cancel.edc"
+#include "widget/search/decoration/search_decoration.edc"
+}
diff --git a/WebKit/efl/DefaultTheme/widget/button/button.edc b/WebKit/efl/DefaultTheme/widget/button/button.edc
new file mode 100644
index 0000000..603daa0
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/button/button.edc
@@ -0,0 +1,176 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+ group {
+ name: "webkit/widget/button";
+
+ images {
+ image: "widget/button/img_button_normal.png" COMP;
+ image: "widget/button/img_button_press.png" COMP;
+ image: "widget/button/img_button_hover.png" COMP;
+ image: "widget/button/img_button_focus.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"button", "default", 0.0);
+ if (get_int(isFocused) == 1) {
+ set_state(PART:"button", "focused", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"button", "pressed", 0.0);
+ }
+ else if (get_int(isHovered) == 1) {
+ set_state(PART:"button", "hovered", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"button", "pressed", 0.0);
+
+ }
+ }
+ else
+ set_state(PART:"button", "disabled", 0.0);
+ }
+ }
+
+ parts {
+
+ part {
+ name: "button";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ min: 25 10;
+ image {
+ normal: "widget/button/img_button_normal.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/button/img_button_press.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/button/img_button_hover.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/button/img_button_focus.png";
+ border: 6 6 6 6;
+ }
+ }
+ }
+
+ part {
+ name: "text_confinement";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 10 5;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -11 -6;
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "checked";
+ signal: "checked";
+ script {
+ set_int(isChecked, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+ }
diff --git a/WebKit/efl/DefaultTheme/widget/check/check.edc b/WebKit/efl/DefaultTheme/widget/check/check.edc
new file mode 100644
index 0000000..86490f6
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/check/check.edc
@@ -0,0 +1,181 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+ group {
+
+ name: "webkit/widget/checkbox";
+ min: 14 14;
+
+ images {
+ image: "widget/check/img_check_on.png" COMP;
+ image: "widget/check/img_check_off.png" COMP;
+ image: "widget/check/img_check_off_focus.png" COMP;
+ image: "widget/check/img_check_on_focus.png" COMP;
+ image: "widget/check/img_check_off_hover.png" COMP;
+ image: "widget/check/img_check_on_hover.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"check_button", "default", 0.0);
+ if (get_int(isChecked) == 1) {
+ set_state(PART:"check_button", "enabled_checked", 0.0);
+ if (get_int(isFocused) == 1)
+ set_state(PART:"check_button", "focus_checked", 0.0);
+ if (get_int(isHovered) == 1 && get_int(isFocused) == 0)
+ set_state(PART:"check_button", "hovered_checked", 0.0);
+ }
+ else {
+ if (get_int(isFocused) == 1)
+ set_state(PART:"check_button", "focused", 0.0);
+ if (get_int(isHovered) == 1 && get_int(isFocused) == 0)
+ set_state(PART:"check_button", "hovered", 0.0);
+ }
+ }
+ else {
+ set_state(PART:"check_button", "disabled", 0.0);
+ if (get_int(isChecked) == 1)
+ set_state(PART:"check_button", "disabled_checked", 0.0);
+ }
+ }
+ }
+
+ parts {
+ part {
+ name: "check_button";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ min: 14 14;
+ max: 14 14;
+ image {
+ normal: "widget/check/img_check_off.png";
+ }
+ }
+ description {
+ state: "enabled_checked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/check/img_check_on.png";
+ }
+ }
+ description {
+ state: "disabled_checked" 0.0;
+ inherit: "enabled_checked" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "hovered_checked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/check/img_check_on_hover.png";
+ }
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/check/img_check_off_hover.png";
+ }
+ }
+ description {
+ state: "focus_checked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/check/img_check_on_focus.png";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/check/img_check_off_focus.png";
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "checked";
+ signal: "checked";
+ script {
+ set_int(isChecked, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+ }
diff --git a/WebKit/efl/DefaultTheme/widget/combo/combo.edc b/WebKit/efl/DefaultTheme/widget/combo/combo.edc
new file mode 100644
index 0000000..9c436cc
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/combo/combo.edc
@@ -0,0 +1,306 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+group {
+ name: "webkit/widget/combo";
+
+ images {
+ image: "widget/combo/combo_normal.png" COMP;
+ image: "widget/combo/combo_normal_button.png" COMP;
+ image: "widget/combo/combo_hover.png" COMP;
+ image: "widget/combo/combo_hover_button.png" COMP;
+ image: "widget/combo/combo_focus.png" COMP;
+ image: "widget/combo/combo_focus_button.png" COMP;
+ image: "widget/combo/combo_press.png" COMP;
+ image: "widget/combo/combo_press_button.png" COMP;
+ image: "widget/combo/icon.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"combo", "default", 0.0);
+ set_state(PART:"combo_button", "default", 0.0);
+ set_state(PART:"combo_button_icon", "default", 0.0);
+ if (get_int(isFocused) == 1) {
+ set_state(PART:"combo", "focused", 0.0);
+ set_state(PART:"combo_button", "focused", 0.0);
+ if (get_int(isPressed) == 1) {
+ set_state(PART:"combo", "pressed", 0.0);
+ set_state(PART:"combo_button", "pressed", 0.0);
+ }
+ }
+ else if (get_int(isHovered) == 1) {
+ set_state(PART:"combo", "hovered", 0.0);
+ set_state(PART:"combo_button", "hovered", 0.0);
+ if (get_int(isPressed) == 1) {
+ set_state(PART:"combo", "pressed", 0.0);
+ set_state(PART:"combo_button", "pressed", 0.0);
+ }
+ }
+ }
+ else {
+ set_state(PART:"combo", "disabled", 0.0);
+ set_state(PART:"combo_button", "disabled", 0.0);
+ set_state(PART:"combo_button_icon", "disabled", 0.0);
+ }
+ }
+ }
+
+ parts {
+ part {
+ name: "clipper";
+ type: RECT;
+ description {
+ min: 35 27;
+ state: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "combo_clipper";
+ type: RECT;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ rel1.to: "clipper";
+ rel2 {
+ to: "clipper";
+ offset: -32 -1;
+ }
+ }
+ }
+
+ part {
+ name: "combo";
+ type: IMAGE;
+ clip_to: "combo_clipper";
+ description {
+ state: "default" 0.0;
+ min: 36 20;
+ image {
+ normal: "widget/combo/combo_normal.png";
+ border: 7 7 7 7;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/combo/combo_hover.png";
+ border: 7 7 7 7;
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/combo/combo_focus.png";
+ border: 7 7 7 7;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/combo/combo_press.png";
+ border: 7 7 7 7;
+ }
+ }
+ }
+
+ part {
+ name: "bt_combo_clipper";
+ type: RECT;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "combo_clipper";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "clipper";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+
+ part {
+ name: "combo_button";
+ type: IMAGE;
+ clip_to: "bt_combo_clipper";
+ description {
+ state: "default" 0.0;
+ min: 18 20; // 3 + 5 + image width (10), 5 + 5 + image height (10)
+ rel1.to: "bt_combo_clipper";
+ image {
+ normal: "widget/combo/combo_normal_button.png";
+ border: 3 5 5 5;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ rel1.to: "bt_combo_clipper";
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "bt_combo_clipper";
+ image {
+ normal: "widget/combo/combo_hover_button.png";
+ border: 3 5 5 5;
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "bt_combo_clipper";
+ image {
+ normal: "widget/combo/combo_focus_button.png";
+ border: 6 7 7 7;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "bt_combo_clipper";
+ image {
+ normal: "widget/combo/combo_press_button.png";
+ border: 6 8 8 8;
+ }
+ }
+ }
+
+
+ part {
+ name: "combo_button_icon";
+ type: IMAGE;
+ clip_to: "bt_combo_clipper";
+ description {
+ state: "default" 0.0;
+ min: 17 13;
+ max: 17 13;
+ color: 255 255 255 150;
+ rel1 {
+ to: "bt_combo_clipper";
+ relative: 0.5 0.5;
+ offset: 0 1;
+ }
+ rel2 {
+ to: "bt_combo_clipper";
+ relative: 0.5 0.5;
+ }
+ fixed: 1 1;
+ image {
+ normal: "widget/combo/icon.png";
+ border: 5 5 0 0;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 50;
+ image {
+ normal: "widget/combo/icon.png";
+ border: 5 5 0 0;
+ }
+ }
+ }
+
+ part {
+ name: "text_confinement";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ to: "combo_clipper";
+ offset: 10 5;
+ }
+ rel2 {
+ to: "combo_clipper";
+ offset: -6 -6;
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+}
diff --git a/WebKit/efl/DefaultTheme/widget/entry/entry.edc b/WebKit/efl/DefaultTheme/widget/entry/entry.edc
new file mode 100644
index 0000000..613ee59
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/entry/entry.edc
@@ -0,0 +1,167 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+ group {
+ name: "webkit/widget/entry";
+
+ images {
+ image: "widget/entry/img_normal.png" COMP;
+ image: "widget/entry/img_focused.png" COMP;
+ image: "widget/entry/img_hovered.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"entry", "default", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"entry", "pressed", 0.0);
+ if (get_int(isFocused) == 1)
+ set_state(PART:"entry", "focused", 0.0);
+ if (get_int(isHovered) == 1 && get_int(isFocused) == 0)
+ set_state(PART:"entry", "hovered", 0.0);
+ }
+ else
+ set_state(PART:"entry", "disabled", 0.0);
+ }
+
+ }
+
+ parts {
+ part {
+ name: "entry";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ min: 14 14;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "widget/entry/img_normal.png";
+ border: 7 7 7 7;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/entry/img_focused.png";
+ border: 7 7 7 7;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "focused" 0.0;
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "focused" 0.0;
+ image {
+ normal: "widget/entry/img_hovered.png";
+ border: 7 7 7 7;
+ }
+ }
+ }
+
+ part {
+ name: "text_confinement";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1.offset: 4 6; // <- 6 because of the blink cursor
+ rel2.offset: -4 -5; // <- due to the image
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "checked";
+ signal: "checked";
+ script {
+ set_int(isChecked, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+ }
diff --git a/WebKit/efl/DefaultTheme/widget/file/file.edc b/WebKit/efl/DefaultTheme/widget/file/file.edc
new file mode 100644
index 0000000..40afcc7
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/file/file.edc
@@ -0,0 +1,148 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+group {
+ name: "webkit/widget/file";
+
+ images {
+ image: "widget/file/file_normal.png" COMP;
+ image: "widget/file/file_hover.png" COMP;
+ image: "widget/file/file_focus.png" COMP;
+ image: "widget/file/file_press.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"file", "default", 0.0);
+ if (get_int(isFocused) == 1) {
+ set_state(PART:"file", "focused", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"file", "pressed", 0.0);
+ }
+ else if (get_int(isHovered) == 1) {
+ set_state(PART:"file", "hovered", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"file", "pressed", 0.0);
+
+ }
+ }
+ else
+ set_state(PART:"file", "disabled", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "file";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "widget/file/file_normal.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/file/file_hover.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/file/file_focus.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/file/file_press.png";
+ border: 8 8 8 8;
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+ }
diff --git a/WebKit/efl/DefaultTheme/widget/radio/radio.edc b/WebKit/efl/DefaultTheme/widget/radio/radio.edc
new file mode 100644
index 0000000..38a6da9
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/radio/radio.edc
@@ -0,0 +1,181 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+ group {
+ name: "webkit/widget/radio";
+ min: 16 16;
+
+ images {
+ image: "widget/radio/img_radio_on.png" COMP;
+ image: "widget/radio/img_radio_off.png" COMP;
+ image: "widget/radio/img_radio_on_focus.png" COMP;
+ image: "widget/radio/img_radio_off_focus.png" COMP;
+ image: "widget/radio/img_radio_on_hover.png" COMP;
+ image: "widget/radio/img_radio_off_hover.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"radio_button", "default", 0.0);
+ if (get_int(isChecked) == 1) {
+ set_state(PART:"radio_button", "enabled_checked", 0.0);
+ if (get_int(isFocused) == 1)
+ set_state(PART:"radio_button", "focus_checked", 0.0);
+ if (get_int(isHovered) == 1 && get_int(isFocused) == 0)
+ set_state(PART:"radio_button", "hovered_checked", 0.0);
+ }
+ else {
+ if (get_int(isFocused) == 1)
+ set_state(PART:"radio_button", "focused", 0.0);
+ if (get_int(isHovered) == 1 && get_int(isFocused) == 0)
+ set_state(PART:"radio_button", "hovered", 0.0);
+ }
+ }
+ else {
+ set_state(PART:"radio_button", "disabled", 0.0);
+ if (get_int(isChecked) == 1)
+ set_state(PART:"radio_button", "disabled_checked", 0.0);
+ }
+ }
+ }
+
+ parts {
+ part {
+ name: "radio_button";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 16 16;
+ image {
+ normal: "widget/radio/img_radio_off.png";
+ }
+ }
+ description {
+ state: "enabled_checked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/radio/img_radio_on.png";
+ }
+ }
+ description {
+ state: "disabled_checked" 0.0;
+ inherit: "enabled_checked" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "hovered_checked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/radio/img_radio_on_hover.png";
+ }
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/radio/img_radio_off_hover.png";
+ }
+ }
+ description {
+ state: "focus_checked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/radio/img_radio_on_focus.png";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/radio/img_radio_off_focus.png";
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "checked";
+ signal: "checked";
+ script {
+ set_int(isChecked, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+ }
diff --git a/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar.edc b/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar.edc
new file mode 100644
index 0000000..4f59784
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar.edc
@@ -0,0 +1,317 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+group {
+ name: "scrollbar.vertical";
+
+ min: 10 0; /* if > 0, this is the minimum size that will be allocated.
+ * If wants to draw on top, just overflow usign edje's rel1/rel2
+ */
+
+ images {
+ image: "widget/scrollbar/scrollbar_v.png" COMP;
+ image: "widget/scrollbar/scrollbar_knob_v.png" COMP;
+ }
+
+ script {
+ public hide_timer;
+
+ public hide_timer_cb(val) {
+ run_program(PROGRAM:"hide");
+ return 0;
+ }
+
+ public hide_timer_stop() {
+ new id = get_int(hide_timer);
+ if (id <= 0)
+ return;
+
+ cancel_timer(id);
+ set_int(hide_timer, 0);
+ }
+
+ public hide_timer_start() {
+ set_int(hide_timer, timer(1.0, "hide_timer_cb", 0));
+ }
+
+ public message(Msg_Type:type, id, ...) {
+ if ((id == 0) && (type == MSG_FLOAT_SET)) {
+ new Float:vy, Float:sy;
+
+ vy = getfarg(2);
+ sy = getfarg(3);
+
+ if (vy >= 0.0) {
+ set_drag_size(PART:"img.knob", 1.0, sy);
+ set_drag(PART:"img.knob", 0.0, vy);
+ run_program(PROGRAM:"show");
+ } else
+ run_program(PROGRAM:"hide");
+
+ hide_timer_stop();
+ hide_timer_start();
+ }
+ }
+
+ public update_drag_pos() {
+ new Float:x, Float:y;
+ get_drag(PART:"img.knob", x, y);
+ send_message(MSG_FLOAT, 1, y);
+ }
+ }
+
+ parts {
+ part {
+ name: "rect.base";
+ type: RECT;
+ description {
+ min: 10 0;
+ max: 10 999999;
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "rect.clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+
+ part {
+ name: "img.scrollbar";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "widget/scrollbar/scrollbar_v.png";
+ border: 0 0 6 6;
+ }
+ }
+ }
+
+ part {
+ name: "img.knob";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "rect.clipper";
+ dragable {
+ x: 0 0 0;
+ y: 1 1 0;
+ confine: "rect.base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 10 10;
+ max: 10 999999;
+ image {
+ normal: "widget/scrollbar/scrollbar_knob_v.png";
+ border: 0 0 6 6;
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "load";
+ signal: "load";
+ action: STATE_SET "hidden" 0.0;
+ target: "rect.clipper";
+ }
+ program {
+ name: "hide";
+ action: STATE_SET "hidden" 0.0;
+ transition: ACCELERATE 0.5;
+ target: "rect.clipper";
+ }
+
+ program {
+ name: "show";
+ action: STATE_SET "default" 0.0;
+ target: "rect.clipper";
+ }
+
+ program {
+ name: "dragged";
+ signal: "drag";
+ source: "img.knob";
+ script {
+ update_drag_pos();
+ }
+ }
+ }
+}
+
+group {
+ name: "scrollbar.horizontal";
+
+ min: 0 10; /* if > 0, this is the minimum size that will be allocated.
+ * If wants to draw on top, just overflow usign edje's rel1/rel2
+ */
+
+ images {
+ image: "widget/scrollbar/scrollbar_h.png" COMP;
+ image: "widget/scrollbar/scrollbar_knob_h.png" COMP;
+ }
+
+ script {
+ public hide_timer;
+
+ public hide_timer_cb(val) {
+ run_program(PROGRAM:"hide");
+ return 0;
+ }
+
+ public hide_timer_stop() {
+ new id = get_int(hide_timer);
+ if (id <= 0)
+ return;
+
+ cancel_timer(id);
+ set_int(hide_timer, 0);
+ }
+
+ public hide_timer_start() {
+ set_int(hide_timer, timer(1.0, "hide_timer_cb", 0));
+ }
+
+ public message(Msg_Type:type, id, ...) {
+ if ((id == 0) && (type == MSG_FLOAT_SET)) {
+ new Float:vx, Float:sx;
+
+ vx = getfarg(2);
+ sx = getfarg(3);
+
+ if (vx >= 0.0) {
+ set_drag_size(PART:"img.knob", sx, 1.0);
+ set_drag(PART:"img.knob", vx, 0.0);
+ run_program(PROGRAM:"show");
+ } else
+ run_program(PROGRAM:"hide");
+
+ hide_timer_stop();
+ hide_timer_start();
+ }
+ }
+
+ public update_drag_pos() {
+ new Float:x, Float:y;
+ get_drag(PART:"img.knob", x, y);
+ send_message(MSG_FLOAT, 1, x);
+ }
+ }
+
+ parts {
+ part {
+ name: "rect.base";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ min: 0 10;
+ max: 999999 10;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "rect.clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+
+ part {
+ name: "img.scrollbar";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "widget/scrollbar/scrollbar_h.png";
+ border: 6 6 0 0;
+ }
+ }
+ }
+
+ part {
+ name: "img.knob";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "rect.clipper";
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "rect.base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 10 10;
+ image {
+ normal: "widget/scrollbar/scrollbar_knob_h.png";
+ border: 6 6 0 0;
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "load";
+ signal: "load";
+ action: STATE_SET "hidden" 0.0;
+ target: "rect.clipper";
+ }
+ program {
+ name: "hide";
+ action: STATE_SET "hidden" 0.0;
+ transition: ACCELERATE 0.5;
+ target: "rect.clipper";
+ }
+
+ program {
+ name: "show";
+ action: STATE_SET "default" 0.0;
+ target: "rect.clipper";
+ }
+
+ program {
+ name: "dragged";
+ signal: "drag";
+ source: "img.knob";
+ script {
+ update_drag_pos();
+ }
+ }
+ }
+}
diff --git a/WebKit/efl/DefaultTheme/widget/search/cancel/search_cancel.edc b/WebKit/efl/DefaultTheme/widget/search/cancel/search_cancel.edc
new file mode 100644
index 0000000..d4a1a20
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/search/cancel/search_cancel.edc
@@ -0,0 +1,131 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+group {
+ name: "webkit/widget/search/cancel_button";
+ alias: "webkit/widget/search/results_button"; // TODO
+
+ images {
+ image: "widget/search/cancel/cancel_normal_button2.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"cancel_button", "default", 0.0);
+ if (get_int(isFocused) == 1)
+ set_state(PART:"cancel_button", "focused", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"cancel_button", "pressed", 0.0);
+ if (get_int(isHovered) == 1)
+ set_state(PART:"cancel_button", "hovered", 0.0);
+ }
+ else
+ set_state(PART:"cancel_button", "disabled", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "cancel_button";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ min: 21 20;
+ rel1.offset: 0 -6;
+ rel2.offset: -1 0;
+ image {
+ normal: "widget/search/cancel/cancel_normal_button2.png";
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+}
diff --git a/WebKit/efl/DefaultTheme/widget/search/decoration/search_decoration.edc b/WebKit/efl/DefaultTheme/widget/search/decoration/search_decoration.edc
new file mode 100644
index 0000000..4159138
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/search/decoration/search_decoration.edc
@@ -0,0 +1,132 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+group {
+ name: "webkit/widget/search/decoration";
+ alias: "webkit/widget/search/results_decoration"; //TODO
+
+ images {
+ image: "widget/search/decoration/decoration_normal_button.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"decoration", "default", 0.0);
+ if (get_int(isFocused) == 1)
+ set_state(PART:"decoration", "focused", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"decoration", "pressed", 0.0);
+ if (get_int(isHovered) == 1)
+ set_state(PART:"decoration", "hovered", 0.0);
+ }
+ else
+ set_state(PART:"decoration", "disabled", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "decoration";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ min: 20 20;
+ rel1.offset: 0 -4;
+ rel2.offset: -1 0;
+ image {
+ normal: "widget/search/decoration/decoration_normal_button.png";
+ border: 0 0 8 8;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+}
diff --git a/WebKit/efl/DefaultTheme/widget/search/field/search_field.edc b/WebKit/efl/DefaultTheme/widget/search/field/search_field.edc
new file mode 100644
index 0000000..e9be229
--- /dev/null
+++ b/WebKit/efl/DefaultTheme/widget/search/field/search_field.edc
@@ -0,0 +1,151 @@
+/*
+ Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
+ Copyright (C) 2009,2010 ProFUSION embedded systems
+ Copyright (C) 2009,2010 Samsung Electronics
+
+ This file is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+group {
+ name: "webkit/widget/search/field";
+
+ images {
+ image: "widget/search/field/field_normal.png" COMP;
+ image: "widget/search/field/field_focused.png" COMP;
+ image: "widget/search/field/field_hovered.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isChecked;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"search_field", "default", 0.0);
+ if (get_int(isFocused) == 1)
+ set_state(PART:"search_field", "focused", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"search_field", "pressed", 0.0);
+ if (get_int(isFocused) == 0 && get_int(isHovered) == 1)
+ set_state(PART:"search_field", "hovered", 0.0);
+ }
+ else
+ set_state(PART:"search_field", "disabled", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "search_field";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ min: 89 20;
+ image {
+ normal: "widget/search/field/field_normal.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "widget/search/field/field_focused.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "hovered" 0.0;
+ inherit: "focused" 0.0;
+ image {
+ normal: "widget/search/field/field_hovered.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "focused" 0.0;
+ }
+ }
+
+ part {
+ name: "text_confinement";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1.offset: 4 6; // <- 6 because of the blink cursor
+ rel2.offset: -4 -5; // <- due to the image
+ }
+ }
+
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isChecked, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
+ }
+ }
+ }
+ }
diff --git a/WebKit/efl/EWebLauncher/main.c b/WebKit/efl/EWebLauncher/main.c
index 6a9e4fb..b0c64bf 100644
--- a/WebKit/efl/EWebLauncher/main.c
+++ b/WebKit/efl/EWebLauncher/main.c
@@ -31,7 +31,6 @@
#include <ctype.h>
#include <Ecore.h>
-#include <Ecore_Data.h>
#include <Ecore_Evas.h>
#include <Ecore_File.h>
#include <Ecore_Getopt.h>
@@ -42,6 +41,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
@@ -54,8 +54,6 @@
printf(format, ##args); \
} while (0)
-#define REL_THEME_PATH "../../../WebKit/efl/DefaultTheme/default.edj"
-
#define MIN_ZOOM_LEVEL 0
#define DEFAULT_ZOOM_LEVEL 5
#define MAX_ZOOM_LEVEL 13
@@ -136,11 +134,11 @@ typedef struct _ELauncher {
const char *userAgent;
} ELauncher;
-void browserDestroy(Ecore_Evas *ee);
-void closeWindow(Ecore_Evas *ee);
-int browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Rectangle geometry, const char *engine, unsigned char isFullscreen);
+static void browserDestroy(Ecore_Evas *ee);
+static void closeWindow(Ecore_Evas *ee);
+static int browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Rectangle geometry, const char *engine, unsigned char isFullscreen);
-void
+static void
print_history(Eina_List *list)
{
Eina_List *l;
@@ -173,7 +171,7 @@ print_history(Eina_List *list)
}
}
-void
+static void
zoom_level_set(Evas_Object *webview, int level)
{
float factor = ((float) zoomLevels[level]) / 100.0;
@@ -185,53 +183,6 @@ zoom_level_set(Evas_Object *webview, int level)
ewk_view_zoom_animated_set(webview, factor, 0.5, cx, cy);
}
-char*
-join_path(const char *base, const char *path)
-{
- char separator[] = "/";
-
- char tmp[PATH_MAX + 1];
- char result[PATH_MAX + 1];
- result[0] = tmp[0] = '\0';
-
- char *str = strdup(path);
-
- char *token = NULL;
- token = strtok(str, separator);
- int count = 0;
- do {
- if (!strcmp(token, ".."))
- count++;
- else
- strcat(tmp, token);
- token = strtok(NULL, separator);
- if (!token)
- break;
- if (tmp[0])
- strcat(tmp, separator);
- } while (EINA_TRUE);
-
- free(str);
- str = strdup(base);
-
- char *base_ptr;
- while (count--) {
- base_ptr = strrchr(str, separator[0]);
- if (!base_ptr) {
- free(str);
- return NULL; // couldn't resolve path
- }
- *base_ptr = '\0';
- }
-
- strcat(result, str);
- strcat(result, separator);
- strcat(result, tmp);
- free(str);
-
- return strdup(result);
-}
-
static void
on_ecore_evas_resize(Ecore_Evas *ee)
{
@@ -394,7 +345,7 @@ on_tooltip_text_set(void* user_data, Evas_Object* webview, void* event_info)
info("%s\n", text);
}
-void
+static void
on_mouse_down(void* data, Evas* e, Evas_Object* webview, void* event_info)
{
Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down*) event_info;
@@ -402,19 +353,19 @@ on_mouse_down(void* data, Evas* e, Evas_Object* webview, void* event_info)
evas_object_focus_set(webview, !evas_object_focus_get(webview));
}
-void
+static void
on_focus_out(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
info("the webview lost keyboard focus\n");
}
-void
+static void
on_focus_in(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
info("the webview gained keyboard focus\n");
}
-void
+static void
on_resized(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Coord w, h;
@@ -422,7 +373,7 @@ on_resized(void *data, Evas *e, Evas_Object *obj, void *event_info)
ewk_view_fixed_layout_size_set(obj, w, h);
}
-void
+static void
on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Event_Key_Down *ev = (Evas_Event_Key_Down*) event_info;
@@ -530,7 +481,7 @@ on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
}
}
-void
+static void
on_browser_del(void *data, Evas *evas, Evas_Object *browser, void *event)
{
ELauncher *app = (ELauncher*) data;
@@ -542,13 +493,13 @@ on_browser_del(void *data, Evas *evas, Evas_Object *browser, void *event)
evas_object_event_callback_del(app->browser, EVAS_CALLBACK_DEL, on_browser_del);
}
-void
+static void
on_closeWindow(Ecore_Evas *ee)
{
browserDestroy(ee);
}
-int
+static int
quit(Eina_Bool success, const char *msg)
{
edje_shutdown();
@@ -565,7 +516,7 @@ quit(Eina_Bool success, const char *msg)
return EXIT_SUCCESS;
}
-int
+static int
browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Rectangle geometry, const char *engine, unsigned char isFullscreen)
{
if ((geometry.w <= 0) && (geometry.h <= 0)) {
@@ -653,7 +604,7 @@ browserCreate(const char *url, const char *theme, const char *userAgent, Eina_Re
return 1;
}
-void
+static void
browserDestroy(Ecore_Evas *ee)
{
ecore_evas_free(ee);
@@ -661,7 +612,7 @@ browserDestroy(Ecore_Evas *ee)
ecore_main_loop_quit();
}
-void
+static void
closeWindow(Ecore_Evas *ee)
{
Eina_List *l;
@@ -690,6 +641,29 @@ main_signal_exit(void *data, int ev_type, void *ev)
return 1;
}
+static char *
+findThemePath(void)
+{
+ const char **itr, *locations[] = {
+ "./default.edj",
+ "./WebKit/efl/DefaultTheme/default.edj",
+ "../WebKit/efl/DefaultTheme/default.edj",
+ DATA_DIR"/themes/default.edj",
+ NULL
+ };
+
+ for (itr = locations; *itr; itr++) {
+ struct stat st;
+ if (!stat(*itr, &st)) {
+ char path[PATH_MAX];
+ if (realpath(*itr, path))
+ return strdup(path);
+ }
+ }
+
+ return NULL;
+}
+
int
main(int argc, char *argv[])
{
@@ -750,7 +724,7 @@ main(int argc, char *argv[])
if (sudoWorkaround)
strcat(getenv("HOME"), "blah");
- themePath = join_path(argv[0], REL_THEME_PATH);
+ themePath = findThemePath();
ewk_init();
tmp = getenv("TMPDIR");
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
index 1174f83..31b53c8 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
@@ -49,7 +49,7 @@
using namespace WebCore;
-static inline Evas_Object* kit(WebCore::Frame* frame)
+static inline Evas_Object* kit(Frame* frame)
{
if (!frame)
return 0;
@@ -60,7 +60,7 @@ static inline Evas_Object* kit(WebCore::Frame* frame)
namespace WebCore {
-ChromeClientEfl::ChromeClientEfl(Evas_Object *view)
+ChromeClientEfl::ChromeClientEfl(Evas_Object* view)
: m_view(view)
{
}
@@ -213,7 +213,7 @@ bool ChromeClientEfl::canRunBeforeUnloadConfirmPanel()
return true;
}
-bool ChromeClientEfl::runBeforeUnloadConfirmPanel(const String& message, WebCore::Frame* frame)
+bool ChromeClientEfl::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
{
return runJavaScriptConfirm(frame, message);
}
@@ -274,31 +274,11 @@ IntRect ChromeClientEfl::windowResizerRect() const
return IntRect();
}
-void ChromeClientEfl::repaint(const IntRect& windowRect, bool contentChanged, bool immediate, bool repaintContentOnly)
-{
- Evas_Coord x, y, w, h;
-
- if (!contentChanged)
- return;
-
- x = windowRect.x();
- y = windowRect.y();
- w = windowRect.width();
- h = windowRect.height();
- ewk_view_repaint(m_view, x, y, w, h);
-}
-
void ChromeClientEfl::contentsSizeChanged(Frame* frame, const IntSize& size) const
{
ewk_frame_contents_size_changed(kit(frame), size.width(), size.height());
}
-bool ChromeClientEfl::scroll(const IntSize& delta, const IntRect& scrollViewRect, const IntRect& clipRect, bool canBlit, bool isMainFrame)
-{
- ewk_view_scroll(m_view, delta.width(), delta.height(), scrollViewRect.x(), scrollViewRect.y(), scrollViewRect.width(), scrollViewRect.height(), clipRect.x(), clipRect.y(), clipRect.width(), clipRect.height(), isMainFrame);
- return canBlit;
-}
-
IntRect ChromeClientEfl::windowToScreen(const IntRect& rect) const
{
notImplemented();
@@ -327,7 +307,7 @@ void ChromeClientEfl::mouseDidMoveOverElement(const HitTestResult& hit, unsigned
if (isLink) {
KURL url = hit.absoluteLinkURL();
if (!url.isEmpty() && url != m_hoveredLinkURL) {
- const char *link[2];
+ const char* link[2];
TextDirection dir;
CString urlStr = url.prettyURL().utf8();
CString titleStr = hit.title(dir).utf8();
@@ -370,7 +350,7 @@ void ChromeClientEfl::exceededDatabaseQuota(Frame* frame, const String& database
ewk_view_exceeded_database_quota(m_view, kit(frame), databaseName.utf8().data());
}
-void ChromeClientEfl::runOpenPanel(Frame*, PassRefPtr<FileChooser> prpFileChooser)
+void ChromeClientEfl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> prpFileChooser)
{
notImplemented();
}
@@ -392,4 +372,60 @@ void ChromeClientEfl::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
notImplemented();
}
+void ChromeClientEfl::cancelGeolocationPermissionRequestForFrame(Frame*, Geolocation*)
+{
+ notImplemented();
+}
+
+void ChromeClientEfl::cancelGeolocationPermissionForFrame(Frame*, Geolocation*)
+{
+ notImplemented();
+}
+
+void ChromeClientEfl::invalidateContents(const IntRect& updateRect, bool immediate)
+{
+ notImplemented();
+}
+
+void ChromeClientEfl::invalidateWindow(const IntRect& updateRect, bool immediate)
+{
+ notImplemented();
+}
+
+void ChromeClientEfl::invalidateContentsAndWindow(const IntRect& updateRect, bool immediate)
+{
+ Evas_Coord x, y, w, h;
+
+ x = updateRect.x();
+ y = updateRect.y();
+ w = updateRect.width();
+ h = updateRect.height();
+ ewk_view_repaint(m_view, x, y, w, h);
+}
+
+void ChromeClientEfl::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
+{
+ invalidateContentsAndWindow(updateRect, immediate);
+}
+
+void ChromeClientEfl::scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect)
+{
+ ewk_view_scroll(m_view, scrollDelta.width(), scrollDelta.height(), rectToScroll.x(), rectToScroll.y(), rectToScroll.width(), rectToScroll.height(), clipRect.x(), clipRect.y(), clipRect.width(), clipRect.height(), EINA_TRUE);
+}
+
+void ChromeClientEfl::cancelGeolocationPermissionRequestForFrame(Frame*)
+{
+ notImplemented();
+}
+
+void ChromeClientEfl::iconForFiles(const Vector<String, 0u>&, PassRefPtr<FileChooser>)
+{
+ notImplemented();
+}
+
+void ChromeClientEfl::chooseIconForFiles(const Vector<String>&, FileChooser*)
+{
+ notImplemented();
+}
+
}
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
index 0e17806..8df8483 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
@@ -31,7 +31,7 @@ namespace WebCore {
class ChromeClientEfl : public ChromeClient {
public:
- explicit ChromeClientEfl(Evas_Object *view);
+ explicit ChromeClientEfl(Evas_Object* view);
virtual ~ChromeClientEfl();
virtual void chromeDestroyed();
@@ -49,7 +49,7 @@ public:
virtual bool canTakeFocus(FocusDirection);
virtual void takeFocus(FocusDirection);
- virtual void focusedNodeChanged(WebCore::Node*);
+ virtual void focusedNodeChanged(Node*);
virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&);
virtual void show();
@@ -88,9 +88,7 @@ public:
virtual IntRect windowResizerRect() const;
- virtual void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
virtual void contentsSizeChanged(Frame*, const IntSize&) const;
- virtual bool scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect, bool canBlit, bool isMainFrame);
virtual IntPoint screenToWindow(const IntPoint&) const;
virtual IntRect windowToScreen(const IntRect&) const;
virtual PlatformPageClient platformPageClient() const;
@@ -111,6 +109,7 @@ public:
#endif
virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
+ virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);
virtual void formStateDidChange(const Node*);
virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
@@ -120,8 +119,18 @@ public:
virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const {}
virtual void requestGeolocationPermissionForFrame(Frame*, Geolocation*);
-
- Evas_Object *m_view;
+ virtual void cancelGeolocationPermissionRequestForFrame(Frame*, Geolocation*);
+ virtual void cancelGeolocationPermissionForFrame(Frame*, Geolocation*);
+
+ virtual void invalidateContents(const IntRect&, bool);
+ virtual void invalidateWindow(const IntRect&, bool);
+ virtual void invalidateContentsAndWindow(const IntRect&, bool);
+ virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
+ virtual void scroll(const IntSize&, const IntRect&, const IntRect&);
+ virtual void cancelGeolocationPermissionRequestForFrame(Frame*);
+ virtual void iconForFiles(const Vector<String, 0u>&, PassRefPtr<FileChooser>);
+
+ Evas_Object* m_view;
KURL m_hoveredLinkURL;
};
}
diff --git a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
index 8a7fd2d..2358fab 100644
--- a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
@@ -188,7 +188,7 @@ void FrameLoaderClientEfl::committedLoad(DocumentLoader* loader, const char* dat
FrameLoader* fl = loader->frameLoader();
if (m_firstData) {
- fl->setEncoding(m_response.textEncodingName(), false);
+ fl->writer()->setEncoding(m_response.textEncodingName(), false);
m_firstData = false;
}
fl->addData(data, length);
@@ -666,7 +666,7 @@ void FrameLoaderClientEfl::finishedLoading(DocumentLoader* loader)
if (!m_pluginView) {
if (m_firstData) {
FrameLoader* fl = loader->frameLoader();
- fl->setEncoding(m_response.textEncodingName(), false);
+ fl->writer()->setEncoding(m_response.textEncodingName(), false);
m_firstData = false;
}
} else {
@@ -711,7 +711,7 @@ void FrameLoaderClientEfl::dispatchDidFailLoading(DocumentLoader* loader, unsign
{
if (m_firstData) {
FrameLoader* fl = loader->frameLoader();
- fl->setEncoding(m_response.textEncodingName(), false);
+ fl->writer()->setEncoding(m_response.textEncodingName(), false);
m_firstData = false;
}
@@ -829,7 +829,7 @@ void FrameLoaderClientEfl::setMainDocumentError(DocumentLoader* loader, const Re
{
if (!m_pluginView) {
if (m_firstData) {
- loader->frameLoader()->setEncoding(m_response.textEncodingName(), false);
+ loader->frameLoader()->writer()->setEncoding(m_response.textEncodingName(), false);
m_firstData = false;
}
} else {
diff --git a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
index 47b5621..581ec85 100644
--- a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
@@ -121,6 +121,7 @@ class FrameLoaderClientEfl : public FrameLoaderClient {
virtual void dispatchUnableToImplementPolicy(const ResourceError&);
+ virtual void dispatchWillSendSubmitEvent(HTMLFormElement*) { }
virtual void dispatchWillSubmitForm(FramePolicyFunction, WTF::PassRefPtr<FormState>);
virtual void dispatchDidLoadMainResource(DocumentLoader*);
diff --git a/WebKit/efl/ewebkit.pc.in b/WebKit/efl/ewebkit.pc.in
index 24f66e8..f58e5bf 100644
--- a/WebKit/efl/ewebkit.pc.in
+++ b/WebKit/efl/ewebkit.pc.in
@@ -1,11 +1,11 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
Name: WebKit-EFL
Description: Web content engine for EFL applications
-Version: @VERSION@
+Version: @PROJECT_VERSION@
Requires: cairo evas ecore
-Libs: -L${libdir} -lewebkit
+Libs: -L${libdir} -lewebkit @EXTRA_EWEBKIT_LINK@
Cflags: -I${includedir}/EWebKit
diff --git a/WebKit/efl/ewk/ewk_frame.cpp b/WebKit/efl/ewk/ewk_frame.cpp
index 73d1d29..5e93a05 100644
--- a/WebKit/efl/ewk/ewk_frame.cpp
+++ b/WebKit/efl/ewk/ewk_frame.cpp
@@ -988,7 +988,12 @@ Eina_Bool ewk_frame_zoom_set(Evas_Object* o, float zoom)
{
EWK_FRAME_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, EINA_FALSE);
- sd->frame->setZoomFactor(zoom, sd->zoom_text_only);
+ WebCore::ZoomMode zoomMode;
+ if (sd->zoom_text_only)
+ zoomMode = WebCore::ZoomTextOnly;
+ else
+ zoomMode = WebCore::ZoomPage;
+ sd->frame->setZoomFactor(zoom, zoomMode);
return EINA_TRUE;
}
@@ -1022,7 +1027,12 @@ Eina_Bool ewk_frame_zoom_text_only_set(Evas_Object* o, Eina_Bool setting)
return EINA_TRUE;
sd->zoom_text_only = setting;
- sd->frame->setZoomFactor(sd->frame->zoomFactor(), setting);
+ WebCore::ZoomMode zoomMode;
+ if (sd->zoom_text_only)
+ zoomMode = WebCore::ZoomTextOnly;
+ else
+ zoomMode = WebCore::ZoomPage;
+ sd->frame->setZoomFactor(sd->frame->zoomFactor(), zoomMode);
return EINA_TRUE;
}
@@ -1424,45 +1434,45 @@ static inline Eina_Bool _ewk_frame_handle_key_scrolling(WebCore::Frame* frame, c
int keyCode = event.windowsVirtualKeyCode();
switch (keyCode) {
- case WebCore::VK_SPACE:
+ case VK_SPACE:
granularity = WebCore::ScrollByPage;
if (event.shiftKey())
direction = WebCore::ScrollUp;
else
direction = WebCore::ScrollDown;
break;
- case WebCore::VK_NEXT:
+ case VK_NEXT:
granularity = WebCore::ScrollByPage;
direction = WebCore::ScrollDown;
break;
- case WebCore::VK_PRIOR:
+ case VK_PRIOR:
granularity = WebCore::ScrollByPage;
direction = WebCore::ScrollUp;
break;
- case WebCore::VK_HOME:
+ case VK_HOME:
granularity = WebCore::ScrollByDocument;
direction = WebCore::ScrollUp;
break;
- case WebCore::VK_END:
+ case VK_END:
granularity = WebCore::ScrollByDocument;
direction = WebCore::ScrollDown;
break;
- case WebCore::VK_LEFT:
+ case VK_LEFT:
granularity = WebCore::ScrollByLine;
direction = WebCore::ScrollLeft;
break;
- case WebCore::VK_RIGHT:
+ case VK_RIGHT:
granularity = WebCore::ScrollByLine;
direction = WebCore::ScrollRight;
break;
- case WebCore::VK_UP:
+ case VK_UP:
direction = WebCore::ScrollUp;
if (event.ctrlKey())
granularity = WebCore::ScrollByDocument;
else
granularity = WebCore::ScrollByLine;
break;
- case WebCore::VK_DOWN:
+ case VK_DOWN:
direction = WebCore::ScrollDown;
if (event.ctrlKey())
granularity = WebCore::ScrollByDocument;
@@ -1823,22 +1833,5 @@ void ewk_frame_force_layout(Evas_Object* o)
WTF::PassRefPtr<WebCore::Widget> ewk_frame_plugin_create(Evas_Object* o, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WebCore::String>& paramNames, const WTF::Vector<WebCore::String>& paramValues, const WebCore::String& mimeType, bool loadManually)
{
- DBG("o=%p, size=%dx%d, element=%p, url=%s, mimeType=%s",
- o, pluginSize.width(), pluginSize.height(), element,
- url.prettyURL().utf8().data(), mimeType.utf8().data());
-
- EWK_FRAME_SD_GET_OR_RETURN(o, sd, 0);
-
- // TODO: emit signal and ask webkit users if something else should be done.
- // like creating another x window (see gtk, it allows users to create
- // GtkPluginWidget.
-
- WTF::RefPtr<WebCore::PluginView> pluginView = WebCore::PluginView::create
- (sd->frame, pluginSize, element, url, paramNames, paramValues,
- mimeType, loadManually);
-
- if (pluginView->status() == WebCore::PluginStatusLoadedSuccessfully)
- return pluginView;
-
return 0;
}
diff --git a/WebKit/efl/ewk/ewk_main.cpp b/WebKit/efl/ewk/ewk_main.cpp
index 2c69b36..ee9a656 100644
--- a/WebKit/efl/ewk/ewk_main.cpp
+++ b/WebKit/efl/ewk/ewk_main.cpp
@@ -24,9 +24,9 @@
#include "EWebKit.h"
#include "Logging.h"
#include "PageCache.h"
-#include "PageGroup.h"
#include "ewk_private.h"
#include "runtime/InitializeThreading.h"
+#include "wtf/Threading.h"
#include <Ecore.h>
#include <Ecore_Evas.h>
@@ -103,6 +103,7 @@ int ewk_init(void)
#endif
JSC::initializeThreading();
+ WTF::initializeMainThread();
WebCore::InitializeLoggingChannelsIfNecessary();
// Page cache capacity (in pages). Comment from Mac port:
diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp
index eeb6535..d981459 100644
--- a/WebKit/efl/ewk/ewk_view.cpp
+++ b/WebKit/efl/ewk/ewk_view.cpp
@@ -494,7 +494,7 @@ static WTF::PassRefPtr<WebCore::Frame> _ewk_view_core_frame_new(Ewk_View_Smart_D
return WebCore::Frame::create(priv->page, owner, flc);
}
-static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_0;
+static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_NULL;
static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd)
{
@@ -1392,7 +1392,7 @@ char* ewk_view_selection_get(const Evas_Object* o)
{
EWK_VIEW_SD_GET_OR_RETURN(o, sd, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, 0);
- WebCore::CString s = priv->page->focusController()->focusedOrMainFrame()->selectedText().utf8();
+ WTF::CString s = priv->page->focusController()->focusedOrMainFrame()->selectedText().utf8();
if (s.isNull())
return 0;
return strdup(s.data());