platform/framework/web/chromium-efl.git
6 years agoApply hide/restore selection controls logic to zoom in/out.
Antonio Gomes [Fri, 13 Nov 2015 05:49:11 +0000 (01:49 -0400)]
Apply hide/restore selection controls logic to zoom in/out.

When one scrolls around, handles and context menu get temporarily
hidden, and are shown again when the gesture finishes.
In order to match s-browser behavior, patch extends that logic
to zoom in/out gestures.
In summary, once user starts to pinch, controls are temporarily
hidden (similarly to scroll). They are restored when user lift
up his fingers.
Setter and getter methods are also renamed to SetControlsTemporarilyHidden
and AreControlsTemporarilyHidden.

These are the scenarios:

Scrolls
1) when user starts to scroll one ScrollBegin gets emitted.
2) when user stops to scroll one ScrollEnd gets emitted.
So, it is a simple 1:1.

Start pinch zoom
1) When user starts to pinch zoom, first ScrollBegin is emitted, and then
PinchBegin is emitted, so we call SetControlsTemporarilyHidden(true) twice.
The first call, sets hidden status to true, and actually hide the controls.
The second call early returns on line 102.

Stop pinch zoom
1) When user lift up both fingers at the same time, ScrollEnd and PinchEnd are
emitted, so we call SetControlsTemporarilyHidden(false) twice.
The first call checks there is no finger touching the screen. If no, then it sets
status to false, and request showing the controls again. The second call earl
returns in line 102.

2) When user lifts up only one finger, and keeps another down, only PinchEnd
is called. At this point, it calls SetControlsTemporarilyHidden(false), checks
that one finger is still down, and early returns in line 111 - scrolling is
happening now. When user lifts up the last finger, ScrollEnd is emitted,
and SetControlsTemporarilyHidden(false) is called. At this point, it confirms
that no fingers are down, sets the status to false, and request showing
of controls again.

Note that to make sure no finger is on screen, patch exposes
RWHVEfl::pointer_state's GetPointerCount method.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=5007

Reviewed by: a.renevier, djmix.kim, sns.park

Change-Id: Ic627be821e9146d3c360463c4a4832d30ab68715
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoRemove unused variable "ret" in RenderWidgetHostViewEfl::PaintToSurface()
kriti.s [Mon, 3 Aug 2015 06:31:39 +0000 (12:01 +0530)]
Remove unused variable "ret" in RenderWidgetHostViewEfl::PaintToSurface()

M42 patch: http://165.213.202.130/gerrit/#/c/84456/

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

Reviewed by: sns.park, venu.musham

Change-Id: I0c685811d22f2bcf7f44b53b42e7e5a37012219f
Signed-off-by: kriti.s <kriti.s@samsung.com>
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
6 years ago[MM] Add gstreamer-fft library and FFTFrameGStreamer.cpp
Hyemi [Fri, 30 Oct 2015 12:41:00 +0000 (21:41 +0900)]
[MM] Add gstreamer-fft library and FFTFrameGStreamer.cpp

Change implementation of FFTFrame to use GST FFT library
to remove dependency of FFmpeg library.

1. Add use_gstreamer_fft feature in supplement.gypi
2. Add FFTFrameGStreamer.cpp under chromium_impl
3. Add external dependencies for s-chromium branch

Together with: I4fed3adf4ff682852c922bc1d240e653efe9e722

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

Reviewed by: a1.gomes, sns.park

Change-Id: I40121101333fa735ded3bde9f813c036b8aa2c28
Signed-off-by: Hyemi Shin <hyemi.sin@samsung.com>
6 years agoAlternative solution for enabling setAutoZoomFocusedNodeToLegibleScale on desktop.
Antonio Gomes [Tue, 17 Nov 2015 17:37:07 +0000 (13:37 -0400)]
Alternative solution for enabling setAutoZoomFocusedNodeToLegibleScale on desktop.

Patch ties setAutoZoomFocusedNodeToLegibleScale up with a known
EFL/mobile specific runtime toggle: 'mobile-viewport-style'.
This allows setAutoZoomFocusedNodeToLegibleScale to get set when
ubrowser --mobile is called on desktop.

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

Reviewed by: a.renevier, sns.park

Change-Id: Ib435118732ddbc439a7df13d0ed32223fad5c174
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoCorrection in Javascript console message logging.
Chandan Padhi [Wed, 26 Aug 2015 11:07:01 +0000 (16:37 +0530)]
Correction in Javascript console message logging.

Currently, the base/top level url is always logged in the console
message irrespective of the file from which the message actually
comes from, which is incorrect.
With this patch, the filename from where the message actually comes
is logged in the console.
This makes debugging JS errors relatively easier.

M42 patch: http://165.213.202.130/gerrit/#/c/85872/

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

Reviewed by: a1.gomes, sns.park, venu.musham

Change-Id: I471a8381fbfee572943913dc2fafd3e38f8791c9
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
6 years agoChange velocity tracker strategy to INT1
Tomasz Czekala [Tue, 17 Nov 2015 16:31:10 +0000 (17:31 +0100)]
Change velocity tracker strategy to INT1

By using the default velocity tracker strategy (namely LSQ2) we have
been facing issues like scrolling sometimes happening on the
opposite direction of fingers movement. It is caused by poor touch
event's time (sometimes 2 events with different position have very
similar or the same time). LSQ2 strategy is sensitive to such errors.

Patch temporarily changes chromium-efl default velocity tracker
strategy to INT1, a more robust strategy. Once platform side start
to report more accurate event data, we can consider use LSQ2 again.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14807
Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14680

Reviewed by: a1.gomes, msu.koo

Change-Id: Ide4f2f98ad0042cef92f8dcc5ea0250294c9079c
Signed-off-by: Tomasz Czekala <t.czekala@samsung.com>
6 years ago[MM][MSE] Multiple DemuxerSeekDone calls
puru [Mon, 16 Nov 2015 10:05:19 +0000 (15:35 +0530)]
[MM][MSE] Multiple DemuxerSeekDone calls

MediaSourceDelegateEfl calls DemuxerSeekDone multiple times,
hence seek offset is updated many times.

Cherry-pick(beta/m42): http://165.213.202.130/gerrit/#/c/93731/

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

Reviewed by: sm.venugopal, sns.park

Change-Id: I664287631605b947fd983144116a54aac3a780f5
Signed-off-by: puru <puru.dharma@samsung.com>
6 years agoEwk_Settings are not preserved after domain change
Grzegorz Czajkowski [Fri, 6 Nov 2015 12:04:53 +0000 (13:04 +0100)]
Ewk_Settings are not preserved after domain change

By default, Chromium creates a renderer process for each
instance of a site the user visits [1]. This result in
creating a new instance of |content::WebPreferences|.
Those preferences are mostly determined on command switches:

WebPreferences RenderViewHostImpl::ComputeWebkitPrefs() {
WebPreferences prefs;
prefs.web_security_enabled =
!command_line.HasSwitch(switches::kDisableWebSecurity);
...
GetContentClient()->browser()->OverrideWebkitPrefs(this, &prefs);
return prefs;
}
After that, newly determined |prefs| are sent to renderer.

The problem is that |Ewk_Settings| has own instance of
|content::WebPreferences| which client (through ewk_settings* API)
is able to change. Once renderer gets changed, RVHImpl calls
ComputeWebkitPrefs() not including client changes at all.
In consequence, settings are not sync between Browser and Renderer.

This patch ensures creation of Ewk_Settings during EWebView
initializaion. First call to ContentBrowserClientEfl::OverrideWebkitPrefs
allows using default WebPreferences values which are computed
based on command line switches. Successive, override RHVImpl's prefs
in favour of Ewk_Settings.

Since Ewk_Setings has own store for EFL specific prefs [2]
there is a need to handle them separately when renderer (RenderView)
is created. What's crucial there, is to send the message to proper
|RVH| which is passed via RenderViewCreated. Using |RVH| from
EWebView/WebContents at that time would result in sending message
to outgoing process.

[1] https://www.chromium.org/developers/design-documents/process-models
[2] http://165.213.202.130/gerrit/#/c/92971/

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

Reviewed by: a1.gomes, d.waslicki, sns.park

Change-Id: I53f42080243ae6087c05435d586862c2022f7575
Signed-off-by: Grzegorz Czajkowski <g.czajkowski@samsung.com>
6 years agoRename AutofillManagerDelegateEfl to AutofillClientEfl.
Antonio Gomes [Mon, 16 Nov 2015 20:46:12 +0000 (16:46 -0400)]
Rename AutofillManagerDelegateEfl to AutofillClientEfl.

The fixes a broken nomeclature we carry over since chromium-efl
forked chrome's autofill implementation in [1].

[1] http://suprem.sec.samsung.net/gerrit/#/c/2335/

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/92066/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=9662

Reviewed by: sns.park

Change-Id: I689b9c007ed6f127f921f3f96021ad22c825f58d
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoProper calculate the handle base
Antonio Gomes [Fri, 13 Nov 2015 17:47:13 +0000 (13:47 -0400)]
Proper calculate the handle base

There two places where we set the "base" position for a handle:
::ShowHandleAndContextMenuIfRequired and ::HandleDragEndNotification.

If one looks close, will realize that they set the base position
using different heuristics:
(1) the former sets it to the CENTER point of the selection bound.
(2) the later sets it to BOTTOM_{LEFT,RIGHT} point of the selection bound.

In a comment on the code, (1) explains why it uses "CENTER":
"dragging one handle would cause movement of the other".
Although this is really the case if we stop using the center
point in favor of bottom_{left,right}, this fixes the problem on
the wrong place. Moreover, (1) actually causes a bug noticeable when
user performs text selection on pages with different font sizes, e.g.:

<head>
<style>
h1 { font-size: 850%; }
p  { font-size: 100%; }
</style>
</head>
<body>
<h1>This is heading</h1>
<p>This is a paragraph.</p>
</body>

When user starts dragging a handle, we calculate the so named "diff_point",
which is an offset from the handle "base" point (set as described above) and
user's actual touch point. On a move, the current handle position is
subtracted by the "diff_point", and result is sent to the renderer as a
selection point.

If user is selecting a text whose font is big, the diff_point will be calculated
as the offset between the center point of the selection bound and the
touch point, which will be large. Then if users drags the handle to select
a content with a smaller font size.
the large "diff_point" value does not apply to the small size content, and
will cause the handle to be disconnected from the selection point.

Patch fixes this by always setting "base position" to the bottom_{left,right}
of the selection bound.
This is also what TouchHandle (used Aura/Android) does; in
ui/touch_selection/touch_handle.cc, see the logic that sets touch_drag_offset_.
Also, patch computes a new offset based on the line height that avoids
synthesizing a point on a line above (or below) the intended line.
See help function .ComputeLineOffsetFromBottom' which mimics its counterpart in
from ui/touch_selection/touch_selection_controller.cc.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14746

Reviewed by: a.renevier, sns.park

