platform/framework/web/chromium-efl.git
6 years ago[EWK_REFACTOR bug] Remove EWebView::ScrollFocusedEditableNode()
hh4813.kim [Wed, 15 Apr 2015 07:48:57 +0000 (16:48 +0900)]
[EWK_REFACTOR bug] Remove EWebView::ScrollFocusedEditableNode()

IMContextEfl calls RWHV::ScrollFocusedEditableNode() directly, not via EWebView.
So, we don't need EWebView::ScrollFocusedEditableNode() any more.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12028

Change-Id: I7c7a5b979d7ff12ef5a036bc36361248c209764a
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
6 years agoFix 'nodebug' GBS option
Antonio Gomes [Wed, 15 Apr 2015 03:08:56 +0000 (12:08 +0900)]
Fix 'nodebug' GBS option

On current TV and Mobile GBS builds, our CFLAGS and CXXFLAGS
are set with -g2 option (for debug symbols control) and our
current regex to cut the off are poor.

Patch robusty it by some, and make it possible to have
nodebug GBS builds again. On TV GBS builds, for instance,
libchromium-ewk.so went down from 1.4Gb to 50Mb.

Change-Id: Ic518c3d3db5051a2c78b1d7830f9d34b1f2c2f2b

6 years agoEnable sound effect when tapping on a link
Arnaud Renevier [Fri, 10 Apr 2015 22:25:51 +0000 (15:25 -0700)]
Enable sound effect when tapping on a link

Previously, we were handling tap event in browser process. So, we had to
send a hit test request to the render process, which replied with a hit
test result.

In order to avoid that, we perform that hit test in the render process,
in RenderViewObserver::DidHandleGestureEvent method. If we tap on a
link, we ask the browser process to play a link effect sound.

Change-Id: I74710c8eff2f60bca831b1545832348c332ee269
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoUpdate our fetch procedure to point to src/DEPS
Antonio Gomes [Tue, 14 Apr 2015 10:18:35 +0000 (19:18 +0900)]
Update our fetch procedure to point to src/DEPS

Now that chromium switched over to Git, the old
SVN based .DEPS.git does not exist anymore.

This should also fix out fetch/pull procedure
through gclient sync.

Change-Id: Ib576ddd1ff1d46f56067203e6910c49dd69340b6
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoSettings are not applied if set before an url is loaded
Arnaud Renevier [Tue, 31 Mar 2015 18:53:35 +0000 (11:53 -0700)]
Settings are not applied if set before an url is loaded

When applying settings (for example by calling
ewk_settings_scripts_window_open_set) before an url has been set, the
settings are not applied. This is because RenderView has not been
created in the render process. And therefore, the ipc messages are not
catched.

This patch fixes the problem by using using a set of delayed messages in
EWebView. Those messages will be send once RenderView is created.

ewk_view_mode_set also has the same issue, and the patch fixes the
problem.

Some actions do not make sense if no url is loaded (for example setting
scroll position). For some other actions, I don't have an opinion at the
moment (for example setting scale).

Change-Id: I4940d25a998c3f1bd7d940285a851dbd645e27bf
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years ago[beta-merge] Unify build_mobile.sh and build_desktop.sh arguments
Arnaud Renevier [Mon, 13 Apr 2015 20:47:54 +0000 (13:47 -0700)]
[beta-merge] Unify build_mobile.sh and build_desktop.sh arguments

With this patch, build_mobile.sh (and build_tv.sh) now support
--skip-gyp, --skip-ninja and --debug arguments.

gbs --debug option is renamed to --gbs-debug. It shouldn't have much
impact since gbs --debug is rarely used by developers.

Beta review: http://165.213.202.130/gerrit/#/c/75908/

Change-Id: I4a960a402152e51b82ba5c97415113866722b533
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years ago[Workaround] Disable EFL version of GPUInfoCollector
Piotr Tworek [Mon, 13 Apr 2015 09:06:13 +0000 (11:06 +0200)]
[Workaround] Disable EFL version of GPUInfoCollector

EFL version of GPUInfoCollector currently causes a crash when
running on Tizen targets. Use plain linux version until EFL
version is fixed.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12551

Change-Id: I7392fbe94abea6da157cf801ee17ea85300eed4b
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agosimplify GetRequestContext and GetResourceContext
Arnaud Renevier [Fri, 10 Apr 2015 22:32:05 +0000 (15:32 -0700)]
simplify GetRequestContext and GetResourceContext

In BrowserContext, GetRequestContext is GetStoragePartition(this,
NULL)->GetURLRequestContext(). The rational is that this call should
call CreateRequestContext if needed, which would allow us to set
request_context_getter_ and return it. This patch makes it clear that
it's what's happening.

It also simplifies GetResourceContextEfl which was confusing.

Change-Id: I0b8109334a2ece8f053abc75fd9cb0b7eb0121d3
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! Use system request url getter for AccessTokenStore
Arnaud Renevier [Fri, 27 Mar 2015 22:11:21 +0000 (15:11 -0700)]
fixup! Use system request url getter for AccessTokenStore

For now, system request getter is only used when geolocation is needed.
So it makes sense to create the object only as needed, instead of
creating it at startup unconditionally.

Change-Id: I6b970617cc97332394b893a8b86037b4c62d2876
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRefactor default context handling
Arnaud Renevier [Thu, 26 Mar 2015 23:56:19 +0000 (16:56 -0700)]
Refactor default context handling

It's better to put default context access as a static method of
Ewk_Context/tizen_webview::WebContext.

Indeed, without a method DefaultContextRelease, we have to call
ewk_context_delete(ewk_context_default_get()) in ewk_shutdown. But some
applications, like efl_webview_app when launched in incognito mode, do
no use the default context. In such case, we end up creating a context,
just for the sake of deleting it. To avoid that, it's better to have a
DefaultContextRelease method that will check for the existence of
default_context before deleting it.

In addition, default context was AddRefed for each call to
ewk_context_default_get. This made the context to be never released, and
resulted in a crash at ubrowser exit.

Change-Id: I57d8bbc750f5e14a305386b799d48c93def2a34c
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoFactorize efl_webview_app.sh and ubrowser.sh
Arnaud Renevier [Wed, 1 Apr 2015 21:53:54 +0000 (14:53 -0700)]
Factorize efl_webview_app.sh and ubrowser.sh

Create a file launch_exec.sh which contains all the logic which was
duplicated in efl_webview_app.sh and ubrowser.sh

In addition, the script now uses readlink instead of the weird
hack: $(cd $dir; pwd)

Also, the bashisms have been removed, and the scripts are now posix
compatible.

Change-Id: I9c63cfde0e163a9cd01a5f712c39b0c02de8ae14
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoModify DEPS.xwalk configuration to use s-webrtc & s-libjingle
Taeho Kim [Sun, 12 Apr 2015 07:10:04 +0000 (16:10 +0900)]
Modify DEPS.xwalk configuration to use s-webrtc & s-libjingle

Change-Id: I75bfddd222a962be54fc2712e93ecc1eb630e021
Signed-off-by: Taeho Kim <th81.kim@samsung.com>
6 years agofixup! [Rebase][dev/m41_2272] API changes in GestureRecognizer
Antonio Gomes [Sun, 12 Apr 2015 08:02:03 +0000 (04:02 -0400)]
fixup! [Rebase][dev/m41_2272] API changes in GestureRecognizer

Patch replaces the old GestureRecognizer API named
::ProcessTouchEventOnAsyncAck by the new one, ::AckSyncTouchEvent.

It fixes the touch gesture handling.

Change-Id: I469997973f019ce32bd4105e5d8d76a44e63738e
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoSwitch xwalk repo from bgerrit to github
Taeho Kim [Sun, 12 Apr 2015 05:04:45 +0000 (14:04 +0900)]
Switch xwalk repo from bgerrit to github

Let's switch back crosswalk-efl repo to github for staging
chromium-efl so we can have compitable version of crosswalk.

Change-Id: I70d3f9f42206e1a56358197a1916a9d8e58a3dcd
Signed-off-by: Taeho Kim <th81.kim@samsung.com>
6 years agoAllow reference browser to build with the latest dev/m42 branch.
Antonio Gomes [Sat, 11 Apr 2015 12:39:23 +0000 (05:39 -0700)]
Allow reference browser to build with the latest dev/m42 branch.

