[Extension] Add API for Check API Access Control

This API is for external extension developer. The API need to be called in the
implementation of each exported API in C or C++ code. For C extension
implantation, header file "public/XW_Extension_Permissions.h" should be
included. For each API that need access sensitive data, developer should call
CheckAPIAccessControl for API control. For C++ extension implantation, header
file "xwalk/common/xwalk_external_extension.h" should be included.

The basic flow of API access control is as below:
1.when render process execute a JS API which need access sensitive data
of device, render process send a message to extension process
2.in extension process API's implemetation, it should call
  checkAPIAccessControl, which will call PermissionsDelegate
  (which is in also extension process).
3. extension process send a message to browser process.
   XWalkExtensionProcessHost -> XWalkExtensionProcessHost::Delegate
   (which is XWalkExtensionService) -> XWalkExtensionService::Delegate
   (which is XWalkAppExtensionBridge) ->xwalk::application::
   ApplicationService::CheckAPIAccessControl().
[Android] Add CSP support.

Enable CSP control for packaged app by parse CSP content from
manifest.json and adding the CSP content into the http response
header.

Bug=https://crosswalk-project.org/jira/browse/XWALK-692
[Android] Add test for CSP support.

The test set the manifest field script-src with 'self' or
'unsafe-inline' values to disallow/allow change page titles
with the diferent CSP settings.

For embedded client test:
1. install XWalkRuntimeClientEmbeddedShell.apk
2. python build/android/test_runner.py instrumentation \
--test-apk=XWalkRuntimeClientEmbeddedTest -v -f \
testCSP

For shared client test:
1. install XWalkRuntimeLib.apk
2. install XWalkRuntimeClientShell.apk
3. python build/android/test_runner.py instrumentation \
--test-apk=XWalkRuntimeClientTest -v -f testCSP
[Android] Fix the issue of unsupported app.launch.local_path 'http.html'.

There is issue if the app.launch.local_path is defined as the specific
'http.html', in the manifest parser, it is differentiating the web url
from local_path via 'http', this fix is resovling this issue by using
'http:' as the differentating keyword.

BUG=https://crosswalk-project.org/jira/browse/XWALK-985
Bump crosswalk to Chromium 34.0.1809.2.

Finally move from Chromium 32 to Chromium 34. As usual with commits that
move us to a different milestone, it is a bit big, as we need to change
quite a few files to keep the build green.

For reference, this commit contains the following ones that used to be in
the next branch:

Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date:   Tue Feb 18 15:47:21 2014 +0200

    DEPS.xwalk: Roll chromium-crosswalk (ee6af9f -> f25efe5)

    f25efe5 Merge pull request #122 from rakuco/no-alsa-backport
    694f554 [Temp] Backport Chromium r249361.

Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date:   Tue Feb 18 15:34:19 2014 +0200

    [Tizen] Install icudtl.dat.

    Since Chromium r247045, Linux builds icu_use_data_file_flag set to 1, which
    means we now depend on that icudtl.dat to exist for Crosswalk to run.

Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date:   Mon Feb 17 17:03:06 2014 +0200

    DEPS.xwalk: Track ozone-wayland's MilestoneValentine.

    This is oz-wl's new stable branch that is going to track Chromium M34.

Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date:   Thu Feb 13 15:23:12 2014 +0200

    DEPS.xwalk: Roll chromium-crosswalk (3659705 -> ee6af9f).

    ee6af9f Merge pull request #119 from halton/vaapi-linux
    d660a3e Enabling Hardware Acceleration with Libva in linux-x86.

Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date:   Tue Feb 11 16:53:29 2014 +0200

    DEPS.xwalk: Roll chromium-crosswalk (8539051 -> 3659705).

    3659705 Merge pull request #118 from crosswalk-project/views-init-order
    f66c197 [Views] Fix compiler initialization order errors.

Author: Sudarsana Nagineni <sudarsana.nagineni@intel.com>
Date:   Tue Feb 11 16:20:00 2014 +0200

    [Tizen] Build fix after rebase.

    Rebase audio-session-manager.patch to 34 to fix the build failures.