Change-Id: I4352958c279c00a4b7dc9e882d639cde0c91f11e
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! Hide large handle upon typing.
Antonio Gomes [Wed, 11 Nov 2015 18:47:44 +0000 (14:47 -0400)]
fixup! Hide large handle upon typing.

Move the logic that hides a handle upon user typing
to a hook that is actually called when input field values change.

This fixes a problem where the "hide" logic does not play well
with the zoom-focused-field-to-center logic (enabled by [1]).

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

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=5713

Reviewed by: a.renevier, djmix.kim, sns.park

Change-Id: I7b853a0ba155843343c9fbd7434ea43bcb66847d
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoDo not show large handle when tap on empty fields
Antonio Gomes [Tue, 10 Nov 2015 17:58:21 +0000 (13:58 -0400)]
Do not show large handle when tap on empty fields

Composited selection updates contain a bit of information
to tell if the current (caret) selection is on a empty
form control.

Patch makes use of that info in order to make chromium-efl
to match other mobile browsers (sbrowser, chrome and firefox mobile)
with respect to focus empty fields.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14617

Reviewed by: a.renevier, djmix.kim, sns.park

Change-Id: Ib3e012787dff63c0018ee80a8c43253261ed76ca
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years ago[M42-Merge]Flag for enabling rendering of video frames of type TBM surface
uzair.jaleel [Mon, 5 Oct 2015 11:23:27 +0000 (16:53 +0530)]
[M42-Merge]Flag for enabling rendering of video frames of type TBM surface

Added flag 'TIZEN_TBM_SUPPORT' for enabling rendering support
for frames of type TBM surface.

M42 patch: http://165.213.202.130/gerrit/#/c/89553/

Bug: http://suprem.sec.samsung.net/jira/browse/CBEFL-599

Reviewed by: a1.gomes, sns.park

Change-Id: I1fa08bc55c4c84f4ae923d19fb85b6202afe5939
Signed-off-by: uzair.jaleel <uzair.jaleel@samsung.com>
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
6 years ago[M42-Merge] Move ScopedRestoreNonOwnedEGLContext class to seperate files.
Chandan Padhi [Wed, 16 Sep 2015 14:09:28 +0000 (19:39 +0530)]
[M42-Merge] Move ScopedRestoreNonOwnedEGLContext class to seperate files.

This patch moves ScopedRestoreNonOwnedEGLContext class implementation to
seperate files so that it can be used in GLSurfaceEGL::InitializeOneOff
in gl_surface_egl.cc to fix the evas gl context failure issue on Note4.

M42 patch: http://165.213.202.130/gerrit/#/c/87556/

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

Reviewed by: a1.gomes, sns.park

Change-Id: I066a2de6ac2134007da6e5a83d4fed9c169a2467
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
6 years agoRemove control status that are obsolete now
Antonio Gomes [Tue, 10 Nov 2015 05:07:22 +0000 (01:07 -0400)]
Remove control status that are obsolete now

Logic of the following controls have been obsolete by
simpler mechanisms:

* single_tap_performed
* show_only_large_handle_
* restore_showing_large_handle_on_gesture_end_
* postponed_
* show_after_scroll_
* should_restore_selection_menu_
* selection_acked_on_tap_
* was_scrolled_

Patch nukes them out.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, sns.park

Change-Id: I9d6ee7ffebc8dd7ae7ac00a0c57197cbccbd41dc
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoMake the reasons for showing handles and context menu explicit.
Antonio Gomes [Mon, 9 Nov 2015 23:41:10 +0000 (19:41 -0400)]
Make the reasons for showing handles and context menu explicit.

As of now there is a mix of reasons that request context menu
and selection handles show.
To keep control of what gets shown and when, currently there are
lots of state variables, conditions. To list some, we can name:

* show_after_scroll_
* should_restore_selection_menu_
* selection_acked_on_tap_
* single_tap_performed_
* show_only_large_handle_

Additionally, control is spreadied around different methods,
and is hard to follow.

In order to make it all simpler, patch introduces a single
control that allow us to handle case by case. It is an enum class
named "Reason" whose enum items list include:

* ScrollOrZoomGestureEnded
* HandleDragged
* HandleReleased
* LongPressMoved
* LongPressEnded
* Tap
* RequestedByContextMenu
* Irrelevant

"Irrelevant" enum item represents a case where a selection change
happaned without being asked by chromium-efl, e.g. a text selected by JS.

This way we can control show/not show of context menu and handles
in a simpler way, and eliminate all other mentioned controls (to be done
in a future patch for simplicity).

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, a1.gomes, djmix.kim, sns.park

Change-Id: I6ea5a1146ab38d0478b8cbef036db6724c33cf87
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years ago[M42-Merge] ewk_context_application_cache_delete_all crashes on API tests
sihoons.yang [Thu, 12 Nov 2015 07:03:00 +0000 (16:03 +0900)]
[M42-Merge] ewk_context_application_cache_delete_all crashes on API tests

[issue] Segfault occurs when ewk_context_application_cache_delete_all
is called.

[cause] if ewk_context_application_cache_delete_all API call is faster
than AppCacheServiceImpl::Initialize, segmentation fault occurs.

[solution] ewk_context_application_cache_delete_all
API and AppCacheServiceImpl::Initialize are put the same thread.

M42 patch: http://165.213.202.130/gerrit/#/c/86735/4

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14127
Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14128

Reviewed by: a1.gomes, hh4813.kim, sns.park

Change-Id: Id145919cbd1315a0c0a9950138dad59f467c71f2
Signed-off-by: sihoons.yang <sihoons.yang@samsung.com>
6 years ago[MM][CAPI] handling dom onerror event on page load for MediaElement
Umesh Kumar Patel [Mon, 27 Jul 2015 08:06:04 +0000 (13:36 +0530)]
[MM][CAPI] handling dom onerror event on page load for MediaElement

Any media-src related error during page load was not handled,
due to which dom event |onerror| was not called and causes
Audio and Video onerror tct testcase failure.

Calling player_prepare_async during page load to handle.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14703
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=13396
Bug: http://168.219.209.56/jira/browse/TSAM-127

Reviewed by: sns.park

Change-Id: Idcdc65b86fc464d06f055701d475040251c78f39
Signed-off-by: Umesh Kumar Patel <umeshk.patel@samsung.com>
6 years agoRemove unneded request to show selection handles / context menu.
Antonio Gomes [Mon, 9 Nov 2015 16:33:17 +0000 (12:33 -0400)]
Remove unneded request to show selection handles / context menu.

With our new text selection implementation, we have much
more control about when selection handles will be shown,
and the allowed call sites.

Patch removes lots of unneeded call to ::UpdateSelectionDataAndShow
and ::ShowHandleAndContextMenuIfRequired.

Reasons are below:
- RenderWidgetHostViewEfl::DidStopFlinging:
SelectionControllerEfl::HandleGesture: no need to call
::UpdateSelectionDataAndShow manually, because SetScrollStatus
is also called in both cases, and it does take care of calling
::ShowHandleAndContextMenuIfRequired in the relevant situations.

- SelectionControllerEfl::HandleDragBeginNotification: No need to
manually call ::ShowHandleAndContextMenuIfRequired because it will
be call when the next composited selection update pass happens.

- SelectionControllerEfl::HandleLongPressMoveEvent:
SelectionControllerEfl::HandleLongPressEndEvent:
SelectionControllerEfl::IsSelectionValid: no need to activate
selection mode from none of these methods. At these points, it
already be ON.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, djmix.kim, sns.park

Change-Id: I86491da9785413ecf694c1480cd071984b679507
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoUnify mouse_press_ and handle_being_dragged_ controls
Antonio Gomes [Fri, 6 Nov 2015 19:29:47 +0000 (15:29 -0400)]
Unify mouse_press_ and handle_being_dragged_ controls

These two duplicate each other.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, djmix.kim, sns.park

Change-Id: I08b05b222dac2fdeac73598da7693462200c5cbf
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years ago[MM] Fix crash on refresh html page while playing the video.
msu.koo [Wed, 11 Nov 2015 12:34:10 +0000 (21:34 +0900)]
[MM] Fix crash on refresh html page while playing the video.

Crash happens on refresh, because media packet comes after player destroyed.

This patch introduced 2 guards to solve this.
- Introduced weak_factory not to make the pending tasks outlive over player.
- Introduced validity checking for player before handling MediaPacketUpdated.

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

Reviewed by: a1.gomes, sns.park

Change-Id: I0f02417abad6159765d88debcf9cba3050a9b006
Signed-off-by: msu.koo <msu.koo@samsung.com>
6 years ago[Mobile] Fix BACK key does not exit fullscreen on ubrowser.
Siba Samal [Wed, 11 Nov 2015 11:13:34 +0000 (16:43 +0530)]
[Mobile] Fix BACK key does not exit fullscreen on ubrowser.

Added callbacks for 'fullscreen,enterfullscreen' & 'fullscreen,exitfullscreen'
to notify ewk_view about Player's view mode change.

Also added EEXT_CALLBACK_BACK callback on normal webview (webpage)
to navigate to previous page if backward is possible.

Bug: http://168.219.209.56/jira/browse/TSAM-577

Reviewed by: a1.gomes, sns.park

Change-Id: I63bbb8936dc9504b5986a93f2a2afb46aa2ba89c
Signed-off-by: Siba Samal <siba.samal@samsung.com>
6 years ago[MM] Fix to access Camerahandle with singleton way.
esnada [Thu, 10 Sep 2015 06:34:11 +0000 (15:34 +0900)]
[MM] Fix to access Camerahandle with singleton way.

Before this patch, to get the information from camera,
camera is keeping created/destroyed.
And this causes blocking IOs inside camcorder framework,
which induct some delays.

This patch is to access the camera as Singleton way to
- Minimize the instantiations of camera handles.
- Minimize the IO overhead inside camcorder framework.

Bug: http://168.219.209.56/jira/browse/TSAM-317

cherry-picked from M42: http://165.213.202.130/gerrit/#/c/86888/

Reviewed by: msu.koo, sns.park

Change-Id: I6c949d34dfd8a12226b381937bd3d76037bf044e
Signed-off-by: esnada <msu.koo@samsung.com>
6 years ago[MM][ME] player_set_streaming_playback_rate API added
y0.kim [Thu, 29 Oct 2015 12:12:39 +0000 (21:12 +0900)]
[MM][ME] player_set_streaming_playback_rate API added

[Problem]  playback rate of streaming can NOT be changed
[Cause]    existing API |player_set_playback_rate()| only works for local file
[Solution] If not local file, use |player_set_streaming_playback_rate|
which is a newly added internal API by our request.

Bug: http://168.219.209.56/jira/browse/TSAM-525

Reviewed by: sns.park

Change-Id: Id41f4c7557558c2034d7449b58638981d364df47
Signed-off-by: y0.kim <y0.kim@samsung.com>
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
6 years ago[MM] Webaudio with CAPI port.
puru [Tue, 3 Nov 2015 08:50:04 +0000 (14:20 +0530)]
[MM] Webaudio with CAPI port.

