New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 772713 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 780366

Blocking:
issue 629701
issue 781702
issue 783071



Sign in to add a comment

Impl mojo interface ServiceWorkerObjectHost

Project Member Reported by leon....@intel.com, Oct 8 2017

Issue description

Put into third_party/WebKit/public/platform/modules/serviceworker/service_worker_object.mojom:
'
interface ServiceWorkerObjectHost {
  // Replace ServiceWorkerHostMsg_PostMessageToWorker.
  PostMessage(string message, url.mojom.Origin source_origin,
    array<handle<message_pipe>> sent_message_ports);

  // Replace ServiceWorkerHostMsg_TerminateWorker.
  Terminate();
};
'

The following 2 IPCs will also disappear via the similar method used in  issue 758151 .
  ServiceWorkerHostMsg_IncrementServiceWorkerRefCount
  ServiceWorkerHostMsg_DecrementServiceWorkerRefCount
 

Comment 1 by leon....@intel.com, Oct 9 2017

By my current understanding, 'PostMessage' of this interface aims to enable both SWGlobalScope and SW clients post message to any ServiceWorker objects they can access, it will lead browser-side to dispatch extendable message event to the apporiate SW instance.
But if a SW client want to post message to its controller, instead, it should always use ControllerServiceWorker.DispatchMessageEvent() directly to dispatch message event to controller SW instance, to keep ordering with sub resource fetch event. 

So, I plan to impl ServiceWorkerObjectHost.PostMessage firstly, after that I'll impl ControllerServiceWorker.DispatchMessageEvent.

Does my understanding/plan make sense? Please help correct me. Thanks.

Comment 2 by falken@chromium.org, Oct 10 2017

Makes sense to me. Implementing ControllerServiceWorker.DispatchMessageEvent() isn't really important yet until we actually move ControllerServiceWorker to the renderer.
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f574b2408b287ac82b5120391191987a869f4ce8

commit f574b2408b287ac82b5120391191987a869f4ce8
Author: Han Leon <leon.han@intel.com>
Date: Thu Oct 26 00:55:15 2017

[ServiceWorker] Make ServiceWorkerRegistrationObjectInfo embed sw object infos

As blink::mojom::ServiceWorkerRegistrationObjectInfo is always passed
via Mojo calls together with ServiceWorkerVersionAttributes,
e.g. ServiceWorkerContainerHost.[Register,GetRegistration,etc.], we can
just put ServiceWorkerObjectInfo [installing,waiting,active] into
ServiceWorkerRegistrationObjectInfo directly to make all related code
logic clearer.

Eventually we can eliminate the unnecessary intermediate struct
ServiceWorkerVersionAttributes completely by using
ServiceWorkerObjectInfo directly to mojofy those IPCs which need to
pass ServiceWorkerVersionAttributes.

BUG= 772713 
TBR=kinuko@chromium.org

Change-Id: Id4e5eeaaa0bb405acbd385298e4a90a3b5e582be
Reviewed-on: https://chromium-review.googlesource.com/726826
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511670}
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/background_sync/background_sync_manager_unittest.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_registration_handle.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/common/service_worker/service_worker_container.mojom
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_dispatcher.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_handle_reference.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_handle_reference.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/content/renderer/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/f574b2408b287ac82b5120391191987a869f4ce8/third_party/WebKit/public/platform/modules/serviceworker/service_worker_registration.mojom

Comment 4 by leon....@intel.com, Nov 1 2017

Blockedon: 780366

Comment 5 by leon....@intel.com, Nov 9 2017

Blocking: 783071
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0fa6d91431e578ca439086a6d8ebc367b10b6ed3

commit 0fa6d91431e578ca439086a6d8ebc367b10b6ed3
Author: Han Leon <leon.han@intel.com>
Date: Fri Nov 10 00:59:42 2017

[ServiceWorker] Pass controller sw object ownership to ServiceWorkerContainer