Author: Dongseong Hwang <dongseong.hwang@intel.com>
Date:   Wed Feb 5 17:55:38 2014 +0200

    Build fix Tizen Mobile.

    Clean up tiny remainders.

Author: Dongseong Hwang <dongseong.hwang@intel.com>
Date:   Wed Feb 5 17:25:42 2014 +0200

    Tizen build fix.

    Rebase crosswalk-2.31-enable-VAVDA-with-EGL.patch to M34 upstream.

    TBR=qing.zhang@intel.com

Author: Halton Huo <halton.huo@intel.com>
Date:   Mon Feb 10 16:48:25 2014 +0800

    Fix build error on non Android platform.

    xwalk_permission_client.h is only added for Android, so calling on
    XWalkPermissionClient should be protected with OS_ANDROID macro.

Author: Shiliu Wang <shiliu.wang@intel.com>
Date:   Mon Feb 10 12:52:40 2014 +0800

    [Android] Initialize Cookie manager with created Cookie Store

    The part of code is removed in previous commit.

Author: Shiliu Wang <shiliu.wang@intel.com>
Date:   Mon Feb 10 12:50:16 2014 +0800

    [Android] Fix incorrect initialize of WindowAndroid

    It's used before initialization in XWalkContent. And it
    needs ApplicationContext.

Author: Shiliu Wang <shiliu.wang@intel.com>
Date:   Sat Feb 8 16:51:46 2014 +0800

    [Android] Change CommandLine import from content to base

    The facility class for CommandLine has been moved from content
    to base after rebased to 34.

Author: Shiliu Wang <shiliu.wang@intel.com>
Date:   Sat Feb 8 16:50:49 2014 +0800

    [Android] Fix unused variable warning for cookie store

    It is treat as error after rebased to 34.

Author: Shiliu Wang <shiliu.wang@intel.com>
Date:   Sat Feb 8 16:48:57 2014 +0800

    [Android] Adjust generate file list for xwalk core library

    The list has been changed after rebased to 34.

Author: Alexander Shalamov <alexander.shalamov@intel.com>
Date:   Thu Feb 6 12:51:43 2014 +0200

    [Tizen] Fix for ime build break

    This patch fixes ime breaks that are caused by latest rebase.

Author: Dongseong Hwang <dongseong.hwang@intel.com>
Date:   Wed Feb 5 16:53:35 2014 +0200

    Build fix Tizen Mobile.

    - Make system indicator use changed content API.
    - Make installer use changed file_util API.

Author: Alexis Menard <alexis.menard@intel.com>
Date:   Tue Feb 4 14:18:01 2014 -0300

    Fix build on Windows.

    Fixes due to renaming/moving and added a new method overload for
    xwalk_views_delegate.

Author: Alexis Menard <alexis.menard@intel.com>
Date:   Tue Feb 4 11:14:14 2014 -0300

    Build fix Android.

    - Updated various naming changes.
    - Added the new permission client class to follow upstream
    - Modified the cookie handling to follow uptream (this needs
    to be double checked)
    - Various fixes in Java notably in XWalkContent where we now
    poke the internal core content. I wonder if we need to expose
    some of the method (e.g. stopLoading() and so forth).

Author: Dongseong Hwang <dongseong.hwang@intel.com>
Date:   Tue Feb 4 13:33:29 2014 +0200

    Make crosswalk-do-not-look-for-gtk2-when-using-aura.patch consistent with M34.

Author: Alexis Menard <alexis.menard@intel.com>
Date:   Mon Feb 3 09:23:56 2014 -0300

    Fix Mac build.

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 21:40:11 2014 +0200

    Comply with Chromium style guide on class overrides

    And suppress a few clang warnings.

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 21:51:16 2014 +0200

    Remove unused override

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 21:36:06 2014 +0200

    Make clang happy

    clang could not do this implicit conversion, unlike gcc

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 21:24:00 2014 +0200

    Update OpenColorChooser method signature

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 20:25:15 2014 +0200

    Update methods that were renamed in the Content API

    Thanks Dongseong Hwang for helping debug this one.

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 16:14:22 2014 +0200

    Fix link error when building Debug

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 01:14:59 2014 +0200

    Disable suid sandbox for Linux

    I'm not sure if this is the right place to append the command line parameter,
    but after the Chromium version bump, PreEarlyInitialization() is not early
    enough.

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 01:06:52 2014 +0200

    Fix xesh