This patch implements:
1. Webaudio using CAPI player.
2. Decoded output data handling from CAPI interface.
3. Factory interface for webaudio instance creation.

Original M42 patch: http://165.213.202.130/gerrit/#/c/83775/

Bug: http://168.219.209.56/jira/browse/TSAM-56

Reviewed by: sns.park

Change-Id: I413f1f53c7f066620182ce1075f807e06f354ddd
Signed-off-by: puru <puru.dharma@samsung.com>
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
6 years ago[MM] Implement CAPI-based Asynchronous Audio I/O
bollavaram.s [Thu, 1 Oct 2015 09:22:23 +0000 (14:52 +0530)]
[MM] Implement CAPI-based Asynchronous Audio I/O

This commit includes
- added CAPI-based audio I/O
- Set CAPI-based audio I/O as default.
- Use of asynchronous CAPI for performance

Original M42 patches:
- http://165.213.202.130/gerrit/#/c/82224
- http://165.213.202.130/gerrit/#/c/90199
- http://165.213.202.130/gerrit/#/c/91738

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=11535
Bug: http://168.219.209.56/jira/browse/TSAM-422
Bug: http://168.219.209.56/jira/browse/TSAM-538

Reviewed by: sns.park

Change-Id: I0d959b790a8c75c1a1a5f6047df833a842bdb155
Signed-off-by: y0.kim <y0.kim@samsung.com>
Signed-off-by: bollavaram.s <bollavaram.s@samsung.com>
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
6 years ago[MM] Segmentation fault on calling CAPI APIs during destruction
sangdeug.kim [Fri, 11 Sep 2015 10:54:39 +0000 (19:54 +0900)]
[MM] Segmentation fault on calling CAPI APIs during destruction

Set |player_| as 0 to prevent using invalid handler.

|PlayerPrepared| callback which is set in |player_prepare_async| is called
after calling |Destroy| but it's invalid call path.
To unset remained callbacks, calling the |player_unprepare| in |Destroy|.
|player_unprepare| unset the callback which is set from |player_prepare_async|
and |player_set_position| api.

original M42 patches:
http://165.213.202.130/gerrit/#/c/87061/
http://165.213.202.130/gerrit/#/c/87220/

Bug: http://168.219.209.56/jira/browse/TSAM-379

Reviewed by: sns.park

Change-Id: I37cb9d4955acb12b0c40c5fa5d5ff12cc199d818
Signed-off-by: sangdeug.kim <sangdeug.kim@samsung.com>
6 years agoCome up with an alternative solution for kEnableViewportMeta removal.
Antonio Gomes [Tue, 10 Nov 2015 21:14:27 +0000 (17:14 -0400)]
Come up with an alternative solution for kEnableViewportMeta removal.

According to [1], ports should enabled it at build time,
from content/public/common/web_preferences.cc. See [2].

[1] https://code.google.com/p/chromium/issues/detail?id=513214
[2] http://165.213.202.130/gerrit/#/c/92446/

Patch then removes the inexisting command line flag call,
and make the funcionality available for desktop builds
(ubrowser --mobile) by tying it to kUseMobileViewportStyle.

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

Reviewed by: a.renevier, sns.park

Change-Id: I3c737a9c20e59b00e63a5fa31996ae6f05ddf9d6
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoAdd "Open" context menu option for image
Pawel Niemirski [Wed, 28 Oct 2015 15:24:49 +0000 (16:24 +0100)]
Add "Open" context menu option for image

According to Tizen3.0_Mobile_Web Browser_UI guide, when user does
a long press on an image, the context menu should contain "Open" option
which allows to open image in current tab.

Patch implements this option.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/92546/ , reviewed by
Antonio Gomes, DONGJUN KiM

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

Reviewed by: a1.gomes, djmix.kim, sns.park

Change-Id: Ieaeaf669d2e75791a0e980c620d63eb75f124815
Signed-off-by: Pawel Niemirski <p.niemirski@samsung.com>
6 years agoColor picker is too narrow to contain color selector layout
Piotr Ganicz [Mon, 9 Nov 2015 14:32:27 +0000 (15:32 +0100)]
Color picker is too narrow to contain color selector layout

Minimal width of color picker defined in control.edc is too
large. As a result some elements stick out widget.

Patch removes the minimal width set for color pickers to ensure
automatic resize of the widget when we call APIs like:

evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);

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

Reviewed by: a1.gomes, sns.park

Change-Id: I3979087cbd7111f9713a6c7fda3292e6ae3a4223
Signed-off-by: Piotr Ganicz <p.ganicz@samsung.com>
6 years agoUse public context menu enum in internal implementation
Lukasz Bialek [Mon, 26 Oct 2015 10:41:57 +0000 (11:41 +0100)]
Use public context menu enum in internal implementation

There are two enums in the code connected with context menus -
Ewk_Context_Menu_Item_Tag (public one) and ContextMenuOption (internal).
They have to stay in sync, otherwise context menus created externally
will not work properly.

In order to provide reliability, internal implementation has been
converted to use Ewk_Context_Menu_Item_Tag enum. Moreover, context menu
item type enums have been unified as well. This prevents bugs
occuring because of modification of enums in only one place.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/92025/ , reviewed by
Antonio Gomes, Janusz Majnert.

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

Reviewed by: a1.gomes, sns.park

Change-Id: I10326d8352043f3acca044a0a3416e3bcf453e0c

6 years ago[M42-Merge] fixup! Changed implementation of EWebView::GetSnapshot
dhyuna.ko [Tue, 21 Jul 2015 07:12:03 +0000 (16:12 +0900)]
[M42-Merge] fixup! Changed implementation of EWebView::GetSnapshot

MakeCurrent is missing in EWebView::GetSnapshot() where Evas_GL_API is used.
This results in error below inside EvasGL when EvasGL API is called.
"Unable to retrieve Current Engine"

Static allocation of quite large amount of memory caused crash.

Query for GL_IMPLEMENTATION_COLOR_READ_FORMAT returns GL_RGBA, so to use
GL_BGRA results in GL_INVALID_OPERATION error in the case of glReadPixels.

The functionality of EWebView::GetSnapshot was verified on both mobile (Note4)
and tv (XU3).

Original Commit: http://165.213.202.130/gerrit/#/c/83886/

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=13517

Reviewed by: a1.gomes, dhyuna.ko, siba.samal, sns.park

Change-Id: Ie1dd9cf096e4fc92cde6e952f8c318a06da0e7f7
Signed-off-by: dhyuna.ko <dhyuna.ko@samsung.com>
Signed-off-by: venu.musham <venu.musham@samsung.com>
6 years agoNo autozoom after tap on input filed
Grzegorz Czajkowski [Wed, 16 Sep 2015 10:35:06 +0000 (12:35 +0200)]
No autozoom after tap on input filed

blink::WebViewImpl::computeScaleAndScrollForFocusedNode calculates a new scale
for text in editable fields to be legible. However, there is a constraint
m_maximumLegibleScale which is by default set to 1 preventing setting a newly
calculated scale which is usually larger than 1.

Enlarge maximum legible scale for Tizen to allow auto zoom after tap.

Additionally, call ScrollFocusedEditableNodeIntoRect regardless of im_context_
in order to have it for non virtual keyboard (desktop) builds.

Do not scroll and zoom autofocused elements unless IME is expected to be shown.

This is squash of two beta/m42 patches:
1. http://web.sec.samsung.net/gerrit/#/c/84212/ reviewed by
Antonio Gomes, Janusz Majnert

2. http://web.sec.samsung.net/gerrit/#/c/88233/ reviewed by:
Antonio Gomes, DONGJUN KiM:

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

Reviewed by: a.renevier, a1.gomes, sns.park