Before this CL, after updated ServiceWorkerContainer#controller,
ServiceWorkerProviderContext still holds an extra
ServiceWorkerHandleReference retaining a reference to the
corresponding ServiceWorkerHandle in the browser process.

This is unnecessary because this extra ServiceWorkerHandleReference is
only used to provide the controller service worker version id, so this
CL just passes it to the ServiceWorkerContainer, to make the ownership
transfer process clearer.

This CL removes one usage to ServiceWorkerHandleReference::Create() to
enable us to eliminate ServiceWorkerHandleReference class later using
blink::mojom::ServiceWorkerObjectInfoPtr directly.

BUG= 772713 

Change-Id: I6657826355aa367604e5986751562dc413cc343e
Reviewed-on: https://chromium-review.googlesource.com/756818
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515390}
[modify] https://crrev.com/0fa6d91431e578ca439086a6d8ebc367b10b6ed3/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/0fa6d91431e578ca439086a6d8ebc367b10b6ed3/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/0fa6d91431e578ca439086a6d8ebc367b10b6ed3/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/0fa6d91431e578ca439086a6d8ebc367b10b6ed3/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/0fa6d91431e578ca439086a6d8ebc367b10b6ed3/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/0fa6d91431e578ca439086a6d8ebc367b10b6ed3/content/renderer/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/0fa6d91431e578ca439086a6d8ebc367b10b6ed3/content/renderer/shared_worker/embedded_shared_worker_stub.cc

Blocking: 781702
Labels: -Pri-3 M-65 Pri-1
Bumped up the priority since another P1 issue depends on this.
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe

commit ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe
Author: Han Leon <leon.han@intel.com>
Date: Thu Jan 11 06:29:12 2018

[ServiceWorker] Pass ServiceWorkerObjectInfoPtr along the way of DispatchExtendableMessageEvent

This CL aims to pass ServiceWorkerObjectInfoPtr rather than
ServiceWorkerObjectInfo struct along the code path of
DispatchExtendableMessageEvent impl.

This is in preparation to introduce ServiceWorkerObjectHost interface.

BUG= 772713 

Change-Id: Iec51388bc9a5bd11c723954e4d9865544d4e38f9
Reviewed-on: https://chromium-review.googlesource.com/858966
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Han Leon <leon.han@intel.com>
Cr-Commit-Position: refs/heads/master@{#528572}
[modify] https://crrev.com/ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe/content/browser/service_worker/service_worker_client_utils.cc
[modify] https://crrev.com/ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe/content/browser/service_worker/service_worker_client_utils.h
[modify] https://crrev.com/ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/ad4ccea31dcb66cb5a611d7c4c4f668cad29ecfe/content/browser/service_worker/service_worker_version.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/84d2b07acd5be2fab3a719a74be4bf3a2a74a877

commit 84d2b07acd5be2fab3a719a74be4bf3a2a74a877
Author: Han Leon <leon.han@intel.com>
Date: Thu Jan 11 08:10:50 2018

[ServiceWorker] Eliminate ServiceWorkerHandleReference::Create

We have no reason to keep ServiceWorkerHandleReference::Create()
function since ServiceWorkerHandleReference::Adopt() is enough.

This CL makes code logic simpler for our future work to introduce
ServiceWorkerObjectHost interface.

BUG= 772713 

Change-Id: Ifee3cac0f57250cca5921d94bb8de026daeddfd3
Reviewed-on: https://chromium-review.googlesource.com/861155
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528581}
[modify] https://crrev.com/84d2b07acd5be2fab3a719a74be4bf3a2a74a877/content/renderer/service_worker/service_worker_handle_reference.cc
[modify] https://crrev.com/84d2b07acd5be2fab3a719a74be4bf3a2a74a877/content/renderer/service_worker/service_worker_handle_reference.h
[modify] https://crrev.com/84d2b07acd5be2fab3a719a74be4bf3a2a74a877/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/84d2b07acd5be2fab3a719a74be4bf3a2a74a877/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/84d2b07acd5be2fab3a719a74be4bf3a2a74a877/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/84d2b07acd5be2fab3a719a74be4bf3a2a74a877/content/renderer/service_worker/web_service_worker_provider_impl.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fa23f2ad198386c864ec998452d9f6d916b2219a

