Fix a dependency on Blink 'core' things from 'platform'

Some blink/renderer/platform/loader/ code needs to use the mojom enum
class blink.mojom.ControllerServiceWorkerMode defined in
service_worker_object.mojom-blink.h, which is generated by the gn target
blink/public/mojom:mojom_core_blink.
But, there should have no dependency pathes from Blink platform to
blink/public/mojom:mojom_core_blink, actually it should just be
forbidden because 'core' is a higher level than 'platform'.

This CL extracts blink.mojom.ControllerServiceWorkerMode and puts it
into a new mojom file controller_service_worker_mode.mojom, and
includes it in the gn target blink/public/mojom:mojom_platform_blink,
then we can just rely on the dependency path below to get what we want
originally.
  blink/renderer/platform/loader:loader --[private]-->
  blink/renderer/platform:blink_platform_public_deps --[public]-->
  blink/public/mojom:mojom_platform_blink

BUG=947399
TBR=haraken@chromium.org

Change-Id: Idfe1df83d80422826e1d96ce67abf87674f99746
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1548737
Commit-Queue: Leon Han <leon.han@intel.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#646754}
21 files changed