Change-Id: I0aad6a6fb0ee3a17f15b7c8bd0785ad4e1c0f145
Signed-off-by: Grzegorz Czajkowski <g.czajkowski@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
KangYong Park [Tue, 27 Oct 2015 08:47:03 +0000 (17:47 +0900)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Removed the "EWK_BRINGUP" definition about battery.
Because there is
"device.h" in
"local/BUILD-ROOTS/scratch.armv7l.0/usr/include/system/device.h"

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

Reviewed by: a1.gomes, mohan.reddy, sns.park

Change-Id: Idcb69da8cee1228104f75305f4c2c977666818c9
Signed-off-by: KangYong Park <kaka.park@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Sanghyup Lee [Mon, 9 Nov 2015 23:24:42 +0000 (08:24 +0900)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

RVH::SetTextZoomFactor was removed from s-chromium.
This patch fixes broken path to set text zoom factor.

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

Reviewed by: a1.gomes, hh4813.kim, sns.park

Change-Id: I4f0959b2215a0eb9425817a84ea91ff1e8406db3
Signed-off-by: Sanghyup Lee <sh53.lee@samsung.com>
6 years agomake unittests less verbose
Arnaud Renevier [Fri, 2 Oct 2015 19:02:32 +0000 (12:02 -0700)]
make unittests less verbose

Right now, the unittests are verbose and produce a lot of outputs. This
makes it difficult to debug them.

This patch sets different levels of logging: debug, info, warning and
error. By default, debug messages aren't showed anymore. That way, it
will be easier to see when something actually goes wrong in a test.

It's possible to display them again by setting the environment variable
UTC_MIN_LOG to DEBUG

Reviewed by: a1.gomes, hh4813.kim, sns.park

Change-Id: I6f4e8d61ff5ec24eaccec5240d3fa106edd8ff7c
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agouse ecore evas fullscreen api in efl_webview_app
Arnaud Renevier [Thu, 5 Nov 2015 00:20:32 +0000 (16:20 -0800)]
use ecore evas fullscreen api in efl_webview_app

In efl_webview_app, use ecore_evas_fullscreen_set directly instead of
getting screen size, and setting it with x11/wayland specific APIs

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

Reviewed by: a1.gomes, sns.park

Change-Id: Ib87a44eaee5b9e43dbaf66345aa3e62c8bc4a0c9
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years ago[m47_2526] Fix delegated renderer destruction.
venu.musham [Thu, 5 Nov 2015 09:27:51 +0000 (14:57 +0530)]
[m47_2526] Fix delegated renderer destruction.

Delegated renderer OutputSurface now needs to be destroyed on the
same thread they were created. OutputSurface::DetachFromClient() can
be used to destroy any resources that need to be destroyed on the thread
that the OutputSurface has been bound to.

Fixes crash issue on closing window.

[CL]: https://codereview.chromium.org/1336733002

Reviewed by: a.renevier, a1.gomes, dhyuna.ko, hyuki.kim, sns.park

Change-Id: Iab160ed56eec58be5929114606556fc0d97053de
Signed-off-by: venu.musham <venu.musham@samsung.com>
6 years agoUnfork Autofill support: Clean up PersonalDataManagerFactory
Antonio Gomes [Tue, 20 Oct 2015 20:50:15 +0000 (16:50 -0400)]
Unfork Autofill support: Clean up PersonalDataManagerFactory

Patch is the first step towards unforking our Autofill
and PassworkManager supports.
It removes lots of methods declared in PersonalDataManagerFactory
class that were just serving as bridge to PersonalDataManager:
- AddProfile
- UpdateProfile
- RemoveByGUID
- GetProfileByGUID

Additionally, patch removes some methods that were not used
anywhere, including:
- GetProfileCount
- GetProfileByIndex
- GetCreditCardCount
- GetCreditCardByIndex
- AddCreditCard
- UpdateCreditCard
- GetCreditCardByGUID

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/90480/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14553

Reviewed by: sns.park

Change-Id: I2380048b101c0bb1d56f9a2e52640b0cc7c653ff
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2516] Chromium upversion to m47_2516 branch
SeungSeop Park [Fri, 6 Nov 2015 06:54:20 +0000 (15:54 +0900)]
fixup! [M47_2516] Chromium upversion to m47_2516 branch

We have following dependency:
chrome_resources.gyp:packed_resources
-> extensions/renderer/resources/extensions_renderer_resources.grd
-> ${mojom_root}/chrome\browser\media\router\media_router.mojom.js

The build breaks because of missing media_router.mojom.js, which is
expected to be auto-generated but not in our case. So, patch adds a
gyp dependency to generate the file, and removes the corresponding
patch file which was added temporarily to bypass the issue.

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

Reviewed by: a.renevier, a1.gomes, sns.park

Change-Id: I9349af672c6cc7e52edc99d91d74b357f11d9edc
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
6 years ago[Tizen 3.0][EWK API] Change the implementation ewk_view_page_visibility_set
Andrzej Badowski [Fri, 23 Oct 2015 15:23:23 +0000 (17:23 +0200)]
[Tizen 3.0][EWK API] Change the implementation ewk_view_page_visibility_set

Change the implementation of ewk_view_page_visibibility_set means
calling RenderWidgetHostImpl::WasShown or WasHidden functions.
These functions, among others, sends a message to the renderer.
The message handler calls the function OnWasHidden or the function
OnWasShown side renderer.
The current implementation does not differ from the implementation
ewk_view_visibility_set.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14555.
Reviewed by: Antonio Gomes, Janusz Majnert

Reviewed by: a1.gomes, j.majnert, sns.park

Change-Id: I89e84d92386ded7916b9f0671216b1adc6c99ad2
Signed-off-by: Andrzej Badowski <a.badowski@samsung.com
(cherry picked from commit 87f64fa1041d65d6b48036c5e07af406b56bff4c)

6 years ago[M42-Merge] Add GetSnapshotAsync Implementation.
venu.musham [Wed, 4 Nov 2015 10:41:41 +0000 (16:11 +0530)]
[M42-Merge] Add GetSnapshotAsync Implementation.

- Remove delegated renderer flags:
Delegated rendering is always on on all platforms including
tizen, except for Layout Tests that use composite-to-mailbox.
Remove corresponding flags in tizen.

- Add GetSnapshotAsync implementation for delegated renderer
case, migrate m42 commit:http://165.213.202.130/gerrit/#/c/86297/

[CL]: https://codereview.chromium.org/1355883003

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14572

Reviewed by: a1.gomes, dhyuna.ko, sns.park

Change-Id: I863e5d1c154346b4c20a088058a5ad05fc93e577
Signed-off-by: venu.musham <venu.musham@samsung.com>
6 years ago[MM] Multimedia up-version to M47
karthick.m1 [Tue, 3 Nov 2015 15:10:35 +0000 (20:40 +0530)]
[MM] Multimedia up-version to M47

1. WebAudio is working
2. MSE is working.
3. ME is working.

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

Change-Id: Idcd94dbbc836f39be8d1116903c1dd65bda2c947
Signed-off-by: karthick.m1 <karthick.m1@samsung.com>
6 years agoUnfork password manager implementation
Antonio Gomes [Fri, 23 Oct 2015 21:30:08 +0000 (17:30 -0400)]
Unfork password manager implementation

In beta/m34, the password manager was a chrome specific
feature, sitting within src/chrome.
In order to have it available to chromium-efl, [1]
forked chrome's code into chromium-efl/impl/.

Since then, the feature has been factored out off
of chrome/ and made its way into components/.
Chromium-efl continued to use its own "forked" implementation,
which were a continuos source of issues now that we
have to adapt beta/m34 based interfaces with the rest
of chromium.

Patch switches chromium-efl to use chromium's general purpose
password manager implementation, allowing us to not only remove
lots of code, but also benefiting from upstream fixes.

The following "forked" files were removed from
ewk/efl_integration/browser/password_manager/ :

* content_password_manager_driver.cc/h
* password_form_manager.cc/h
* password_generation_manager.cc/h
* password_manager.cc/h
* password_manager_client.cc/h
* password_manager_driver.h
* password_manager_util.h
* password_manager_util_efl.cc

Basic, password saving and filing works, as well as
the toggle on/off for the feature.

Note: in password_store_factory.cc, patch removes a
call to LoginDatabase::Init, because this now happens from
PasswordStoreDefault::InitOnDBThread() (chromium code).
Leave this here triggers ASSERTs in runtime due to double
initialization of DB.

[1] http://suprem.sec.samsung.net/gerrit/#/c/2335/

Original beta/m42 patch:
- 165.213.202.130/gerrit/#/c/91887/ , reviewed by
Janusz Majnert, SeungSeop Park.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14553

Reviewed by: a.renevier, a1.gomes, djmix.kim, sns.park

Change-Id: I461f4be5a320a2f8f61b9136641bdef842ab2c90
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Antonio Gomes [Thu, 5 Nov 2015 19:55:24 +0000 (15:55 -0400)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Patch implements AutofillManagerDelegateEfl::IsContextSecure based on
chrome's implementation. Method itself is a hook called by
AutofillManager class, when handling credit card forms autofill.
(see chrome/browser/ui/autofill/chrome_autofill_client.cc).

Android also shares the same implementation.

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

Reviewed by: a.renevier, hh4813.kim, sns.park

Change-Id: Iaaadd437836e5869e37933dcd9d580328781120c
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoAssert @autofill::PersonalDataManager::IsExperimentalWalletIntegrationEnabled()
Antonio Gomes [Mon, 26 Oct 2015 19:35:30 +0000 (15:35 -0400)]
Assert @autofill::PersonalDataManager::IsExperimentalWalletIntegrationEnabled()

Any preference before being queried out needs to be set first.
In the specific case of kAutofillWalletSyncExperimentEnabled
it happens when AutofillManager::RegisterProfilePrefs is called.

However, chromium-efl is being initializing preferences on demand,
at the time "browser context" is created.
Patch adds this specific missing one.

Original beta/m42 patch:
- 165.213.202.130/gerrit/#/c/92065/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=13114

Reviewed by: a.renevier, sns.park

Change-Id: I7af2e61bbc28fff9794206f6178d6791decbbe15
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoUnimplement RenderWidgetHostViewEfl::MovePluginWindows
Arnaud Renevier [Wed, 4 Nov 2015 23:24:59 +0000 (15:24 -0800)]
Unimplement RenderWidgetHostViewEfl::MovePluginWindows

MovePluginWindows is supposed to move plugin windows which have been
added to RenderWidgetHostView. But plugin windows are never added
to RenderWidgetHostView. It has been the case since at least m40
https://codereview.chromium.org/234533002.

MovePluginWindows can actually be an empty method.

Reviewed by: a1.gomes, sns.park

Change-Id: If7fb2732d367e922c52dd5883a4b6dfd9d9de485
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoHide large handle upon typing.
Antonio Gomes [Thu, 5 Nov 2015 17:25:55 +0000 (13:25 -0400)]
Hide large handle upon typing.

Currently chromium-efl differs from chrome for android
as well as s-browser and firefox mobile in the way it
handles the visibility of the large handle while user types
some text in: chromium-efl is the only one that keep
the large handle visible while user typing.

Patch changes it so that the large handle gets hidden once
user start typing in the field.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=5713

Reviewed by: a.renevier, djmix.kim, sns.park

Change-Id: Ibfa4ad888b5c3975765f1b3f788f0657800345e3
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoChanged settings are not sometimes applied to Renderer when Browser starts
Grzegorz Czajkowski [Wed, 4 Nov 2015 10:31:40 +0000 (11:31 +0100)]
Changed settings are not sometimes applied to Renderer when Browser starts

If renderer is not ready to receive messages, we collect
them inside std::set<> collection. When renderer is back,
the messages are propagated via IPC system.

The problem is that due to std::set sorting hash function,
the last inserted element is not guaranteed to be the last
in collection.

Last updated value for particular setting is expected to be
the most recent (and finally applied to Renderer).

Use std::vector instead of std::set to keep insertion sequence.

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

Reviewed by: a.renevier, a1.gomes, sns.park

Change-Id: Iaeb956e538d7f3409483053ff9f4f144601b2fa7
Signed-off-by: Grzegorz Czajkowski <g.czajkowski@samsung.com>
6 years ago[MM] Fix video play when OMX decoder is enabled
ws29.jung [Wed, 26 Aug 2015 05:08:45 +0000 (14:08 +0900)]
[MM] Fix video play when OMX decoder is enabled

Now copying YUV plane to shared memory uses correct start point of
each plane's pointer.
Before this change, there was segmentation fault because it was trying to
access complete YUV size where plane[0] was allocated of only Y size.

In addition, NV12 to I420 logic is updated because old logic tried to
convert image to I420 with actual width and height size whether
CAPI uses 16 byte aligned size.

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

Reviewed by: s.kamath, sm.venugopal, sns.park

Change-Id: Iafd3f4308405356d968091a19b9b2681ad820f1b
Signed-off-by: ws29.jung <ws29.jung@samsung.com>
6 years agouse ecore_evas_resize instead of x/wayland method
Arnaud Renevier [Wed, 4 Nov 2015 19:39:36 +0000 (11:39 -0800)]
use ecore_evas_resize instead of x/wayland method

When we need to resize a window, we are currently getting the underlying
wayland or x11 window, and resizing it. But instead, we can use directly
ecore_evas_resize which does not depend on wayland or x11

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

Reviewed by: a1.gomes, sns.park

Change-Id: I9a33f67ccf4092811a01d232a63440b06a34156e
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoFixes: shouldForceJHBuild isn't called
Arnaud Renevier [Wed, 4 Nov 2015 18:34:57 +0000 (10:34 -0800)]
Fixes: shouldForceJHBuild isn't called

shouldForceJHBuild is never called in build_desktop.sh
Also, bash function have an exit value, but do not return a value that
can be used as-is in test condition.

So as a fix, instead of checking for the return value, we delete the
stamp file inside the method if needed. The method is now named
forceJHBuildIfNeeded.

Reviewed by: a1.gomes

Change-Id: Ib9374e99990fc9dbef16d51158967273ed9ccd30
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoImplement ewk_settings_auto_fitting_set
Grzegorz Czajkowski [Tue, 3 Nov 2015 12:08:13 +0000 (13:08 +0100)]
Implement ewk_settings_auto_fitting_set

Some pages, for example, google.com are classified as mobile content due to
following condition:

// Document.cpp
if (m_docType->publicId().startsWith("-//wapforum//dtd xhtml mobile 1."))
m_isMobileDocument = true;

This results in collecting xhtmlmp.css style to define viewport properties:

@viewport {
width: auto;
/* Ideally these should be removed. Currently here to avoid test result regressions. */
min-zoom: 0.25;
max-zoom: 5;
}

As a result, we end up using 0.25 page scale while rendering. To prevent this,
mobile builds are adjusting content to viewport by:

void RenderView::ApplyWebPreferences(...) {
...
settings->setShrinksViewportContentToFit(true);
}

"ubrowser --mobile" needs to call ewk_settings_auto_fitting_set(true) to adjust content.

To implement this API, divide EwkSettings into:
1. content::WebPreferences (managed by chromium's content).
2. WebPreferencesEfl (Efl specific settings that renderer needs to be aware of).
3. public methods (set/get) to manage particular settings (accessible inside
Browser process only).

Get rid of |WebViewSettings::link_effects_enabled| which does not need to be sent
to renderer. Instead, define EwkSettings::get/setLinkEffectEnabled().

Reuse content::WebPreferences to pass javascript_can_open_windows_automatically.

Rename WebViewSettings to WebPreferencesEfl to be main store for EFL settings which
do not exist inside content::WebPreferences.

This is squash of beta/m42 patches:
1. http://165.213.202.130/gerrit/#/c/88657/
reviewed by: Antonio Gomes, DONGJUN KiM, Janusz Majnert, SeungSeop Park, arno renevier

2. http://165.213.202.130/gerrit/#/c/88881/
reviewed by: DONGJUN KiM, Janusz Majnert

3. http://165.213.202.130/gerrit/#/c/91502/
reviewed by: Antonio Gomes, Janusz Majnert

Together with: Id93cf96af154384d9ee0da76c982e68c8880867b

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

Reviewed by: a1.gomes, sns.park

Change-Id: I31c80affdd9c2e26bc583b84841db2cd4002b391
Signed-off-by: Grzegorz Czajkowski <g.czajkowski@samsung.com>
6 years agoUnfork Autofill support: Use AwPrefStore rather than AutofillPrefStore
Antonio Gomes [Tue, 20 Oct 2015 22:07:16 +0000 (18:07 -0400)]
Unfork Autofill support: Use AwPrefStore rather than AutofillPrefStore

EFL port forked Android webview's AwPrefStore into
AutofillPrefStore. Patch makes use of the original
directly to avoid it to get bitrotted.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/91378/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14553

Reviewed by: j.majnert, sns.park

Change-Id: I8cb31f91e150e3c20c102239b40de0af915bfade
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoShow the large handle upon first tap.
Antonio Gomes [Fri, 30 Oct 2015 18:19:44 +0000 (14:19 -0400)]
Show the large handle upon first tap.

Currently chromium-efl differs from chrome for android
as well as s-browser and firefox mobile in the way it
enters caret selection mode (i.e. large handle shown).
In some cases, user has to tap twice on an input field
in order to get the large handle shown.

Patch changes it so that only one tap is needed to enter
caret selection mode.
Additionally, patch unifies two routines used to handle
"tap" gestures.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14617

Reviewed by: a.renevier, a1.gomes, sns.park

Change-Id: I595fdf531a1644a0179280a7b362984ec252f9c3
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoLet the composited selection data tell about "editable content".
Antonio Gomes [Fri, 30 Oct 2015 20:00:45 +0000 (16:00 -0400)]
Let the composited selection data tell about "editable content".

This information comes as part of the composited selection data.
Lets use it instead of other sources.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, a1.gomes, djmix.kim, sns.park

Change-Id: I5dd964d04695e8f2ec121220b9efeaadc16adf6b
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Hyemi [Mon, 2 Nov 2015 07:30:49 +0000 (16:30 +0900)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

libffmpegsumo.so is no longer generated from chromium.

Note for chromium changes:
- gyp target 'ffmpegsumo' is renamed to 'ffmpeg' and statically linking
the ffmpeg library [1]
- gyp flag |build_ffmpegsumo| removed [2]

[1] https://codereview.chromium.org/1141703002
[2] https://codereview.chromium.org/1234083004

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

Reviewed by: a1.gomes, sns.park

Change-Id: I12fdb39f7a54e507b54b00b739ecabe761cbda45
Signed-off-by: Hyemi <hyemi.sin@samsung.com>
6 years agoSimplify SelectionControllerEfl state machine: eliminate "caret selection" setter
Antonio Gomes [Fri, 30 Oct 2015 18:10:14 +0000 (14:10 -0400)]
Simplify SelectionControllerEfl state machine: eliminate "caret selection" setter

Our text selection implementation works similar to a state
machine with the following states, to mention some:
- enabled on/off;
- caret selection on/off
- editable selecton on/off
- etc

Specifially about the "caret" selection "state", although it is
possible to set it on and off manually today, it should only be
set by the selection controller in one specific case: start and end
selections are equal, and focused node is content editable.

Based on that, patch simplifies the logic that sets this state,
without cause behavior changes.

Additionally some member variables from SelectionBoxEfl class are
removed: editable_ (redudant) and is_caret_selection_ (unneeded).

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, djmix.kim, sns.park

Change-Id: Ib8fa1ca2efab23944b1d0777db776d46a40d0ab6
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years ago[m47_2526] Reenabled delegated renderer.
venu.musham [Fri, 30 Oct 2015 07:26:42 +0000 (12:56 +0530)]
[m47_2526] Reenabled delegated renderer.

RasterThreadImpl is removed from surface initialization.
Move ui raster thread to ContextFactory for enabling delegated
renderer.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14581
Bug: http://168.219.209.56/jira/browse/TSAM-554

Together with: I426b0130d757030ef974792c02e051879504d1d8

Reviewed by: a1.gomes, dhyuna.ko, sns.park

Change-Id: Ifabdbf634b699911bf97a937bb741c5d7683f08d
Signed-off-by: venu.musham <venu.musham@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Youngcheol Kang [Wed, 28 Oct 2015 07:19:59 +0000 (16:19 +0900)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Add arm64 support to ffmpeg

We need to regenerate this arm64 support patch in ffmpeg
until ffmpeg supports arm64 architecture in mainstream.

The following commands were executed within arm64 GBS wayland chroot:

[1] Enter chroot
$ gbs chroot --root ~/GBS-ROOT/local/BUILD-ROOTS/scratch.aarch64.0/

[2] Copy over src/third_party/ffmpeg to chroot (e.g.: /home/abuild)
$ cp -rf src/third_party/ffmpeg
~/GBS-ROOT/local/BUILD-ROOTS/scratch.aarch64.0/home/abuild/

[3] Execute the below comment in ffmpeg directory
$ cd ffmpeg
$ ./chromium/scripts/build_ffmpeg.py linux arm64
$ ./chromium/scripts/copy_config.sh
$ python chromium/scripts/generate_gyp.py

[4] Edit ffmpeg.gyp; add "asm_sources" to the build

[5] Generate the patch against a unchanged ffmpeg copy

This patch referred to http://165.213.202.130/gerrit/#/c/80261

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

Reviewed by: a1.gomes, sns.park

Change-Id: I238cb36c294e27d9dce3a163a7a41c474d5f2360
Signed-off-by: Youngcheol Kang <ychul.kang@samsung.com>
6 years ago[Odroid][WCS] No logs for touch events on gesture.html
Antonio Gomes [Tue, 13 Oct 2015 16:00:59 +0000 (12:00 -0400)]
[Odroid][WCS] No logs for touch events on gesture.html

After [1], touch events stopped being forcibly enabled
for chromium-efl. That was the correct thing to do,
given that there are Tizen profiles where touch does
not play at: TV, desktop.

When ubrowser is launched on Tizen (both TV and mobile),
it makes a call to ewk_view_touch_events_enabled_set(true).
Same happens when it is launched on desktop with "--mobile"
parameter.
In the call chain, EWebView::SetTouchEventsEnabled is called
and enables touch in WCVEfl and RWHVEfl level.

However, problem relies on the fact that the API layer status
of touch events gets disconnected to content layer level status.
At content layer level, touch events are only enabled
to Tizen mobile builds, as one can see from the snippet below at
tizen_src/ewk/efl_integration/command_line_efl.cc:

78 #if defined(OS_TIZEN_MOBILE)
79   p_command_line->AppendSwitchASCII(switches::kTouchEvents,
80                                     switches::kTouchEventsEnabled);

Patch fixes that inconsistency by hooking up content layer's
touch event status to ewk_view_touch_events_enabled_set call chain.

As a consequence, "ubrowser --mobile" on desktop also get
its touch events emulation fixed: double tap to zoom works,
as well as the sample sites [2], [3] and [4].

[1] http://165.213.202.130/gerrit/92823
[2] http://www.google.com/intl/en/about/careers/locations/
[3] https://patrickhlauke.github.io/touch/tests/event-listener.html
[4] WSC/gestures.html

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/90480/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14458

Reviewed by: a.renevier, sns.park

Change-Id: I9ac69a381505d6064b269453ca8d034d7ad4510d
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoDisambiguate ShowContextMenu implementation.
Antonio Gomes [Thu, 29 Oct 2015 20:10:24 +0000 (16:10 -0400)]
Disambiguate ShowContextMenu implementation.

In the regular chromium flow, there is a hook invoked when
a long press gesture happens. The terminology used in the
messages and methods involved is "show context menu".

However, upon a long press gesture, chromium-efl does not
necessarily show a context menu right way. It might, for instance,
enter selection mode if the long press gesture happens on a
text (non anchor) content, and only tries to show an actual
context menu when user lifts up his finger.
Alternatively, it might show a context menu right away
in case the gesture happens on an <image> or a link.

For both cases, the same chromium hook is called by chromium,
whereas the former performs a second pass on the chromium hook,
which is confusing. Our current implementation ends up like:

EWebView::ShowContextMenu() {
if (called by chromium)
do this;
else // called by EWK on a second pass
do that;
}

Problem is that this is a constant source of issues because
it requires control of state variables to handle each passes
on the method.

Patch makes that separation clear by disambiguate this logic:
- EWebView::HandleLongPressEvent calls SelectionController
- SelectionController calls out to EWebView::ShowContextMenu.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, djmix.kim, j.majnert, sns.park

Change-Id: I2bf2a1b24e20d7f0f50e6881144cb3cf8cc62925
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Arnaud Renevier [Thu, 29 Oct 2015 22:03:11 +0000 (15:03 -0700)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Since DisplayPersistentNotification and ClosePersistentNotification are
NOTIMPLEMENTED(), GetDisplayedPersistentNotifications should be
NOTIMPLEMENTED() too.

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

Reviewed by: a1.gomes, sns.park

Change-Id: Ida2c3aacfdf0f55a91a74edb600ce33e6380f15f
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoLarge handler works 'jumpy' on scrolling
Antonio Gomes [Mon, 19 Oct 2015 18:50:46 +0000 (14:50 -0400)]
Large handler works 'jumpy' on scrolling

Patch sets EFL/Tizen editing behavior deliberately matching
Android when "touch events" are enabled. This avoids the "jumpy"
cursor / large selection handle when we move it beyond the editable
field boundary.

This aggressive approach (of matching Android's editing behavior)
might change in the future, and we introduce a EFL/Tizen specific
editing behavior. But for now, this seems to do the job.

Note that TV or other profiles where touch is not enabled,
will not benefit from this change.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/91213/ reviewed by
DONGJUN KiM, Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14441

Reviewed by: a.renevier, a1.gomes, sns.park

Change-Id: I3077b014a779fda535260644de80b0d122b89bb2
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Arnaud Renevier [Wed, 28 Oct 2015 18:30:57 +0000 (11:30 -0700)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Compute maximum scroll offset by substracting the visible content size
to the full content size.

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

Reviewed by: a1.gomes, sns.park

Change-Id: Ie1f9b935767c369b622c451802b7642d96065846
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoDo not queue up ViewMsg_UpdateWebPreferences messages before RenderView gets created.
Antonio Gomes [Tue, 27 Oct 2015 18:38:31 +0000 (14:38 -0400)]
Do not queue up ViewMsg_UpdateWebPreferences messages before RenderView gets created.

In EWebView::UpdateWebKitPreferences there is some logic to
avoid losing IPC messages. Logic is "if RenderView is not created
yet, do not send an IPC message to it".
However this logic does not apply to ViewMsg_UpdateWebPreferences
any more.

For instance, if one calls EWebView::UpdateWebKitPreferences
before RenderView is created, this is what would happen:

1) RenderViewHost::UpdateWebkitPreferences is called and "store"
the WebPreference instance passed as parameter.
2) Since RenderView is not created yet, ViewMsg_UpdateWebPreferences
would be queued up to be sent delayed.

In RenderViewHostImpl, though, as part of the RenderView creation,
the web_preference instance that was "store" is passed. So, there is
not need to send a delayed message.

As the code is today, after RenderView creation, EWebView::RenderViewCreated
(the hook) is called, and the message queued in (2) is sent again.
Although it might sound warmless, real problem is that the delayed
message has different values than the last message "stored" in
RenderViewHost. This leads to bugs.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14441

Reviewed by: a.renevier, j.majnert, sns.park

Change-Id: I870d5028e96e5b3bcc3c5f13325e8f1983296888
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoMake javascript prompt one line entry scrollable by default.
Pawel Forysiuk [Wed, 21 Oct 2015 15:22:42 +0000 (17:22 +0200)]
Make javascript prompt one line entry scrollable by default.

Otherwise when the text is longer than the entry itself
the letters are not visible. Enable entry scroll so the text
cursor and thus the letters currently appended are visible to the user.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/91533/ reviewed by
Antonio Gomes, Janusz Majnert.

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

Reviewed by: a.renevier, a1.gomes, sns.park

Change-Id: Ib8621ca60d96191e799c69f97ae7d6ec4d4c3c76
Signed-off-by: Pawel Forysiuk <p.forysiuk@samsung.com>
6 years agoUnite ewk_context_inspector_server and ewk_view_inspector_server
Arnaud Renevier [Mon, 5 Oct 2015 19:57:08 +0000 (12:57 -0700)]
Unite ewk_context_inspector_server and ewk_view_inspector_server

Right now, we have two different sets of api to start and stop the
inspector server: ewk_context_inspector_server_(start/stop) and
ewk_view_inspector_server_(start/stop).

In this patch, we avoid this duplication: calls to
ewk_view_inspector_server_ will internally be forwarded to EWebContext.

Reviewed by: sns.park

Change-Id: Ia8e6177cef962ae5addf37d541ae128aab2f8630
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoReimplement copy constructor for NativeWebKeyboardEvent
Arnaud Renevier [Mon, 26 Oct 2015 22:16:25 +0000 (15:16 -0700)]
Reimplement copy constructor for NativeWebKeyboardEvent

In m47, it's not possible to type in an <input>. This is because
NativeWebKeyboardEvent is not created correctly.

We need to reenable NativeWebKeyboardEvent copy constructor. It was
somehow deleted sometime between m34 and m40. It was fine until now, but
introduces this bug in m47.

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

Reviewed by: a1.gomes, sns.park

Change-Id: I25f847e950507dd7403c7f6dd34db2ded1e2a52f
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Arnaud Renevier [Mon, 26 Oct 2015 22:42:23 +0000 (15:42 -0700)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Modify TextInputStateChanged according to
https://codereview.chromium.org/1249013005

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

Reviewed by: a.renevier, a1.gomes, sns.park

Change-Id: Ifa45fbde6246c8db678178cf194b5eb29d1f6b75
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoubrowser --mobile gets stuck on long press
Antonio Gomes [Wed, 14 Oct 2015 18:23:40 +0000 (14:23 -0400)]
ubrowser --mobile gets stuck on long press

When in text selection mode after long press'ing on a
content editable field, SelectionBoxEfl::IsInEditableField is
true regardless of the selection mode (caret or range).

If one long presses elsewhere, chromium-efl first resets
the current selection point (by sending 0,0 0x0 selection
points), and only then triggers long press gesture, context
menu, and text selection in the new event location.

SelectionControllerEfl has code that discards these zero'ed
out selection points, but it is placed too down in chain,
missing the case described above. This cases problem on the
below scenario:

Steps to reproduce the problem:
1) Load WCS/text_selection_content_editable.html on uBrowser.
2) Long press on the content editable (gray) area.
Browser should enter caret selection mode
Large handle gets shown once user lift up his finger
3) Press "Select" option on context menu
The wrapping word should get selected.
Browser enters range selection mode.
4) Long press a #text node elsewhere on the page,
e.g. "contents!".
The wrapping word should get selected.
5) Release mouse button.
6) Move mouse around around the page

Patch fixes that.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/90691/ reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14492

Reviewed by: a.renevier, sns.park

Change-Id: Ic5dc45c66f61a0b86096ec68fba1f2933b350478
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoImplement a smoother handle movement while dragging
Antonio Gomes [Fri, 18 Sep 2015 14:48:04 +0000 (10:48 -0400)]
Implement a smoother handle movement while dragging

When in text selection mode, this is how handle dragging
happens: whenever user touches a handle and starts finger
movement to drag it around, the handle position is not updated
immediately following users' finger. Instead, it is updated when
the new text selection takes place.

Although this seems logical, it ends up with bad visual result
to the user. It is common to see the handle jumping around the
page while being dragged, for instance.

As an illustrative example, when user drag a handle from (-) to (*)
in a straight line in the text below ...

a bit text(-) here
some more text here (~)
and a large(*) paragraph to finalize

... one will see that the handle "jumps" from (-) to
(~) and only then to (*). Basically, the dragging handle gets
disconnected from users' finger.

Patch changes that so that the handle always follows
users' finger.

In order to do so, it tracks which handles is being
dragged, and which is stationary. Additionally, it makes
use of the 'is_anchor_first' bit in order to properly
place the handles.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/87892/ , reviewed by
Janusz Majnert, SeungSeop Park, arno renevier.

Together with: Id45d27ffd9db5a497ba984f5b16e0077c98bc20d

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14482

Reviewed by: a.renevier, j.majnert, sns.park

Change-Id: I9c16d452bab50cd7ade17a0cbf5b2abb5c4d0af4
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Antonio Gomes [Tue, 27 Oct 2015 21:18:46 +0000 (17:18 -0400)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

RWHImpl::SetInputMethodActive was removed from upstream in
https://codereview.chromium.org/1234193002 .
It used to serve as a way to avoid some IPC messages to get
sent, and then get some performance gain.
Discussion in [1], [2] explained that the gain was not relevant
and all ports decided to drop it.

Efl should follow it too.

[1] https://code.google.com/p/chromium/issues/detail?id=474828
[2] https://code.google.com/p/chromium/issues/detail?id=296509

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14513

Reviewed by: a.renevier, sns.park

Change-Id: I9b8384206999326879f73f01b213fffb8acc1385
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Antonio Gomes [Tue, 27 Oct 2015 19:46:18 +0000 (15:46 -0400)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Use ScopedVector variable instead of converting it to vector<>.

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

Reviewed by: a.renevier, sns.park

Change-Id: I54ea9a23e4ba41a64024a36a672a9fdb73a27b72
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Arnaud Renevier [Mon, 26 Oct 2015 20:17:43 +0000 (13:17 -0700)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Implement PluginPlaceholderEfl::GetV8Handle

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

Reviewed by: a1.gomes, sns.park

Change-Id: Ieac280248a1fe43ace9a43f77364b476bca55e94
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoMinor code cleanup in RenderWidgetHostViewEfl::GetTextureFromMailbox
Arnaud Renevier [Mon, 26 Oct 2015 18:39:07 +0000 (11:39 -0700)]
Minor code cleanup in RenderWidgetHostViewEfl::GetTextureFromMailbox

Minor code cleanup in RenderWidgetHostViewEfl::GetTextureFromMailbox: do
not create cc::CompositorFrameAck variable if not needed.

Reviewed by: a1.gomes, sns.park

Change-Id: I789a4176c027193c641a71d500ec79d7e9c282f7
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Arnaud Renevier [Tue, 27 Oct 2015 00:01:44 +0000 (17:01 -0700)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Remove NOTIFICATION_WEB_CONTENTS_TITLE_UPDATED support. It has simply
been removed in chromium upstream.
https://codereview.chromium.org/1242953004

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

Reviewed by: a1.gomes, sns.park

Change-Id: Ib37d057e3e7e929ea51e398414f0a08e0cd7ae5c
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Arnaud Renevier [Tue, 27 Oct 2015 00:22:16 +0000 (17:22 -0700)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

Use hasNonEmptyLayoutSize instead of hasNonEmptyBoundingBox. See
https://codereview.chromium.org/1226243002.

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

Reviewed by: a1.gomes, sns.park

Change-Id: I28aabd097d70c7e0956b44642409916175c35f9c
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Arnaud Renevier [Mon, 26 Oct 2015 20:29:38 +0000 (13:29 -0700)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

dump-render-tree switch has been removed. It has been replaced with
run-layout-test

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

Reviewed by: a1.gomes, sns.park

Change-Id: Iabeb757fdc732342abe777c0c296c29c9a9d89e6
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agodeclare OzonePlatformEfl inside cc file
Arnaud Renevier [Mon, 26 Oct 2015 18:34:13 +0000 (11:34 -0700)]
declare OzonePlatformEfl inside cc file

Other OzonePlatform implementation declare OzonePlatformImpl inside the
cc file, and do not expose that class in the header file.

This patch refactors OzonePlatformEfl, to match other ports.

Reviewed by: a1.gomes, sns.park

Change-Id: I0c0b7824d0d18ad01505b9e5d74d1e9466e2115c
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! [M47_2526] Chromium upversion to m47_2526 branch
Youngcheol Kang [Tue, 27 Oct 2015 03:56:35 +0000 (12:56 +0900)]
fixup! [M47_2526] Chromium upversion to m47_2526 branch

The below dependencies were removed in original patch.

- chrome_resources.gyp:packed_resources
- extensions.gyp:extensions_shell_and_test_pak

The build breaks were occurred because the locales directory wasn't
generated in out.{PROFILE} which related to the this changing.

This patch adds the two dependencies again, and makes the temporary
patch file for resolving the build problem.
This patch file will be removed by webview team.

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

Signed-off-by: Youngcheol Kang <ychul.kang@samsung.com>
6 years ago[M47_2526] Chromium upversion to m47_2526 branch
Youngcheol Kang [Thu, 15 Oct 2015 06:34:17 +0000 (15:34 +0900)]
[M47_2526] Chromium upversion to m47_2526 branch

This patch deals with following upstream changes:

1. Folder and class name changes

- Enabled to use NSS intead of the OpenSSL
- Changed the path of the serialized_navigation_entry.h to the
  components/sessions/core from the components/sessions
- Changed the path of the UnicodeIcu.h to the wtf/text/icu from the
  wtf/unicode/icu
- Changed the path of the video_capture_device_factory.h to the
  media/capture/video from the media/video/capture
- Changed the path of the video_capture_device.h to the
  media/capture/video from the media/video/capture
- Changed the path of the WebScreenOrientationLockType.h to the
  third_party/WebKit/public/platform/modules/screen_orientation from the
  third_party/WebKit/public/platform
- Removed the chrome_resources.gyp:packed_resources and
  extensions.gyp:extensions_shell_and_test_pak dependencies in chrome

2. API changes

- Added the ClientNativePixmapFactory class in OzonePlatform
- Added the ClearCompositorFrame, TextInputStateChanged API in
  RenderWidgetHostViewBase class
- Added the CopyTexSubImage API in GLImage class
- Added the GetDisplayedPersistentNotifications API in
  PlatformNotificationService class
- Added the GetScreenColorProfile API in RenderWidgetHost class
- Added the GetOverlayManager, OpenClientNativePixmapDevice API in
  OzonePlatform class
- Added the GetV8Handle API in LoadablePluginPlaceholder class
- Added the HandleWebSocketConnection API in DevToolsHttpHandlerDelegate
  class
- Added the IsContextSecure API in AutofillClient class
- Added the opener_render_process_id, opener_render_frame_id parameter
  in CreateParams struct
- Added the SchedulePendingLossyWrites API in AutofillPrefStore class
- Changed the OneShotTimer and RepeatingTimer class in base class
- Changed the PermissionManager class which associated with a frame id
  instead of a view id
- Changed the ProxyConfigService class in net class
- Changed the VibrationManager class
- Changed the kEnableDelegatedRenderer switch to the
  kDisableDelegatedRenderer switch also added the kCompositeToMailbox
  switch
- Changed the AckAsyncTouchEvent and AckSyncTouchEvent API to the
  AckTouchEvent API in GestureRecognizer class
- Changed the GetLastActiveTime API to the GetLastActivityTime API in
  DevToolsTargetDescriptor class
- Changed the argument of AutofillWebDataService class
- Changed the argument of GpuChildThread class
- Changed the argument of InProcessGpuThread class
- Changed the argument of LoadablePluginPlaceholder class
- Changed the argument of PasswordGenerationAgent class
- Changed the argement of WebContentsImpl class
- Changed the argument of WebDatabaseService class
- Changed the argument of AddTable API in WebDatabaseService class
- Changed the argument of CancelableCallback API, GetImageTextureTarget
  API, OnSwapBuffersCompleted in ContextFactory class
- Changed the argument of CancelPermissionRequest, RequestPermission API
  in PermissionManager class
- Changed the argument of CanCreateWindow API in ContentBrowserClient
  class
- Changed the argument of Compositor API in ui class
- Changed the argument of DefaultBackend API in HttpCache class
- Changed the argument of DidAcceptSuggestion API in
  AutofillPopupDelegate class
- Changed the argument of EnableRecording API in TracingController class
- Changed the argument of EndsWith API, SplitString API in base class
- Changed the argument of EnterFullscreenModeForTab,
  ShouldCreateWebContents API in WebContentsDelegate class
- Changed the argument of RemoveLoginsCreatedBetween API in
  LoginDatabase class
- Changed the argument of ResetConfigService API in ProxyService class
- Changed the argument of SetProtocolHandler API in URLRequestJobFactory
  class
- Changed the argument of SetValue, SetValueSilently API in
  AutofillPrefStore class
- Changed the argument of set_http_user_agent_settings,
  set_transport_security_state, set_http_transaction_factory,
  set_job_factory API in URLRequestContext class
- Changed the argument of SwapDelegatedFrame API in
  DelegatedFrameHostClient class
- Changed the argument of UploadPasswordForm API in
  PasswordStoreConsumer class
- Changed the argument and codes of CreateNewWindow API in
  RenderViewHostDelegate class
- Changed the codes of IsIsolatedGuest API to the IsForGuestsOnly API in
  RenderProcessHost class
- Changed the return type of GetLastActiveTime API in WebContents class
- Removed the BindWebFrame API in LoadablePluginPlaceholder class
- Removed the CanSubscribeFrame, GetCompositingSurface API in
  RenderWidgetHostView class
- Removed the CreatePluginPlaceholder, HandleNavigation API in
  ContentRendererClient class
- Removed the Destory API in GLContext class
- Removed the IsPublicSuffixMatch API in PasswordForm class
- Removed the kAutofillAuxiliaryProfilesEnabled in namespace of pref
- Removed the LinkClicked API in AutofillClient class
- Removed the OnCanThrottleRequest API in NetworkDelegateImpl class
- Removed the opener parameter in CreateParams struct
- Removed the password_autocomplete_set in PasswordForm struct
- Removed the ReleaseTexImage API in GLImage class
- Removed the SchemeIsSecure API in GURL class
- Removed the surface_id API in RenderWidgetHostImpl class
- Removed the TextInputTypeChanged API in RenderWidgetHostViewBase class
- Removed the IsContextLost API in ContextProvider class. We can uses
  the GetGraphicsResetStatusKHR API instead of that
- Removed the MessageLoopProxy class. We can uses the
  base::ThreadTaskRunnerHandle, base::SingleThreadTaskRunner class
  instead of that
- Removed the StartsWithASCII API. We can uses the base::StartsWith API
  instead of that
- Removed the renderer/plugins/shadow_dom_plugin_placeholder.cc | h and
  ewk/efl_integration/renderer/plugins/shadow_dom_plugin_placeholder.cc
  | h files
-

3. Need to change API (TODO issues)

- The ffmpeg patch on ARM64bit should be made. Temporary creating the
  build/patches/m47_ffmpeg_temp_arm64bit.diff file to disabling the
  codes (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14507)
- The hasNonEmptyBoundingBox API in was removed in WebNode class.
  Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14509)
- The kEnableViewportMeta switch was removed in switches class.
  Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14510)
- The maximumScrollOffset API was removed in WebLocalFrameImpl class.
  Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14511)
- The NOTIFICATION_WEB_CONTENTS_TITLE_UPDATED was removed in enum of
  NotificationType. Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14512)
- The SetInputMethodActive API was removed in RenderWidgetHostImpl
  class. Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14513)
- The SetTextZoomFactor API was removed in RenderViewHost class.
  Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14514)
- The code implementation about GetDisplayedPersistentNotifications API
  in PlatformNotificationService class is necessary
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14515)
- The code implementation about GetV8Handle API in
  LoadablePluginPlaceholder class is necessary
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14516)
- The code implementation about IsContextSecure API in AutofillClient
  class is necessary
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14517)
- The code implementation about TextInputStateChanged API in
  RenderWidgetHostViewBase class is necessary
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14518)
- The multimedia function has been changed. Temporary disabling the
  'tizen_multimedia_support' flag
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14519)
- The libffmpegsumo.so is not generated in the out.TARGET/Release after
  building the project. Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14520)