Patch declares EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_CURRENT_WINDOW,
public enum value relied on by the reference browser.

Note that, the functionality associated with it is related to
context menu which is still disabled in the refactor branch
(and then also in the dev/ branch based on it), so the rest of
original patch [1] is not merged.

[1] http://165.213.202.130/gerrit/#/c/76946/

Change-Id: Iedd9d46e2baae06b737a2dc996e489677c24d938

6 years agofixup! Use Hit_Test_Param to pass hit test infos between processes.
Arnaud Renevier [Wed, 8 Apr 2015 19:39:19 +0000 (12:39 -0700)]
fixup! Use Hit_Test_Param to pass hit test infos between processes.

For some reason, I hadn't uploaded a finished patch.

Change-Id: I9d0b31fa1984d7448d87b2e25989fd59eb938b11
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoAllow building date picker on desktop
Arnaud Renevier [Wed, 1 Apr 2015 17:42:10 +0000 (10:42 -0700)]
Allow building date picker on desktop

To build date picker, we need to include two files from chromium
content/ directory. Since we want to build it on all efl platforms, we
can include those files directly into chromium-efl.gyp. That removes the
need to modify one upstream gyp file.

Together with: I03e0cfc91fbf06d65f08b6a97735b4a378ed3315

Change-Id: I1bb5f86fb6a95a8efa45678f757d7c962010caa1
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoDeclare ewk_home_directory_get as extern "C"
Arnaud Renevier [Tue, 31 Mar 2015 22:09:24 +0000 (15:09 -0700)]
Declare ewk_home_directory_get as extern "C"

Building unit tests fail with error: undefined reference to
'ewk_home_directory_get()'

We need to declare ewk_home_directory_get as extern "C"

Change-Id: If7f749b9319fdaac14094f154bbf66d0614eeeb8
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! Enable IMContextEfl
Arnaud Renevier [Thu, 9 Apr 2015 05:50:42 +0000 (22:50 -0700)]
fixup! Enable IMContextEfl

initialize im_context_

Right now, im_context_ can be left initialized. So, in the case of a
popup, delete im_context_ can cause a crash. This patch fixes the issue.

Change-Id: Ic6ba085106ac68de7009cde085e3e0cea3e95cc1
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoUse freedesktop repository instead of code.entropywave.com in jhbuild
Arnaud Renevier [Thu, 9 Apr 2015 00:16:20 +0000 (17:16 -0700)]
Use freedesktop repository instead of code.entropywave.com in jhbuild

orc is available on freedesktop. So we don't need to use
code.entropywave.com

Change-Id: Ic485cb13abb9d8370f9304ca47fd8d876d6644db
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years ago[Rebase][dev/m41_2272] API changes in GestureRecognizer
Antonio Gomes [Fri, 10 Apr 2015 07:52:02 +0000 (16:52 +0900)]
[Rebase][dev/m41_2272] API changes in GestureRecognizer

Patch fixes the basic touch handling after the M41 rebase.
Basically, our code was adapted to the API changes made
in Chromium/Aura, in order to unify the touch handling
code.

Changes are based on two upstream chromium patches:
- https://chromium.googlesource.com/chromium/src/+/62bb8d3ff2322ed11a11913c3414c3a2f4d4e60f%5E!/#F0
- https://chromium.googlesource.com/chromium/src/+/8879cfca3b19c304004e34e6dec9629752cd3068%5E!/#F22

http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=10493

Change-Id: I2fb40ba2f407d953b061c7f22d13832463ec1736

6 years agoRemove sync_repos.sh and update README.md
Taeho Kim [Fri, 10 Apr 2015 04:12:59 +0000 (13:12 +0900)]
Remove sync_repos.sh and update README.md

1. Now that we use gclient sync directly, sync_repos.sh is obsolete.
2. Instruction in README.md was out-dated.

Change-Id: I2535531dac57f287d764762ee961caa85f0cd01b
Signed-off-by: Taeho Kim <th81.kim@samsung.com>
6 years agoRemove trailing slashes ("/") in include lines.
Youngcheol Kang [Fri, 10 Apr 2015 04:44:24 +0000 (13:44 +0900)]
Remove trailing slashes ("/") in include lines.