commit fa23f2ad198386c864ec998452d9f6d916b2219a
Author: Han Leon <leon.han@intel.com>
Date: Mon Jan 22 08:32:38 2018

Introduce ServiceWorkerObjectHost interface

This CL introduces ServiceWorkerObjectHost interface and eliminates 2
legacy IPCs:
  ServiceWorkerHostMsg_IncrementServiceWorkerRefCount
  ServiceWorkerHostMsg_DecrementServiceWorkerRefCount
Instead, uses Mojo connections of ServiceWorkerObjectHost to maintain
references to ServiceWorkerHandle in the browser process.

BUG= 772713 ,781702

Change-Id: If323927b953a6465094ab43f7b421d64bfd4d39c
Reviewed-on: https://chromium-review.googlesource.com/867750
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530825}
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/BUILD.gn
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_dispatcher.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[delete] https://crrev.com/49cbc798bd8aa36a035147867f7c8bd97d0f0449/content/renderer/service_worker/service_worker_handle_reference.cc
[delete] https://crrev.com/49cbc798bd8aa36a035147867f7c8bd97d0f0449/content/renderer/service_worker/service_worker_handle_reference.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/web_service_worker_registration_impl.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/service_worker/web_service_worker_registration_impl.h
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/content/renderer/shared_worker/embedded_shared_worker_stub.cc
[modify] https://crrev.com/fa23f2ad198386c864ec998452d9f6d916b2219a/third_party/WebKit/common/service_worker/service_worker_object.mojom

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b1caae2ebed48b7974f228a6f469faaae4da4f70

commit b1caae2ebed48b7974f228a6f469faaae4da4f70
Author: Han Leon <leon.han@intel.com>
Date: Sat Jan 27 05:40:22 2018

[ServiceWorker] Use null ServiceWorkerObjectInfoPtr for non-existing objects

Rather than a non-null ServiceWorkerObjectInfoPtr with an invalid handle
id, this CL uses a null ServiceWorkerObjectInfoPtr to indicate those
non-existing service worker objects.

BUG= 772713 

Change-Id: Ibb666ffd8bb66b1a10b112390329917b7ff61663
Reviewed-on: https://chromium-review.googlesource.com/877593
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Han Leon <leon.han@intel.com>
Cr-Commit-Position: refs/heads/master@{#532164}
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/common/service_worker/controller_service_worker.mojom
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/service_worker_context_client_unittest.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/service_worker_dispatcher.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/content/renderer/service_worker/web_service_worker_registration_impl.cc
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/third_party/WebKit/common/service_worker/service_worker_object.mojom
[modify] https://crrev.com/b1caae2ebed48b7974f228a6f469faaae4da4f70/third_party/WebKit/common/service_worker/service_worker_registration.mojom

Project Member

Comment 12 by bugdroid1@chromium.org, Feb 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1fb10fd383a37dcc35489354148b7e5b04360d28

commit 1fb10fd383a37dcc35489354148b7e5b04360d28
Author: Han Leon <leon.han@intel.com>
Date: Mon Feb 12 06:20:15 2018

[ServiceWorker] Implement ServiceWorkerObjectHost.Terminate

This CL mojofies the legacy IPC ServiceWorkerHostMsg_TerminateWorker.

BUG= 772713 

Change-Id: If91640688b0c7e7d08b7d375a7776d7c19c17781
Reviewed-on: https://chromium-review.googlesource.com/897582
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536033}
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/renderer/service_worker/service_worker_dispatcher.cc
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/renderer/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/third_party/WebKit/Source/modules/serviceworkers/ServiceWorker.cpp
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/third_party/WebKit/common/service_worker/service_worker_object.mojom
[modify] https://crrev.com/1fb10fd383a37dcc35489354148b7e5b04360d28/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorker.h

