[Tizen] Change Sandbox IPC process title.

SetProcessTitleFromCommandLine() plays a role to change process title to
absolute path of the executable with arguments that the CommandLine object has.
For example, we want gpu process title to be "<xwalk dir>/xwalk
--type=gpu-process", not "/proc/self/exe --type=gpu-process"

However, we don't want to change browser process title, because browser process
title should be web app symbolic link path, not xwalk executable absolute path.

SandboxIPC process is the process forked by browser process. We want that
SandboxIPC process title is different from browser process title. Otherwise,
Tizen task switcher misunderstands that SandboxIPC process is also web
application process.

To achieve it,
1. Browser process must not call SetProcessTitleFromCommandLine();
2. Browser process must save argv pointer to change SandboxIPC process title later.
3. SandboxIPC process also calls SetProcessTitleFromCommandLine() to change its own process title.

BUG=https://github.com/crosswalk-project/crosswalk/issues/609
[Android] Extend android install timeout to 5 minutes for testing

For android trybots, they will use emulator to run tests.
On emulator, the operation will take really a lot of time.
[Android] When running android test, try killing adb if no devices found

It randomly happens that adb devices return empty list even device
is actually connected, killing adb and restart it can fix this.

CL=https://codereview.chromium.org/24194002
[Tizen] Change scrollbar animator

Based on patch from: Kenneth Rohde Christiansen <kenneth.r.christiansen@intel.com>

Since we have enabled overlay scrollbars we now get the desktop behavior, which means that a thin scroll indicator is always visible, which immediately grows when scrolling and shrinks (animated) back to the small size when scrolling is over.

On Tizen we want a different behavior:
a) no scroll indicator when not scrolling
b) a think scroll indicator which is slightly offset from the right viewport edge
c) the scroll indicator should fade out (animated) when the scroll is over

This patch is changing the scrollbar animator to 'fade out' and fixes 'a)' and 'c)' from the list above.
Introduce OS_TIZEN and set specific settings for Tizen platforms

This includes disabling site themed scrollbars (we use overlay
scrollbars always), enabling double tap to zoom for zoomable pages,
disable auto playing of music (a touch is needed) as well as
moving input fields into the view when focused.

It also enables the fade out scrollbars on all Tizen platforms, not
just mobile.
Add GetFieldID functing to jni_help in the content for XWalk.

Introduced by src@225471
[Android] Allow use non Activity context to create ContentVideoView

ContentVideoView is making an assertion that the context used to create
it is an Activiy, which xwalk doesn't meet. So xwalk crashes when
trying to fullscreen a video.

Why upstream makes the assertion:
ContentVideoView will use context to getSystemService(WINDOW_SERVICE),
which requires an Activity context.

Why xwalk can work as well as break the assertion:
In xwalk case, it's using a MixContext which although the base context
is not an Activity, but the getSystemService call will be bridged to
an Activity finally.

Why can't this be upstreamed:
The real assertion is getSystemService must be called on an Activity,
upstream uses the equivalence that the context should be an Activity
is reasonable for most cases.

For more detail discussion, please refer upstream CL at:
https://codereview.chromium.org/67763004/

Since there's no easy way to detect whether the WindowManager got from
the Context is good or not, this patch to remove the assertion have
to stay in our fork.

BUG=https://crosswalk-project.org/jira/browse/XWALK-171
[SysApps] Expose ffmpeg function signatures needed by Device Capabilities API

We need these functions in to get the list of Codecs available in the
system for getAVCodecs(). If we ever fork ffmpeg, we can just remove
this patch and add the signatures directly at the ffmpeg's signature
list.
[Tizen][Performance] Enable Accelerated 2D Canvas.

If GPU context can be lost, Accelerated 2D Canvas is disabled, because there is
no way to recover Accelerated 2D Canvas when GPU crashes. Currently, only EGL
backend marks GPUInfo::can_lose_context true (means Accelerated 2D Canvas cannot
be enabled). However, interestingly, Android and ChromeOS mark it false to take
advantage of Accelerated 2D Canvas without fallback solution. They just take a
risk.

So Tizen also takes a risk like Android and ChromeOS. It is worth to do it
because performance improvement is very significant (2~3 times).

Measurement data:
1. http://www.craftymind.com/factory/guimark3/vector/GM3_JS_Vector.html
Software Canvas : 14.91 FPS
Accelerated 2D Canvas : 44.82 FPS
2. http://www.craftymind.com/factory/guimark3/bitmap/GM3_JS_Bitmap.html
Software Canvas : 17.16 FPS
Accelerated 2D Canvas : 54.58 FPS
3. http://www.craftymind.com/factory/guimark3/compute/GM3_JS_Compute.html
Software Canvas : 19.36 FPS
Accelerated 2D Canvas : 39.18 FPS