- The API of system/device.h cannot use in
  battery_status_manager_tizen.cc. Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14521)
- The build error happens when using the best_matches variable.
  Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14523)
- The build error happens when using the Restore API in
  NavigationController class. Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14524)
- The CanSubscribeFrame was removed in DelegatedFrameHost class.
  Temporary disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14548)
- The IsDelegatedRendererEnabled API was removed in content class.
  Temporary disabling the code
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14572)
- The switch of kDumpRenderTree was removed in swiches class. Temporary
  disabling the codes
  (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14573)

4. Verification

- This patch supports to the desktop and mobile(Tizen 3.0 32/64bit) and
  tv(Tizen 3.0 32bit) profiles
- There is no build problem in all target

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

Change-Id: I97d4de70b2582825cee84cdf663035032664173f
Signed-off-by: Youngcheol Kang <ychul.kang@samsung.com>
6 years agoRestore dev branch S_TRUNK_OWNERS
SeungSeop Park [Wed, 21 Oct 2015 01:04:35 +0000 (10:04 +0900)]
Restore dev branch S_TRUNK_OWNERS

The file was mistakenly overwritten with beta branch's when we force
update dev branch with beta/m42. So, restore the file from previous
dev/master branch.
In addition, removes invalid owners - p.tworek and k.klimek.

