XWalk WebView patchset, README and LICENSE files.
[platform/framework/web/xwalk_webview.git] / patchset / 0026-Example-app-code-clean-up.patch
1 From 78c7d4c7b7f3737375643238d5cfaa84ca2e7d07 Mon Sep 17 00:00:00 2001
2 From: Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
3 Date: Wed, 14 Aug 2013 15:16:12 +0300
4 Subject: [PATCH 26/33] Example app code clean-up.
5
6 ---
7  efl_webview/efl_webview.gyp  |   2 +-
8  efl_webview/examples/main.c  | 179 ++++++++++++++++++++++++++++++++++++++++
9  efl_webview/examples/main.cc | 190 -------------------------------------------
10  3 files changed, 180 insertions(+), 191 deletions(-)
11  create mode 100644 efl_webview/examples/main.c
12  delete mode 100644 efl_webview/examples/main.cc
13
14 diff --git a/efl_webview/efl_webview.gyp b/efl_webview/efl_webview.gyp
15 index c71eb7b..630102b 100644
16 --- a/efl_webview/efl_webview.gyp
17 +++ b/efl_webview/efl_webview.gyp
18 @@ -114,7 +114,7 @@
19          '..',
20        ],
21        'sources': [
22 -        'examples/main.cc',
23 +        'examples/main.c',
24        ],
25        'conditions': [
26          ['toolkit_uses_efl == 1', {
27 diff --git a/efl_webview/examples/main.c b/efl_webview/examples/main.c
28 new file mode 100644
29 index 0000000..7f18e8d
30 --- /dev/null
31 +++ b/efl_webview/examples/main.c
32 @@ -0,0 +1,179 @@
33 +// Copyright (c) 2013 Intel Corporation. All rights reserved.
34 +// Use of this source code is governed by a BSD-style license that can be
35 +// found in the LICENSE file.
36 +
37 +#include <Ecore.h>
38 +#include <Ecore_Evas.h>
39 +#include <Elementary.h>
40 +
41 +#include "efl_webview/public/xwalk_main.h"
42 +#include "efl_webview/public/xwalk_view.h"
43 +
44 +static const char APP_NAME[] = "EFL WebView Example";
45 +
46 +static int window_width = 800;
47 +static int window_height = 600;
48 +
49 +static void
50 +on_back_button_clicked(void *user_data, Evas_Object *back_button,
51 +                       void *event_info)
52 +{
53 +  xwalk_view_back((Evas_Object*)user_data);
54 +}
55 +
56 +static void
57 +on_forward_button_clicked(void *user_data, Evas_Object *forward_button,
58 +                          void *event_info)
59 +{
60 +  xwalk_view_forward((Evas_Object*)user_data);
61 +}
62 +
63 +static void
64 +on_reload_button_clicked(void *user_data, Evas_Object *forward_button,
65 +                         void *event_info)
66 +{
67 +  xwalk_view_reload((Evas_Object*)user_data);
68 +}
69 +
70 +static void
71 +on_url_entry_activated(void *user_data, Evas_Object *url_entry,
72 +                       void *event_info)
73 +{
74 +  const char* url = elm_entry_entry_get(url_entry);
75 +  xwalk_view_url_set((Evas_Object*)user_data, url);
76 +}
77 +
78 +static void
79 +on_title_changed(void *user_data, Evas_Object *xwalk_view, void *event_info)
80 +{
81 +  const char *title = (const char *)event_info;
82 +  elm_win_title_set((Evas_Object*)user_data, title);
83 +}
84 +
85 +static void
86 +on_url_changed(void *user_data, Evas_Object *xwalk_view, void *event_info)
87 +{
88 +  char *url = elm_entry_utf8_to_markup((const char *)event_info);
89 +  elm_entry_entry_set((Evas_Object*)user_data, url);
90 +  free(url);
91 +}
92 +
93 +static void
94 +on_loadingstate_changed(void *user_data,
95 +                        Evas_Object *xwalk_view,
96 +                        void *event_info)
97 +{
98 +  elm_progressbar_pulse((Evas_Object*)user_data, *(Eina_Bool*)event_info);
99 +}
100 +
101 +static void window_create()
102 +{
103 +  /* Create elementary window */
104 +  Evas_Object* elm_window = elm_win_util_standard_add("efl-webview-window",
105 +                                                      APP_NAME);
106 +  elm_win_autodel_set(elm_window, EINA_TRUE);
107 +  elm_object_focus_allow_set(elm_window, EINA_TRUE);
108 +
109 +  /* Create vertical layout that holds navigation bar and webview area */
110 +  Evas_Object* vertical_layout = elm_box_add(elm_window);
111 +  elm_box_padding_set(vertical_layout, 0, 4);
112 +  evas_object_size_hint_weight_set(vertical_layout, EVAS_HINT_EXPAND,
113 +                                   EVAS_HINT_EXPAND);
114 +  elm_win_resize_object_add(elm_window, vertical_layout);
115 +  evas_object_show(vertical_layout);
116 +
117 +  /* Create horizontal layout for navigation bar */
118 +  Evas_Object* horizontal_layout = elm_box_add(elm_window);
119 +  elm_box_horizontal_set(horizontal_layout, EINA_TRUE);
120 +  evas_object_size_hint_weight_set(horizontal_layout, EVAS_HINT_EXPAND, 0.0);
121 +  evas_object_size_hint_align_set(horizontal_layout, EVAS_HINT_FILL, 0.0);
122 +  elm_box_pack_end(vertical_layout, horizontal_layout);
123 +  evas_object_show(horizontal_layout);
124 +
125 +  /* Create back button */
126 +  Evas_Object* back_button = elm_button_add(elm_window);
127 +  elm_object_text_set(back_button, "BACK");
128 +  elm_box_pack_end(horizontal_layout, back_button);
129 +  evas_object_show(back_button);
130 +
131 +  /* Create forward button */
132 +  Evas_Object* forward_button = elm_button_add(elm_window);
133 +  elm_object_text_set(forward_button, "FORWARD");
134 +  elm_box_pack_end(horizontal_layout, forward_button);
135 +  evas_object_show(forward_button);
136 +
137 +  /* Create reload button */
138 +  Evas_Object* reload_button = elm_button_add(elm_window);
139 +  elm_object_text_set(reload_button, "RELOAD");
140 +  elm_box_pack_end(horizontal_layout, reload_button);
141 +  evas_object_show(reload_button);
142 +
143 +  /* Create url entry widget */
144 +  Evas_Object* url_entry = elm_entry_add(elm_window);
145 +  elm_entry_single_line_set(url_entry, EINA_TRUE);
146 +  elm_entry_scrollable_set(url_entry, EINA_TRUE);
147 +  elm_entry_cnp_mode_set(url_entry, ELM_CNP_MODE_PLAINTEXT);
148 +  elm_entry_scrollbar_policy_set(url_entry, ELM_SCROLLER_POLICY_OFF,
149 +                                 ELM_SCROLLER_POLICY_OFF);
150 +  elm_entry_text_style_user_push(url_entry, "DEFAULT='font_size=16'");
151 +  evas_object_size_hint_weight_set(url_entry, EVAS_HINT_EXPAND,
152 +                                   EVAS_HINT_EXPAND);
153 +  evas_object_size_hint_align_set(url_entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
154 +  elm_box_pack_end(horizontal_layout, url_entry);
155 +  evas_object_show(url_entry);
156 +
157 +  Evas_Object* progress_bar = elm_progressbar_add(elm_window);
158 +  elm_progressbar_span_size_set(progress_bar, 10);
159 +  elm_progressbar_pulse_set(progress_bar, EINA_TRUE);
160 +  elm_progressbar_unit_format_set(progress_bar, NULL);
161 +  evas_object_size_hint_align_set(progress_bar, EVAS_HINT_FILL, 1);
162 +  evas_object_size_hint_weight_set(progress_bar, 0.01, EVAS_HINT_EXPAND);
163 +  elm_box_pack_end(horizontal_layout, progress_bar);
164 +  evas_object_show(progress_bar);
165 +
166 +  /* Create WebView */
167 +  Evas_Object* web_view = xwalk_view_add(evas_object_evas_get(elm_window));
168 +  evas_object_size_hint_weight_set(web_view, EVAS_HINT_EXPAND,
169 +                                   EVAS_HINT_EXPAND);
170 +  evas_object_size_hint_align_set(web_view, EVAS_HINT_FILL, EVAS_HINT_FILL);
171 +  elm_box_pack_end(vertical_layout, web_view);
172 +  elm_object_focus_set(web_view, EINA_TRUE);
173 +  evas_object_show(web_view);
174 +
175 +  evas_object_smart_callback_add(back_button, "clicked",
176 +                                 on_back_button_clicked, web_view);
177 +  evas_object_smart_callback_add(forward_button, "clicked",
178 +                                 on_forward_button_clicked, web_view);
179 +  evas_object_smart_callback_add(reload_button, "clicked",
180 +                                 on_reload_button_clicked, web_view);
181 +  evas_object_smart_callback_add(url_entry, "activated",
182 +                                 on_url_entry_activated, web_view);
183 +
184 +  evas_object_smart_callback_add(web_view, "title,changed",
185 +                                 on_title_changed, elm_window);
186 +  evas_object_smart_callback_add(web_view, "url,changed",
187 +                                 on_url_changed, url_entry);
188 +  evas_object_smart_callback_add(web_view, "loadingstate,changed",
189 +                                 on_loadingstate_changed, progress_bar);
190 +
191 +  evas_object_resize(elm_window, window_width, window_height);
192 +  evas_object_show(elm_window);
193 +}
194 +
195 +int main(int argc, char *argv[])
196 +{
197 +  // FIXME: Handle chrome command line and url.
198 +  // It is needed only in development stage.
199 +  xwalk_init(argc, argv);
200 +
201 +  elm_init(argc, argv);
202 +
203 +  elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
204 +
205 +  window_create();
206 +
207 +  elm_run();
208 +  elm_shutdown();
209 +
210 +  return 0;
211 +}
212 diff --git a/efl_webview/examples/main.cc b/efl_webview/examples/main.cc
213 deleted file mode 100644
214 index c0cbf4b..0000000
215 --- a/efl_webview/examples/main.cc
216 +++ /dev/null
217 @@ -1,190 +0,0 @@
218 -// Copyright (c) 2013 Intel Corporation. All rights reserved.
219 -// Use of this source code is governed by a BSD-style license that can be
220 -// found in the LICENSE file.
221 -
222 -#include <Ecore.h>
223 -#include <Ecore_Evas.h>
224 -#include <Elementary.h>
225 -
226 -#include "efl_webview/lib/process_main.h"
227 -#include "efl_webview/lib/webview.h"
228 -#include "efl_webview/public/xwalk_main.h"
229 -#include "efl_webview/public/xwalk_view.h"
230 -
231 -static const char APP_NAME[] = "EFL WebView Example";
232 -
233 -static int window_width = 800;
234 -static int window_height = 600;
235 -
236 -static void
237 -on_back_button_clicked(void *user_data, Evas_Object *back_button,
238 -                       void *event_info)
239 -{
240 -  xwalk_view_back((Evas_Object*)user_data);
241 -}
242 -
243 -static void
244 -on_forward_button_clicked(void *user_data, Evas_Object *forward_button,
245 -                          void *event_info)
246 -{
247 -  xwalk_view_forward((Evas_Object*)user_data);
248 -}
249 -
250 -static void
251 -on_reload_button_clicked(void *user_data, Evas_Object *forward_button,
252 -                         void *event_info)
253 -{
254 -  xwalk_view_reload((Evas_Object*)user_data);
255 -}
256 -
257 -static void
258 -on_url_entry_activated(void *user_data, Evas_Object *url_entry,
259 -                       void *event_info)
260 -{
261 -  const char* url = elm_entry_entry_get(url_entry);
262 -  xwalk_view_url_set((Evas_Object*)user_data, url);
263 -}
264 -
265 -static void
266 -on_progress(void *user_data, Evas_Object *xwalk_view, void *event_info)
267 -{
268 -  /* double progress = *(double *)event_info; */
269 -  /* FIXME : implement. */
270 -}
271 -
272 -static void
273 -on_title_changed(void *user_data, Evas_Object *xwalk_view, void *event_info)
274 -{
275 -    const char *title = (const char *)event_info;
276 -    elm_win_title_set((Evas_Object*)user_data, title);
277 -}
278 -
279 -static void
280 -on_url_changed(void *user_data, Evas_Object *xwalk_view, void *event_info)
281 -{
282 -    char *url = elm_entry_utf8_to_markup((const char *)event_info);
283 -    elm_entry_entry_set((Evas_Object*)user_data, url);
284 -    free(url);
285 -}
286 -
287 -static void
288 -on_loadingstate_changed(void *user_data,
289 -                        Evas_Object *xwalk_view,
290 -                        void *event_info)
291 -{
292 -  elm_progressbar_pulse((Evas_Object*)user_data, *(bool*)event_info);
293 -}
294 -
295 -static void window_create()
296 -{
297 -  /* Create elementary window */
298 -  Evas_Object* elm_window = elm_win_util_standard_add("efl-webview-window",
299 -                                                      APP_NAME);
300 -  elm_win_autodel_set(elm_window, EINA_TRUE);
301 -  elm_object_focus_allow_set(elm_window, EINA_TRUE);
302 -
303 -  /* Create vertical layout that holds navigation bar and webview area */
304 -  Evas_Object* vertical_layout = elm_box_add(elm_window);
305 -  elm_box_padding_set(vertical_layout, 0, 4);
306 -  evas_object_size_hint_weight_set(vertical_layout, EVAS_HINT_EXPAND,
307 -                                   EVAS_HINT_EXPAND);
308 -  elm_win_resize_object_add(elm_window, vertical_layout);
309 -  evas_object_show(vertical_layout);
310 -
311 -  /* Create horizontal layout for navigation bar */
312 -  Evas_Object* horizontal_layout = elm_box_add(elm_window);
313 -  elm_box_horizontal_set(horizontal_layout, EINA_TRUE);
314 -  evas_object_size_hint_weight_set(horizontal_layout, EVAS_HINT_EXPAND, 0.0);
315 -  evas_object_size_hint_align_set(horizontal_layout, EVAS_HINT_FILL, 0.0);
316 -  elm_box_pack_end(vertical_layout, horizontal_layout);
317 -  evas_object_show(horizontal_layout);
318 -
319 -  /* Create back button */
320 -  Evas_Object* back_button = elm_button_add(elm_window);
321 -  elm_object_text_set(back_button, "BACK");
322 -  elm_box_pack_end(horizontal_layout, back_button);
323 -  evas_object_show(back_button);
324 -
325 -  /* Create forward button */
326 -  Evas_Object* forward_button = elm_button_add(elm_window);
327 -  elm_object_text_set(forward_button, "FORWARD");
328 -  elm_box_pack_end(horizontal_layout, forward_button);
329 -  evas_object_show(forward_button);
330 -
331 -  /* Create reload button */
332 -  Evas_Object* reload_button = elm_button_add(elm_window);
333 -  elm_object_text_set(reload_button, "RELOAD");
334 -  elm_box_pack_end(horizontal_layout, reload_button);
335 -  evas_object_show(reload_button);
336 -
337 -  /* Create url entry widget */
338 -  Evas_Object* url_entry = elm_entry_add(elm_window);
339 -  elm_entry_single_line_set(url_entry, EINA_TRUE);
340 -  elm_entry_scrollable_set(url_entry, EINA_TRUE);
341 -  elm_entry_cnp_mode_set(url_entry, ELM_CNP_MODE_PLAINTEXT);
342 -  elm_entry_scrollbar_policy_set(url_entry, ELM_SCROLLER_POLICY_OFF,
343 -                                 ELM_SCROLLER_POLICY_OFF);
344 -  elm_entry_text_style_user_push(url_entry, "DEFAULT='font_size=16'");
345 -  evas_object_size_hint_weight_set(url_entry, EVAS_HINT_EXPAND,
346 -                                   EVAS_HINT_EXPAND);
347 -  evas_object_size_hint_align_set(url_entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
348 -  elm_box_pack_end(horizontal_layout, url_entry);
349 -  evas_object_show(url_entry);
350 -
351 -  Evas_Object* progress_bar = elm_progressbar_add(elm_window);
352 -  elm_progressbar_span_size_set(progress_bar, 10);
353 -  elm_progressbar_pulse_set(progress_bar, EINA_TRUE);
354 -  elm_progressbar_unit_format_set(progress_bar, NULL);
355 -  evas_object_size_hint_align_set(progress_bar, EVAS_HINT_FILL, 1);
356 -  evas_object_size_hint_weight_set(progress_bar, 0.01, EVAS_HINT_EXPAND);
357 -  elm_box_pack_end(horizontal_layout, progress_bar);
358 -  evas_object_show(progress_bar);
359 -
360 -  /* Create WebView */
361 -  Evas_Object* web_view = xwalk_view_add(evas_object_evas_get(elm_window));
362 -  evas_object_size_hint_weight_set(web_view, EVAS_HINT_EXPAND,
363 -                                   EVAS_HINT_EXPAND);
364 -  evas_object_size_hint_align_set(web_view, EVAS_HINT_FILL, EVAS_HINT_FILL);
365 -  elm_box_pack_end(vertical_layout, web_view);
366 -  elm_object_focus_set(web_view, EINA_TRUE);
367 -  evas_object_show(web_view);
368 -
369 -  evas_object_smart_callback_add(back_button, "clicked",
370 -                                 on_back_button_clicked, web_view);
371 -  evas_object_smart_callback_add(forward_button, "clicked",
372 -                                 on_forward_button_clicked, web_view);
373 -  evas_object_smart_callback_add(reload_button, "clicked",
374 -                                 on_reload_button_clicked, web_view);
375 -  evas_object_smart_callback_add(url_entry, "activated",
376 -                                 on_url_entry_activated, web_view);
377 -
378 -  evas_object_smart_callback_add(web_view, "load,progress",
379 -                                 on_progress, elm_window);
380 -  evas_object_smart_callback_add(web_view, "title,changed",
381 -                                 on_title_changed, elm_window);
382 -  evas_object_smart_callback_add(web_view, "url,changed",
383 -                                 on_url_changed, url_entry);
384 -  evas_object_smart_callback_add(web_view, "loadingstate,changed",
385 -                                 on_loadingstate_changed, progress_bar);
386 -
387 -  evas_object_resize(elm_window, window_width, window_height);
388 -  evas_object_show(elm_window);
389 -}
390 -
391 -int main(int argc, char *argv[])
392 -{
393 -  // FIXME: Handle chrome command line and url.
394 -  // It is needed only in development stage.
395 -  xwalk_init(argc, argv);
396 -
397 -  elm_init(argc, argv);
398 -
399 -  elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
400 -
401 -  window_create();
402 -
403 -  elm_run();
404 -  elm_shutdown();
405 -
406 -  return 0;
407 -}
408 -- 
409 1.8.1.2
410