BUG=https://crosswalk-project.org/jira/browse/XWALK-531,
https://crosswalk-project.org/jira/browse/XWALK-73
Fix default min-layout width and scrollbar appearence.

Fix the default min-layout width which is used when no viewport meta
is present. Is is now 0, meaning the window viewport width will always
be used.

Fix scrollbar lengths so that they match up with the size of the content.
[Tizen] Use Tizen system location provider for geolocation subsystem

This patch enables Tizen geolocation provider, so that it could be
used by chromium geolocation subsystem.
[Android] Use application context for shared pref's creation

The shared pref here is to save the status for pak file extraction.
Since the pak file is extracted to each app's data folder, the
prefs also needs to be saved for each app individually.

For crosswalk usage, in shared mode, the context in
ResourceExtractor is the context for library apk. Use the
application context of it to get the app's context.

BUG=https://crosswalk-project.org/jira/browse/XWALK-228
[SysApps] Make CodecIDToAudioCodec and CodecIDToVideoCodec available as global functions

Make CodecIDToAudioCodec and CodecIDToVideoCodec available as global functions
so that they can be used by Device Capabilities getAVCodecs() interface to
query the list of supported codecs.
[SysApps] Add MEDIA_EXPORT to fix linking errors in the component build

Add MEDIA_EXPORT for CodecIDToAudioCodec and CodecIDToVideoCodec to fix
linking errors in the component build.
[Temp] Add EGL-specific changes for Wayland.

The original commit comes from the ozone-wayland repository
(https://github.com/01org/ozone-wayland).

  From: Kondapally Kalyan <kalyan.kondapally@intel.com>

  This patch adds following two snips, respectively giving support:
  1)EGLNativeDisplayType adjustment and khronos header. More info:
    https://code.google.com/p/chromium/issues/detail?id=266310
  2)OffScreen-rendering support for use cases like WebGL and
    Canvas2D. This should be enabled in upstream but needs some
    cross platform support before it can be done.
    More info: https://codereview.chromium.org/49533003/

It is required for proper Ozone-Wayland support. The Ozone-Wayland team will
take care of upstreaming it.
[Views] Customize _NET_WM_PID for X11 window backing a Widget

This patch allow us to customize the _NET_WM_PID property of a X11
window that is backing a views::Widget. A new attribute was added to
InitParams that contains the new value, if not set, the PID of the
current running process is used.

The reason for having this ability is to make Task Manager able to
raise the right X11 window when one "running application" is selected.

In Tizen Mobile, we use a shared browser process, that will create all
the windows, and the homescreen launches a different program that will
trigger the launch in the shared browser process. To make Task Manager
work properly we need to set the _NET_WM_PID of the windows we create to
the appropriate PID of the program

Since both Linux Desktop and Tizen Mobile use the
DesktopWindowTreeHostX11, we don't change DesktopWindowTreeHost.

Rework with 34.0.1847.45 code base.
[Tizen][GPU][Perf] Prevent GPU scheduler from thrashiing.

This PR turns off pre-empty scheduling. On highend machines, pre-empty
scheduling reduces the latency of GPU commands. However, on Tizen mobile, this
can cause the kernel to thrash between generating GPU commands and executing
them. Android already turned off pre-empty scheduling also.

In addition, this PR is related to the private HW issue. Refer to
https://crosswalk-project.org/jira/browse/XWALK-348?focusedCommentId=13435&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13435

BUG=https://crosswalk-project.org/jira/browse/XWALK-348

Rework with 34.0.1847.45 code base.
[Android] Use the Chromium TLS for thread local storage allocation

On Android ICS, the max number of thread local storage is limited to 64.
Chromium TLS provides a mechanism to support large number of TLS slots
which is independent of OS restictions.

This commit is to make sure the ThreadLocalPointer uses the Chromium TLS
mechnism instead of directly calling pthread_create_key, so that it can
avoid the crash if the number of TLS slots allocated exceeds the max number
allowed by OS.

BUG=https://crosswalk-project.org/jira/browse/XWALK-841
[Android] Add a new listener to listen the first rendered frame

To support the feature of launch screen. Added a new listener FirstRenderedFrameListener.
This listener will be triggered when the first visible content has been updated to the screen.

SPEC: https://docs.google.com/a/intel.com/document/d/17PuNuHRTQuREUpaCvj-eEx7uYi2avd-VW-oaMXMpvwo/edit?pli=1#
Design Doc: https://docs.google.com/a/intel.com/document/d/1YLajlZC7CkBOtEvzD6p6yeBr0HrPsaIGX8Eqhr3oTF4/edit#heading=h.mfsu3bk9566e
Bug: XWALK-637
[Views] Fix compiler initialization order errors.