Change-Id: I8f18e07fd390fe732370070f6c880df255a46faa
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
6 years agoWindow creation mis-setup Evas_Object hierarchy
Antonio Gomes [Fri, 9 Oct 2015 22:20:52 +0000 (18:20 -0400)]
Window creation mis-setup Evas_Object hierarchy

When a new window is created originated from window.open
or target=_blank, we have to follow EWK procedure
of creating windows: a smart signal is emitted, and the embedding
app can allow or deny the creation.
In that process, RWHVEfl is created when
WebContentsView::CreateViewForWidget is called from
WebContentsImplEfl::HandleNewWebContentsCreate.

RWHVEfl owns SelectionControllEfl. At the time of its
creation, we have to ensure that the EFL widgets are
properly set up. Patch adds a hook to allow that.

In regular window creation, for example, when user clicks
a new window/tab button, the regular chromium flow is taken,
instead of this special codepath.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/90112/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14476

Reviewed by: a.renevier

Change-Id: If250990897051af40fee36224bdc278521bb6d9a
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoSelectionController::OnMouse{Up,Move,Down} have broken signatures
Antonio Gomes [Fri, 18 Sep 2015 15:11:17 +0000 (11:11 -0400)]
SelectionController::OnMouse{Up,Move,Down} have broken signatures