Labels: -Pri-1 Pri-2
Project Member

Comment 14 by bugdroid1@chromium.org, Mar 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce

commit b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce
Author: Han Leon <leon.han@intel.com>
Date: Fri Mar 09 01:59:16 2018

[ServiceWorker] Implement ServiceWorkerObjectHost.PostMessage()

This CL mojofies the legacy IPC
ServiceWorkerHostMsg_PostMessageToWorker.

BUG= 772713 ,813749

Change-Id: I7e6ad8d411c820d22fe7b91b0bd2036b48aabe69
Reviewed-on: https://chromium-review.googlesource.com/933867
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Han Leon <leon.han@intel.com>
Cr-Commit-Position: refs/heads/master@{#541987}
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/third_party/WebKit/Source/modules/serviceworkers/ServiceWorker.cpp
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/third_party/WebKit/public/mojom/BUILD.gn
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/third_party/WebKit/public/mojom/service_worker/service_worker_object.mojom
[modify] https://crrev.com/b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorker.h

Status: Fixed (was: Started)
Project Member

Comment 16 by bugdroid1@chromium.org, Mar 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c24cb7fb7bc50d9bcdabfe9e82670a418b438039

commit c24cb7fb7bc50d9bcdabfe9e82670a418b438039
Author: Daniel Bratell <bratell@opera.com>
Date: Fri Mar 09 13:02:51 2018

Fix jumbo+Win compilation error related to the PostMessage macro

PostMessage is a macro in Windows and depending on whether Windows
headers have been included or not, PostMessage will either be
treated as PostMessage or PostMessageW. We use a special header
windows_types.h to ensure that the macro is always defined
so that there will be no compilation or linking issues missing
either PostMessage or PostMessageW objects.

Bug:  772713 ,813749

TBR=leon.han@intel.com

Change-Id: I0012774f347ef2e257bc87b4492f58c7be464f78
Reviewed-on: https://chromium-review.googlesource.com/957028
Reviewed-by: Daniel Bratell <bratell@opera.com>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#542092}
[modify] https://crrev.com/c24cb7fb7bc50d9bcdabfe9e82670a418b438039/content/browser/service_worker/service_worker_handle.h

Project Member

Comment 17 by bugdroid1@chromium.org, Mar 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/733a5fa4ef949b7e3357122ffcd58c17eb172c68

commit 733a5fa4ef949b7e3357122ffcd58c17eb172c68
Author: Han Leon <leon.han@intel.com>
Date: Tue Mar 13 03:16:43 2018

[ServiceWorker] Prepare a RenderViewHostTestEnabler to create Test* instead of real one

This is to fix the 2 unit tests on CFI builds:
  ServiceWorkerHandleTest.DispatchExtendableMessageEvent_FromClient
  ServiceWorkerHandleTest.DispatchExtendableMessageEvent_Fail

BUG= 820620 , 772713 ,813749

Change-Id: Iaf4a6f4a464fe97a44f63bf2ca5a1a2e04400b9b
Reviewed-on: https://chromium-review.googlesource.com/958126
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Han Leon <leon.han@intel.com>
Cr-Commit-Position: refs/heads/master@{#542712}
[modify] https://crrev.com/733a5fa4ef949b7e3357122ffcd58c17eb172c68/content/browser/service_worker/service_worker_handle_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Mar 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29f8841c033d4293a362d9123fefc880d7844bf2

commit 29f8841c033d4293a362d9123fefc880d7844bf2
Author: Han Leon <leon.han@intel.com>
Date: Tue Mar 13 07:01:57 2018

[ServiceWorker] Fix jumbo+Win compilation error related to 'PostMessage'

PostMessage is a macro in Windows and depending on whether Windows
headers have been included or not, PostMessage will either be treated as
PostMessage or PostMessageW.

However, our previous CL
https://chromium-review.googlesource.com/c/chromium/src/+/933867
introduced a method just named as 'PostMessage', this caused some
compile/link errors on Windows platform.

This CL renames the method to 'PostMessageToServiceWorker' to fix this.

BUG= 772713 ,813749
TBR=kinuko@chromium.org for mechanical renaming in the mojom file

Change-Id: I16241052e3deb8ba4a5fbb777037eca9904c6279
Reviewed-on: https://chromium-review.googlesource.com/959688
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542741}
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/third_party/WebKit/Source/modules/serviceworkers/ServiceWorker.cpp
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/third_party/WebKit/public/mojom/service_worker/service_worker_object.mojom
[modify] https://crrev.com/29f8841c033d4293a362d9123fefc880d7844bf2/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorker.h

Project Member

Comment 19 by bugdroid1@chromium.org, Mar 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af17c16579204957e2bf02ed7eb2e885f052c2ed

commit af17c16579204957e2bf02ed7eb2e885f052c2ed
Author: Han Leon <leon.han@intel.com>
Date: Tue Mar 13 10:39:51 2018

[ServiceWorker] Remove |source_origin| parameter of ServiceWorkerObjectHost.PostMessageToServiceWorker()

This CL lets browser-side get the source origin of the posted message
correctly by itself rather than relying on the |source_origin| passed
from renderer-side.
This is for security consideration, because browser-side can not trust
renderer-side to tell the truth.

BUG= 772713 

Change-Id: Ifd8d92a6bb150de245feb6a4ef7f0efb73c28119
Reviewed-on: https://chromium-review.googlesource.com/954983
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542761}
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/third_party/WebKit/Source/modules/serviceworkers/ServiceWorker.cpp
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/third_party/WebKit/public/mojom/BUILD.gn
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/third_party/WebKit/public/mojom/service_worker/service_worker_object.mojom
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorker.h
[modify] https://crrev.com/af17c16579204957e2bf02ed7eb2e885f052c2ed/third_party/WebKit/public/web/modules/serviceworker/WebServiceWorkerContextProxy.h