Modern RPM versions still ship a bug that causes
the "path canonicalization" step to fail if there is
a "trailing" slash ("\") character in a include line.

e.g.:
\#include "path//to/my/header."

This is a long standing problem tracked by RedHat in
https://bugzilla.redhat.com/show_bug.cgi?id=304121

Error:
[XXs] /usr/lib/rpm/debugedit: canonicalization unexpectedly shrank by
one character
[XXs] error: Bad exit status from /var/tmp/rpm-tmp.dFqmJQ (%install)

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12528

Change-Id: I75685712fb3a56180df36a66272ce52dbc63ad54
Signed-off-by: Youngcheol Kang <ychul.kang@samsung.com>
6 years agoRemove invalid '/' in path
yh106.jung [Fri, 10 Apr 2015 03:55:01 +0000 (12:55 +0900)]
Remove invalid '/' in path

Remove invalid '/' in path

Change-Id: Ied557feb67eeee67effd22402b5c3839386c9449
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoDon't use kEnableParallelCanvasMode and append switches for touch event
yh106.jung [Thu, 9 Apr 2015 16:57:10 +0000 (01:57 +0900)]
Don't use kEnableParallelCanvasMode and append switches for touch event

1. Block switch kEnableParallelCanvasMode
Need to merge the below Parallel Canvas patches.
http://165.213.202.130/gerrit/#/c/73715/11

2. Append switches properly for touch event on mobile profile

Change-Id: I52691b365b971d786de3a4e613cc901cfe854be7
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoUse auto generated instead of hardcoded chromium version number.
Piotr Tworek [Thu, 9 Apr 2015 16:25:46 +0000 (18:25 +0200)]
Use auto generated instead of hardcoded chromium version number.

Since we want to emulate chrome behaviour and provide UA version number
in UA string, let's make sure the version is correct.

Change-Id: I5a9591d14cf3263c23a6461c0680bb2557de11f6
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoSupport Tizen 2.4 build
yh106.jung [Thu, 9 Apr 2015 16:35:29 +0000 (01:35 +0900)]
Support Tizen 2.4 build

Assign correct tizen version

Change-Id: I934aea752ae680bd7762972b2ad20d02ac4e7c42
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoFix Tizen 3.0 chromium-ewk build after upversion to M42
Piotr Tworek [Thu, 9 Apr 2015 15:19:25 +0000 (17:19 +0200)]
Fix Tizen 3.0 chromium-ewk build after upversion to M42

Mostly mising patches in src and include path changes. Unfortunately
there is also one bigger feature that needs to be disabled.
GpuMemoryBufferImplEfl will need some love to work with m42. This patch
disables it with ewk_bringup macros.

Change-Id: I2616c057852956949eff3ba6a8a7c72e0d0f0c9c
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agofixup: Wrong values are shown in inputpicker
Arnaud Renevier [Fri, 20 Mar 2015 04:48:30 +0000 (21:48 -0700)]
fixup: Wrong values are shown in inputpicker

We get input_date as double. This is the number of milliseconds since
epoch time without considering timezone. But efl needs a tm struct that
considers the timezone. That is: to encode 9am, chromium will send 9 *
3600 * 1000. But if using localtime, that many seconds after epoch may
be for example 5pm, depending on the timezone we are on. The trick here
is to use gmtime instead of localtime.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12200

Change-Id: Iec67e639ceeca8abe6dd7ed1b3c790df6ff749a6
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Signed-off-by: Dongjun Kim <djmix.kim@samsung.com>
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agofixup! Enable IMContextEfl
Piotr Tworek [Thu, 9 Apr 2015 14:30:01 +0000 (16:30 +0200)]
fixup! Enable IMContextEfl

Make sure target building im_context_efl.cc depends on ecore-imf-evas
module which provides ecore_imf_evas_* functions.

Change-Id: I32f9d3c94f67e14101e7c25ad73b8923daf4547c
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoRemove unsupported 'kWaitForFrameComplete' switch on command line
hh4813.kim [Thu, 9 Apr 2015 14:10:53 +0000 (23:10 +0900)]
Remove unsupported 'kWaitForFrameComplete' switch on command line

From m41_2236 base, 'kWaitForFrameComplete' is not supported.

Change-Id: I9684cc684ad55027ba32b623b7487cfdbcb4b3cd
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
6 years agoDEPS update for integrating refactor with M42 upversion
Taeho Kim [Thu, 9 Apr 2015 12:36:10 +0000 (21:36 +0900)]
DEPS update for integrating refactor with M42 upversion

Change-Id: Iaebd42d49434546f909fcda697c146161fb59d73
Signed-off-by: Taeho Kim <th81.kim@samsung.com>
6 years agoInitialize PlatformEventSource when creating first WebContentsViewEfl.
Piotr Tworek [Thu, 9 Apr 2015 09:18:23 +0000 (11:18 +0200)]
Initialize PlatformEventSource when creating first WebContentsViewEfl.

In M42 we need to make sure PlatformEventSource object is initialized
somewhere. Aura port does it in aura::Env class. Since we're not using
aura in EFL port we have to do it ourselves.

WebContentsViewEfl is used by all the apps using chromium. Making sure
PlatformEventSource is initialized when the first instance of the class
is crated satisfies chromium requirements and also allows us to avoid
modifying chromium code.

Change-Id: I4dd6087a1b0fc0515023027cfb203b8817f1ce31
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoUse aura grit resources for EFL port by default.
Piotr Tworek [Thu, 9 Apr 2015 09:15:19 +0000 (11:15 +0200)]
Use aura grit resources for EFL port by default.

Previouiusly we were patching upstream gyp files with additional use_efl
guards. Since in almost all cases the same resources are available in
aura paks we can just use use_aura grit flag. This way we won't need to
modify upstream grit files.

Change-Id: I3ce4aa99d04dd1b731b440e521308240c4eba5e1
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoAdd variations component dependency to chromium-ewk.
Piotr Tworek [Thu, 9 Apr 2015 07:55:48 +0000 (16:55 +0900)]
Add variations component dependency to chromium-ewk.

Variations component is used by password_manager, but
components/password_manager.gypi does not actually list that dependency.
This is a bug in an upstream gyp files that we can fortunately work
around easily.

Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoRemove RenderViewObserverEfl::ScrollToFocusedEditableNode
Antonio Gomes [Thu, 9 Apr 2015 07:53:38 +0000 (16:53 +0900)]
Remove RenderViewObserverEfl::ScrollToFocusedEditableNode

Method is not used after the removal of the caller site.

6 years ago[Bringup refactor] Disable 'notifications' until it is fixed.
Antonio Gomes [Thu, 9 Apr 2015 07:48:54 +0000 (16:48 +0900)]
[Bringup refactor] Disable 'notifications' until it is fixed.

Notifications' implementation has changed significantly in
M42 compared to M40. Disable it until it is fixed.

6 years ago[Bringup refactor] Disable Autofill until it is fixed.
Antonio Gomes [Thu, 9 Apr 2015 07:43:05 +0000 (16:43 +0900)]
[Bringup refactor] Disable Autofill until it is fixed.

Autofill implementation has changed significantly in
M42 compared to M40. Disable it until it is fixed.

6 years agofixup! [Bringup refactor] Allow refactor branch build against M42
Antonio Gomes [Thu, 9 Apr 2015 07:36:50 +0000 (16:36 +0900)]
fixup! [Bringup refactor] Allow refactor branch build against M42

Temporarily disable multimedia, 'till it is fixed.

6 years ago[M41_2272] Explicitly specify namespace for base::CommandLine
Antonio Gomes [Thu, 9 Apr 2015 07:33:46 +0000 (16:33 +0900)]
[M41_2272] Explicitly specify namespace for base::CommandLine

Based on the original work of SeungSeop Park <sns.park@samsung.com>.
Original commit message:

This patch is necessary because 'using base::CommandLine' declaration
has been removed from base/command_line.h in chromium m41_2272.
Note that this patch can be landed before switching to the new branch.

6 years ago[Bringup refactor] Allow refactor branch build against M42
Antonio Gomes [Thu, 9 Apr 2015 07:12:25 +0000 (16:12 +0900)]
[Bringup refactor] Allow refactor branch build against M42

Patch does the following:

- Fixes include paths for gfx geometry headers.
- API adaptations on the following methods:
  * Shell::GetJavaScriptDialogManager
  * Shell::CreateNewWindow new signature
  * ContentAutofillDriverFactory::FromWebContents
  * PasswordFormManager::OnGetPasswordStoreResults new signature
- Disables dragging triggers.
- Disables form navigation triggers

6 years ago[M42_2311] Chromium upversion to m42_2311 branch
Antonio Gomes [Thu, 9 Apr 2015 06:57:04 +0000 (15:57 +0900)]
[M42_2311] Chromium upversion to m42_2311 branch

Based on the work of Jung-Ick Guack <ji.guack@samsung.com>.
Original commit message:

This patch deals with following upstream changes:

1. Folder and class name changes
   - Moved most of the files from rendering to layout folder
     (RenderTheme* changed to LayoutTheme*)
   - base/debug/trace_event.h moved to base/trace_event/trace_event.h
     (base::debug* changed to base::trace_event*)
   - mojo moved to thired_party/mojo
   - copy make-file-arrays.py from s-blink
     (Source/build/scripts/make-file-arrays.py was removed)

2. API changes
   - PERMISSION_PROTECTED_MEDIA changed
     to PERMISSION_PROTECTED_MEDIA_IDENTIFIER
   - switches::kDisablePlugins was removed
   - set_channel_id_service (arguments type changed)
   - OverrideWebkitPrefs (arguments removed)
   - TCPServerSocketFactory (arguments changed)
   - DevToolsHttpHandlerDelegate
     (removed CreateSocketForTethering)
   - RenderWidgetHostViewEfl
     (removed WasShown,WasHidden)
   - added GLuint64 for WaitSync, ClientWaitSync
   - added VectorCanvas for removed vector_canvas.h

3. Need to change API design (TODO issues)
   - RenderViewHost (removed ExitFullscreen)
     TODO: impl/eweb_view.cc
     (http://107.108.218.239/bugzilla/show_bug.cgi?id=12079)
   - WebView (removed minimumPageScaleFactor, maximumPageScaleFactor)
     TODO: impl/renderer/render_view_observer_efl.cc
     (http://107.108.218.239/bugzilla/show_bug.cgi?id=12080)
   - ToggleFullscreenModeForTab (split by EnterFullscreenModeForTab,
     ExitFullscreenModeForTab)
     TODO: web_contents_delegate_efl.cc/h
     (http://107.108.218.239/bugzilla/show_bug.cgi?id=12081)

NOTICE:
    Critical Issue - Black Screen By Error "Failed to initialize
    command buffer service (command_buffer_proxy_impl.cc)"
    (http://107.108.218.239/bugzilla/show_bug.cgi?id=12078)

s-chromium (http://165.213.202.130:8080/#/c/76496/)
   - excluded atomicops-internals-x86 for desktop build
   - excluded xscrensaver for tizen build

6 years ago[M41_2272] Chromium upversion to m41_2272 branch
Antonio Gomes [Thu, 9 Apr 2015 06:24:59 +0000 (15:24 +0900)]
[M41_2272] Chromium upversion to m41_2272 branch

Based on the following patch from SeungSeop Park
<sns.park@samsung.com> (original commit message):

This patch deals with following upstream changes:

1. Include path changes:
   - ui/gfx/point.h => ui/gfx/geometry/point.h
   - ui/gfx/rect.h  => ui/gfx/geometry/rect.h
   - ui/gfx/size.h  => ui/gfx/geometry/size.h

2. Significant changes in notification.
   As for now, related codes have been commented out as hotfix.
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10487

3. An additional argument 'main_frame_routing_id' in
   WebContentsDeletate::ShouldCreateWebContents().
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10488

4. GLContext::SetSwapInterval(int interval) is no longer abstract, and
   a new abstract method GLContext::OnSetSwapInterval() is provided.
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10489

5. Intermediate output folder gen/webkit changed to gen/blink.

6. APIs moved from RenderViewObserver to RenderFrameObserver:
   - WillSubmitForm()
   - DidChangeScrollOffset()
   Patch moves previous implementions for these APIs from
   RenderViewObserverEfl to new added RenderFrameObserverEfl class.
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10490

7. Vibration design changes in upstream.
   See https://codereview.chromium.org/583663003 .
   As for now, the related code has been commented out.
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10491

8. RenderViewObserver::OrientationChangeEvent() removed.
   Patch removes our implementation for the API since it was dummy anyway.

9. commandState() and commandValue() removed from WebFrame (blink).
   Patch temporarily disables references to API using BRINGUP_EWK guard.
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10492

10. Several APIs of NetworkDelegate became abstract.
    From the code diff, it turned out the default implementations for them
    were moved to a newly added class NetworkDelegateImpl.
    The prepared solution is to just change NetworkDelegateEfl so to inherit
    NetworkDelegateImpl to avoid code duplication.

11. API changes in GestureRecognizer.
    Following APIs are no longer available:
    - ProcessTouchEventPostDispatch
    - ProcessTouchEventOnAsyncAck
    Although alternative APIs were found in the class, it seems like the
    behaviours of them are somewhat different from previous counterparts.
    So, rather than providing unverified solution with new APIs, the related
    code is disabled using BRINGUP_EWK guard postponing the proper solution
    as future work.
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10493

12. Type change of ProcessTouchEventPreDispatch()'s first argument.
    - TouchEvent& -> TouchEvent*

13. content::UpdateWebTouchEventFromUIEvent removed.
    See https://codereview.chromium.org/510793003 .
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10494

14. Additional parameter SiteInstance* in Navigator::RequestOpenURL().
    See https://codereview.chromium.org/743773003/ for upstream change.
    Current solution is to give NULL for the argument.
TODO: http://107.108.218.239/bugzilla/show_bug.cgi?id=10495

15. Finally, patch changes branch to dev/m41_2272 in sync_repos.sh and
    updates rpm package version to 41.2272.0.4.

Known Issues:
- With touch related changes (11~13), Touch did not work in mobile target,
  i.e., no IME for input element and no site navigation for link click.
  Since these are considered basic features that can block us to test other
  features, patch walkarounds it by disabling kEnableTouch command line option
  for mobile target (i.e., will use mouse event as in TV).

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=10434
Reviewed by: Antonio Gomes, Piotr Tworek

6 years ago[M41_2236] Chromium upversion to m41_2236 branch
Antonio Gomes [Thu, 9 Apr 2015 06:41:06 +0000 (15:41 +0900)]
[M41_2236] Chromium upversion to m41_2236 branch

Based on the work of SeungSeop Park <sns.park@samsung.com>.
Original commit message:

Patch comprises followings:

1. Changes in DevToolsHttpHandler and its Delegate.
  - API changed: DevToolsHttpHandlerDelegate::CreateSocketForTethering.
    (see s-chromium: "1443f56 [DevTools] Migrate DevToolsHttpHandlerDelegate::
    CreateSocketForTethering to StreamSocket")
  - API removed: DevToolsHttpHandler::Stop.
    (see s-chromium: "3632399 [DevTools] Remove DevToolsHttpHandler::Stop.")
TODO: Need implementation according to the chromium change.
(http://107.108.218.239/bugzilla/show_bug.cgi?id=9801)

2. Change in ui::Clipboard::GetSequenceNumber.
  - ui::Clipboard::GetSequenceNumber is now const method.

3. API change in PdfMetafileSkia class:
   SkBaseDevice* StartPageForVectorCanvas =>
     skia::VectorCanvas* GetVectorCanvasForNewPage.
  Note: The inline documentation says that returned pointer don't need to be
  ref()ed or unref()ed since it's owned by the PdfMetafileSkia object.

4. WebContentDelgate API change.
  - NavigationStateChanged(): First argument changed to non-const WebContents*.
  - GetJavaScriptDialogManager(): Now takes WebContent* as the argument.
    But how to use the added argument is unclear (even chromium code seems
    not yet utilizing it).

5. Namespace change: content::ConvertRectToDIP -> gfx::ConvertRectToDIP.

6. New abstract API in BrowserContext: CreateZoomLevelDelegate().
   The provided solution is to give a dummy implementation as in content shell.

7. Type change: CopyFromCompositingSurfaceCallback=>ReadbackRequestCallback.

8. kEnableOverscrollNotifications flag removed in s-chromium commit:
   0fa5129 [Android] Add a flag to disable the pull-to-refresh effect
   (https://codereview.chromium.org/733293002).
   It says:
   "Also remove the kEnableOverscrollNotifications flag; overscroll
    notifications are now bundled with event acks, creating
    minimal extra overhead for non-consuming platforms."
   Prepared solution is to just remove it from our commandline switch
   (for OS_TIZEN).
TODO: Check if we can live without that flag.
     (http://107.108.218.239/bugzilla/show_bug.cgi?id=9802)

9. Upstream changed V8's initial snapshot loading mechanism.
   See https://crbug.com/421063, which says:
   "V8 used to be statically linked to the binary, but now it is loaded from
   external files, which reduces Chrome's binary size."

   Due to this change, "natives_blob.bin" and "snapshot_blob.bin" need to be
   deployed to mobile/tv target device. Otherwise, apps crashes on starting up
   in tv and mobile target. (Thanks to Zhang-hoon Oh)
Contributor: Zhang-hoon Oh <dennis.oh@samsung.com>

10. Finally, change sync_repos.sh so to track dev/m41_2236 of s-* repos.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=9758
Reviewed by: Antonio Gomes, Balazs Kelemen, SeungSeop Park

Change-Id: Iad80766e116612fd3b9d2717430edec3693e557f
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
6 years agoUse Hit_Test_Param to pass hit test infos between processes.
Arnaud Renevier [Wed, 25 Mar 2015 22:49:24 +0000 (15:49 -0700)]
Use Hit_Test_Param to pass hit test infos between processes.

When we do a hit test, ewk api forces us to get the list of node
attributes (as Eina_Hash*). Those informations cannot be copied from
render to browser process. So, we are using a hack to get the list of
attributes (we are passing them along with Hit_Test as a std::map and
parse them only in the render process).

We have two objects: Ewk_Hit_Test and _Ewk_Hit_Test. Ewk_Hit_Test owns a
_Ewk_Hit_Test. It would be great to simplify that, but because of the
forementionned hacks, it is diffcult.

This patch uses creates Hit_Test_Param struct, that can be passed
between processes. With that info, _Ewk_Hit_Test is only created on the
browser side.

This patch also fixes ewk_hit_test_image_buffer_get is currently broken.

Change-Id: If1c72714a2b20018c24c6247c6c4d092fdbb7fd3
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoEnable IMContextEfl
yh106.jung [Mon, 30 Mar 2015 13:45:49 +0000 (22:45 +0900)]
Enable IMContextEfl

This patch makes that IMContextEfl is available for EWK and other
embedders.

Change-Id: I2c997d81edf9897eae599ba9a6fb20012680f713
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoFixes ContentMainDelegateEfl memory leak
Arnaud Renevier [Tue, 24 Mar 2015 00:36:00 +0000 (17:36 -0700)]
Fixes ContentMainDelegateEfl memory leak

ContentMainDelegateEfl is never deleted in EwkGlobalData. This patch
fixes the issue.

Change-Id: I9ed067368e56f90018f92dc1ea73bff94413408d
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoUse system request url getter for AccessTokenStore
Arnaud Renevier [Mon, 23 Mar 2015 19:38:20 +0000 (12:38 -0700)]
Use system request url getter for AccessTokenStore

Right now, we use the url getter of the default context in
AccessTokenStore. This patch uses a system url getter, like is done in
Android and in upstream content shell.

This makes sense because we may not want the cookie manager of the
default context to be involved when we contact a geolocation provider,
or any other potential "system" http requests.

In order for this change to happen, we also modify
URLRequestContextGetterEfl constructor signature so that it accepts
default parameters.

Change-Id: I445bde4ef7589fa5ff9b5cb0ee8a1bfe53543adf
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRestore content detection feature to a working condition.
Piotr Tworek [Tue, 24 Mar 2015 14:46:25 +0000 (15:46 +0100)]
Restore content detection feature to a working condition.

The new implementation is based on actual upstream android
implementation of the feature. We no longer need to do hit tests from UI
to renderer process after each tap event. The engine content detection
logic resides in the renderer process itself. We only need to react to
ViewHostMsg_StartContentIntent message in UI which is sent after renderer
has found an URI it wishes us to handle.

Since the feature is generic enough I've also taken my liberty to have
it supported on desktop. Desktop implementation uses gio library to launch
applications handling selected URIs.

Simple TC:
  <html><body>
    <p>mailto:anonymous@example.com</p>
    <p>tel:+48721421421</p>
  </body></html>

To test the feature on desktop please use ubrowser app and make sure
touch events are enabled. When clicking on the mailto link default email
application should be launch. Clicking on tel: will probably produce a
warning saying there is no registered client to handle the URI. Tel links
will probably only work on mobile targets. Still the warning tells us
that the content is recognized and the appropriate message makes it's
way to our handler.

Change-Id: Iec394f97d99ccb97e84c94f948804d500d44fc46
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agofixup! Fix support for navigating page contents using arrow keys.
Piotr Tworek [Tue, 24 Mar 2015 10:36:56 +0000 (11:36 +0100)]
fixup! Fix support for navigating page contents using arrow keys.

NaviFrame content part in elementary 1.9 has different name than 1.12
and 1.13. Make sure we take this into account.

Change-Id: I59444a880aab265f99d8939dc5aef9883a557873
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoExport chromium overrides for std:: namespace functions.
Piotr Tworek [Mon, 23 Mar 2015 14:31:02 +0000 (15:31 +0100)]
Export chromium overrides for std:: namespace functions.

It's not a standard practise, but apparently chromium does add extra
functions to std namespace. (See: base/logging.h:876). Unfortunately
after chromium-ewk.filter was introduced to hide internal library
symbols the std:: overrides were also hidden. The end result were ugly
memory corruptions. The problems were mostly visible in debug builds
where memory allocator debug features quickly spotted the problem. The
same problems most probably also happend in release builds on desktop
and target, but their results were not immediately visible.

This patch adds functions from std:: namespace list to ewk filter
whitelist. With it in place it's once again possible to run EWK
reference apps in Debug mode..

Change-Id: I8f3815c244034b7e69c693683df9cf60635321ec
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoUse virtual InitAsChild function to initialize RenderWidgetHostViewEfl
Piotr Tworek [Thu, 19 Mar 2015 10:44:10 +0000 (11:44 +0100)]
Use virtual InitAsChild function to initialize RenderWidgetHostViewEfl

RenderWidgetHostViewBase::InitAsChild virtual function is supposed to
perform the same function as our RenderWidgetHostViewEfl::Init. Since
I see no point in having both of them, especially that the only thing
InitAsChild currently does is call NOTIMPLEMENTED() macro let's merge
them.

Change-Id: I0ee3e53019f1607db20f9de195dcfcf6c65d17d0
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agofixup: Remove URLRequestContextGetterEfl dependency on CookieManager
Arnaud Renevier [Fri, 20 Mar 2015 23:16:36 +0000 (16:16 -0700)]
fixup: Remove URLRequestContextGetterEfl dependency on CookieManager

Make sure that NetworkDelegate is created on IO thread.

Change-Id: I4be3d3224999ff7816354949a6ffd3dfd6ebbb08
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoFix support for navigating page contents using arrow keys.
Piotr Tworek [Thu, 19 Mar 2015 10:18:28 +0000 (11:18 +0100)]
Fix support for navigating page contents using arrow keys.

While investigating text selection code in our port I've noticed that we
can't use arrow keys to navigate page contents or select text when the
active page contains active input field. The problem was reproducible
only in applications which contain some sort of UI, it was not visible
in efl_webview_app. The issue also happens on beta/m40 so it's not
something that was broken during refactoring.

After investigating it I found out that whenever there is more than one
Elementary widget in a given tree EFL uses arrow keys to navigate between
them. In our case the webview is actually a single component from
EFL/Elementary POV (an image). It does deliver rrrow key events to our
evas event handlers, but also performs it's default action for those keys
afterards. The default action usually moves active focus to a widget that
is closes to the webview in any given direction.

After going through EFL/Elementary docs I've found out that the best
solution in our case would be to get an exclusive grab of the fuction
keys which we do want to handle whenever our webview implementation
gains active focus. For this purpose we can use evas_object_key_grab and
evas_object_key_ungrab functions. The problem is that did not work.

The problem with grab/ungrab functions was caused by the fact that
elementary widget representing our RWHV had an elementary parent
(WebContentsViewEfl::native_view_), but it was not being added into it's
layout tree. To be able to do this however, we need to have a parent widget
thas acts as a stack of widgets. Previous elm_bg object did not satisfy this
requirement. Fortunately elementary naviframe object does seem to be
good enough for our requirements.

This patch performs the necessary changes to suppport proper handling of
arrow function keys inside rwhv native widget. With the patch in place
it's possible to use arrow keys to navigate text input boxes, select
text, move spatial navigation focus, etc. This should be really useful
ot TV targets where directional keys are often used to navigate the
page.

Change-Id: Ia3d1650cb777faaab7f82a8f3b1013a2ba28e974
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoEnable parallel canvas by default for mobile
hh4813.kim [Mon, 23 Mar 2015 02:47:47 +0000 (11:47 +0900)]
Enable parallel canvas by default for mobile

Change-Id: I78233f794e46d57868a59b3500da6df26d12d8d1
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
6 years ago[beta merge] Export EVAS_GL_NO_BLACKLIST=1 in ubrowser.sh
Arnaud Renevier [Fri, 20 Mar 2015 18:46:33 +0000 (11:46 -0700)]
[beta merge] Export EVAS_GL_NO_BLACKLIST=1 in ubrowser.sh

In efl_webview_app.sh, EVAS_GL_NO_BLACKLIST is exported so that the
browser can launch with softpipe mesa backends. This patch copies the
same behaviour to ubrowser.sh.

Change-Id: I0a32334a126cf2352829d9e960f2bdac73a4d66a
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! Handle ewk ipc messages in WebViewBrowserMessageFilter
hh4813.kim [Mon, 23 Mar 2015 02:26:10 +0000 (11:26 +0900)]
fixup! Handle ewk ipc messages in WebViewBrowserMessageFilter

Change-Id: I1679f99666f2a5234b15903ae0be8454345fddad
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
6 years agoMove ScrollDetector from rwhv to ewebview
yh106.jung [Fri, 20 Mar 2015 04:01:38 +0000 (13:01 +0900)]
Move ScrollDetector from rwhv to ewebview

This patch moves ScrollDetector from rwhv to ewebview,
and moves IPC event handling for Scroll events to
web_view_browser_message_filter as well.
Also EWebView::SetScroll and EWebView::GetScrollPosition are enabled.

Change-Id: Ibbd98dab8118ab5422462aa26ffe5afa3fec0fb6
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoModify DEPS.xwalk configuration to pull from beta/m40 branch.
Taeho Kim [Fri, 20 Mar 2015 02:24:41 +0000 (11:24 +0900)]
Modify DEPS.xwalk configuration to pull from beta/m40 branch.

This will fetch the branch as below:
This patch will pull the source from
'beta/m40_2214_t' branch of blink, skia and v8,
'experimental/beta/m40_2214_t' branch of s-chromium.

Together with: I8e1622d7d1ea5e7fee18ee0fe94b58a5b7d2e300

Change-Id: I2259085d90a0de9cd4137d31e248684f956483a4
Signed-off-by: Taeho Kim <th81.kim@samsung.com>
6 years agoUse different PATH_START values for paths_efl.
Piotr Tworek [Wed, 18 Mar 2015 10:10:15 +0000 (11:10 +0100)]
Use different PATH_START values for paths_efl.

The current value is the same as PATHS_START from xwalk. This makes
it impossible to use paths_efl in xwalk. Change our EFL defaults to
avoid patching xwalk.

Change-Id: I9c349843ee050eb67fcf004ada9e8c0fdda2964f
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoRemove EWK_BRINGUP guards from SelectLink And SelectClosesWord impl.
Piotr Tworek [Tue, 17 Mar 2015 13:52:14 +0000 (14:52 +0100)]
Remove EWK_BRINGUP guards from SelectLink And SelectClosesWord impl.

Since we're using beta/m40 code for all the components we no longer need
those guards. The code compiles without them.

Change-Id: I239b8023d61e6b656c7955d5ab56ffed028eb30f
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoDrop old and no longer used code from impl/browser/web_contents.
Piotr Tworek [Tue, 17 Mar 2015 13:02:39 +0000 (14:02 +0100)]
Drop old and no longer used code from impl/browser/web_contents.

This was only kept for reference until all the features original
implementation had have been reimplemented on the refactoring branch.
Since both D&D support and SetViewMode have been fixed this code no
longer serves any purpose. Let's just purge it from the repo.

Change-Id: I6ea8f26e78f535630107b8b62c974e9d09f032dd
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoRemove WebPopupItem
Arnaud Renevier [Wed, 18 Mar 2015 19:36:13 +0000 (12:36 -0700)]
Remove WebPopupItem

WebPopupItem is not strictly needed: We can build Popup_Menu_Item
directly from content::MenuItem instead of using an additional
WebPopupItem temporary object.

We also remove the WebPopupItem::create method. Instead, EWebView
creates the WebPopupItem directly with the new operator.

Change-Id: I00242c85bd2d99e6baa18c6520adb4d60b6c8516
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRemove tw_policy_decision.*
Arnaud Renevier [Wed, 18 Mar 2015 21:09:37 +0000 (14:09 -0700)]
Remove tw_policy_decision.*

There were two distinct classes: Ewk_Policy_Decision and
_Ewk_Policy_Decision. _Ewk_Policy_Decision was a subclass of
tizen_webview::PolicyDecision. Ewk_Policy_Decision owned an
_Ewk_Policy_Decision and forwarded it it's method.

This patch simplifies everything: there is now only
_Ewk_Policy_Decision, and Ewk_Policy_Decision is an alias to it.

Change-Id: I74c5187dda6afc7f3cd362d0107d1f8e52ec1245
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRemove URLRequestContextGetterEfl dependency on CookieManager
Arnaud Renevier [Fri, 13 Mar 2015 23:07:55 +0000 (16:07 -0700)]
Remove URLRequestContextGetterEfl dependency on CookieManager

Right now, URLRequestContextGetterEfl depends on CookieManager
(scoped_refptr on it), and CookieManager depends on
URLRequestContextGetterEfl (with a WeakPtr).

This isn't a problem yet, because the headers are always called in a
specific way that. But trying to include
url_request_context_getter_efl.h in another file results in a build
error: invalid use of incomplete type â€˜class CookieManager’ Trying
either to include url_request_context_getter_efl.h in cookie_manager.h
or cookie_manager.h in url_request_context_getter_efl.h doesn't work
because of the cycle dependency.

This patch removes URLRequestContextGetterEfl dependency on
CookieManager.

In order to avoid that kind of problem in the future, it also includes
headers needed for objects who have scoped_ptr members in
url_request_context_getter_efl.h

Change-Id: Ib2850258849981fee426238de6b91d86d15bafc8
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoUse blink::WebTextDirection instead of blink::TextDirection
Arnaud Renevier [Tue, 17 Mar 2015 18:11:04 +0000 (11:11 -0700)]
Use blink::WebTextDirection instead of blink::TextDirection

For popup menu items, we need to use text directions. But it's better to
use WebTextDirection instead of TextDirection. Indeed, WebTextDirection
is exposed in the public headers of blink. While TextDirection is
exposed in the internal headers

Change-Id: Ia42ed5da5adb6a3c15b3d11ae94aaa6017dd3bcd
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRemove tw_error.h
Arnaud Renevier [Wed, 18 Mar 2015 18:36:43 +0000 (11:36 -0700)]
Remove tw_error.h

tizen_webview::Error were just used as ipc parameters. Now, we use
instead a ErrorParams class

Change-Id: I8a2a7e767c6b8dce6d3f509f857bb9e76c23b89f
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! Handle ewk ipc messages in WebViewBrowserMessageFilter
yh106.jung [Wed, 18 Mar 2015 01:19:17 +0000 (10:19 +0900)]
fixup! Handle ewk ipc messages in WebViewBrowserMessageFilter

Some IPC messages should be handled on browser UI thread.
So, need to override thread for the IPC messages.

Change-Id: Ic9e7a2f397a7f7bc2814f81186dcf1362056a589
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoRemove various enums in tizen_webview/public
Arnaud Renevier [Sun, 15 Mar 2015 00:31:12 +0000 (17:31 -0700)]
Remove various enums in tizen_webview/public

Remove tw_cache_model.h, tw_content_security_policy.h,
tw_cookie_accept_policy.h, tw_find_options.h, tw_legacy_font_size_mode.h
and tw_touch_event.h

Change-Id: I0794b380d625335fca98fbd19e82b3ef83826741
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
6 years agoRestore support for ewk_view_set_mode function.
Piotr Tworek [Tue, 17 Mar 2015 12:58:27 +0000 (13:58 +0100)]
Restore support for ewk_view_set_mode function.

The refactoring branch broke support for sending ViewMsg_SetViewMode
because it was handled directly in RenderWidgetHostViewEfl and the
message is EWK specific extension. Still we can send the message
directly from EWebView, we don't need to use RWHV for that. This patch
does exactly that.

Change-Id: I08726e96caafb86ba6270346c44a901577936d47
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoFix drag & drop support broken during initial refactoring work.
Piotr Tworek [Tue, 17 Mar 2015 11:44:32 +0000 (12:44 +0100)]
Fix drag & drop support broken during initial refactoring work.

This commit restores D&D support in EWK. To go with the spirit of the
refactoring work it also fixes the code to work in generic content API
based apps like xwalk or content_shell. It's a generic feature so it
should work everywhere. To make it testable on content_shell an
additional option is added to content_shell context menu implementation.

To test the code in content_shell the following command can be used:
$ ./out.x64/Debug/content_shell --no-sandbox  http://html5demos.com/drag

After the page loads move your mouse pointer to any of the dragable
elements, long press left mouse button and wiggle it a bit to show
context menu. From the menu select "Start dragging" option and drop the
now draggable element to the trash bin image.

Note: In case where touch events are disabled content_shell context menu
can be triggered with right mouse button click.

Change-Id: I6bc42b9ae38967992d0f35addcc0163a96c462dc
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoDrop old chromium-efl gyp files
Piotr Tworek [Tue, 17 Mar 2015 09:52:45 +0000 (10:52 +0100)]
Drop old chromium-efl gyp files

They are not used for anything. I've kept them only for reference. Since
it does not seem we still need to migrate anything from them, lets just
get rid of the old junk.

Change-Id: Ie9918957365c612b6fc702caabbcc96dfa7eebbc
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoRefactor overscroll notification effect implementation (aka EdgeEffect)
Piotr Tworek [Mon, 16 Mar 2015 15:52:18 +0000 (16:52 +0100)]
Refactor overscroll notification effect implementation (aka EdgeEffect)

Very similar functionality is available in upsteam android port under
OverscrollGlow name. The code does reside in content. This patch
refactors our EWK specific implementation of the feature into a more
generic version that can be shared by both EWK and content based apps.

The code should be testable on both tizen and desktop, provided the
following conditions are met:
* Support for overscroll notifications is enabled in chromium
  (--enable-overscroll-notifications flag)
* Touch events are being used
* The currently displayed page is scrollable.

To test the code on desktop the following commands can be used:
$ ./out.x64/Debug/content_shell --no-sandbox --touch-events=enabled \
      --enable-overscroll-notifications http://xkcd.com
Or:
$ ./out.x64/Debug/ubrowser.sh --enable-overscroll-notifications \
      --touch-events=enabled http://xkcd.com

In both cases scrolling the page to the top/bottom should trigger the
overscroll notification effect.

Change-Id: Iaab660b456dc33f0afcbaf78785b15bf735d8387
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoHandle ewk ipc messages in WebViewBrowserMessageFilter
Arnaud Renevier [Mon, 16 Mar 2015 23:03:08 +0000 (16:03 -0700)]
Handle ewk ipc messages in WebViewBrowserMessageFilter

Many ipc messages were sent from RenderViewObserverEfl, and received in
RenderWidgetHostViewEfl. From them, some actions were performed on
EWebView.

But now, that ewk is isolated from chromium-efl, we need to receive
those messages in ewk layer. We use WebViewBrowserMessageFilter for
that.

This patch also removes WebViewBrowserMessageFilter class which was
defined in eweb_view.cc but never used.

Change-Id: Ia85f699b8a32ecd9e4907549fcc01478f784244a
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRevert "Modify the DEPS.xwalk config to pull from beta/m40 branch."
Piotr Tworek [Tue, 17 Mar 2015 15:58:17 +0000 (00:58 +0900)]
Revert "Modify the DEPS.xwalk config to pull from beta/m40 branch."

This reverts commit b302d2a9c17653024c61721930c2cd7c0a5e8109.

Change-Id: Iad05961f780d0e4dcb3049759787d826327480fb
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoModify the DEPS.xwalk config to pull from beta/m40 branch.
Taeho Kim [Tue, 17 Mar 2015 13:01:22 +0000 (22:01 +0900)]
Modify the DEPS.xwalk config to pull from beta/m40 branch.

This will fetch the branch as below:
This patch will pull the source from
'beta/m40_2214_t' branch of blink, skia and v8,
'experimental/beta/m40_2214_t' branch of s-chromium.

Change-Id: If7e5f917c9458cf698cef77ff59ce5f50b4c21ff
Signed-off-by: Taeho Kim <th81.kim@samsung.com>
6 years agoMake sure we recreate Evas_GL_Surface on native widget resize
Piotr Tworek [Mon, 16 Mar 2015 14:38:23 +0000 (15:38 +0100)]
Make sure we recreate Evas_GL_Surface on native widget resize

In EFL 1.13 we need to re-create our Evas_GL_Surface whenever native
image bound to it changes it's size. I don't exactly know what change in
EFL made in necessary, but some of the EFL docs do actually show that
this needs to be done this way (see "Evas GL Widget Tutorial" on
tizen.org). With this patch in place rendering works correctly again
on Odroid with images newer than 27.02.2015. There is no need to install
old EFL version anymore.

Change-Id: I769301a5c1f887d4d0923916c3a459f75a5b6933
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoRemove tw_back_forward_list_impl.h and tw_back_forward_history.h
Arnaud Renevier [Thu, 12 Mar 2015 23:57:12 +0000 (16:57 -0700)]
Remove tw_back_forward_list_impl.h and tw_back_forward_history.h

Use _Ewk_Back_Forward_List struct directly instead of
tizen_webview::BackForwardList. And use +_Ewk_History struct instead of
tizen_webview::BackForwardHistory

Change-Id: I881ff0623cd096ac53188506355517a0f8ed7302
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
6 years agoEnable EWebView::MoveCaret()
yh106.jung [Tue, 17 Mar 2015 04:08:04 +0000 (13:08 +0900)]
Enable EWebView::MoveCaret()

This pathc make EWebView::MoveCaret() is available

Change-Id: Ic3d6a3010989993d2e9418d5e5785e2eaffa108e
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoDon't use forward delaration of Elm_Object_Item.
Piotr Tworek [Mon, 16 Mar 2015 14:36:15 +0000 (15:36 +0100)]
Don't use forward delaration of Elm_Object_Item.

The definition of the object is different in Elementary 1.13. Since this
is what Tizen 3.0 currently uses the code failed to compile. Instead of
using forward delclarations simply include Elementary.h header. This
should ensure the code builds no matter what version of EFL/Elementary
is being used.

Change-Id: Id5eb1fde0aa16ab651538755d1aac67edd0e9011
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agofixup! Switch to TV 3.0 as the default target for build_tv.sh
Piotr Tworek [Mon, 16 Mar 2015 14:34:46 +0000 (15:34 +0100)]
fixup! Switch to TV 3.0 as the default target for build_tv.sh

Move extra python package handling to common.sh. Without it build
without -P tztv_v3.0 would still fail as PROFILE_NAME did not have any
default values in build_tv.sh.

Change-Id: I95b507d4156ac8aff6fe6335d7b9d7b3e4047421
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
6 years agofixup! Allow building content shell when xwalk directory is absent
Piotr Tworek [Mon, 16 Mar 2015 14:31:26 +0000 (15:31 +0100)]
fixup! Allow building content shell when xwalk directory is absent

Fix TV/Odroid xwalk build break introduced by the original patch. We
need to pass --xwalk gyp flag to make sure appropriate ninja files are
generated.

Change-Id: I35666f8458f82113a41df640386012d7b3dee79b
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoRevert "Use 3.0 rpm feed from 27.02.2015 as all the newer ones are broken"
Piotr Tworek [Mon, 16 Mar 2015 10:35:43 +0000 (11:35 +0100)]
Revert "Use 3.0 rpm feed from 27.02.2015 as all the newer ones are broken"

Unfortunately the snapshot was removed from the server.

This reverts commit cf4d327d18a3e856bc04ebe8e67db87c25794fbb.

Change-Id: Ib2e4a639c44984c5f300a9967ba109b7d25e256d
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years ago[beta merge] Remove tw_macro.h and tw_ref_counted.h
Arnaud Renevier [Thu, 12 Mar 2015 23:01:18 +0000 (16:01 -0700)]
[beta merge] Remove tw_macro.h and tw_ref_counted.h

tw_macro.h and tw_ref_counted.h are simplified copies of base/macros.h
and base/memory/ref_counted.h. They had been introduced for the sole
purpose of not including chromium includes. But we don't have that
requirement anymore. So we can use macros.h and ref_counted.h header
files directly.

Change-Id: I395c7cd3c17a077834d6bbde877a6af70059a88c
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years ago[beta merge] Remove tw_export.h
Arnaud Renevier [Thu, 12 Mar 2015 22:54:53 +0000 (15:54 -0700)]
[beta merge] Remove tw_export.h

Since we aim to remove the layer tizen_webview, tw_export.h doesn't make
sense anymore.

Change-Id: I9a12b1df74c6b83b6f098b56c9ba242a78f5f850
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoEnable ewk_view_feed_touch_event
yh106.jung [Mon, 16 Mar 2015 04:59:17 +0000 (13:59 +0900)]
Enable ewk_view_feed_touch_event

Make ewk_view_feed_touch_event is available.
Currently use tizen webview interface, but tizen webview interface will be
removed later.

Change-Id: I18d39d45280808a253ad7ed139cb777354b25221
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
6 years agoRemove tw_frame.h
Arnaud Renevier [Thu, 12 Mar 2015 18:31:18 +0000 (11:31 -0700)]
Remove tw_frame.h

Use _Ewk_Frame struct directly instead of tizen_webview::Frame

Change-Id: I67f8fd2bfc3336573978e47498b67e45303eddac
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRemove tw_cache_model.h
Arnaud Renevier [Wed, 11 Mar 2015 23:27:34 +0000 (16:27 -0700)]
Remove tw_cache_model.h

Use Ewk_Cache_Model enum directly instead of tizen_webview::Cache_Model

Change-Id: Ib76254a6ae2cbbe90c288319aff55e3d12de3aec
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoRemove tw_custom_handlers.h
Arnaud Renevier [Wed, 11 Mar 2015 20:49:15 +0000 (13:49 -0700)]
Remove tw_custom_handlers.h

Use Ewk_Custom_Handlers_Data struct directly instead of
tizen_webview::Custom_Handlers_Data

Change-Id: If9603f41394fd9003332baa1426d4520e431605d
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoAdd a gyp depency to wtf
Arnaud Renevier [Thu, 12 Mar 2015 18:17:32 +0000 (11:17 -0700)]
Add a gyp depency to wtf

Efl Render View Observer depends on blink FontCache.h Currently, building
content shell fails with the following error:

In file included from ../../third_party/WebKit/Source/wtf/unicode/Unicode.h:31:0,
                 from ../../third_party/WebKit/Source/wtf/StringHasher.h:25,
                 from ../../third_party/WebKit/Source/platform/fonts/FontFaceCreationParams.h:35,
                 from ../../third_party/WebKit/Source/platform/fonts/FontCache.h:35,
                 from ../../tizen_src/ewk/efl_integration/renderer/render_view_observer_efl.cc:38:
../../third_party/WebKit/Source/wtf/unicode/icu/UnicodeIcu.h:26:27: fatal error: unicode/uchar.h: No such file or directory

This patch adds a gyp dependency on wtf to fix the issue. (Adding a dependency
to blink_platform doesn't fix the issue)

Change-Id: I8add9018fe406b118c479de1bcb417ee299477d7
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoFixes ccache_env.sh path
Arnaud Renevier [Mon, 9 Mar 2015 22:54:07 +0000 (15:54 -0700)]
Fixes ccache_env.sh path

Currently, trying to build with --ccache results in the following error:
src/tizen_src/build/common.sh: line 97: src/build/ccache_env.sh: No such
file or directory

This patch fixes ccache_env.sh path

Change-Id: Iae86efdd8f8165b27dfa034f190978e706d01c69
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoFix EWK support for switching between mouse and touch events
Piotr Tworek [Fri, 13 Mar 2015 12:22:08 +0000 (13:22 +0100)]
Fix EWK support for switching between mouse and touch events

EWK functions switching between mouse and touch events operate on the
view object. Unfortunately our current implementation operated on the
RenderWidgetHostView objects. There is no 1:1 translation between EWK
view and RenderWidgetHostView. As a result any modifications the
functions made were only valid until chromium decided to create a new
RWHV. Take the following use case.

  1. Launch ubrowser
  2. Load some page, for example google.com
  3. Enable touch events via extra actions menu.
  4. Load different page, ex xkcd.com

In such scenarion touch events should be still enabled for xkcd.com. The
problem is they weren't. Chromium creates new RWHVs for pages being
loaded from different domain. As a result loading xkcd page disabled
touch events once again.

This patch fixes the problem by moving input event toggling code the the
WebContentsView object. There is always only one object of that type per
WebContents/EWebView.

Change-Id: I6d16ded8cdbf252b1e12b34cc02f43f7566af5d3
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoubrowser: Fix EFL error trigger by incorrect call to elm focus_set func.
Piotr Tworek [Fri, 13 Mar 2015 11:54:44 +0000 (12:54 +0100)]
ubrowser: Fix EFL error trigger by incorrect call to elm focus_set func.

Technically the Ewk WebView object is not an elementary widget. Its a
smart object build from elementary widgets. We should not pass the
object to any elm function calls as they will only trigger runtime
errors without doing anything.

This patch fixes the following runtime EFL error message seen during
ubrowser startup:

  ERR<18221>:eo lib/eo/eo.c:676 _eo_call_resolve() in elm_widget.eo.c:111:
      func 'elm_obj_widget_can_focus_set' (304) could not be resolved for
      class 'Evas_Object_Smart'.

Change-Id: I8d3587c72dd911648a431a2f822b5806b634e36f
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoFix elementary widget stacking
Piotr Tworek [Fri, 13 Mar 2015 11:48:46 +0000 (12:48 +0100)]
Fix elementary widget stacking

The problem could be observed by showing extra actions menu in ubrowser
(rightmost button in the navigation bar). When shown large part of the
menu would be improperly stacked below the webview widget.

The root cause was in the fact that after the refactoring branch changes
both the NativeView and ContentNativeView widgets were not added to the
view smart object. This patch fixes that.

Change-Id: I38213ba03c1b08feb0643f661f063e1c530fc78f
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoFix EFL errors triggered by SelectionMagnifier
Piotr Tworek [Fri, 13 Mar 2015 11:45:32 +0000 (12:45 +0100)]
Fix EFL errors triggered by SelectionMagnifier

When starting any of the reference apps the following EFL error could be
ovserved:

  ERR<24658>: elm_main.c:1566 elm_object_top_widget_get() safety check failed:
      obj == NULL
  ERR<24658>:eo lib/eo/eo.c:676 _eo_call_resolve() in elm_widget.eo.c:315:
      func 'elm_obj_widget_sub_object_add' (253) could not be resolved for
      class 'Evas_Object_Smart'.

The root cause for the issue was in the logic looking for the parent of
the magnifier widget. The widget parent should be the NativeView for the
WebContents displaying the magnifier. This patch fixes that.

Change-Id: I7084044699d7c41fbced80fc193579740850a0d9
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoFix runtime EFL errors triggered by EWK context menu implementation
Piotr Tworek [Fri, 13 Mar 2015 10:14:23 +0000 (11:14 +0100)]
Fix runtime EFL errors triggered by EWK context menu implementation

Our current EWK implementation of context menus triggers the following
EFL runtime errors whenever its shown:

  ERR<23471>:eo lib/eo/eo.c:676 _eo_call_resolve() in elm_widget.eo.c:315:
  func 'elm_obj_widget_sub_object_add' (253) could not be resolved for class
  'Evas_Object_Smart'.
  ERR<23471>:eo lib/eo/eo.c:676 _eo_call_resolve() in elm_widget.eo.c:315:
  func 'elm_obj_widget_sub_object_add' (253) could not be resolved for class
  'Evas_Object_Smart'.

This basically means we're adding context menu to a wrong parent. Its
parent should be the Evas_Object representing the view, not the Smart
object wrapping it. This patch fixes the mistake. With it in place
showing context menus in ubrowser or efl_webview_app does not produce
any runtime EFL errors.

The problem is also present on beta/m40 branch.

Change-Id: I70091a5d161a5f4b5d70d232f7613d80967c1839
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoubrowser: Remove web_view_elm_host_ hack from the app.
Piotr Tworek [Thu, 12 Mar 2015 17:22:50 +0000 (18:22 +0100)]
ubrowser: Remove web_view_elm_host_ hack from the app.

Since the RWHV we currently use does try to integrate into elementary
focus tree we no longer need this workaround in ubrowser. WebView object
itsenfl should properly handle both evas and elementary focuses.

Change-Id: Ic6fadcb3fed3fc3a0c309f1d818c67e813f56ab0
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoFix a bunch of EFL warnings we can see during EWK apps startup.
Piotr Tworek [Fri, 13 Mar 2015 09:23:01 +0000 (10:23 +0100)]
Fix a bunch of EFL warnings we can see during EWK apps startup.

The EWebView::evas_object_ is an Evas_Smart object. We should not as
argument for any of the elm_ or many of the evas_ functions. Instead
we should use the object returned btWebContentsView::GetNativeView
call. For convenience it's also available in EWebView::native_view_.

Another part of the patch implements a better mechanism for finding
valid elementary root object for current EWK view. In general if we want
to seamlesly integrate with elementary focus tree we should make sure
our elm objects are always added for elementary parents. Adding elm
objects for random Evas_Objects works in most cases, but it does
trigger an EFL warning and usually breaks focus traversal.

Besides making our EWK app startup cleaner this patch should also fix
url bar focus handling in mini_browser and ubrowser. To see the problem
click on the url bar to show the carret then click anywhere in the web
view widget. Clicking on the webview widget should always take focus
away from the urlbar (caret should disappear). Without this patch this
scenario works as it should in content_shell, but not in EWK apps.

Change-Id: I518da262366eec6752a8b09fc61029982f8b58bc
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoGet rid of Evas image object from Ewk_View_Smart_Data
Piotr Tworek [Fri, 13 Mar 2015 09:17:25 +0000 (10:17 +0100)]
Get rid of Evas image object from Ewk_View_Smart_Data

The actual image object is now created and managed inside
RenderWidgetHostViewEfl. The one left over in EWK layer is not used for
anything and should be removed.

Change-Id: I858b21f8d7b57cafe715a92fb370333f442103df
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
6 years agoAllow building content shell when xwalk directory is absent
Arnaud Renevier [Thu, 12 Mar 2015 17:52:40 +0000 (10:52 -0700)]
Allow building content shell when xwalk directory is absent

Currently, it's not possible to build anything if xwalk directory is not
present. It would be great if we could, because xwalk is on a separate
repository, and might not always be available.

This patch sources gyp xwalk related files only if they are to be used.
Instead of passing xwalk.gyp path to gyp_chromiumefl, a flag --xwalk is
now passed. If and only if set, gyp_chromiumefl will source xwalk.gyp
and other xwalk related gyp files.

Change-Id: I872985cbe25a684cb8e325173e21a1a09cff313b
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>