In all three methods, names are misleading.
Patch does the following:

- OnMouseDown -> HandleDragBeginNotification
- OnMoveMove -> HandleDragUpdateNotification
- OnMouseUp -> HandleDragEndNotification

Additionally, patch removes an unused parameter
in all three methods.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/87893 , reviewed by
Hyunhak Kim, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier, j.majnert, sns.park

Change-Id: Iea48026c242bdde6f65c0782369f30d5dadc233a
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoUnify SelectionControllerEfl::ShowHandleAndContextMenuIfRequired overloads
Antonio Gomes [Fri, 18 Sep 2015 15:53:50 +0000 (11:53 -0400)]
Unify SelectionControllerEfl::ShowHandleAndContextMenuIfRequired overloads

SelectionControllerEfl::ShowHandleAndContextMenuIfRequired has
two overloads, where one calls the other.

Details
1) overload_1 is called from many places;
2) overload_2 is only called by overload_1
3) overload_1 passes some unused parameters to overload_2.

Patch unifies both methods.

Original m42 patch:
- http://165.213.202.130/gerrit/#/c/87894/ , reviewed by
DONGJUN KiM, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=14304

Reviewed by: a.renevier

Change-Id: Ie2a77199a3689489c39483805c13a57a151b0382
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! Make text selection feature available on desktop builds.
Antonio Gomes [Wed, 23 Sep 2015 20:05:49 +0000 (16:05 -0400)]
fixup! Make text selection feature available on desktop builds.