Project Member

Comment 20 by bugdroid1@chromium.org, Mar 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab

commit ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab
Author: Han Leon <leon.han@intel.com>
Date: Tue Mar 20 08:05:42 2018

[ServiceWorker] Manage ServiceWorkerHandles per ServiceWorkerProviderHost

As we have already mojofied all legacy IPCs handled by
ServiceWorkerHandle, now we no longer need ServiceWorkerDispatcherHost
to help routing, the renderer process uses the ServiceWorkerObjectHost
Mojo connection to talk with ServiceWorkerHandle directly.

Then, this CL moves ServiceWorkerHandles management out from
ServiceWorkerDispatcherHost into ServiceWorkerProviderHost, which
manages ServiceWorkerHandles keyed by the corresponding service worker's
version id. The key logic itself is equivalent with before:
ServiceWorkerDispatcherHost managed them keyed by the handle id, which
is actually an unique identifier of the (provider_id, version_id) pair.

This makes ServiceWorkerDispatcherHost slimmer.

BUG= 772713 

Change-Id: I4131a8a687f05a5fe8e297aaa4d83f74028bb5cf
Reviewed-on: https://chromium-review.googlesource.com/964243
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544305}
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/ac6884f4c8d3f5c81e9687e76d87a2d2f9e902ab/content/browser/service_worker/service_worker_provider_host.h

Project Member

Comment 21 by bugdroid1@chromium.org, Mar 20 2018

Labels: merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ceb1f05eff9949429c0948bd14847440f6f05740

commit ceb1f05eff9949429c0948bd14847440f6f05740
Author: Matt Falkenhagen <falken@chromium.org>
Date: Tue Mar 20 16:40:27 2018

M66: [ServiceWorker] Implement ServiceWorkerObjectHost.PostMessage()

This CL mojofies the legacy IPC
ServiceWorkerHostMsg_PostMessageToWorker.

BUG= 772713 ,813749

(cherry picked from commit b2f46cdb9e38a388a94e2cb7d4b07d93a140f6ce)