Author: Thiago Marcos P. Santos <thiago.santos@intel.com>
Date:   Fri Jan 31 00:43:41 2014 +0200

    Fix V8 Tools

Author: Alexis Menard <alexis.menard@intel.com>
Date:   Thu Jan 30 10:47:09 2014 -0300

    Bump crosswalk to Chromium 34.0.1809.0

    - Updated DEPS.xwalk to remove custom checkouts
    (upstream is already after these revisions)
    - Updated gyp files to reflect upstream changes
    - Fixed various namespacing issues due to upstream changes
    - Fixed various changes in the V8 API (most of the time passing
    isolate when required)
    - Fixed few new functions in the public interface of content
    that are required to reimplement.
[application] The application termination via DBUS should consider 'OnSuspend' event handlers.

The application DBUS proxy should consider the fact that an
application might be still running even after its "Terminate"
method is called (if termination mode is 'Normal' and the app
contains 'OnSuspend' handlers) so it still should listen to
'owner' changes. Besides, the DBUS client should be able to
enforce termination - might be needed for example if 'OnSuspend'
event takes too long time and the User wants to stop the app
immediately.
This patch exports a new "ForceTerminate" DBUS method from
application proxy object and modifies its termination logic
accordingly to the requirements described above.
Merge pull request #1597 from rakuco/cr-roll-34.0.1809.2

Bump crosswalk to Chromium 34.0.1809.2.
Sync gyp_xwalk with the current contents of gyp_chromium.

gyp_chromium underwent a large amount of changes since M32 due to the work
on GN upstream. This broke the Android build (gyp_xwalk did not even detect
it was supposed to set up an Android build in the first place).

I have basically copied gyp_chromium on top of gyp_xwalk and applied the
relevant changes after comparing gyp_xwalk with M32's gyp_chromium, with the
addition of a change that does not run GN when using the make generator (as
a temporary measure to keep the Tizen build working while we find a better
solution).
Merge pull request #1599 from rakuco/sync-gyp_xwalk

Sync gyp_xwalk with the current contents of gyp_chromium.
gyp_xwalk: Add another Tizen workaround.

find_depot_tools looks for Breakpad and other dependencies not present in
the Tizen chroot and not needed for the Tizen build.
Merge pull request #1600 from rakuco/gyp_xwalk-tizen-workaround

gyp_xwalk: Add another Tizen workaround.
[Extension] Added APIs for permission-function register.

The runtime permission mapping is registered by extension which
implements some specific API, for example: "bluetooth" ->
"bluetooth.read, bluetooth.write, bluetooth.management" Whenever there
comes a API permission request, we can tell whether this API is
registered, if yes, return the according permission name.
Merge pull request #1579 from mbbill/permission_4

[Application] [Extension] Added two permission APIs.
Fix the build after c3f73de.

Usage of the `base' namespace for some data types is required after the M34
rebase.
Merge pull request #1606 from rakuco/base-namespace

Fix the build after c3f73de.
[SysApps] Fix crashing unit test

Now views::CreateDesktopScreen() expects supported scales factors to be set
beforehand. We can set anything here, since it is just for testing.
Roll the DEPS to involve new patches in Chromium

Patches of PR #115 in Chromium were missed during rebase.
It causes the crash in xwalk.
Merge pull request #1603 from xingnan/rebase-master

Roll the DEPS to involve new patches in Chromium
Merge pull request #1607 from tmpsantos/display_info_provider_test_fix

[SysApps] Fix crashing unit test
Merge pull request #1598 from pozdnyakov/app_termination_via_dbus

[application] The application termination via DBus