"theme_path" was getting a corrupted value as a result of
the snippet below:

const char* theme_path = selection_handles_edj.AsUTF8Unsafe().c_str();

My theory is that the temporary shadow std::string variable
resulting of the call to AsUTF8Unsafe was getting unpredictably
deleted, and the c_str pointer held in "theme_path" gets its
content corrupted.

As theme_path is passed as a path to edje_xxx APIs, this was
causing selection handles to randomly fail to show.
Bug reproduces on both desktop and mobile builds.

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/88401/ , reviewed by
DONGJUN KiM, arno renevier.

Reviewed by: a.renevier

Change-Id: I34024d7341d29de6c1ad778747fb348c240e998c
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofix ewk_view_user_agent_set
Arnaud Renevier [Fri, 25 Sep 2015 19:46:41 +0000 (12:46 -0700)]
fix ewk_view_user_agent_set

Right now, even when setting user agent, this change is not seen by web
pages. In order for the user agent to be considered, we need to load url
with override_user_agent param.

In order to simplify the setting of this flag, this patch also refactor
EWebView GetURL/SetURL. Now they get/return GURL instead of strings

Also, this patch prevents webpage from reloading when a load is in
progress.

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

Reviewed by: a1.gomes, j.majnert

Change-Id: Ie170885f10927cdda7afd9d5352e6a24944a2d29
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoImplement unregisterProtocolHandler
Arnaud Renevier [Sat, 19 Sep 2015 00:20:41 +0000 (17:20 -0700)]
Implement unregisterProtocolHandler

Now, unregisterProtocolHandler is a method of upstream
WebContentsDelegate.

The patch also fixes the protocal handler unittests. It doesn't assume
that resource files will be in /opt/resources anymore

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

Reviewed by: a1.gomes, j.majnert

Change-Id: I34738f0bf08bddb4e467a9daf4f290810eedf9ef
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixes utc_blink_ewk_policy_decision_frame_get unittest
Arnaud Renevier [Wed, 23 Sep 2015 21:32:49 +0000 (14:32 -0700)]
fixes utc_blink_ewk_policy_decision_frame_get unittest

in order for utc_blink_ewk_policy_decision_frame_get to work, we need to
set ewk_settings_scripts_can_open_windows_get to true before trying to
open the popup.

Reviewed by: a1.gomes, sns.park

Change-Id: I8e4d674f93278b2df7d685e55fe63af888e8e925
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixes utc_blink_ewk_policy_decision_response_status_code_get_func unittest
Arnaud Renevier [Wed, 23 Sep 2015 21:59:23 +0000 (14:59 -0700)]
fixes utc_blink_ewk_policy_decision_response_status_code_get_func unittest

url in the test should't redirect. But http://www.enlightenment.org
redirects to https://www.enlightenment.org/
This patch fixes that

Reviewed by: a1.gomes, sns.park

Change-Id: I24f6d93d0385dda5481b011efe01f50ce2bd6961
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofix geolocation unittests
Arnaud Renevier [Fri, 18 Sep 2015 22:12:50 +0000 (15:12 -0700)]
fix geolocation unittests

In the current tests, we rely on geolocation callbacks to be dispatched
before document load signal. But that's not necesseraly the case.
Instead, we will use timeouts.

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

Reviewed by: a1.gomes, hh4813.kim, sns.park

Change-Id: I4434d3fab580c396c91c4c1159c94427e809c80b
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofix contextmenu unittests
Arnaud Renevier [Fri, 18 Sep 2015 22:56:00 +0000 (15:56 -0700)]
fix contextmenu unittests

In the unittestts, we try to emulate mouse click with calling .select on
textarea. But in the recent version of chromium, this won't work
anymore. Instead, we use evas_event_feed_mouse_* methods

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

Reviewed by: a1.gomes, hh4813.kim, sns.park

Change-Id: Ie22c7bfdf4a7f1390d7dcff35e21648852518932
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years ago[MM][M42 Merge] Fix to add initialization of voice list instance
yournim.lee [Tue, 15 Sep 2015 04:47:02 +0000 (13:47 +0900)]
[MM][M42 Merge] Fix to add initialization of voice list instance

This patch is merged with m42 trunk but didn't migrate to m44.
The step to initialize the voice list is added when TTS starts.

This patch is not necessary for the normal usage.
But when tct-speech-w3c-tests is processed,
the below 6 cases are failed without this.

1. SpeechSynthesisVoice_default_attribute
2. SpeechSynthesisVoice_default_attribute
3. SpeechSynthesisVoice_lang_attribute
4. SpeechSynthesisVoice_localService_attribute
5. SpeechSynthesisVoice_name_attribute
6. SpeechSynthesisVoice_voiceURI_attribute

Original gerrit post : http://165.213.202.130/gerrit/#/c/83931/

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

Reviewed by: msu.koo, sm.venugopal, sns.park

Change-Id: If6981f80cd77a289c67ba5ba4d50dcef818b1603
Signed-off-by: yournim.lee <yournim.lee@samsung.com>
6 years agoFix 'select' context menu option.
Antonio Gomes [Wed, 16 Sep 2015 18:32:04 +0000 (14:32 -0400)]
Fix 'select' context menu option.

After [1] is fixed, whenever ones does a long press
gesture on a link content, a context menu shows up, whereas
one of the menu options is "select".
Naturally, once picked up, the link text should be selected,
and selection handles and context menu should appear.

Problem is that text gets selected (on the renderer side),
but there is synchronization problem on the browser side
which causes handles and context menu not being shown.
Problem is the flow:
1) user selects menu item
2) this calls ContextMenuController:ShowSelectionHandleAndContextMenu
3) This sends a IPC message to the renderer to select the content..
4) .. and tries to show the context menu and handles right after.

Calling (4) right way (3) is wrong because (3) is async.

Patch fixes this by changing (4): it now only flags
SelectionControllerEfl that a renderer text selection
change is expected.
Once the selection notification change gets to the browser
(RWHVEfl::OnSwapCompositorFrame), context menu and handles
are shown as expected.

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

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/87568/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=6663

Reviewed by: hh4813.kim

Change-Id: I057bc74c3edaa141e7ed6fc4edab7c72638d93d2
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agofixup! [M44_2403] Chromium upversion to m44_2403 branch
Arnaud Renevier [Wed, 16 Sep 2015 23:53:16 +0000 (16:53 -0700)]
fixup! [M44_2403] Chromium upversion to m44_2403 branch

Enable Gesture detection again.

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

Reviewed by: a1.gomes, sns.park

Change-Id: I3f468e6599a0c674178d4d6bafa1494e3147c6b4
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! [M44_2403] Chromium upversion to m44_2403 branch
Arnaud Renevier [Thu, 17 Sep 2015 01:04:42 +0000 (18:04 -0700)]
fixup! [M44_2403] Chromium upversion to m44_2403 branch

Use StopChildProcess instead of base::KillProcess to kill a renderer
process.

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

Reviewed by: a1.gomes, sns.park

Change-Id: Icfdb4a657cf63d82a90b2de1796aa8069d7d7e41
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agofixup! [M44_2403] Chromium upversion to m44_2403 branch
Arnaud Renevier [Thu, 17 Sep 2015 00:39:21 +0000 (17:39 -0700)]
fixup! [M44_2403] Chromium upversion to m44_2403 branch

Implement CreateReflector. Since beta m44, Reflector cannot be
instancied directly. We create a FakeReflector class, as is done in
InProcessContextFactory.

Bug: https://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14038

Reviewed by: a1.gomes, sns.park

Change-Id: I560c4eb7d1ea945220f3a673068425662fd9ed83
Signed-off-by: Arnaud Renevier <a.renevier@samsung.com>
6 years agoContext menu only shows up once
Antonio Gomes [Mon, 14 Sep 2015 21:07:15 +0000 (17:07 -0400)]
Context menu only shows up once

When one long-presses links or images, a context menu
is to be shown for further user action. In our current
implementation, this was being done by making use of EFL
'genlist' widget.

As per the docs [1], 'genlist' is a widget aimed at being
used for sophisticated list content, with support to submenus,
runtime item modifications, etc.
Problem is that there seems to be a bug in EFL (affecting
even desktop), making the context menu to show always
an empty list for the second time it is invoked.

As a quick solution for the problem, patch replaces 'genlist'
by 'list'.

[1] https://docs.enlightenment.org/auto/elementary/group__Genlist.html

Original beta/m42 patch:
- http://165.213.202.130/gerrit/#/c/87251/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=6663

Reviewed by: a.renevier

Change-Id: I46efa39175d9ec9467db185cddd8347787a58607
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
6 years agoMake context menu work on links and images.
Antonio Gomes [Thu, 10 Sep 2015 14:05:00 +0000 (10:05 -0400)]
Make context menu work on links and images.

Context menu were not being shown in response to long
press gestures on links and images.

These are the two cases context menu are shown:

1) user does a long press on selectable text and input fields:
context menu is only shown when user lift its finger up.
While finger is still down, user sees a magnifier glass with
zoomed in content, and can select different content as long
as it has not lifted up its finger yet.

2) user does a long press on a link and image:
context menu is shown right after the long press event gets triggered.

However, (2) was not triggering any context menu creation.
Problem was that EWebView::ShowContextMenu was calling
SelectionControllerEfl::HandleLongPress, and it was simply
calling a LOG for links and images cases.

Patch adds return value to SelectionControllerEfl::HandleLongPress to
work as an indicator that the context menu should be shown immediatly
or if it should be shown when users' finger is lifted up.

Original beta/m42 patches:
- http://165.213.202.130/gerrit/#/c/86940/ , reviewed by
Janusz Majnert, arno renevier.
- http://165.213.202.130/gerrit/#/c/86943/ , reviewed by
Jaesik Chang, arno renevier.
- http://165.213.202.130/gerrit/#/c/87569/ , reviewed by
Janusz Majnert, arno renevier.

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=6663

Reviewed by: a.renevier, sns.park

Change-Id: I6f9873582c1b3eccd1e5f084b177538b59093502
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>