[M108 Migration][VD] Add schemes for Tizen TV product 82/289082/5
authorfang fengrong <fr.fang@samsung.com>
Wed, 1 Mar 2023 10:12:48 +0000 (18:12 +0800)
committerBot Blink <blinkbot@samsung.com>
Fri, 3 Mar 2023 06:10:47 +0000 (06:10 +0000)
commit025784665a22068d702ecf1bce0a08af537f68c0
tree1b227f5deb72c33a060b94da1d61c7f033bf6d10
parentd9f23cae3341fe009e5255b08edcf2b9badab2d9
[M108 Migration][VD] Add schemes for Tizen TV product

This patch add schemes for Tizen TV product: "mmf", "dvb", "tvkey-apps",
"hbbtv-package", "hbbtv-carousel", "ci".

1. Support mmf scheme for GingaNCL team.

2. DVB scheme is not supported by chromium. Allow EWK API client
   to handle DVB requests via intercept request API.

3. This change adds the "tvkey-apps:" scheme for the Tizen TV products.

4. hbbtv-package://<app_id>.<org_id>/[<path>]

e.g. hbbtv-package://1.F1/index.html

The files for these packages are installed on the TV
filesystem, and the installation of the files is
controlled by the HbbTV engine.

Operator application files are considered a 'secure' location,
so the protocol is passed to the 'RegisterURLSchemeAsSecure' API.

5. The HbbTV 2.0.1 Specification (errata 2) section 6.3.2 adds a new URI
format. This URI format is used for loading hbbtv applications from the
DSMCC carousel. This patch adds the scheme that this format requires to
chromium.

format "hbbtv-carousel://OOOO:CCCC/"
Where OOOO = organisation ID (max 16bit).
      CCCC = carousel ID (max 64bit).

6. Add ci scheme to standard schemes list.
So WebEngine can distinguish it.

Now, the  standard url will convert the host part to lower case.
But the CI address don't need convert it to lower case.

format: ci:// type
eg:     ci://HbbTVEngineProfile1/aux/APPLAUNCH-0020/eurofins_logo_0020.cehtml

References:
https://review.tizen.org/gerrit/#/c/282079
https://review.tizen.org/gerrit/#/c/287652/

Change-Id: I2d06f91056515621f00b2f60c9992b4b2ae88744
Signed-off-by: fang fengrong <fr.fang@samsung.com>
15 files changed:
net/BUILD.gn
net/url_request/dvb_protocol_handler.cc [new file with mode: 0644]
net/url_request/dvb_protocol_handler.h [new file with mode: 0644]
net/url_request/mmf_protocol_handler.cc [new file with mode: 0644]
net/url_request/mmf_protocol_handler.h [new file with mode: 0644]
net/url_request/url_request_context_builder.cc
services/network/public/cpp/url_util.cc
tizen_src/ewk/efl_integration/url_request_job_efl.cc
tizen_src/ewk/efl_integration/wrt/hbbtv_widget.cc
url/scheme_host_port.cc
url/url_canon_host.cc
url/url_constants.cc
url/url_constants.h
url/url_util.cc
url/url_util.h