Change-Id: I7e6ad8d411c820d22fe7b91b0bd2036b48aabe69
Reviewed-on: https://chromium-review.googlesource.com/933867
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Han Leon <leon.han@intel.com>
Cr-Original-Commit-Position: refs/heads/master@{#541987}
Reviewed-on: https://chromium-review.googlesource.com/971181
Cr-Commit-Position: refs/branch-heads/3359@{#344}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/third_party/WebKit/Source/modules/serviceworkers/ServiceWorker.cpp
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/third_party/WebKit/public/mojom/BUILD.gn
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/third_party/WebKit/public/mojom/service_worker/service_worker_object.mojom
[modify] https://crrev.com/ceb1f05eff9949429c0948bd14847440f6f05740/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorker.h

Project Member

Comment 22 by bugdroid1@chromium.org, Mar 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b

commit f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Mar 22 03:55:31 2018

[M66] service worker: Jumbo + RenderViewHostTestEnabler fixes.

This merges the following CLs from bug 813749. The net changes are:
* Fix Jumbo build by renaming PostMessage to PostMessageToServiceWorker
* Fix unit tests by using RenderViewHostTestEnabler

[ServiceWorker] Fix jumbo+Win compilation error related to 'PostMessage'

PostMessage is a macro in Windows and depending on whether Windows
headers have been included or not, PostMessage will either be treated as
PostMessage or PostMessageW.

However, our previous CL
https://chromium-review.googlesource.com/c/chromium/src/+/933867
introduced a method just named as 'PostMessage', this caused some
compile/link errors on Windows platform.

This CL renames the method to 'PostMessageToServiceWorker' to fix this.

BUG= 772713 ,813749
TBR=kinuko@chromium.org for mechanical renaming in the mojom file

Change-Id: I16241052e3deb8ba4a5fbb777037eca9904c6279
Reviewed-on: https://chromium-review.googlesource.com/959688
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542741}
(cherry picked from commit 29f8841c033d4293a362d9123fefc880d7844bf2)

[ServiceWorker] Prepare a RenderViewHostTestEnabler to create Test* instead of real one

This is to fix the 2 unit tests on CFI builds:
  ServiceWorkerHandleTest.DispatchExtendableMessageEvent_FromClient
  ServiceWorkerHandleTest.DispatchExtendableMessageEvent_Fail

BUG= 820620 , 772713 ,813749

Change-Id: Iaf4a6f4a464fe97a44f63bf2ca5a1a2e04400b9b
Reviewed-on: https://chromium-review.googlesource.com/958126
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Han Leon <leon.han@intel.com>
Cr-Commit-Position: refs/heads/master@{#542712}
(cherry picked from commit 733a5fa4ef949b7e3357122ffcd58c17eb172c68)

Fix jumbo+Win compilation error related to the PostMessage macro

PostMessage is a macro in Windows and depending on whether Windows
headers have been included or not, PostMessage will either be
treated as PostMessage or PostMessageW. We use a special header
windows_types.h to ensure that the macro is always defined
so that there will be no compilation or linking issues missing
either PostMessage or PostMessageW objects.

Bug:  772713 ,813749

TBR=leon.han@intel.com

(cherry picked from commit c24cb7fb7bc50d9bcdabfe9e82670a418b438039)

Change-Id: I0012774f347ef2e257bc87b4492f58c7be464f78
Reviewed-on: https://chromium-review.googlesource.com/957028
Reviewed-by: Daniel Bratell <bratell@opera.com>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#542092}
Reviewed-on: https://chromium-review.googlesource.com/974724
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#376}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorker.cpp
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/third_party/WebKit/public/mojom/service_worker/service_worker_object.mojom
[modify] https://crrev.com/f2e62a342ee398fe6870ee4a1f3b3a04f1cecb0b/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorker.h

Labels: M-66 M-67
It looks like we landed patches for this up to M-67. It was fixed in 67.

Sign in to add a comment