Piotr Tworek [Fri, 24 Apr 2015 11:20:00 +0000 (13:20 +0200)]
Introduce WebContentsViewEflDelegate interface.
The idea is to avoid the need to modify upstrem WebContentsViewDelegate
interface. WebContentsViewEflDelagate is supposed to hold only extra EFL
specific extensions we'd otherwise have to put in the non Efl
counterpart of the interface. The downside is WebCotnentsViewEfl
implementation has two delegates now and care has to be taken to call
function from the correct one. Still it's probably preferable to do it
this way instead of patching chromium.
Change-Id: I6cdb0c966b11be33bf71ab3f45f172259cf063ae
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Arnaud Renevier [Thu, 16 Apr 2015 20:32:25 +0000 (13:32 -0700)]
[Rebase][dev/m42] Vibration changes
Vibration is not signaled by ipc messages anymore. Instead, mojo is
used to call methods of a VibrationManager object living in the browser
process.
This patch implements this interface. It also provides a virtual
interface device::VibrationProviderClient
On ewk side, things are simplified: instead of having
Ewk_Vibration_Client and VibrationProviderClient. There is only one
class: VibrationProviderClientEwk, which implements
device::VibrationProviderClient
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=10491
Change-Id: Ifef41e504cb0b9ea3dec8e7f9703a325c1fb3e7d
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Piotr Tworek [Thu, 23 Apr 2015 16:16:19 +0000 (18:16 +0200)]
Place usage of FrameHostMsg_LoadNotFoundErrorPage in EWK_BRINGUP ifdefs.
The feature requires additional patches in chromium that we don't want
to push to dev/m42_2311 until we're sure the same functionality can't be
implemented entirely in tizen_src.
Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=12675
Change-Id: I46e145fa4ed67b0384c0bc0db9284f2fdf5d6748
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Piotr Tworek [Thu, 23 Apr 2015 15:27:03 +0000 (17:27 +0200)]
Change async window creation code to simplify chromium patch.
The goal here is to minimize the change done to upstream chromium code.
The solution may have a hacky feeling to it (#define private protected),
but hopefully it should ease s-chromium maintenance burden.
Change-Id: I07d32643db4a9686027dfa6cfa93591e2c083aa1
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Piotr Tworek [Wed, 22 Apr 2015 15:24:23 +0000 (17:24 +0200)]
Adjust the code to dev/m42 platform notification changes
dev/m42_2311 branch contains some additional patches changing
PlatformNotificationData structure. Since the goal is to make
experimental/dev/master build on top dev/m42_2311 adjust our code
accordingly.
Together with: I55a0b1d3d919a1ebfa83855e9056d6253fa70fdf
Change-Id: I208a2d85e016fc661da18a4d7f5e018635de61e5
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Antonio Gomes [Wed, 22 Apr 2015 15:57:40 +0000 (08:57 -0700)]
Override content::CreateInProcessGpuThread for EFL port.
Patch makes use of the same override technique used by
RenderThemeChromiumDefault to override the theme method.
Basically, we "redefined" the method we want to override
and include the original source file containing its definition
(.cc or .cpp). Additionally, we exclude the original
implementation file from the build (in GYP).
Then we can have our own implementation of this method
from our efl specific method.
Together with: Iac24e6d38174d7dc8f0d1bb1c37bc8dac05d83c5
Change-Id: Ib7c2aeedbf76de576a25ad95d5437919fec09d3c
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
Piotr Tworek [Wed, 22 Apr 2015 14:50:53 +0000 (16:50 +0200)]
Alias EwkMsgStart to ShellMsgStart
Since no content_shell code is being used in libchromium-ewk we can
safely reuse Shell IPC message ID for EWK specific messages. The goal
here is to minimize the amount of changes to upstream code.
Change-Id: I646018f8c9050f32d1d2851eedeedc347b08be38
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Arnaud Renevier [Wed, 15 Apr 2015 21:32:43 +0000 (14:32 -0700)]
Handle notification silent option
Add ewk api ewk_notification_silent_get
Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=10487
Change-Id: Ia4ed78ab2ad82a6b976b2e391d2b9230afb4d440
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Piotr Tworek [Tue, 21 Apr 2015 09:50:20 +0000 (11:50 +0200)]
Reuse ui_events_helper.cc implementation in EFL port.
Normally the file is excluded from build when use_aura is set to 0.
Since we're interested in reusing it lets add it back.
Change-Id: Ib552f3bd2839deef07172ca0953164f6853032e6
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Arnaud Renevier [Tue, 14 Apr 2015 22:20:24 +0000 (15:20 -0700)]
Bring up notifications
Most of the api has been pushed to ContentBrowserClientEfl to an
interface PlatformNotificationService.
https://code.google.com/p/chromium/issues/detail?id=439950
We implement PlatformNotificationService with NotificationControllerEfl
Since embedder API for notifications change a lot on chromium side, we
guard notifications with a compile flag. That way, it will be easier to
disable notifications temporarily if needed next time we update
chromium.
NotificationControllerEfl::SetPermissions is removed because it wasn't
used.
http://107.108.218.239/bugzilla/show_bug.cgi?id=10487
Change-Id: If155b5d5b8c7fc99ebe0ef75a0b5388e849bd1dd
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Antonio Gomes [Mon, 20 Apr 2015 17:55:56 +0000 (13:55 -0400)]
fixup! fixup! [Rebase][dev/m41_2272] API changes in GestureRecognizer
In
4bae880d, patch adapted our obsolete touch handling
implementation of "acked async" touch events by replacing
::ProcessTouchEventOnAsyncAck by a "sync" variant (which is
not what was intended): ::AckSyncTouchEvent.
That caused the processing events' queue to enter in a state
where it got stuck, and no further events could get processed.
On debug builds, an assert was hit @GestureProviderAura::OnSyncTouchEventAck.
Patch fixes it by making a call to the proper "async" replacement
of ::ProcessTouchEventOnAsyncAck, namely ::AckSyncTouchEvent.
Upstream reference:
https://chromium.googlesource.com/chromium/src/+/
8879cfca3b19c304004e34e6dec9629752cd3%5E!/#F6
PS: It is worth mentioning that, later on the first argument of
::AckAsyncTouchEvent was removed in
https://chromium.googlesource.com/chromium/src/+/
b1663498ac1d59fc3baa085c155f84a1726ca87d%5E!/#F9
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=10493
Change-Id: I2f5a671c4ff2dd5184ce175f7bc4d54aef663f33
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
Arnaud Renevier [Mon, 13 Apr 2015 22:32:06 +0000 (15:32 -0700)]
Fixes utc_blink_cb_form_submit.NonSubmit
Right now, utc_blink_cb_form_submit.NonSubmit ends with timeout. But the
expected value is Failure. This is erroneous.
Change-Id: I1544c73d6b1b1de168ed2d1cac98b3ace807213a
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Arnaud Renevier [Mon, 13 Apr 2015 21:34:04 +0000 (14:34 -0700)]
Fix form,submit callback
EwkHostMsg_FormSubmit is Send on the RenderFrame. So it's not handled in
WebContentsDelegate anymore. It is handled in
WebViewBrowserMessageFilter now.
Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=10490
Change-Id: Iafd138bbbb198f32481e68f312ec178e008846a8
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Arnaud Renevier [Fri, 17 Apr 2015 20:01:12 +0000 (13:01 -0700)]
Bringup devtools
DevToolsHttpHandler::Stop has been removed. Instead, cleanup is done in
destructor.
Change-Id: Ie059ad9735f95bea0cb848f3f11d91e19580c565
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Arnaud Renevier [Mon, 20 Apr 2015 16:20:12 +0000 (09:20 -0700)]
Remove unused forward class declarations
Many forward class declarations are actually not needed. This patch
cleans them up.
Change-Id: I880039161b8415d36568bda5d646b150dfce8227
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
yh106.jung [Thu, 16 Apr 2015 12:44:59 +0000 (21:44 +0900)]
Enable EWebView::ExitFullscreen()
ExitFullscreen() was moved from RVH to WCI on M42.
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12028
Change-Id: I94ce408e41b64c8eadcc5978c2b6b5c03e0078b4
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
hh4813.kim [Thu, 16 Apr 2015 10:29:36 +0000 (19:29 +0900)]
[EWK_REFACTOR] Remove SelectRange() in EWebView
To remove dependency with EWebView in SelectionControllerEfl,
modify to call WebContentsImpl::SelectRange() directly and remove
SelectRange() in EWebView.
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12028
Change-Id: Ie7bf812b25740319a5e1ee503d6709f3b719eb3b
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
hh4813.kim [Fri, 17 Apr 2015 10:27:55 +0000 (19:27 +0900)]
fixup! Remove tw_selection_controller and tw_context_menu_controller
Change-Id: I41d7a04f1f1d8ec4548f87dc2782cd6014b87a44
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
Arnaud Renevier [Tue, 14 Apr 2015 18:57:24 +0000 (11:57 -0700)]
Remove tw_selection_controller and tw_context_menu_controller
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=11619
Change-Id: I8d8f68391143070ba0798130f55456b601cce4b2
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
hh4813.kim [Thu, 16 Apr 2015 11:12:32 +0000 (20:12 +0900)]
[EWK_REFACTOR] Move IsIMEShow() and GetIMERect() from EWebView to RWHV
To remove dependency with EWebView in SelectionControllerEfl,
move IsIMEShow() and GetIMERect() from EWebView to RWHV so that they can
call directly without EWebView.
Also, remove im_context() in RWHV since there's no caller any more.
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12028
Change-Id: I22784d116f6e2176541c4bfd70484f7b65bb0673
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
Antonio Gomes [Thu, 16 Apr 2015 15:00:07 +0000 (08:00 -0700)]
fixup! Update our fetch procedure to point to src/DEPS
Although repositories sync'ed via DEPS file are
being updated fine, our custom deps are not.
The reason is because we are rebasing them
against themselves, not against a remote branch.
Patch fixes it by adding 'origin/' to each custom
deps branch we sync.
As a drawback, it ties us to a remote named 'origin'
but it should not affect normal developers' workflow
negatively.
Change-Id: Ifeba7fc09155aa5f6eeb38d82bf9b504061b1802
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
Piotr Tworek [Thu, 16 Apr 2015 14:01:26 +0000 (16:01 +0200)]
Remove some of the NOTIMPLEMENTED() logs we don't have any interest in.
1. We're not interested in implementing our own overscroll controller.
We already have support for overscroll effect implemented via
EdgeEffect object in RWHV_EFL.
2. The AcceleratedSurfaceInitialized function was added mostly for
android port. We have no use for it in EFL and it's not even pure
virtual so we don't have to provide an empty implementation.
This should make our app startup contain a little bit less spam.
Change-Id: I47321dd729eb98d12b1ab72b7cd98fcc90bb5176
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
yh106.jung [Thu, 16 Apr 2015 12:09:39 +0000 (21:09 +0900)]
Fix IME keyboard issue for url bar of mini browser
There are 2 issues:
1. When IME keyboard is hidden by the outside, focus of url bar is not
removed. So when user tries to tap on url bar, IME keyboard is not
shown.
For resolving it, we should remove focus of url bar when callback of
ECORE_IMF_INPUT_PANEL_STATE_HIDE is called without hide_imf_panel()
call.
2. Sometimes IME is closed before it is hidden. So We cannot move tool
box and remove focus of url bar.
Solution is that move tool box and remove focus when IME close callback
is called.
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12566
Change-Id: I019ed98513f3308fe9d80b8696a5b3adaff059f5
Signed-off-by: yh106.jung <yh106.jung@samsung.com>
Piotr Tworek [Thu, 16 Apr 2015 08:57:37 +0000 (10:57 +0200)]
Remove conformant object fron WebContentsViewEfl.
Elementary conformat widget is supposed to account for space taken up by
virtual keyboard and indicator widgets. It's an important element, but
it should be instantiated only once for each elementary window. If it's
instantiated several times the app layout may add extra padding at
window edges more than once. Such extra unnecessary pading was the root
cause behind bug #12564.
Currently uBrowser, Reference borwser and mini_browser instantiate
conformant widgets on the application level. The only app that does not
do it is efl_webview_app. The app is not exactly a good example on how
EWK apps should be implemented. It seems the standard practise is to
inject conformant widget at the app level. Doing it in the engine may
not be obvious and can lead to a subtle bugs that are only visible for
some elm layouts.
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12564
Change-Id: I768c350a7a246ea5e6d79864f4d7916c46096f05
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Piotr Tworek [Wed, 15 Apr 2015 16:37:02 +0000 (18:37 +0200)]
Make sure disambiguation popup parent is a elementary widget.
Elementary widgets require to have other elm widgets as their parents.
When this requirement is not met elementary focus chain is broken.
Since disambiguation popup uses elementary widgets we need to make sure
the parent we give it is also an elm widget.
This patch fixes a couple of EFL runtime errors seen on Tizen 2.4 mobile
target during ubrowser/efl_webview_app startup.
Change-Id: I36a9b9920f5ca61aedc7ef1ca1420a04cbc2f6f8
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
Arnaud Renevier [Wed, 15 Apr 2015 19:37:46 +0000 (12:37 -0700)]
Refactor _Ewk_Security_Origin
_Ewk_Security_Origin constructor only allows GURL
Also, if port is unspecified, GetPort returns 0 instead of -1. This
fixes utc_blink_ewk_notification_security_origin_get unit test.
Change-Id: I4c1633a4ff75d6962afef222514b33be86b20bd4
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Arnaud Renevier [Tue, 14 Apr 2015 18:03:19 +0000 (11:03 -0700)]
Remove tw_callbacks.h
We can also remove chromium_glue and api_static_check now.
Change-Id: Id9d23111224cfcba34ada147f701b4bf51afa603
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Arnaud Renevier [Mon, 13 Apr 2015 18:19:57 +0000 (11:19 -0700)]
Remove tw_hit_test
There were two distinct classes: Ewk_Hit_Test and _Ewk_Hit_Test.
Ewk_Hit_Test was a subclass of tizen_webview::Hit_Test _Ewk_Hit_Test
owned an Ewk_Hit_Test and accessed it's properties.
This patch simplifies everything: there is now only _Ewk_Hit_Test, and
Ewk_Hit_Test is an alias to it.
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=11619
Change-Id: I885c5c8350f306b44c2d8ed19ab1c9a2ff43894a
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
hh4813.kim [Thu, 16 Apr 2015 05:44:42 +0000 (14:44 +0900)]
[EWK_REFACTOR] Move IsLastAvailableTextEmpty() from EWebView to RWHV
To remove dependency with EWebView in ContextMenuControllerEfl and
SelectionControllerEfl, move IsLastAvailableTextEmpty() from EWebView
to RWHV so that they can call directly without EWebView
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12028
Change-Id: Iccf6a6e1f7706d9092732dc9b77cd8916e93bb61
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
Antonio Gomes [Wed, 15 Apr 2015 08:20:43 +0000 (17:20 +0900)]
Enable builtin gold linker for both Tizen 2.4 and 3.0 builds.
In early stages, there were a need to have home-built
64bit statically linked gold binary in order to link
chromium-efl.so.
Some stuff have changed since then:
- our binary became much smaller once when
merged chromium-efl and chromium-ewk libs
- our platform now supports gold.
Patch switches to builtin gold. As a result
binary became 1Mb smaller. Next step is to enabled
LTO (Link time optimization) and fuse-linker-plugin
and a further binary size reduction is expected.
Change-Id: Ib414be3e97892a6379d89919783cdb1159044524
Arnaud Renevier [Wed, 15 Apr 2015 22:59:39 +0000 (15:59 -0700)]
Fixes: cannot build mobile with --ccache
building mobile with --ccache results in the following error:
build/ccache_env.sh: No such file or directory
We need to fix the script path in chromium-efl.spec
Change-Id: Ia0c580082b3653c7e7e590ec0babc412a85a9f22
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
Arnaud Renevier [Wed, 15 Apr 2015 22:57:03 +0000 (15:57 -0700)]
Fixes: cannot build mobile without --include-all
Since packaging folder is a link, it is not handled by git. Then, gbs
needs --include-all parameter. Otherwise, mobile build will fail with
error: No source package found at /path/to/directory/src
error: <gbs>some packages failed to be built
Change-Id: I8638d03d2ff6d80e037fcd121642708bf89fd67c
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
hh4813.kim [Wed, 15 Apr 2015 08:29:51 +0000 (17:29 +0900)]
fixup! Merge efl-port POC code into tizen_src
It has included render_widget_host_impl.h twice, so remove one.
Change-Id: I5d9d1238f88b63d3994d12891d954c298a57c79a
Signed-off-by: hh4813.kim <hh4813.kim@samsung.com>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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.
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.
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.
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.
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
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>