Generic tracking bug for this effort.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f4698a23e30ce832bf2c728d2444f72019ddf1a1 commit f4698a23e30ce832bf2c728d2444f72019ddf1a1 Author: rockot <rockot@chromium.org> Date: Wed May 18 01:16:03 2016 Mojo: Expose untyped associated endpoints through public API This CL exposes ScopedInterfaceEndpointHandle through AssociatedInterfaceRequest and AssociatedInterfacePtrInfo to allow for unbinding and rebinding associated endpoints to arbitrary interface types. BUG=612500 R=yzshen@chromium.org Review-Url: https://codereview.chromium.org/1991463002 Cr-Commit-Position: refs/heads/master@{#394306} [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/mojo_public.gyp [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/BUILD.gn [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/associated_binding.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/associated_group.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/associated_interface_ptr.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/associated_interface_ptr_info.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/associated_interface_request.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/associated_group.cc [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/binding_state.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/interface_endpoint_client.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/interface_ptr_state.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/multiplex_router.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/scoped_interface_endpoint_handle.cc [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/lib/serialization_util.h [rename] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/tests/associated_interface_unittest.cc [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/cpp/bindings/tests/multiplex_router_unittest.cc [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/tools/bindings/generators/cpp_templates/struct_data_view_definition.tmpl [modify] https://crrev.com/f4698a23e30ce832bf2c728d2444f72019ddf1a1/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/464e306a82ead839f02f1930a684400228b72495 commit 464e306a82ead839f02f1930a684400228b72495 Author: rockot <rockot@chromium.org> Date: Wed Jun 08 17:21:43 2016 Mojo: Eliminate duplicate C API symbols This gets rid of the duplicate definitions of public Mojo C API symbols, instead making mojo/public/c/system the singular source of these definitions. This allows targets to be linked against mojo/public libraries without requiring any additional EDK dependencies at build time. To facilitate this the EDK uses the same set of API thunks as the public library, and the public library exposes a special embedder API (distinct from the DSO MojoSetSystemThunks call used by the native app loader) for setting these thunks. The MojoSetSystemThunks API is moved to a module which is only linked directly into app DSOs. Because mojo/public/c/system and mojo/edk/system are now both components, and because there are no longer redundant exports between the two, it's now safe for targets to depend on either one or both of them as needed without encountering duplicate definitions. Also some opportunistic cleanup of Mojo build rules. BUG=612500 Review-Url: https://codereview.chromium.org/2044023004 Cr-Commit-Position: refs/heads/master@{#398605} [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/edk/embedder/BUILD.gn [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/edk/embedder/embedder.cc [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/edk/embedder/entrypoints.cc [add] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/edk/embedder/entrypoints.h [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/edk/system/BUILD.gn [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/mojo.gyp [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/mojo_base.gyp [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/mojo_edk.gyp [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/mojo_edk_nacl.gyp [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/mojo_public.gyp [delete] https://crrev.com/355b6e85f8c363fdfdde8e1be92500fea6d55480/mojo/mojo_variables.gypi [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/public/c/system/BUILD.gn [add] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/public/c/system/set_thunks_for_app.cc [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/public/c/system/system_export.h [rename] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/public/c/system/thunks.cc [rename] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/public/c/system/thunks.h [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/mojo/public/mojo_application.gni [delete] https://crrev.com/355b6e85f8c363fdfdde8e1be92500fea6d55480/mojo/public/platform/native/BUILD.gn [delete] https://crrev.com/355b6e85f8c363fdfdde8e1be92500fea6d55480/mojo/public/platform/native/thunk_export.h [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/services/shell/runner/host/BUILD.gn [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/services/shell/runner/host/native_application_support.cc [modify] https://crrev.com/464e306a82ead839f02f1930a684400228b72495/ui/gfx/gfx.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e8e242161954d86ce8e064f8a6515bc818d5b600 commit e8e242161954d86ce8e064f8a6515bc818d5b600 Author: rockot <rockot@chromium.org> Date: Wed Jun 08 18:00:08 2016 Revert of Mojo: Eliminate duplicate C API symbols (patchset #3 id:80001 of https://codereview.chromium.org/2044023004/ ) Reason for revert: tentative revert due to linker errors. this doesn't make sense. nothing makes sense. RIP sanity Original issue's description: > Mojo: Eliminate duplicate C API symbols > > This gets rid of the duplicate definitions of public > Mojo C API symbols, instead making mojo/public/c/system > the singular source of these definitions. This allows > targets to be linked against mojo/public libraries > without requiring any additional EDK dependencies at > build time. > > To facilitate this the EDK uses the same set of API > thunks as the public library, and the public library > exposes a special embedder API (distinct from the DSO > MojoSetSystemThunks call used by the native app loader) > for setting these thunks. The MojoSetSystemThunks API > is moved to a module which is only linked directly into > app DSOs. > > Because mojo/public/c/system and mojo/edk/system are > now both components, and because there are no longer > redundant exports between the two, it's now safe for > targets to depend on either one or both of them as > needed without encountering duplicate definitions. > > Also some opportunistic cleanup of Mojo build rules. > > BUG=612500 > > Committed: https://crrev.com/464e306a82ead839f02f1930a684400228b72495 > Cr-Commit-Position: refs/heads/master@{#398605} TBR=jam@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2047813003 Cr-Commit-Position: refs/heads/master@{#398614} [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/edk/embedder/BUILD.gn [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/edk/embedder/embedder.cc [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/edk/embedder/entrypoints.cc [delete] https://crrev.com/8b44f4ccceacc67411e855da1af930f80b710482/mojo/edk/embedder/entrypoints.h [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/edk/system/BUILD.gn [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/mojo.gyp [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/mojo_base.gyp [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/mojo_edk.gyp [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/mojo_edk_nacl.gyp [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/mojo_public.gyp [add] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/mojo_variables.gypi [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/public/c/system/BUILD.gn [delete] https://crrev.com/8b44f4ccceacc67411e855da1af930f80b710482/mojo/public/c/system/set_thunks_for_app.cc [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/public/c/system/system_export.h [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/public/mojo_application.gni [add] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/public/platform/native/BUILD.gn [rename] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/public/platform/native/system_thunks.cc [rename] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/public/platform/native/system_thunks.h [add] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/mojo/public/platform/native/thunk_export.h [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/services/shell/runner/host/BUILD.gn [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/services/shell/runner/host/native_application_support.cc [modify] https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600/ui/gfx/gfx.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf commit 26ec28cabbdcc430483d5f4996b3afaafb1ba1bf Author: rockot <rockot@chromium.org> Date: Wed Jun 08 18:22:05 2016 Reland of Mojo: Eliminate duplicate C API symbols (patchset #1 id:1 of https://codereview.chromium.org/2047813003/ ) Reason for revert: Reverting this didn't fix the failure after all Original issue's description: > Revert of Mojo: Eliminate duplicate C API symbols (patchset #3 id:80001 of https://codereview.chromium.org/2044023004/ ) > > Reason for revert: > tentative revert due to linker errors. this doesn't make sense. nothing makes sense. RIP sanity > > Original issue's description: > > Mojo: Eliminate duplicate C API symbols > > > > This gets rid of the duplicate definitions of public > > Mojo C API symbols, instead making mojo/public/c/system > > the singular source of these definitions. This allows > > targets to be linked against mojo/public libraries > > without requiring any additional EDK dependencies at > > build time. > > > > To facilitate this the EDK uses the same set of API > > thunks as the public library, and the public library > > exposes a special embedder API (distinct from the DSO > > MojoSetSystemThunks call used by the native app loader) > > for setting these thunks. The MojoSetSystemThunks API > > is moved to a module which is only linked directly into > > app DSOs. > > > > Because mojo/public/c/system and mojo/edk/system are > > now both components, and because there are no longer > > redundant exports between the two, it's now safe for > > targets to depend on either one or both of them as > > needed without encountering duplicate definitions. > > > > Also some opportunistic cleanup of Mojo build rules. > > > > BUG=612500 > > > > Committed: https://crrev.com/464e306a82ead839f02f1930a684400228b72495 > > Cr-Commit-Position: refs/heads/master@{#398605} > > TBR=jam@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=612500 > > Committed: https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600 > Cr-Commit-Position: refs/heads/master@{#398614} TBR=jam@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2048053003 Cr-Commit-Position: refs/heads/master@{#398622} [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/edk/embedder/BUILD.gn [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/edk/embedder/embedder.cc [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/edk/embedder/entrypoints.cc [add] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/edk/embedder/entrypoints.h [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/edk/system/BUILD.gn [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/mojo.gyp [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/mojo_base.gyp [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/mojo_edk.gyp [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/mojo_edk_nacl.gyp [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/mojo_public.gyp [delete] https://crrev.com/55b6d5131d5b10e49fc37bb8cd9143d8a5765143/mojo/mojo_variables.gypi [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/public/c/system/BUILD.gn [add] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/public/c/system/set_thunks_for_app.cc [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/public/c/system/system_export.h [rename] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/public/c/system/thunks.cc [rename] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/public/c/system/thunks.h [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/mojo/public/mojo_application.gni [delete] https://crrev.com/55b6d5131d5b10e49fc37bb8cd9143d8a5765143/mojo/public/platform/native/BUILD.gn [delete] https://crrev.com/55b6d5131d5b10e49fc37bb8cd9143d8a5765143/mojo/public/platform/native/thunk_export.h [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/services/shell/runner/host/BUILD.gn [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/services/shell/runner/host/native_application_support.cc [modify] https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf/ui/gfx/gfx.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc commit cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc Author: rockot <rockot@chromium.org> Date: Wed Jun 08 19:51:49 2016 Revert of Mojo: Eliminate duplicate C API symbols (patchset #1 id:1 of https://codereview.chromium.org/2048053003/ ) Reason for revert: trying to revert again, and then clobber. seemed to have fixed the error locally Original issue's description: > Reland of Mojo: Eliminate duplicate C API symbols (patchset #1 id:1 of https://codereview.chromium.org/2047813003/ ) > > Reason for revert: > Reverting this didn't fix the failure after all > > Original issue's description: > > Revert of Mojo: Eliminate duplicate C API symbols (patchset #3 id:80001 of https://codereview.chromium.org/2044023004/ ) > > > > Reason for revert: > > tentative revert due to linker errors. this doesn't make sense. nothing makes sense. RIP sanity > > > > Original issue's description: > > > Mojo: Eliminate duplicate C API symbols > > > > > > This gets rid of the duplicate definitions of public > > > Mojo C API symbols, instead making mojo/public/c/system > > > the singular source of these definitions. This allows > > > targets to be linked against mojo/public libraries > > > without requiring any additional EDK dependencies at > > > build time. > > > > > > To facilitate this the EDK uses the same set of API > > > thunks as the public library, and the public library > > > exposes a special embedder API (distinct from the DSO > > > MojoSetSystemThunks call used by the native app loader) > > > for setting these thunks. The MojoSetSystemThunks API > > > is moved to a module which is only linked directly into > > > app DSOs. > > > > > > Because mojo/public/c/system and mojo/edk/system are > > > now both components, and because there are no longer > > > redundant exports between the two, it's now safe for > > > targets to depend on either one or both of them as > > > needed without encountering duplicate definitions. > > > > > > Also some opportunistic cleanup of Mojo build rules. > > > > > > BUG=612500 > > > > > > Committed: https://crrev.com/464e306a82ead839f02f1930a684400228b72495 > > > Cr-Commit-Position: refs/heads/master@{#398605} > > > > TBR=jam@chromium.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=612500 > > > > Committed: https://crrev.com/e8e242161954d86ce8e064f8a6515bc818d5b600 > > Cr-Commit-Position: refs/heads/master@{#398614} > > TBR=jam@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=612500 > > Committed: https://crrev.com/26ec28cabbdcc430483d5f4996b3afaafb1ba1bf > Cr-Commit-Position: refs/heads/master@{#398622} TBR=jam@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2054513002 Cr-Commit-Position: refs/heads/master@{#398646} [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/edk/embedder/BUILD.gn [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/edk/embedder/embedder.cc [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/edk/embedder/entrypoints.cc [delete] https://crrev.com/142a5307d2766eb098802cfa391dfe00b3146443/mojo/edk/embedder/entrypoints.h [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/edk/system/BUILD.gn [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/mojo.gyp [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/mojo_base.gyp [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/mojo_edk.gyp [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/mojo_edk_nacl.gyp [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/mojo_public.gyp [add] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/mojo_variables.gypi [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/public/c/system/BUILD.gn [delete] https://crrev.com/142a5307d2766eb098802cfa391dfe00b3146443/mojo/public/c/system/set_thunks_for_app.cc [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/public/c/system/system_export.h [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/public/mojo_application.gni [add] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/public/platform/native/BUILD.gn [rename] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/public/platform/native/system_thunks.cc [rename] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/public/platform/native/system_thunks.h [add] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/mojo/public/platform/native/thunk_export.h [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/services/shell/runner/host/BUILD.gn [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/services/shell/runner/host/native_application_support.cc [modify] https://crrev.com/cb1def278c13f2816feb37a9afe1d2ce0ca2c4dc/ui/gfx/gfx.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b04b89b524f89a744e2a0e34a1cfedc84d9085c5 commit b04b89b524f89a744e2a0e34a1cfedc84d9085c5 Author: rockot <rockot@chromium.org> Date: Thu Jun 09 03:58:56 2016 [Reland] Mojo: Eliminate duplicate C API symbols This gets rid of the duplicate definitions of public Mojo C API symbols, instead making mojo/public/c/system the singular source of these definitions. This allows targets to be linked against mojo/public libraries without requiring any additional EDK dependencies at build time. To facilitate this the EDK uses the same set of API thunks as the public library, and the public library exposes a special embedder API (distinct from the DSO MojoSetSystemThunks call used by the native app loader) for setting these thunks. The MojoSetSystemThunks API is moved to a module which is only linked directly into app DSOs. Because mojo/public/c/system and mojo/edk/system are now both components, and because there are no longer redundant exports between the two, it's now safe for targets to depend on either one or both of them as needed without encountering duplicate definitions. Also some opportunistic cleanup of Mojo build rules. Reland of https://codereview.chromium.org/2044023004 Previous failures were caused by the mojo/public/c/system component using "system" as its name, breaking -lsystem behavior in some linking scenarios. This reland changes the output_name of that target. BUG=612500 TBR=jam@chromium.org Review-Url: https://codereview.chromium.org/2049773004 Cr-Commit-Position: refs/heads/master@{#398776} [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/edk/embedder/BUILD.gn [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/edk/embedder/embedder.cc [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/edk/embedder/entrypoints.cc [add] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/edk/embedder/entrypoints.h [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/edk/system/BUILD.gn [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/mojo.gyp [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/mojo_base.gyp [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/mojo_edk.gyp [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/mojo_edk_nacl.gyp [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/mojo_public.gyp [delete] https://crrev.com/23bcb38936fddb66a15c02315d05d62e529756d4/mojo/mojo_variables.gypi [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/public/c/system/BUILD.gn [add] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/public/c/system/set_thunks_for_app.cc [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/public/c/system/system_export.h [rename] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/public/c/system/thunks.cc [rename] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/public/c/system/thunks.h [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/mojo/public/mojo_application.gni [delete] https://crrev.com/23bcb38936fddb66a15c02315d05d62e529756d4/mojo/public/platform/native/BUILD.gn [delete] https://crrev.com/23bcb38936fddb66a15c02315d05d62e529756d4/mojo/public/platform/native/thunk_export.h [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/services/shell/runner/host/BUILD.gn [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/services/shell/runner/host/native_application_support.cc [modify] https://crrev.com/b04b89b524f89a744e2a0e34a1cfedc84d9085c5/ui/gfx/gfx.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c547787ab747c9297d8f7e1f301115d97cd3d2c5 commit c547787ab747c9297d8f7e1f301115d97cd3d2c5 Author: rockot <rockot@chromium.org> Date: Sat Jun 11 00:38:55 2016 Remove unnecessary dependencies on mojo/edk/system Since we no longer need to compensate for intentionally underspecified dependencies on public Mojo APIs, targets which don't directly depend on mojo/edk sources no longer need to express a direct dependency on //mojo/edk/system. This removes all the unnecessary ones, and as a result also gets rid of the blink_for_unittests target which only needed to exist because of this weirdness. BUG=612500 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2059983002 Cr-Commit-Position: refs/heads/master@{#399332} [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/ash/mus/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/cc/blink/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/chrome/browser/ui/libgtk2ui/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/components/arc/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/components/mus/common/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/components/safe_json/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/components/webcrypto/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/content/child/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/content/test/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/device/battery/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/device/usb/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/device/vibration/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/device/vr/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/extensions/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/extensions/shell/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/ios/web/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/media/blink/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/media/mojo/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/mojo/android/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/mojo/converters/blink/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/skia/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/third_party/WebKit/public/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/tools/ipc_fuzzer/message_replay/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/ui/events/BUILD.gn [modify] https://crrev.com/c547787ab747c9297d8f7e1f301115d97cd3d2c5/ui/events/DEPS
The following revision refers to this bug: https://chromium.googlesource.com/native_client/src/native_client.git/+/33ea6a02332d0944150e9445a584d6f26718509b commit 33ea6a02332d0944150e9445a584d6f26718509b Author: rockot <rockot@chromium.org> Date: Mon Jun 13 20:33:50 2016 Increase the number of pthread keys available to the IRT The Mojo EDK uses an additional key for thread-local storage and is now necessary to bring up IPC in Chrome. This is apparently enough to push us over the 16 key limit in some cases. Doubling to 32 to leave some room for further expansion. BUG=https://code.google.com/p/chromium/issues/detail?id=612500 Review-Url: https://codereview.chromium.org/2050043004 [modify] https://crrev.com/33ea6a02332d0944150e9445a584d6f26718509b/src/untrusted/irt/irt_private_pthread.c
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/97912711c72d91e50bf6999f6842f9de1c05fab1 commit 97912711c72d91e50bf6999f6842f9de1c05fab1 Author: rockot <rockot@chromium.org> Date: Wed Jun 15 05:28:42 2016 Use Mojo pipes to signal sync IPC events This transitions legacy sync IPC to use Mojo message pipe handles for all of its sync event waiting. This is a necessary precursor to mixing sync legacy IPC with sync Mojo IPC, and is also required to support correct FIFO between ChannelProxy and Mojo Channel associated interfaces. Specifically: - Introduces a new IPC::MojoEvent type which is a WaitableEvent-like interface around a local message pipe. - Moves mojo::SyncHandleRegistry out of internal bindings API and exposes it publicly. - Replaces most uses of WaitableEvent with MojoEvent for sync IPC - Replaces all use of WaitableEvent::WaitMany for sync IPC with mojo::SyncHandleRegistry::WatchAllHandles. - Cleans up some unnecessary complexity in SyncMessage since pump_messages_event() was only being used with a single global event that's always signaled. The system's behavior should be effectively unchanged by this CL, but legacy sync IPC and mojo sync IPC can now be mixed freely. BUG=612500 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2033243003 Cr-Commit-Position: refs/heads/master@{#399848} [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/chrome/browser/printing/cloud_print/test/DEPS [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/chrome/browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/components/nacl.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/components/nacl/loader/BUILD.gn [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/components/nacl/loader/DEPS [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/components/nacl/loader/nacl_helper_linux.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/components/nacl/loader/nacl_main.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/components/nacl_nonsfi.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/gpu/gpu.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/gpu/ipc/service/BUILD.gn [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/BUILD.gn [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/DEPS [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc.gypi [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc_nacl.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc_sync_channel.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc_sync_channel.h [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc_sync_message.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc_sync_message.h [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/ipc_sync_message_filter.h [add] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/mojo_event.cc [add] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/mojo_event.h [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ipc/run_all_unittests.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/edk/system/BUILD.gn [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/mojo_edk.gyp [add] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/mojo_edk.gypi [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/mojo_public.gyp [add] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/mojo_public.gypi [add] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/mojo_public_nacl.gyp [add] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/mojo_public_tests.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/public/cpp/bindings/BUILD.gn [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/public/cpp/bindings/lib/sync_handle_registry.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/public/cpp/bindings/lib/sync_handle_watcher.h [add] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/public/cpp/bindings/sync_handle_registry.h [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/mojo/public/cpp/system/watcher.h [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/BUILD.gn [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/nacl_irt/DEPS [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/nacl_irt/plugin_startup.cc [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/native_client/native_client.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/ppapi_internal.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/ppapi_proxy_nacl.gyp [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/ppapi_tests.gypi [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/proxy/BUILD.gn [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/proxy/DEPS [modify] https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1/ppapi/proxy/ppapi_perftests.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5628ee3c26b0d0e18f8d722875fc71789b2ffba5 commit 5628ee3c26b0d0e18f8d722875fc71789b2ffba5 Author: tommycli <tommycli@chromium.org> Date: Wed Jun 15 15:54:55 2016 Revert of Use Mojo pipes to signal sync IPC events (patchset #30 id:760001 of https://codereview.chromium.org/2033243003/ ) Reason for revert: Breaks DrMemory builder. Sorry: https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Windows%20Builder%20%28DrMemory%29?numbuilds=200 First breaking build: https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Windows%20Builder%20%28DrMemory%29/builds/17216 Error: Updating projects from gyp files... Exception: Unknown AST node at key path 'includes': Set([Const('mojo_public.gypi')]) while reading C:\b\build\slave\drm-cr\build\src\mojo\mojo_public.gyp Traceback (most recent call last): File "C:\b\build\slave\drm-cr\build\src\tools\gyp\pylib\gyp\input.py", line 496, in CallLoadTargetBuildFile includes, depth, check, False) File "C:\b\build\slave\drm-cr\build\src\tools\gyp\pylib\gyp\input.py", line 391, in LoadTargetBuildFile includes, True, check) File "C:\b\build\slave\drm-cr\build\src\tools\gyp\pylib\gyp\input.py", line 240, in LoadOneBuildFile build_file_data = CheckedEval(build_file_contents) File "C:\b\build\slave\drm-cr\build\src\tools\gyp\pylib\gyp\input.py", line 194, in CheckedEval return CheckNode(c3[0], []) File "C:\b\build\slave\drm-cr\build\src\tools\gyp\pylib\gyp\input.py", line 210, in CheckNode dict[key] = CheckNode(c[n + 1], kp) File "C:\b\build\slave\drm-cr\build\src\tools\gyp\pylib\gyp\input.py", line 224, in CheckNode "': " + repr(node)) TypeError: Unknown AST node at key path 'includes': Set([Const('mojo_public.gypi')]) while reading C:\b\build\slave\drm-cr\build\src\mojo\mojo_public.gyp Original issue's description: > Use Mojo pipes to signal sync IPC events > > This transitions legacy sync IPC to use Mojo message pipe handles > for all of its sync event waiting. This is a necessary precursor to > mixing sync legacy IPC with sync Mojo IPC, and is also required to > support correct FIFO between ChannelProxy and Mojo Channel > associated interfaces. > > Specifically: > > - Introduces a new IPC::MojoEvent type which is a WaitableEvent-like > interface around a local message pipe. > - Moves mojo::SyncHandleRegistry out of internal bindings API and > exposes it publicly. > - Replaces most uses of WaitableEvent with MojoEvent for sync IPC > - Replaces all use of WaitableEvent::WaitMany for sync IPC > with mojo::SyncHandleRegistry::WatchAllHandles. > - Cleans up some unnecessary complexity in SyncMessage since > pump_messages_event() was only being used with a single > global event that's always signaled. > > The system's behavior should be effectively unchanged by this CL, > but legacy sync IPC and mojo sync IPC can now be mixed freely. > > BUG=612500 > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel > > Committed: https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1 > Cr-Commit-Position: refs/heads/master@{#399848} TBR=bbudge@chromium.org,jam@chromium.org,mseaborn@chromium.org,raymes@chromium.org,sievers@chromium.org,yzshen@chromium.org,rockot@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2067233002 Cr-Commit-Position: refs/heads/master@{#399905} [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/chrome/browser/printing/cloud_print/test/DEPS [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/chrome/browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/components/nacl.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/components/nacl/loader/BUILD.gn [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/components/nacl/loader/DEPS [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/components/nacl/loader/nacl_helper_linux.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/components/nacl/loader/nacl_main.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/components/nacl_nonsfi.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/gpu/gpu.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/gpu/ipc/service/BUILD.gn [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/BUILD.gn [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/DEPS [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc.gypi [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc_nacl.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc_sync_channel.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc_sync_channel.h [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc_sync_message.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc_sync_message.h [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/ipc_sync_message_filter.h [delete] https://crrev.com/9e49fe0d8047ac92c5ca47ca576e3bcde63f0651/ipc/mojo_event.cc [delete] https://crrev.com/9e49fe0d8047ac92c5ca47ca576e3bcde63f0651/ipc/mojo_event.h [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ipc/run_all_unittests.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/edk/system/BUILD.gn [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/mojo_edk.gyp [delete] https://crrev.com/9e49fe0d8047ac92c5ca47ca576e3bcde63f0651/mojo/mojo_edk.gypi [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/mojo_public.gyp [delete] https://crrev.com/9e49fe0d8047ac92c5ca47ca576e3bcde63f0651/mojo/mojo_public.gypi [delete] https://crrev.com/9e49fe0d8047ac92c5ca47ca576e3bcde63f0651/mojo/mojo_public_nacl.gyp [delete] https://crrev.com/9e49fe0d8047ac92c5ca47ca576e3bcde63f0651/mojo/mojo_public_tests.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/public/cpp/bindings/BUILD.gn [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/public/cpp/bindings/lib/sync_handle_registry.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/public/cpp/bindings/lib/sync_handle_watcher.h [delete] https://crrev.com/9e49fe0d8047ac92c5ca47ca576e3bcde63f0651/mojo/public/cpp/bindings/sync_handle_registry.h [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/mojo/public/cpp/system/watcher.h [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/BUILD.gn [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/nacl_irt/DEPS [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/nacl_irt/plugin_startup.cc [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/native_client/native_client.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/ppapi_internal.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/ppapi_proxy_nacl.gyp [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/ppapi_tests.gypi [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/proxy/BUILD.gn [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/proxy/DEPS [modify] https://crrev.com/5628ee3c26b0d0e18f8d722875fc71789b2ffba5/ppapi/proxy/ppapi_perftests.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1 commit 6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1 Author: rockot <rockot@chromium.org> Date: Wed Jun 15 18:25:19 2016 Use Mojo pipes to signal sync IPC events This transitions legacy sync IPC to use Mojo message pipe handles for all of its sync event waiting. This is a necessary precursor to mixing sync legacy IPC with sync Mojo IPC, and is also required to support correct FIFO between ChannelProxy and Mojo Channel associated interfaces. Specifically: - Introduces a new IPC::MojoEvent type which is a WaitableEvent-like interface around a local message pipe. - Moves mojo::SyncHandleRegistry out of internal bindings API and exposes it publicly. - Replaces most uses of WaitableEvent with MojoEvent for sync IPC - Replaces all use of WaitableEvent::WaitMany for sync IPC with mojo::SyncHandleRegistry::WatchAllHandles. - Cleans up some unnecessary complexity in SyncMessage since pump_messages_event() was only being used with a single global event that's always signaled. The system's behavior should be effectively unchanged by this CL, but legacy sync IPC and mojo sync IPC can now be mixed freely. BUG=612500 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1 Review-Url: https://codereview.chromium.org/2033243003 Cr-Original-Commit-Position: refs/heads/master@{#399848} Cr-Commit-Position: refs/heads/master@{#399963} [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/chrome/browser/printing/cloud_print/test/DEPS [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/chrome/browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/components/nacl.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/components/nacl/loader/BUILD.gn [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/components/nacl/loader/DEPS [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/components/nacl/loader/nacl_helper_linux.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/components/nacl/loader/nacl_main.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/components/nacl_nonsfi.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/gpu/gpu.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/gpu/ipc/service/BUILD.gn [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/BUILD.gn [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/DEPS [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc.gypi [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc_nacl.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc_sync_channel.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc_sync_channel.h [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc_sync_message.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc_sync_message.h [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/ipc_sync_message_filter.h [add] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/mojo_event.cc [add] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/mojo_event.h [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ipc/run_all_unittests.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/edk/system/BUILD.gn [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/mojo_edk.gyp [add] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/mojo_edk.gypi [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/mojo_edk_tests.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/mojo_public.gyp [add] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/mojo_public.gypi [add] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/mojo_public_nacl.gyp [add] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/mojo_public_tests.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/public/cpp/bindings/BUILD.gn [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/public/cpp/bindings/lib/sync_handle_registry.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/public/cpp/bindings/lib/sync_handle_watcher.h [add] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/public/cpp/bindings/sync_handle_registry.h [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/mojo/public/cpp/system/watcher.h [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/BUILD.gn [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/nacl_irt/DEPS [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/nacl_irt/plugin_startup.cc [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/native_client/native_client.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/ppapi_internal.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/ppapi_proxy_nacl.gyp [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/ppapi_tests.gypi [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/proxy/BUILD.gn [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/proxy/DEPS [modify] https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1/ppapi/proxy/ppapi_perftests.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/64e65de0553abe1c870978ec4dee77da14d93d9e commit 64e65de0553abe1c870978ec4dee77da14d93d9e Author: rockot <rockot@chromium.org> Date: Tue Jun 21 20:17:49 2016 Implements Mojo-based waiting for IPC::SyncChannel Changes SyncChannel et al to use Mojo message pipe handles and mojo::SyncHandleRegistry for sync waiting in lieu of base::WaitableEvent. This is necessary to support sync Mojo interface messages without risk of deadlock. BUG=612500 Review-Url: https://codereview.chromium.org/2072393003 Cr-Commit-Position: refs/heads/master@{#401090} [modify] https://crrev.com/64e65de0553abe1c870978ec4dee77da14d93d9e/ipc/ipc_sync_channel.cc [modify] https://crrev.com/64e65de0553abe1c870978ec4dee77da14d93d9e/ipc/ipc_sync_channel.h [modify] https://crrev.com/64e65de0553abe1c870978ec4dee77da14d93d9e/ipc/ipc_sync_message.cc [modify] https://crrev.com/64e65de0553abe1c870978ec4dee77da14d93d9e/ipc/ipc_sync_message.h [modify] https://crrev.com/64e65de0553abe1c870978ec4dee77da14d93d9e/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/64e65de0553abe1c870978ec4dee77da14d93d9e/ipc/ipc_sync_message_filter.h [modify] https://crrev.com/64e65de0553abe1c870978ec4dee77da14d93d9e/ipc/mojo_event.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9981a62a54d9d82c3cdbccb830f637a874f117da commit 9981a62a54d9d82c3cdbccb830f637a874f117da Author: rockot <rockot@chromium.org> Date: Wed Jun 22 18:07:01 2016 Simplify SyncChannel message pumping event There's no need to use ref-counted or thread-local storage for this. It can be a single leaky MojoEvent instance. BUG=612500 Review-Url: https://codereview.chromium.org/2081963003 Cr-Commit-Position: refs/heads/master@{#401342} [modify] https://crrev.com/9981a62a54d9d82c3cdbccb830f637a874f117da/ipc/ipc_sync_channel.cc [modify] https://crrev.com/9981a62a54d9d82c3cdbccb830f637a874f117da/ipc/ipc_sync_channel.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ee0123e23c43d56920e9ab0ab92cce3c6fb0a375 commit ee0123e23c43d56920e9ab0ab92cce3c6fb0a375 Author: rockot <rockot@chromium.org> Date: Fri Jun 24 17:27:33 2016 Revert Mojo-based SyncChannel waiting again Still seeing hangs, and not getting useful dumps from them. Note that this is a combined revert of both r401342 and r401090 since the former is dependent on the latter. BUG=612500,622934,622982 TBR=jam@chromium.org Review-Url: https://codereview.chromium.org/2097103002 Cr-Commit-Position: refs/heads/master@{#401889} [modify] https://crrev.com/ee0123e23c43d56920e9ab0ab92cce3c6fb0a375/ipc/ipc_sync_channel.cc [modify] https://crrev.com/ee0123e23c43d56920e9ab0ab92cce3c6fb0a375/ipc/ipc_sync_channel.h [modify] https://crrev.com/ee0123e23c43d56920e9ab0ab92cce3c6fb0a375/ipc/ipc_sync_message.cc [modify] https://crrev.com/ee0123e23c43d56920e9ab0ab92cce3c6fb0a375/ipc/ipc_sync_message.h [modify] https://crrev.com/ee0123e23c43d56920e9ab0ab92cce3c6fb0a375/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/ee0123e23c43d56920e9ab0ab92cce3c6fb0a375/ipc/ipc_sync_message_filter.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3fe9ca703e3f2e72f8bcc641290935a181e3b022 commit 3fe9ca703e3f2e72f8bcc641290935a181e3b022 Author: rockot <rockot@chromium.org> Date: Thu Jun 30 18:35:44 2016 Mojo C++ Bindings: Extract AssociatedGroupController from MultiplexRouter Defines AssociatedGroupController, an interface for managing endpoint lifetime within an associated group. This was extracted from MultiplexRouter which now implements the interface. This is a precursor to supporting an alternative binding implementation to serve the unique requirements of Mojo IPC::Channel and other interfaces associated with it. BUG=612500 Review-Url: https://codereview.chromium.org/2100683002 Cr-Commit-Position: refs/heads/master@{#403230} [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/mojo_public.gypi [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/BUILD.gn [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/associated_binding.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/associated_group.h [add] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/associated_group_controller.h [rename] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/interface_endpoint_client.h [rename] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/interface_endpoint_controller.h [rename] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/interface_id.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/associated_group.cc [add] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/associated_group_controller.cc [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/binding_state.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/bindings_internal.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/handle_interface_serialization.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/interface_ptr_state.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/multiplex_router.cc [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/multiplex_router.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/pipe_control_message_handler.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/pipe_control_message_handler_delegate.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/scoped_interface_endpoint_handle.cc [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/serialization_context.cc [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/serialization_context.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/lib/serialization_util.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/cpp/bindings/tests/multiplex_router_unittest.cc [modify] https://crrev.com/3fe9ca703e3f2e72f8bcc641290935a181e3b022/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fb120de586f00981251a9bdfc8f952a4a8f91240 commit fb120de586f00981251a9bdfc8f952a4a8f91240 Author: rockot <rockot@chromium.org> Date: Thu Jun 30 21:22:55 2016 Move more Mojo bindings helpers out of internal namespace Moves the following things out of the mojo::internal namespace and moves their headers to mojo/public/cpp/bindings: - InterfaceId - Message flags (constants in Message rather than in internal) - MessageHeaderValidator - PipeControlMessageHandler - PipeControlMessageHandlerDelegate - PipeControlMessageProxy - SyncHandleWatcher This completes the set of existing helpers necessary to implement custom bindings endpoints with custom routing logic. BUG=612500 R=yzshen@chromium.org Review-Url: https://codereview.chromium.org/2114523002 Cr-Commit-Position: refs/heads/master@{#403292} [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/mojo_public.gypi [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/BUILD.gn [rename] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/connector.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/binding_state.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/connector.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/interface_ptr_state.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/message_builder.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/message_header_validator.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/message_internal.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/multiplex_router.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/multiplex_router.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/router.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/router.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/sync_handle_watcher.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/lib/validation_util.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/message.h [rename] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/message_header_validator.h [rename] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/pipe_control_message_handler.h [rename] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/pipe_control_message_handler_delegate.h [rename] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/pipe_control_message_proxy.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/strong_binding.h [rename] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/sync_handle_watcher.h [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/tests/connector_unittest.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/tests/router_test_util.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/cpp/bindings/tests/validation_unittest.cc [modify] https://crrev.com/fb120de586f00981251a9bdfc8f952a4a8f91240/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a68850cee9663b6295f565a45d830c5271090c69 commit a68850cee9663b6295f565a45d830c5271090c69 Author: rockot <rockot@chromium.org> Date: Thu Jul 07 19:30:48 2016 [mojo-edk] Pump incoming messages in some missing places Calls AcceptIncomingMessages() in two places it was missing: - OnRequestPortMerge(), since Node::MergePorts is called - DropPeer(), since Node::LostConnectionToNode is called BUG=612500 Review-Url: https://codereview.chromium.org/2126033002 Cr-Commit-Position: refs/heads/master@{#404211} [modify] https://crrev.com/a68850cee9663b6295f565a45d830c5271090c69/mojo/edk/system/node_controller.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/439768f0aaaea83ffb7ce6c3ba4438804582c383 commit 439768f0aaaea83ffb7ce6c3ba4438804582c383 Author: rockot <rockot@chromium.org> Date: Thu Jul 07 20:19:17 2016 Move content's shell connections to the IO thread Moves all shell connections in the content layer (connections owned by instances of MojoShellConnection and MojoChildConnection) to the IO thread in all process types. Note that instances of MojoShellConnection and MojoChildConnection may still be created and used on any thread. Additionally exposes a way for InterfaceRegistry and InterfaceProvider to forward to/from other instances so we can still have a corresponding instance of each on whatever thread owns the Mojo[Shell/Child]Connection object. This simplifies interface registration and acquisition on process hosts and ChildThreadImpls, and makes it possible for a future CL to introduce IO-thread service registration to avoid thread hops when binding incoming interface requests. BUG=623398,612500 Review-Url: https://codereview.chromium.org/2111353002 Cr-Commit-Position: refs/heads/master@{#404228} [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/browser_context.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/browser_main_loop.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/child/child_thread_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/child/child_thread_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/content_common.gypi [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/gpu/BUILD.gn [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/gpu/gpu_child_thread.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/browser/render_process_host.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/child/child_thread.h [add] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/common/connection_filter.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/test/mock_render_process_host.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/render_thread_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/render_thread_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/BUILD.gn [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/navigation.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/navigation.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/view_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/view_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/connection.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/connector.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/shell_connection.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/shell_connection.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c23629163a036c17017c4c2d16a0ac77f62d469 commit 3c23629163a036c17017c4c2d16a0ac77f62d469 Author: rockot <rockot@chromium.org> Date: Thu Jul 07 20:26:02 2016 Reland Mojo-based waiting for IPC::SyncChannel BUG=612500 TBR=jam@chromium.org Review-Url: https://codereview.chromium.org/2101163002 Cr-Commit-Position: refs/heads/master@{#404233} [modify] https://crrev.com/3c23629163a036c17017c4c2d16a0ac77f62d469/ipc/ipc_sync_channel.cc [modify] https://crrev.com/3c23629163a036c17017c4c2d16a0ac77f62d469/ipc/ipc_sync_channel.h [modify] https://crrev.com/3c23629163a036c17017c4c2d16a0ac77f62d469/ipc/ipc_sync_message.cc [modify] https://crrev.com/3c23629163a036c17017c4c2d16a0ac77f62d469/ipc/ipc_sync_message.h [modify] https://crrev.com/3c23629163a036c17017c4c2d16a0ac77f62d469/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/3c23629163a036c17017c4c2d16a0ac77f62d469/ipc/ipc_sync_message_filter.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4a93a86045c9ed89385d13a6f6d154fadd2beaab commit 4a93a86045c9ed89385d13a6f6d154fadd2beaab Author: rockot <rockot@chromium.org> Date: Thu Jul 07 20:50:14 2016 Revert of Move content's shell connections to the IO thread (patchset #9 id:220001 of https://codereview.chromium.org/2111353002/ ) Reason for revert: stupid build failure Original issue's description: > Move content's shell connections to the IO thread > > Moves all shell connections in the content layer > (connections owned by instances of MojoShellConnection and > MojoChildConnection) to the IO thread in all process types. > Note that instances of MojoShellConnection and > MojoChildConnection may still be created and used on > any thread. > > Additionally exposes a way for InterfaceRegistry and > InterfaceProvider to forward to/from other instances > so we can still have a corresponding instance of each > on whatever thread owns the Mojo[Shell/Child]Connection > object. > > This simplifies interface registration and acquisition > on process hosts and ChildThreadImpls, and makes it possible > for a future CL to introduce IO-thread service registration > to avoid thread hops when binding incoming interface requests. > > BUG=623398,612500 > > Committed: https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383 > Cr-Commit-Position: refs/heads/master@{#404228} TBR=ben@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=623398,612500 Review-Url: https://codereview.chromium.org/2132793002 Cr-Commit-Position: refs/heads/master@{#404236} [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/browser_context.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/browser_main_loop.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/child/child_thread_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/child/child_thread_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/content_common.gypi [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/gpu/BUILD.gn [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/gpu/gpu_child_thread.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/browser/render_process_host.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/child/child_thread.h [delete] https://crrev.com/225e0d108f12c89466aced7ea3dc567080c80d8c/content/public/common/connection_filter.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/test/mock_render_process_host.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/render_thread_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/render_thread_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/BUILD.gn [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/navigation.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/navigation.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/view_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/view_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/connection.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/connector.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/shell_connection.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/shell_connection.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a18ca6b383554d7806787028c0961858e90bb086 commit a18ca6b383554d7806787028c0961858e90bb086 Author: amistry <amistry@chromium.org> Date: Fri Jul 08 00:47:32 2016 [mojo-edk] Post a task to process local messages. This ensures the local message queue is _always_ processed, instead of relying on the side effect of certain functions such as SendMessage. BUG=612500 Review-Url: https://codereview.chromium.org/2126703002 Cr-Commit-Position: refs/heads/master@{#404281} [modify] https://crrev.com/a18ca6b383554d7806787028c0961858e90bb086/mojo/edk/system/node_controller.cc [modify] https://crrev.com/a18ca6b383554d7806787028c0961858e90bb086/mojo/edk/system/node_controller.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0771b1d71a3295691f9ffaefdf50652bd58e01c4 commit 0771b1d71a3295691f9ffaefdf50652bd58e01c4 Author: rockot <rockot@chromium.org> Date: Sat Jul 09 01:16:57 2016 Move content's service manager connections to the IO thread Moves all service manager connections in the content layer (connections owned by instances of MojoShellConnection and MojoChildConnection) to the IO thread in all process types. Note that instances of MojoShellConnection and MojoChildConnection may still be created and used on any thread. Additionally exposes a way for InterfaceRegistry and InterfaceProvider to forward to/from other instances so we can still have a corresponding instance of each on whatever thread owns the Mojo[Shell/Child]Connection object. This simplifies interface registration and acquisition on process hosts and ChildThreadImpls, and makes it possible for a future CL to introduce IO-thread service registration to avoid thread hops when binding incoming interface requests. BUG=623398,612500 Committed: https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383 Review-Url: https://codereview.chromium.org/2111353002 Cr-Original-Commit-Position: refs/heads/master@{#404228} Cr-Commit-Position: refs/heads/master@{#404556} [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/browser_context.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/browser_main_loop.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/child/child_thread_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/child/child_thread_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/content_common.gypi [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/gpu/BUILD.gn [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/gpu/gpu_child_thread.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/browser/render_process_host.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/child/child_thread.h [add] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/common/connection_filter.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/test/mock_render_process_host.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/render_thread_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/render_thread_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/BUILD.gn [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/navigation.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/navigation.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/view_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/view_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/connection.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/connector.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/service_context.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/service_context.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d535a2c52c815ed792cba4ebbeb621816cd013b8 commit d535a2c52c815ed792cba4ebbeb621816cd013b8 Author: rockot <rockot@chromium.org> Date: Tue Jul 12 18:26:39 2016 Revert of Move content's shell connections to the IO thread (patchset #14 id:320001 of https://codereview.chromium.org/2111353002/ ) Reason for revert: http://crbug.com/627277 Original issue's description: > Move content's service manager connections to the IO thread > > Moves all service manager connections in the content layer > (connections owned by instances of MojoShellConnection and > MojoChildConnection) to the IO thread in all process types. > Note that instances of MojoShellConnection and > MojoChildConnection may still be created and used on > any thread. > > Additionally exposes a way for InterfaceRegistry and > InterfaceProvider to forward to/from other instances > so we can still have a corresponding instance of each > on whatever thread owns the Mojo[Shell/Child]Connection > object. > > This simplifies interface registration and acquisition > on process hosts and ChildThreadImpls, and makes it possible > for a future CL to introduce IO-thread service registration > to avoid thread hops when binding incoming interface requests. > > BUG=623398,612500 > > Committed: https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383 > Committed: https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4 > Cr-Original-Commit-Position: refs/heads/master@{#404228} > Cr-Commit-Position: refs/heads/master@{#404556} TBR=ben@chromium.org,piman@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=623398,612500 NOTRY=true Review-Url: https://codereview.chromium.org/2138263002 Cr-Commit-Position: refs/heads/master@{#404816} [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/browser_context.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/browser_main_loop.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/child/child_thread_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/child/child_thread_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/content_common.gypi [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/gpu/BUILD.gn [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/gpu/gpu_child_thread.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/browser/render_process_host.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/child/child_thread.h [delete] https://crrev.com/c4f4073a28689b275f41aa83679627d719e8884a/content/public/common/connection_filter.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/test/mock_render_process_host.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/render_thread_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/render_thread_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/BUILD.gn [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/navigation.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/navigation.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/view_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/view_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/connection.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/connector.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/service_context.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/service_context.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/02b8e188466c60a084959c554c0d598303b621c3 commit 02b8e188466c60a084959c554c0d598303b621c3 Author: rockot <rockot@chromium.org> Date: Wed Jul 13 20:08:30 2016 Move ChannelMojo bindings to a custom multiplex router Changes MojoBootstrap - the implementation of master endpoints for IPC::ChannelMojo - to use custom message routing logic in lieu of the Mojo public Binding and InterfacePtr primitives and the underlying MultiplexRouter implementation. This is part a series of CLs to support Channel-associated interfaces. BUG=612500 Review-Url: https://codereview.chromium.org/2136193003 Cr-Commit-Position: refs/heads/master@{#405254} [modify] https://crrev.com/02b8e188466c60a084959c554c0d598303b621c3/ipc/ipc_mojo_bootstrap.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc88e5075878f16cde23b910d2ce19aa862129e4 commit dc88e5075878f16cde23b910d2ce19aa862129e4 Author: rockot <rockot@chromium.org> Date: Wed Jul 13 22:43:32 2016 Adds associated interface support to IPC::Channel Provides a way of registering associated interface bindings with an IPC::Channel endpoint and acquiring proxies to remote interfaces on the other side. Support for this is exposed by IPC::Channel but only implemented in IPC::ChannelMojo. This is part a series of CLs to support Channel-associated interfaces. BUG=612500 Review-Url: https://codereview.chromium.org/2137353002 Cr-Commit-Position: refs/heads/master@{#405316} [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/BUILD.gn [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc.gyp [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc.mojom [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_channel.h [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_channel_common.cc [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_channel_mojo.h [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_mojo_bootstrap.h [add] https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4/ipc/ipc_test.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3ab4670d4ce9e922da8e9610eeadde6823bca991 commit 3ab4670d4ce9e922da8e9610eeadde6823bca991 Author: rockot <rockot@chromium.org> Date: Wed Jul 13 23:03:07 2016 Revert of Adds associated interface support to IPC::Channel (patchset #9 id:160001 of https://codereview.chromium.org/2137353002/ ) Reason for revert: Bah - forgot to update gyp properly. Surprised it got through the CQ... Original issue's description: > Adds associated interface support to IPC::Channel > > Provides a way of registering associated interface bindings with > an IPC::Channel endpoint and acquiring proxies to remote interfaces > on the other side. > > Support for this is exposed by IPC::Channel but only implemented > in IPC::ChannelMojo. > > This is part a series of CLs to support Channel-associated interfaces. > > BUG=612500 > > Committed: https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4 > Cr-Commit-Position: refs/heads/master@{#405316} TBR=yzshen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2141253004 Cr-Commit-Position: refs/heads/master@{#405336} [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/BUILD.gn [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc.gyp [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc.mojom [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_channel.h [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_channel_common.cc [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_channel_mojo.h [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/3ab4670d4ce9e922da8e9610eeadde6823bca991/ipc/ipc_mojo_bootstrap.h [delete] https://crrev.com/fc7b7b15c1261315081ef6ee03fc90db28eb9678/ipc/ipc_test.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6 commit 7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6 Author: rockot <rockot@chromium.org> Date: Thu Jul 14 00:34:11 2016 Adds associated interface support to IPC::Channel Provides a way of registering associated interface bindings with an IPC::Channel endpoint and acquiring proxies to remote interfaces on the other side. Support for this is exposed by IPC::Channel but only implemented in IPC::ChannelMojo. This is part a series of CLs to support Channel-associated interfaces. BUG=612500 Committed: https://crrev.com/dc88e5075878f16cde23b910d2ce19aa862129e4 Review-Url: https://codereview.chromium.org/2137353002 Cr-Original-Commit-Position: refs/heads/master@{#405316} Cr-Commit-Position: refs/heads/master@{#405364} [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/BUILD.gn [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc.gyp [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc.mojom [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_channel.h [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_channel_common.cc [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_channel_mojo.h [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_mojo_bootstrap.h [add] https://crrev.com/7c6bf9577022c2d646bb6a347d6e3c93a5bb5ac6/ipc/ipc_test.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61 commit 8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61 Author: rockot <rockot@chromium.org> Date: Thu Jul 14 16:37:14 2016 Adds Channel-associated interface support on ChannelProxy's thread This exposes a way for ChannelProxy users to associate interface factories with a ChannelProxy, allowing requests to be bound either on the proxy thread or directly on the IPC thread. BUG=612500 Review-Url: https://codereview.chromium.org/2147493006 Cr-Commit-Position: refs/heads/master@{#405504} [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_channel.h [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_channel_mojo.h [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_channel_proxy.h [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/8d890f6ab069d8e075b3d7aeefc0b9cec7eb2b61/ipc/ipc_mojo_bootstrap.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a34707ca8e2548fcc804ffaa9571adcba2d024a8 commit a34707ca8e2548fcc804ffaa9571adcba2d024a8 Author: rockot <rockot@chromium.org> Date: Wed Jul 20 04:28:32 2016 Plumb explicit IPC task runner through to IPC::Channel creation In preparation for a follow-up CL, IPC::ChannelMojo needs to know which TaskRunner it will be used from despite being constructed on some arbitray other thread (for e.g. ChannelProxy). This CL plumbs through an IPC TaskRunner to various Channel instantiation sites to avoid lots of noise in the other CL. There are no behavioral changes introduced here. BUG=612500,619202 Review-Url: https://codereview.chromium.org/2159293002 Cr-Commit-Position: refs/heads/master@{#406486} [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/content/child/child_thread_impl.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/content/test/render_thread_impl_browser_test_ipc_helper.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_common.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_factory.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_factory.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_mojo.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_proxy_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_fuzzing_tests.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_mojo_perftest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_perftest_support.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_send_fds_test.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_test_base.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_test_base.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/sync_socket_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/tools/ipc_fuzzer/message_replay/replay_process.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e1037f997da9e1d44ca3b09d4ff32f0465673091 commit e1037f997da9e1d44ca3b09d4ff32f0465673091 Author: rockot <rockot@chromium.org> Date: Thu Jul 21 00:13:20 2016 Support early associated interface binding on ChannelMojo Changes the associated bindings implementation for ChannelMojo such that remote interfaces can be acquired immediately upon ChannelMojo construction rather than having to wait for connection on the IO thread. Simplifies the Channel bootstrapping process, removing a round-trip Init message (and in fact the entire IPC::mojom::Boostrap interface) since there's no need to actually exchange associated interface handles over the pipe. Instead both sides can assume the other will use a fixed, reserved endpoint ID for their IPC::mojom::Channel interface. This also removes the restriction that associated interfaces must be added to a Channel after Init. Instead the same constraints apply as with AddFilter: an associated interface, like a filter, may be added at any time as long as either Init hasn't been called OR the remote process hasn't been launched. The result of this CL is that any place it's safe to AddFilter, it's also safe to AddAssociatedInterface; and any place it's safe to Send, it's also safe to GetRemoteAssociatedInterface and begin using any such remote interface immediately. Remote interface requests as well as all messages to remote interfaces retain FIFO with respect to any Send calls on the same thread. Local interface request dispatch as well as all messages on locally bound associated interfaces retain FIFO with respect to any OnMessageReceived calls on the same thread. BUG=612500,619202 Review-Url: https://codereview.chromium.org/2163633003 Cr-Commit-Position: refs/heads/master@{#406720} [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc.mojom [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_mojo.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_proxy.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f192a075bcd935672ec1db5de7308a96bfd34685 commit f192a075bcd935672ec1db5de7308a96bfd34685 Author: rockot <rockot@chromium.org> Date: Thu Jul 21 01:33:51 2016 Revert of Support early associated interface binding on ChannelMojo (patchset #5 id:80001 of https://codereview.chromium.org/2163633003/ ) Reason for revert: Lots of browser_tests failures. https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/266272 Original issue's description: > Support early associated interface binding on ChannelMojo > > Changes the associated bindings implementation for ChannelMojo > such that remote interfaces can be acquired immediately upon > ChannelMojo construction rather than having to wait for connection > on the IO thread. > > Simplifies the Channel bootstrapping process, removing a round-trip > Init message (and in fact the entire IPC::mojom::Boostrap interface) > since there's no need to actually exchange associated interface handles > over the pipe. Instead both sides can assume the other will use a fixed, > reserved endpoint ID for their IPC::mojom::Channel interface. > > This also removes the restriction that associated interfaces must be > added to a Channel after Init. Instead the same constraints apply as > with AddFilter: an associated interface, like a filter, may be added > at any time as long as either Init hasn't been called OR the remote > process hasn't been launched. > > The result of this CL is that any place it's safe to AddFilter, > it's also safe to AddAssociatedInterface; and any place it's safe to > Send, it's also safe to GetRemoteAssociatedInterface and begin using > any such remote interface immediately. > > Remote interface requests as well as all messages to remote interfaces > retain FIFO with respect to any Send calls on the same thread. Local > interface request dispatch as well as all messages on locally bound > associated interfaces retain FIFO with respect to any OnMessageReceived > calls on the same thread. > > BUG=612500,619202 > > Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 > Cr-Commit-Position: refs/heads/master@{#406720} TBR=yzshen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500,619202 Review-Url: https://codereview.chromium.org/2167973002 Cr-Commit-Position: refs/heads/master@{#406739} [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc.mojom [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_mojo.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_proxy.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/508da24622f957a01b076ccd058bfdccc79068a4 commit 508da24622f957a01b076ccd058bfdccc79068a4 Author: rockot <rockot@chromium.org> Date: Fri Jul 22 03:53:59 2016 Support early associated interface binding on ChannelMojo Changes the associated bindings implementation for ChannelMojo such that remote interfaces can be acquired immediately upon ChannelMojo construction rather than having to wait for connection on the IO thread. Simplifies the Channel bootstrapping process, removing a round-trip Init message (and in fact the entire IPC::mojom::Boostrap interface) since there's no need to actually exchange associated interface handles over the pipe. Instead both sides can assume the other will use a fixed, reserved endpoint ID for their IPC::mojom::Channel interface. This also removes the restriction that associated interfaces must be added to a Channel after Init. Instead the same constraints apply as with AddFilter: an associated interface, like a filter, may be added at any time as long as either Init hasn't been called OR the remote process hasn't been launched. The result of this CL is that any place it's safe to AddFilter, it's also safe to AddAssociatedInterface; and any place it's safe to Send, it's also safe to GetRemoteAssociatedInterface and begin using any such remote interface immediately. Remote interface requests as well as all messages to remote interfaces retain FIFO with respect to any Send calls on the same thread. Local interface request dispatch as well as all messages on locally bound associated interfaces retain FIFO with respect to any OnMessageReceived calls on the same thread. BUG=612500,619202 Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 Review-Url: https://codereview.chromium.org/2163633003 Cr-Original-Commit-Position: refs/heads/master@{#406720} Cr-Commit-Position: refs/heads/master@{#407050} [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc.mojom [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_mojo.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_proxy.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5507feebdcc7216f8e390aca33ab28afbe349a97 commit 5507feebdcc7216f8e390aca33ab28afbe349a97 Author: msramek <msramek@chromium.org> Date: Fri Jul 22 10:06:21 2016 Revert of Support early associated interface binding on ChannelMojo (patchset #7 id:120001 of https://codereview.chromium.org/2163633003/ ) Reason for revert: Probable cause of failures on Mac ASan. See crbug.com/630564 for more details. Original issue's description: > Support early associated interface binding on ChannelMojo > > Changes the associated bindings implementation for ChannelMojo > such that remote interfaces can be acquired immediately upon > ChannelMojo construction rather than having to wait for connection > on the IO thread. > > Simplifies the Channel bootstrapping process, removing a round-trip > Init message (and in fact the entire IPC::mojom::Boostrap interface) > since there's no need to actually exchange associated interface handles > over the pipe. Instead both sides can assume the other will use a fixed, > reserved endpoint ID for their IPC::mojom::Channel interface. > > This also removes the restriction that associated interfaces must be > added to a Channel after Init. Instead the same constraints apply as > with AddFilter: an associated interface, like a filter, may be added > at any time as long as either Init hasn't been called OR the remote > process hasn't been launched. > > The result of this CL is that any place it's safe to AddFilter, > it's also safe to AddAssociatedInterface; and any place it's safe to > Send, it's also safe to GetRemoteAssociatedInterface and begin using > any such remote interface immediately. > > Remote interface requests as well as all messages to remote interfaces > retain FIFO with respect to any Send calls on the same thread. Local > interface request dispatch as well as all messages on locally bound > associated interfaces retain FIFO with respect to any OnMessageReceived > calls on the same thread. > > BUG=612500,619202 > > Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 > Committed: https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4 > Cr-Original-Commit-Position: refs/heads/master@{#406720} > Cr-Commit-Position: refs/heads/master@{#407050} TBR=yzshen@chromium.org,rockot@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500,619202 Review-Url: https://codereview.chromium.org/2173753002 Cr-Commit-Position: refs/heads/master@{#407120} [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc.mojom [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_mojo.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_proxy.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0e4de5f9a519c6cd206448a10eccc7a535e3db64 commit 0e4de5f9a519c6cd206448a10eccc7a535e3db64 Author: rockot <rockot@chromium.org> Date: Fri Jul 22 21:18:07 2016 Support early associated interface binding on ChannelMojo Changes the associated bindings implementation for ChannelMojo such that remote interfaces can be acquired immediately upon ChannelMojo construction rather than having to wait for connection on the IO thread. Simplifies the Channel bootstrapping process, removing a round-trip Init message (and in fact the entire IPC::mojom::Boostrap interface) since there's no need to actually exchange associated interface handles over the pipe. Instead both sides can assume the other will use a fixed, reserved endpoint ID for their IPC::mojom::Channel interface. This also removes the restriction that associated interfaces must be added to a Channel after Init. Instead the same constraints apply as with AddFilter: an associated interface, like a filter, may be added at any time as long as either Init hasn't been called OR the remote process hasn't been launched. The result of this CL is that any place it's safe to AddFilter, it's also safe to AddAssociatedInterface; and any place it's safe to Send, it's also safe to GetRemoteAssociatedInterface and begin using any such remote interface immediately. Remote interface requests as well as all messages to remote interfaces retain FIFO with respect to any Send calls on the same thread. Local interface request dispatch as well as all messages on locally bound associated interfaces retain FIFO with respect to any OnMessageReceived calls on the same thread. BUG=612500,619202 Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 Committed: https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4 Review-Url: https://codereview.chromium.org/2163633003 Cr-Original-Original-Commit-Position: refs/heads/master@{#406720} Cr-Original-Commit-Position: refs/heads/master@{#407050} Cr-Commit-Position: refs/heads/master@{#407264} [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc.mojom [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_mojo.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_proxy.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a32ca4b3ff6690d5b164313cd541e7908b8b8499 commit a32ca4b3ff6690d5b164313cd541e7908b8b8499 Author: rockot <rockot@chromium.org> Date: Tue Jul 26 00:12:03 2016 Adds BrowserAssociatedInterface BrowserAssociatedInterface can be implemented in conjunction with BrowserMessageFilter in order to provide browser-side Mojo bindings which dispatch on the IO thread and maintain FIFO with respect to legacy IPC messages on the same channel. BUG=612500,619202 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2164783005 Cr-Commit-Position: refs/heads/master@{#407644} [add] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/browser/browser_associated_interface_unittest.cc [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/content_browser.gypi [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/content_tests.gypi [add] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/public/browser/browser_associated_interface.h [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/public/browser/browser_message_filter.cc [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/public/browser/browser_message_filter.h [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/test/BUILD.gn [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/test/OWNERS [add] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/test/test_browser_associated_interfaces.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1587e33c1578c277af84c700bd213f5743f09f18 commit 1587e33c1578c277af84c700bd213f5743f09f18 Author: rockot <rockot@chromium.org> Date: Wed Jul 27 17:44:14 2016 Moves FrameHostMsg_SetCookie to a Mojo message Adds a new BrowserAssociatedInterface to RenderFrameMessageFilter and converts a single message (SetCookie) to Mojo. BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2167513003 Cr-Commit-Position: refs/heads/master@{#408173} [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/browser/frame_host/render_frame_message_filter.cc [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/browser/frame_host/render_frame_message_filter.h [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/browser/frame_host/render_frame_message_filter_browsertest.cc [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/common/BUILD.gn [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/common/frame_messages.h [add] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/common/render_frame_message_filter.mojom [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/content_common_mojo_bindings.gyp [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/renderer/render_thread_impl.cc [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/renderer/render_thread_impl.h [modify] https://crrev.com/1587e33c1578c277af84c700bd213f5743f09f18/content/renderer/renderer_webcookiejar_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9abe09b7586865302936e289200a464118cb9c59 commit 9abe09b7586865302936e289200a464118cb9c59 Author: rockot <rockot@chromium.org> Date: Tue Aug 02 20:57:34 2016 Adds sync message support to Channel-associated interfaces. BUG=612500 Review-Url: https://codereview.chromium.org/2195953002 Cr-Commit-Position: refs/heads/master@{#409320} [modify] https://crrev.com/9abe09b7586865302936e289200a464118cb9c59/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/9abe09b7586865302936e289200a464118cb9c59/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/9abe09b7586865302936e289200a464118cb9c59/ipc/ipc_sync_channel.cc [modify] https://crrev.com/9abe09b7586865302936e289200a464118cb9c59/ipc/ipc_test.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/160577e9f267226ebd2c388e3bf1f8067484bbb2 commit 160577e9f267226ebd2c388e3bf1f8067484bbb2 Author: rockot <rockot@chromium.org> Date: Wed Aug 03 20:24:44 2016 Mojo C++ Bindings: Add helpers for bad message reporting Adds new C++ API at the bindings layer for convenient reporting of bad messages from within the stack frames that are actually processing those messages. Also adds a new EDK API to set a default process error handler. This is currently only used to support testing but may be generally useful for production code as well. BUG=612500 R=yzshen@chromium.org Review-Url: https://codereview.chromium.org/2202893002 Cr-Commit-Position: refs/heads/master@{#409612} [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/edk/embedder/embedder.cc [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/edk/embedder/embedder.h [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/edk/system/core.cc [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/edk/system/core.h [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/cpp/bindings/lib/message.cc [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/cpp/bindings/lib/message_internal.h [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/cpp/bindings/message.h [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/cpp/bindings/tests/BUILD.gn [add] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/cpp/bindings/tests/report_bad_message_unittest.cc [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/interfaces/bindings/tests/BUILD.gn [add] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/interfaces/bindings/tests/test_bad_messages.mojom [modify] https://crrev.com/160577e9f267226ebd2c388e3bf1f8067484bbb2/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6a2d66a519fe40cf73c3b976431440234b4ba124 commit 6a2d66a519fe40cf73c3b976431440234b4ba124 Author: rockot <rockot@chromium.org> Date: Thu Aug 04 00:15:25 2016 Move FrameHostMsg_GetCookies to mojom BUG=612500 R=jam@chromium.org Review-Url: https://codereview.chromium.org/2202723005 Cr-Commit-Position: refs/heads/master@{#409677} [modify] https://crrev.com/6a2d66a519fe40cf73c3b976431440234b4ba124/content/browser/frame_host/render_frame_message_filter.cc [modify] https://crrev.com/6a2d66a519fe40cf73c3b976431440234b4ba124/content/browser/frame_host/render_frame_message_filter.h [modify] https://crrev.com/6a2d66a519fe40cf73c3b976431440234b4ba124/content/browser/frame_host/render_frame_message_filter_browsertest.cc [modify] https://crrev.com/6a2d66a519fe40cf73c3b976431440234b4ba124/content/common/frame_messages.h [modify] https://crrev.com/6a2d66a519fe40cf73c3b976431440234b4ba124/content/common/render_frame_message_filter.mojom [modify] https://crrev.com/6a2d66a519fe40cf73c3b976431440234b4ba124/content/renderer/renderer_webcookiejar_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/222e7dd4cce2ad6e583e54638404aedf9126a956 commit 222e7dd4cce2ad6e583e54638404aedf9126a956 Author: rockot <rockot@chromium.org> Date: Wed Aug 24 23:37:11 2016 Support custom message filtering on Mojo binding objects * Replaces MessageFilter with MessageReceiver * Updates FilterChain to always end on the sink, short-circuiting if any "filter" (receiver) rejects along the way * Adds a new AddFilter() interface to mojo::Binding and mojo::AssociatedBinding, allowing users to inject MessageReceiver filters to be run immediately before every message dispatch BUG=612500 R=yzshen@chromium.org TBR=tsepez@chromium.org Review-Url: https://codereview.chromium.org/2276043002 Cr-Commit-Position: refs/heads/master@{#414197} [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/BUILD.gn [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/associated_binding.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/binding.h [add] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/filter_chain.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/interface_endpoint_client.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/binding_state.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/binding_state.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/filter_chain.cc [delete] https://crrev.com/d184d7e8cf46adaf56c686e4ee6641affed04c3b/mojo/public/cpp/bindings/lib/filter_chain.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/interface_ptr_state.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/message.cc [delete] https://crrev.com/d184d7e8cf46adaf56c686e4ee6641affed04c3b/mojo/public/cpp/bindings/lib/message_filter.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/message_header_validator.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/multiplex_router.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/multiplex_router.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/router.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/lib/router.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/message.h [delete] https://crrev.com/d184d7e8cf46adaf56c686e4ee6641affed04c3b/mojo/public/cpp/bindings/message_filter.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/message_header_validator.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/no_interface.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/strong_binding.h [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/tests/associated_interface_unittest.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/tests/binding_unittest.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/tests/multiplex_router_unittest.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/tests/router_unittest.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/cpp/bindings/tests/validation_unittest.cc [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/interfaces/bindings/tests/BUILD.gn [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/tools/bindings/generators/cpp_templates/interface_request_validator_declaration.tmpl [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/tools/bindings/generators/cpp_templates/interface_response_validator_declaration.tmpl [modify] https://crrev.com/222e7dd4cce2ad6e583e54638404aedf9126a956/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/21bb88540cbc926f52b7e6547984ea772c441a69 commit 21bb88540cbc926f52b7e6547984ea772c441a69 Author: rockot <rockot@chromium.org> Date: Fri Aug 26 21:21:32 2016 Add support for dispatch contexts on BindingSet Allows BindingSet<T>::AddBinding to associate an arbitrary |context| value with a new binding when added. The set's dispatch_context() accessor will return this value during the extent of any message or error dispatch targeting that specific binding. Refactors BindingSet to simplify lifetime management and allow it to be reused for associated bindings as well. Also implements AddFilter for master interface bindings on interface types which support associated interfaces, as this was accidentally omitted when AddFilter was introduced. BUG=612500 R=yzshen@chromium.org Review-Url: https://codereview.chromium.org/2283543002 Cr-Commit-Position: refs/heads/master@{#414809} [modify] https://crrev.com/21bb88540cbc926f52b7e6547984ea772c441a69/mojo/public/cpp/bindings/BUILD.gn [add] https://crrev.com/21bb88540cbc926f52b7e6547984ea772c441a69/mojo/public/cpp/bindings/associated_binding_set.h [modify] https://crrev.com/21bb88540cbc926f52b7e6547984ea772c441a69/mojo/public/cpp/bindings/binding_set.h [modify] https://crrev.com/21bb88540cbc926f52b7e6547984ea772c441a69/mojo/public/cpp/bindings/lib/binding_state.cc [modify] https://crrev.com/21bb88540cbc926f52b7e6547984ea772c441a69/mojo/public/cpp/bindings/lib/binding_state.h [modify] https://crrev.com/21bb88540cbc926f52b7e6547984ea772c441a69/mojo/public/cpp/bindings/tests/BUILD.gn [add] https://crrev.com/21bb88540cbc926f52b7e6547984ea772c441a69/mojo/public/cpp/bindings/tests/binding_set_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/401fb2ccad8315b60f9f6dcbf892e628975cee54 commit 401fb2ccad8315b60f9f6dcbf892e628975cee54 Author: rockot <rockot@chromium.org> Date: Tue Sep 06 18:35:57 2016 Mojo Channel: Fix deferred proxy dispatch; support paused channels This is a twofold change because of some inherent overlap: 1. Fixes deferred proxy dispatch. This means if a message comes in for an unknown associated interface endpoint, we still dispatch to the proxy thread, as was the intended behavior. Adds a test to verify that this actually works now. 2. Adds the ability to create a "paused" Channel, and corresponding Unpause and Flush operations (which only ChannelMojo supports). This is used by a follow-up CL to avoid having RenderProcessHostImpl perform its own message queueing, which it does to allow certain initialization messages to preempt other early Sends. RPHI must not perform its own queueing once the Channel exists: interface requests and mojom messages must also be queued, but RPHI only hooks into the IPC::Sender interface. Queueing outside of the Channel breaks FIFO between early IPC::Messages and early Channel- associated Mojo IPC. In order to support both of these changes, the manual serialization gunk has also been removed from MessagePipeReader (it was only there to support thread-safe Send, which we've since abandoned.) This is necessary to ensure that all send logic goes through the same single queueing mechanism in the ChannelAssociatedGroupController. Part a series of CLs to enable and demonstrate WebContents associated interfaces: 1. This CL 2. https://codereview.chromium.org/2309513002 3. https://codereview.chromium.org/2310563002 4. https://codereview.chromium.org/2310583002 BUG=612500 Review-Url: https://codereview.chromium.org/2301123004 Cr-Commit-Position: refs/heads/master@{#416678} [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_channel.h [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_channel_common.cc [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_channel_mojo.h [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_channel_proxy.h [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_sync_channel.cc [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_sync_channel.h [modify] https://crrev.com/401fb2ccad8315b60f9f6dcbf892e628975cee54/ipc/ipc_test.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4b8bca190cdc55bae81974aa09cc10f422f022fb commit 4b8bca190cdc55bae81974aa09cc10f422f022fb Author: rockot <rockot@chromium.org> Date: Thu Sep 08 00:14:17 2016 Mojo C++ Bindings: Additional support for associated binding sets Implements three orthogonal changes to the public bindings API: 1. Adds the ability to remove bindings from a binding set. Uses a new mojo::BindingId integer alias to identify added bindings. 2. Adds the ability to set a pre-dispatch hook on binding sets. In some cases simply making the dispatch_context() available is insufficient, for example when a consumer owns multiple binding sets and wants a common path for establishing context among any of them. 3. Adds mojo::GetDummyProxy, a helper that can bind an AssociatedInterfacePtr<T> so that it has some valid internal state and silently drops all outgoing messages. Unlike regular message pipe interfaces, without this feature associated interfaces are difficult to stub out in test environments. Part a series of CLs to enable and demonstrate WebContents associated interfaces: 1. https://codereview.chromium.org/2301123004 2. This CL 3. https://codereview.chromium.org/2310563002 4. https://codereview.chromium.org/2310583002 BUG=612500 R=yzshen@chromium.org Review-Url: https://codereview.chromium.org/2309513002 Cr-Commit-Position: refs/heads/master@{#417126} [modify] https://crrev.com/4b8bca190cdc55bae81974aa09cc10f422f022fb/mojo/public/cpp/bindings/associated_interface_ptr.h [modify] https://crrev.com/4b8bca190cdc55bae81974aa09cc10f422f022fb/mojo/public/cpp/bindings/binding_set.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c08a3abcbc9d79e2a7031b116d0af9ee92d17459 commit c08a3abcbc9d79e2a7031b116d0af9ee92d17459 Author: lushnikov <lushnikov@chromium.org> Date: Thu Sep 08 01:02:39 2016 Revert of Mojo C++ Bindings: Additional support for associated binding sets (patchset #2 id:20001 of https://codereview.chromium.org/2309513002/ ) Reason for revert: This broke compilation on Win x64 builder: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win%20x64%20Builder/builds/94511 Original issue's description: > Mojo C++ Bindings: Additional support for associated binding sets > > Implements three orthogonal changes to the public bindings API: > > 1. Adds the ability to remove bindings from a binding set. Uses > a new mojo::BindingId integer alias to identify added bindings. > > 2. Adds the ability to set a pre-dispatch hook on binding sets. > In some cases simply making the dispatch_context() available > is insufficient, for example when a consumer owns multiple > binding sets and wants a common path for establishing context > among any of them. > > 3. Adds mojo::GetDummyProxy, a helper that can bind an > AssociatedInterfacePtr<T> so that it has some valid internal > state and silently drops all outgoing messages. Unlike > regular message pipe interfaces, without this feature > associated interfaces are difficult to stub out in test > environments. > > Part a series of CLs to enable and demonstrate WebContents associated > interfaces: > > 1. https://codereview.chromium.org/2301123004 > 2. This CL > 3. https://codereview.chromium.org/2310563002 > 4. https://codereview.chromium.org/2310583002 > > BUG=612500 > R=yzshen@chromium.org > > Committed: https://crrev.com/4b8bca190cdc55bae81974aa09cc10f422f022fb > Cr-Commit-Position: refs/heads/master@{#417126} TBR=yzshen@chromium.org,rockot@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2324623003 Cr-Commit-Position: refs/heads/master@{#417135} [modify] https://crrev.com/c08a3abcbc9d79e2a7031b116d0af9ee92d17459/mojo/public/cpp/bindings/associated_interface_ptr.h [modify] https://crrev.com/c08a3abcbc9d79e2a7031b116d0af9ee92d17459/mojo/public/cpp/bindings/binding_set.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78ed1c7950f7a5a896cedf1b943e5120b14fa916 commit 78ed1c7950f7a5a896cedf1b943e5120b14fa916 Author: lushnikov <lushnikov@chromium.org> Date: Thu Sep 08 01:14:58 2016 Reland of Mojo C++ Bindings: Additional support for associated binding sets (patchset #1 id:1 of https://codereview.chromium.org/2324623003/ ) Reason for revert: It seems like linker just occasionally ran out of memory on the buildbot. The CL seems to be innocent. Original issue's description: > Revert of Mojo C++ Bindings: Additional support for associated binding sets (patchset #2 id:20001 of https://codereview.chromium.org/2309513002/ ) > > Reason for revert: > This broke compilation on Win x64 builder: > > https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win%20x64%20Builder/builds/94511 > > Original issue's description: > > Mojo C++ Bindings: Additional support for associated binding sets > > > > Implements three orthogonal changes to the public bindings API: > > > > 1. Adds the ability to remove bindings from a binding set. Uses > > a new mojo::BindingId integer alias to identify added bindings. > > > > 2. Adds the ability to set a pre-dispatch hook on binding sets. > > In some cases simply making the dispatch_context() available > > is insufficient, for example when a consumer owns multiple > > binding sets and wants a common path for establishing context > > among any of them. > > > > 3. Adds mojo::GetDummyProxy, a helper that can bind an > > AssociatedInterfacePtr<T> so that it has some valid internal > > state and silently drops all outgoing messages. Unlike > > regular message pipe interfaces, without this feature > > associated interfaces are difficult to stub out in test > > environments. > > > > Part a series of CLs to enable and demonstrate WebContents associated > > interfaces: > > > > 1. https://codereview.chromium.org/2301123004 > > 2. This CL > > 3. https://codereview.chromium.org/2310563002 > > 4. https://codereview.chromium.org/2310583002 > > > > BUG=612500 > > R=yzshen@chromium.org > > > > Committed: https://crrev.com/4b8bca190cdc55bae81974aa09cc10f422f022fb > > Cr-Commit-Position: refs/heads/master@{#417126} > > TBR=yzshen@chromium.org,rockot@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=612500 > > Committed: https://crrev.com/c08a3abcbc9d79e2a7031b116d0af9ee92d17459 > Cr-Commit-Position: refs/heads/master@{#417135} TBR=yzshen@chromium.org,rockot@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2320723003 Cr-Commit-Position: refs/heads/master@{#417142} [modify] https://crrev.com/78ed1c7950f7a5a896cedf1b943e5120b14fa916/mojo/public/cpp/bindings/associated_interface_ptr.h [modify] https://crrev.com/78ed1c7950f7a5a896cedf1b943e5120b14fa916/mojo/public/cpp/bindings/binding_set.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1018875b737323db9ba00d76705ac70005f019ac commit 1018875b737323db9ba00d76705ac70005f019ac Author: rockot <rockot@chromium.org> Date: Thu Sep 08 18:24:56 2016 Reworks Channel pausing behavior It turns out creating a Channel paused is not good enough; we actually need to be able to send some messages, then pause, send more messages, unpause, send even more messages, and then flush. This is because of subtleties in how RPHI handles queuing. It queues messages before the Channel is created, then there is a brief period between Channel creation and process launch where messages aren't queued but are sent immediately (but previously queued messages remain in queue), and then new messages are queued again during process launch, and finally queueing is turned off after process launch. This changes Channel to have an explicit Pause() API and gets rid of the recently added ConnectPaused(). BUG=612500 Review-Url: https://codereview.chromium.org/2316963005 Cr-Commit-Position: refs/heads/master@{#417344} [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_channel.h [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_channel_common.cc [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_channel_mojo.h [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_channel_proxy.h [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_sync_channel.cc [modify] https://crrev.com/1018875b737323db9ba00d76705ac70005f019ac/ipc/ipc_sync_channel.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f62002a08f3025d4d9fe488c0986369ae94e1f10 commit f62002a08f3025d4d9fe488c0986369ae94e1f10 Author: rockot <rockot@chromium.org> Date: Thu Sep 15 00:08:59 2016 Adds associated interface support between RenderFrameHost and RenderFrame. Introduces a new content::AssociatedInterfaceRegistry and content::AssociatedInterfaceProvider to serve as Channel-associated interface counterparts to their shell namesakes. RenderFrameHost and RenderFrame each have both of these things on them, and they're routed to the other side using a new RouteProvider interface buried in RenderProcessHostImpl / ChildThreadImpl on either end. Also adds a WebContentsInterfaceRegistry to every WebContents, and a helper WebContentsFrameBindingSet<T> to allow consumers to very easily manage the lifetime of associated interface bindings for each frame in a WebContents. See the follow-up patch for example usage. Part a series of CLs to enable and demonstrate WebContents associated interfaces: 1. https://codereview.chromium.org/2309513002 2. https://codereview.chromium.org/2316963005 3. This CL 4. https://codereview.chromium.org/2310583002 BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2310563002 Cr-Commit-Position: refs/heads/master@{#418717} [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/browser/frame_host/render_frame_host_delegate.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/browser/frame_host/render_frame_host_impl.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/browser/frame_host/render_frame_host_impl.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/browser/web_contents/web_contents_impl.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/browser/web_contents/web_contents_impl.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/child/child_thread_impl.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/child/child_thread_impl.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/common/BUILD.gn [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/common/associated_interface_provider_impl.cc [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/common/associated_interface_provider_impl.h [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/common/associated_interface_registry_impl.cc [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/common/associated_interface_registry_impl.h [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/common/associated_interfaces.mojom [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/browser/BUILD.gn [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/browser/render_frame_host.h [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/browser/web_contents_binding_set.cc [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/browser/web_contents_binding_set.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/common/BUILD.gn [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/common/associated_interface_provider.h [add] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/common/associated_interface_registry.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/public/renderer/render_frame.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/renderer/render_frame_impl.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/content/renderer/render_frame_impl.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/ipc_channel_proxy.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/ipc_listener.h [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/message_router.cc [modify] https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10/ipc/message_router.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ce2138c89ef807204d1fab4a2716d86bbe918092 commit ce2138c89ef807204d1fab4a2716d86bbe918092 Author: rockot <rockot@chromium.org> Date: Fri Sep 16 00:09:18 2016 Fixes for WebContents associated interfaces support These weren't caught in the original CL (https://codereview.chromium.org/2310563002) since that CL intentionally didn't exercise everything. I neglected to test the follow-up CL completely before landing the first one, so I missed these bugs: 1. WebContentsBindingSet::Binding needs to be exported 2. The RouteProvider proxy in RPHI needs to reset on Init 3. RenderFrameImpl never implemented IPC::Listener::OnAssociatedInterfaceRequest. *crawls into shame cube* Landing these fixes separately from the follow-up CL (https://codereview.chromium.org/2310583002) to retain its purpose as a minimal example of WebContents IPC conversion. BUG=612500 Review-Url: https://codereview.chromium.org/2346903002 Cr-Commit-Position: refs/heads/master@{#419046} [modify] https://crrev.com/ce2138c89ef807204d1fab4a2716d86bbe918092/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/ce2138c89ef807204d1fab4a2716d86bbe918092/content/public/browser/web_contents_binding_set.h [modify] https://crrev.com/ce2138c89ef807204d1fab4a2716d86bbe918092/content/renderer/render_frame_impl.cc [modify] https://crrev.com/ce2138c89ef807204d1fab4a2716d86bbe918092/content/renderer/render_frame_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b97e3d3f0aeef861bc378c1243406835a52d3569 commit b97e3d3f0aeef861bc378c1243406835a52d3569 Author: rockot <rockot@chromium.org> Date: Fri Sep 16 17:39:03 2016 IPC: Delete thread-safe send support We ended up not using it, and there are no plans to use it in the future. It adds some unnecessary complexity to SyncMessageFilter which I don't want to have to maintain as I add some extra support for associated interfaces. BUG=612500 R=jam@chromium.org Review-Url: https://codereview.chromium.org/2343033002 Cr-Commit-Position: refs/heads/master@{#419205} [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/content/child/indexed_db/indexed_db_dispatcher_unittest.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/content/child/indexed_db/webidbcursor_impl_unittest.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/content/renderer/gpu/queue_message_swap_promise_unittest.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_channel.h [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_channel_common.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_channel_mojo.h [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_channel_proxy.h [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_sync_channel.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_sync_channel_unittest.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ipc/ipc_sync_message_filter.h [modify] https://crrev.com/b97e3d3f0aeef861bc378c1243406835a52d3569/ppapi/nacl_irt/manifest_service.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2 commit e1807f0bc6e60da26c609da2e87aaaae4b03c7b2 Author: rockot <rockot@chromium.org> Date: Fri Sep 16 19:57:54 2016 Convert some NetError[Tab]Helper messages to mojom Converts ChromeViewHostMsg_RunNetworkDiagnostics and ChromeViewMsg_SetCanShowNetworkDiagnosticsDialg to mojom without impacting message ordering. The browser-side interface is exposed via a WebContentsFrameBindingSet<T>. The renderer-side (client) interface is exposed via RenderFrameImpl's AssociatedInterfaceRegistry. This CL serves as a simple example of converting routed IPC messages which are handled by WebContentsObservers or other WebContents-bound things. BUG=612500 Review-Url: https://codereview.chromium.org/2310583002 Cr-Commit-Position: refs/heads/master@{#419259} [modify] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/browser/net/net_error_tab_helper.cc [modify] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/browser/net/net_error_tab_helper.h [modify] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/browser/net/net_error_tab_helper_unittest.cc [modify] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/common/BUILD.gn [add] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/common/network_diagnostics.mojom [modify] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/common/render_messages.h [modify] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/renderer/net/net_error_helper.cc [modify] https://crrev.com/e1807f0bc6e60da26c609da2e87aaaae4b03c7b2/chrome/renderer/net/net_error_helper.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e261d211c2cc511d905712c082e9b6025ea79197 commit e261d211c2cc511d905712c082e9b6025ea79197 Author: rockot <rockot@chromium.org> Date: Wed Sep 21 22:22:23 2016 Move ViewHostMsg_GenerateRoutingID to mojom BUG=612500 R=jam@chromium.org, tsepez@chromium.org Review-Url: https://codereview.chromium.org/2351333002 Cr-Commit-Position: refs/heads/master@{#420180} [modify] https://crrev.com/e261d211c2cc511d905712c082e9b6025ea79197/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/e261d211c2cc511d905712c082e9b6025ea79197/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/e261d211c2cc511d905712c082e9b6025ea79197/content/common/BUILD.gn [add] https://crrev.com/e261d211c2cc511d905712c082e9b6025ea79197/content/common/render_message_filter.mojom [modify] https://crrev.com/e261d211c2cc511d905712c082e9b6025ea79197/content/common/view_messages.h [modify] https://crrev.com/e261d211c2cc511d905712c082e9b6025ea79197/content/renderer/render_thread_impl.cc [modify] https://crrev.com/e261d211c2cc511d905712c082e9b6025ea79197/content/renderer/render_thread_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b7ec9769da285f493402197c7f1d3ded193fd859 commit b7ec9769da285f493402197c7f1d3ded193fd859 Author: rockot <rockot@chromium.org> Date: Thu Sep 22 00:25:53 2016 Add mojom for WindowOpenDisposition Adds ui::mojom::WindowOpenDisposition and a typemap which maps it to ::WindowOpenDisposition. This will be useful when converting existing IPCs to mojom. C++ references to WindowOpenDisposition are left alone for now and we'll rely on the typemap to do its thing for Mojo messages. Java references have been updated to use the mojom generated type directly, removing window_open_disposition.h from the set of headers processed by a java_cpp_enum rule. BUG=612500 Review-Url: https://codereview.chromium.org/2363533002 Cr-Commit-Position: refs/heads/master@{#420211} [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/chrome/android/BUILD.gn [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsRowAdapter.java [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/components/web_contents_delegate_android/android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/mojo/public/tools/bindings/chromium_bindings_configuration.gni [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/android/BUILD.gn [add] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/mojo/BUILD.gn [add] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/mojo/DEPS [add] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/mojo/OWNERS [add] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/mojo/typemaps.gni [add] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/mojo/window_open_disposition.mojom [add] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/mojo/window_open_disposition.typemap [add] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/mojo/window_open_disposition_enum_traits.h [modify] https://crrev.com/b7ec9769da285f493402197c7f1d3ded193fd859/ui/base/window_open_disposition.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5c478a7b04b55630c5c491d4d1d2863e965cfa32 commit 5c478a7b04b55630c5c491d4d1d2863e965cfa32 Author: rockot <rockot@chromium.org> Date: Wed Sep 28 23:14:18 2016 Move ViewHostMsg_CreateWindow to mojom Converts this message, addressing several of its dependencies in the process: - Makes content::WindowContainerType an alias for the new content::mojom::WindowContainerType. Some transitional public constants have been added to satisfy existing references to the old enum values. This will be removed in future CLs. - Adds a mojom definition for blink::mojom::WindowFeatures, corresponding to blink::WebWindowFeatures. A typemap is added between these types and is shared by both Blink and Chromium bindings configurations. - Adds a blink::mojom::Referrer struct analogous to content::Renderer. Chromium bindings typemap this new mojom struct to content::Referrer. - Adds a mojom blink::mojom::ReferrerPolicy enum with a typemap to blink::WebReferrerPolicy, shared by Chromium and Blink bindings. This can be de-duplicated in future CLs. BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2363573002 Cr-Commit-Position: refs/heads/master@{#421674} [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/frame_host/interstitial_page_impl.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/frame_host/interstitial_page_impl.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/renderer_host/render_view_host_delegate.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/renderer_host/render_view_host_impl.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/renderer_host/render_view_host_impl.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/renderer_host/render_widget_helper.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/renderer_host/render_widget_helper.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/security_exploit_browsertest.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/web_contents/web_contents_impl.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/browser/web_contents/web_contents_impl.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/common/BUILD.gn [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/common/page_state_serialization.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/common/render_message_filter.mojom [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/common/view_messages.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/BUILD.gn [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/OWNERS [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/referrer.typemap [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/referrer_struct_traits.cc [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/referrer_struct_traits.h [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/typemaps.gni [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/window_container_type.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/window_container_type.h [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/common/window_container_type.mojom [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/test/mock_render_thread.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/public/test/mock_render_thread.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/renderer/render_thread_impl.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/renderer/render_thread_impl.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/renderer/render_view_impl.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/test/test_web_contents.cc [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/content/test/test_web_contents.h [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/mojo/public/tools/bindings/blink_bindings_configuration.gni [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/mojo/public/tools/bindings/chromium_bindings_configuration.gni [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/PRESUBMIT.py [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/Tools/Scripts/webkitpy/style/checkers/cpp.py [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/BUILD.gn [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/platform/OWNERS [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/platform/ReferrerPolicyEnumTraits.h [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/platform/referrer.mojom [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/platform/referrer_policy.typemap [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/public_typemaps.gni [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/web/DEPS [modify] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/web/OWNERS [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/web/WindowFeaturesStructTraits.cpp [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/web/WindowFeaturesStructTraits.h [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/web/window_features.mojom [add] https://crrev.com/5c478a7b04b55630c5c491d4d1d2863e965cfa32/third_party/WebKit/public/web/window_features.typemap
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/067ca55f59d8fcc92db8d4eb3551ef31b7b43119 commit 067ca55f59d8fcc92db8d4eb3551ef31b7b43119 Author: rockot <rockot@chromium.org> Date: Fri Sep 30 22:00:15 2016 Move ViewMsg_New to mojom This is added to a new content::mojom::Renderer interface which is intended to define any messages processed directly by RenderThreadImpl. Also moves ViewMsg_New_Params to a mojom struct and adds native typemaps for some of its dependencies. BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2381493003 Cr-Commit-Position: refs/heads/master@{#422236} [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/browser/frame_host/navigator_impl.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/browser/renderer_host/render_view_host_impl.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/browser/site_per_process_browsertest.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/common/BUILD.gn [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/common/native_types.mojom [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/common/native_types.typemap [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/common/renderer.mojom [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/common/typemaps.gni [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/common/view_messages.h [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/common/web_preferences.typemap [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/public/common/BUILD.gn [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/public/test/render_view_test.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/renderer/render_thread_impl.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/renderer/render_thread_impl.h [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/renderer/render_view_impl.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/renderer/render_view_impl.h [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/content/test/layouttest_support.cc [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ipc/ipc.mojom [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/services/shell/public/cpp/capabilities_struct_traits.h [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/icc_profile.h [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/ipc/color/BUILD.gn [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/mojo/BUILD.gn [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/mojo/OWNERS [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/mojo/icc_profile.mojom [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/mojo/icc_profile.typemap [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/mojo/icc_profile_struct_traits.cc [add] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/mojo/icc_profile_struct_traits.h [modify] https://crrev.com/067ca55f59d8fcc92db8d4eb3551ef31b7b43119/ui/gfx/typemaps.gni
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/53be7caf3a84b07c4246c5c250ccac629113db9c commit 53be7caf3a84b07c4246c5c250ccac629113db9c Author: rockot <rockot@chromium.org> Date: Tue Oct 04 20:17:08 2016 Move FrameMsg_NewFrame/NewFrameProxy to mojom Straightforward conversion, no surprises. Also changes some (re-)initialization details of RPHI. Namely: * The mojom::RouteProvider and mojom::Renderer associated interface proxies are acquired immediately upon Channel creation, before pausing the Channel. This avoids an issue where one of these interface requests could be lazily acquired during Channel pause, blocking a subsequent message on that interface which should be sent immediately while the Channel is unpaused. See https://goo.gl/ot0S32 for some explanation of this behavior. * Any cached associated interface proxies are reset in ProcessDied() rather than Init(), per nasko@'s suggestion. This clarifies that they are per-process state. BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2383853003 Cr-Commit-Position: refs/heads/master@{#422900} [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/browser/frame_host/navigator_impl.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/browser/frame_host/render_frame_host_impl.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/browser/frame_host/render_frame_proxy_host.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/browser/renderer_host/render_view_host_impl.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/browser/site_per_process_browsertest.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/common/frame_messages.h [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/common/native_types.mojom [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/common/native_types.typemap [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/common/renderer.mojom [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/renderer/render_frame_impl.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/renderer/render_frame_impl.h [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/renderer/render_frame_impl_browsertest.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/renderer/render_thread_impl.cc [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/renderer/render_thread_impl.h [modify] https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c/content/renderer/render_view_browsertest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0e6665052f35e77cb6c1e9d5948136eeb87885f9 commit 0e6665052f35e77cb6c1e9d5948136eeb87885f9 Author: rockot <rockot@chromium.org> Date: Thu Oct 06 23:04:22 2016 Use a binding set for BrowserAssociatedInterface This allows multiple client proxies in a render process to connect to a single BrowserAssociatedInterface at the same time. BUG=612500 Review-Url: https://codereview.chromium.org/2400663003 Cr-Commit-Position: refs/heads/master@{#423721} [modify] https://crrev.com/0e6665052f35e77cb6c1e9d5948136eeb87885f9/content/public/browser/browser_associated_interface.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cd2de7ccd49ab1fa092526488761f0c855688654 commit cd2de7ccd49ab1fa092526488761f0c855688654 Author: rockot <rockot@chromium.org> Date: Fri Oct 14 16:47:31 2016 Always keep a ChannelProxy alive in RenderProcessHostImpl RPHI currently keeps |channel_| around only as long as the remote process is alive. In order to allow RPHI::Send to work even without a process, it queues messages internally when |channel_| is null. Channel-associated mojom interfaces may only be acquired once a Channel exists, and so any messages sent before Channel creation can't be moved to Channel-associated mojom interfaces at the moment. This CL changes RPHI so that it always has a ChannelProxy instance in |channel_| as long as Cleanup() hasn't run to completion yet (at that point, the RPHI is about to be discarded anyway.) The pre-Init queueing behavior is satisfied here by pausing the Channel immediately on construction and then unpausing briefly where it was previously created. ProcessDied() re-initializes the ChannelProxy to prepare for potential RPHI reuse, rather than simply resetting it. Additionally this removes the EnableSendQueue() call on RPH, as it is either redundant or incorrect - it merely set |is_initialized_| to false. This could only be reset to true by Init(), and only when |channel_| was null. The only possible net effect of this would have been to pause the channel indefinitely (which is wrong and unlikely), or to pause the channel during initialization (which is redundant because it's already effectively paused until Init()). BUG=612500 Review-Url: https://codereview.chromium.org/2411093002 Cr-Commit-Position: refs/heads/master@{#425358} [modify] https://crrev.com/cd2de7ccd49ab1fa092526488761f0c855688654/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/cd2de7ccd49ab1fa092526488761f0c855688654/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/cd2de7ccd49ab1fa092526488761f0c855688654/content/browser/renderer_host/render_view_host_impl.cc [modify] https://crrev.com/cd2de7ccd49ab1fa092526488761f0c855688654/content/public/browser/render_process_host.h [modify] https://crrev.com/cd2de7ccd49ab1fa092526488761f0c855688654/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/cd2de7ccd49ab1fa092526488761f0c855688654/content/public/test/mock_render_process_host.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ee0368989c05233d6329ddc5206ed1d7e3c44c98 commit ee0368989c05233d6329ddc5206ed1d7e3c44c98 Author: rockot <rockot@chromium.org> Date: Sun Oct 16 22:44:32 2016 Clean up mojom::Renderer usage in RPH This gets rid of the ugly UserData + static accessor pattern which was used to expose a private mojom interface on RPH. Instead the mojom interface is forward-declared and a public accessor is added to RPH despite being unusable by content embedders. BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2420843004 Cr-Commit-Position: refs/heads/master@{#425598} [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/browser/frame_host/render_frame_host_impl.cc [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/browser/frame_host/render_frame_proxy_host.cc [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/browser/renderer_host/render_view_host_impl.cc [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/browser/site_per_process_browsertest.cc [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/public/browser/render_process_host.h [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/ee0368989c05233d6329ddc5206ed1d7e3c44c98/content/public/test/mock_render_process_host.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a2db0da89dd2726e057e8af9b49b18a8a3a4813a commit a2db0da89dd2726e057e8af9b49b18a8a3a4813a Author: rockot <rockot@chromium.org> Date: Tue Oct 18 17:39:11 2016 Convert miscellaneous RenderThreadImpl messages to mojom ViewMsg_NetworkConnectionChanged ViewMsg_UpdateScrollbarTheme ViewMsg_SystemColorsChanged ViewMsg_SetWebKitSharedTimersSuspended ViewMsg_PurgePluginListCache Some complexity here due to some messages being Mac only and using Mac-only enum types. We would still like to avoid any support for preproccessing or platform-specific declarations in mojom, but this CL does add support for platform-specific (Mac only atm) typemap configuration. BUG=612500 Review-Url: https://codereview.chromium.org/2400313002 Cr-Commit-Position: refs/heads/master@{#426003} [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/browser/android/content_view_statics.cc [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/browser/net/browser_online_state_observer.cc [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/browser/plugin_service_impl.cc [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/browser/theme_helper_mac.mm [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/common/native_types.mojom [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/common/native_types.typemap [add] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/common/native_types_mac.typemap [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/common/renderer.mojom [add] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/common/typemaps_mac.gni [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/common/view_messages.h [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/renderer/render_thread_impl.cc [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/content/renderer/render_thread_impl.h [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/mojo/public/tools/bindings/chromium_bindings_configuration.gni [modify] https://crrev.com/a2db0da89dd2726e057e8af9b49b18a8a3a4813a/mojo/public/tools/bindings/mojom.gni
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/336fc62ab5493e58dda7953cba587f382bde9c3b commit 336fc62ab5493e58dda7953cba587f382bde9c3b Author: rockot <rockot@chromium.org> Date: Wed Oct 05 17:55:48 2016 Expose remote associated interfaces through SyncMessageFilter This grants child process code safe and convenient access to remote Channel-associated interfaces on the IO thread. BUG=612500 Review-Url: https://codereview.chromium.org/2344333002 Cr-Commit-Position: refs/heads/master@{#423215} [modify] https://crrev.com/336fc62ab5493e58dda7953cba587f382bde9c3b/ipc/ipc_sync_message_filter.cc [modify] https://crrev.com/336fc62ab5493e58dda7953cba587f382bde9c3b/ipc/ipc_sync_message_filter.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ae1560a11b938a67fe7ef11f23268617e0915d5e commit ae1560a11b938a67fe7ef11f23268617e0915d5e Author: jcivelli <jcivelli@chromium.org> Date: Tue Nov 01 22:40:23 2016 Converts the ViewHostMsg_CreateWidget message to mojom. BUG=612500 Review-Url: https://codereview.chromium.org/2450353004 Cr-Commit-Position: refs/heads/master@{#429139} [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/common/native_types.mojom [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/common/native_types.typemap [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/common/render_message_filter.mojom [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/common/swapped_out_messages.cc [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/common/view_messages.h [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/public/test/mock_render_thread.cc [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/public/test/mock_render_thread.h [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/renderer/render_view_impl.cc [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/renderer/render_widget.cc [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/renderer/render_widget.h [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/renderer/render_widget_fullscreen.cc [modify] https://crrev.com/ae1560a11b938a67fe7ef11f23268617e0915d5e/content/renderer/render_widget_fullscreen.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f commit f7ebf972c7cb97ea2ba0900e7abd57879cc5285f Author: jcivelli <jcivelli@chromium.org> Date: Fri Nov 04 17:12:14 2016 Converts the ViewHostMsg_CreateFullscreenWidget message to mojom. BUG=612500 TEST=The TestFlashFullscreen PPAPI test should pass. Review-Url: https://codereview.chromium.org/2472733002 Cr-Commit-Position: refs/heads/master@{#429923} [modify] https://crrev.com/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f/content/common/render_message_filter.mojom [modify] https://crrev.com/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f/content/common/view_messages.h [modify] https://crrev.com/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f/content/public/test/mock_render_thread.cc [modify] https://crrev.com/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f/content/renderer/render_widget_fullscreen.cc [modify] https://crrev.com/f7ebf972c7cb97ea2ba0900e7abd57879cc5285f/content/renderer/render_widget_fullscreen.h
[Automated comment] removing mislabelled merge-merged-2840
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f42b5afcda825dbd4d9e278082c24578866d3c31 commit f42b5afcda825dbd4d9e278082c24578866d3c31 Author: jcivelli <jcivelli@chromium.org> Date: Thu Nov 10 01:41:59 2016 Replacing the ChildProcessHostMsg_SyncAllocateSharedMemory IPC message with a Mojo shared buffer. Mojo shared buffers automatically delegate to a privileged process using an internal sync IPC if necessary when instanciated, hence the simplification here. BUG=612500 Review-Url: https://codereview.chromium.org/2478343002 Cr-Commit-Position: refs/heads/master@{#431130} [modify] https://crrev.com/f42b5afcda825dbd4d9e278082c24578866d3c31/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/f42b5afcda825dbd4d9e278082c24578866d3c31/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/f42b5afcda825dbd4d9e278082c24578866d3c31/content/child/child_thread_impl.cc [modify] https://crrev.com/f42b5afcda825dbd4d9e278082c24578866d3c31/content/common/child_process_host_impl.cc [modify] https://crrev.com/f42b5afcda825dbd4d9e278082c24578866d3c31/content/common/child_process_host_impl.h [modify] https://crrev.com/f42b5afcda825dbd4d9e278082c24578866d3c31/content/common/child_process_messages.h
r431130 is causing crashes on blink bots. Example build: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Precise%20%28dbg%29/builds/957 (log attached). I could verify this locally on my GNU/Linux machine. Will revert the offending patch soon.
Forgot to mention that the crashing test is fast/hidpi/scrollbar-appearance-increase-device-scale-factor.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0ae3afa991b953ada3e87fb2c44c65560d8b4196 commit 0ae3afa991b953ada3e87fb2c44c65560d8b4196 Author: vabr <vabr@chromium.org> Date: Thu Nov 10 09:18:13 2016 Revert of Removing the ChildProcessHostMsg_SyncAllocateSharedMemory IPC message. (patchset #3 id:40001 of https://codereview.chromium.org/2478343002/ ) Reason for revert: This is causing crashes in fast/hidpi/scrollbar-appearance-increase-device-scale-factor.html, more info in http://crbug.com/612500#c71. Original issue's description: > Replacing the ChildProcessHostMsg_SyncAllocateSharedMemory IPC message > with a Mojo shared buffer. Mojo shared buffers automatically delegate > to a privileged process using an internal sync IPC if necessary when > instanciated, hence the simplification here. > > BUG=612500 > > Committed: https://crrev.com/f42b5afcda825dbd4d9e278082c24578866d3c31 > Cr-Commit-Position: refs/heads/master@{#431130} TBR=rockot@chromium.org,nasko@chromium.org,jcivelli@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500 Review-Url: https://codereview.chromium.org/2491763003 Cr-Commit-Position: refs/heads/master@{#431219} [modify] https://crrev.com/0ae3afa991b953ada3e87fb2c44c65560d8b4196/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/0ae3afa991b953ada3e87fb2c44c65560d8b4196/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/0ae3afa991b953ada3e87fb2c44c65560d8b4196/content/child/child_thread_impl.cc [modify] https://crrev.com/0ae3afa991b953ada3e87fb2c44c65560d8b4196/content/common/child_process_host_impl.cc [modify] https://crrev.com/0ae3afa991b953ada3e87fb2c44c65560d8b4196/content/common/child_process_host_impl.h [modify] https://crrev.com/0ae3afa991b953ada3e87fb2c44c65560d8b4196/content/common/child_process_messages.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f1b03de69bfc005873519372c2f0afbc58093d77 commit f1b03de69bfc005873519372c2f0afbc58093d77 Author: jcivelli <jcivelli@chromium.org> Date: Thu Nov 17 04:12:13 2016 Relanding https://codereview.chromium.org/2478343002/ It was breaking some blink tests as the Mojo buffers had a maximum size that base::SharedMemory does not have. That max size was removed in https://codereview.chromium.org/2488253003 and the tests now pass. BUG=612500 Review-Url: https://codereview.chromium.org/2499743002 Cr-Commit-Position: refs/heads/master@{#432737} [modify] https://crrev.com/f1b03de69bfc005873519372c2f0afbc58093d77/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/f1b03de69bfc005873519372c2f0afbc58093d77/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/f1b03de69bfc005873519372c2f0afbc58093d77/content/child/child_thread_impl.cc [modify] https://crrev.com/f1b03de69bfc005873519372c2f0afbc58093d77/content/common/child_process_host_impl.cc [modify] https://crrev.com/f1b03de69bfc005873519372c2f0afbc58093d77/content/common/child_process_host_impl.h [modify] https://crrev.com/f1b03de69bfc005873519372c2f0afbc58093d77/content/common/child_process_messages.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9a8e7d0071e6e2492a9f997c22238596ab4122dd commit 9a8e7d0071e6e2492a9f997c22238596ab4122dd Author: jcivelli <jcivelli@chromium.org> Date: Tue Dec 06 17:44:18 2016 Revert of Replacing allocate bitmap IPC messages with a new Mojo interface. (patchset #13 id:240001 of https://codereview.chromium.org/2488913003/ ) Reason for revert: Might be causing a crasher on Windows. http://crbug.com/671459 Original issue's description: > Replacing the AllocateBitmap related IPC messages with new mojo methods in the > RenderMessageFilter interface (it has to be part of the associated interface for > now because of ordering issue with other CC messages). > > As part of that, unified the bitmap allocation behavior in > ChildSharedBitmapManager on all platforms, by allocating shared memory > with the generic shared memory allocation code path and then > registering it as a bitmap. > Also moved ChildSharedBitmapManager from the ChildThreadImpl to RenderThreadImpl > as it is not common to all child processes. > > BUG=612500 > TEST=content_shell should run normally with the --dissable-gpu flag. > > Committed: https://crrev.com/97235f8be07b5fe9200fe76901d27833325a5996 > Cr-Commit-Position: refs/heads/master@{#436095} TBR=rockot@chromium.org,jbauman@chromium.org,kinuko@chromium.org,tsepez@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=612500 Review-Url: https://codereview.chromium.org/2552913003 Cr-Commit-Position: refs/heads/master@{#436629} [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/child/child_shared_bitmap_manager.cc [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/child/child_shared_bitmap_manager.h [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/child/child_thread_impl.cc [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/child/child_thread_impl.h [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/common/child_process_messages.h [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/common/render_message_filter.mojom [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/public/test/mock_render_thread.cc [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/renderer/pepper/pepper_compositor_host.cc [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/renderer/render_thread_impl.cc [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/renderer/render_thread_impl.h [modify] https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd/content/renderer/renderer_blink_platform_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0f21bd5836318170c155a0caf8bc6f81a939213d commit 0f21bd5836318170c155a0caf8bc6f81a939213d Author: jcivelli <jcivelli@chromium.org> Date: Wed Dec 07 21:21:33 2016 Reland of placing allocate bitmap IPC messages with a new Mojo interface. (patchset #1 id:1 of https://codereview.chromium.org/2552913003/ ) Reason for revert: The revert did not help with the crasher, so relanding this CL. Original issue's description: > Revert of Replacing allocate bitmap IPC messages with a new Mojo interface. (patchset #13 id:240001 of https://codereview.chromium.org/2488913003/ ) > > Reason for revert: > Might be causing a crasher on Windows. > http://crbug.com/671459 > > Original issue's description: > > Replacing the AllocateBitmap related IPC messages with new mojo methods in the > > RenderMessageFilter interface (it has to be part of the associated interface for > > now because of ordering issue with other CC messages). > > > > As part of that, unified the bitmap allocation behavior in > > ChildSharedBitmapManager on all platforms, by allocating shared memory > > with the generic shared memory allocation code path and then > > registering it as a bitmap. > > Also moved ChildSharedBitmapManager from the ChildThreadImpl to RenderThreadImpl > > as it is not common to all child processes. > > > > BUG=612500 > > TEST=content_shell should run normally with the --dissable-gpu flag. > > > > Committed: https://crrev.com/97235f8be07b5fe9200fe76901d27833325a5996 > > Cr-Commit-Position: refs/heads/master@{#436095} > > TBR=rockot@chromium.org,jbauman@chromium.org,kinuko@chromium.org,tsepez@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=612500 > > Committed: https://crrev.com/9a8e7d0071e6e2492a9f997c22238596ab4122dd > Cr-Commit-Position: refs/heads/master@{#436629} TBR=rockot@chromium.org,jbauman@chromium.org,kinuko@chromium.org,tsepez@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=612500 Review-Url: https://codereview.chromium.org/2549213005 Cr-Commit-Position: refs/heads/master@{#437064} [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/browser/renderer_host/render_message_filter.cc [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/browser/renderer_host/render_message_filter.h [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/child/child_shared_bitmap_manager.cc [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/child/child_shared_bitmap_manager.h [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/child/child_thread_impl.cc [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/child/child_thread_impl.h [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/common/child_process_messages.h [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/common/render_message_filter.mojom [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/public/test/mock_render_thread.cc [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/renderer/pepper/pepper_compositor_host.cc [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/renderer/render_thread_impl.cc [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/renderer/render_thread_impl.h [modify] https://crrev.com/0f21bd5836318170c155a0caf8bc6f81a939213d/content/renderer/renderer_blink_platform_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c commit ee3ff1ffb2acc57ffe1668c603d79debcc463b8c Author: sadrul <sadrul@chromium.org> Date: Fri Dec 09 04:22:01 2016 content: Some code cleanup related to shared memory allocation. After https://crrev.com/432737, memory allocation does not do IPC anymore. So it does not need the IPC::Sender anymore. Also, it is no longer necessary to have special code to decide when the allocation request failed due to out-of-memory. So remove that code too. BUG=612500 Review-Url: https://codereview.chromium.org/2544953002 Cr-Commit-Position: refs/heads/master@{#437463} [modify] https://crrev.com/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c/content/child/blob_storage/webblobregistry_impl.cc [modify] https://crrev.com/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c/content/child/child_shared_bitmap_manager.cc [modify] https://crrev.com/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c/content/child/child_thread_impl.cc [modify] https://crrev.com/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c/content/child/child_thread_impl.h [modify] https://crrev.com/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c/content/renderer/media/renderer_gpu_video_accelerator_factories.cc [modify] https://crrev.com/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c/content/renderer/render_thread_impl.cc [modify] https://crrev.com/ee3ff1ffb2acc57ffe1668c603d79debcc463b8c/content/renderer/renderer_clipboard_delegate.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eb509f59b8e9f31569d0dad0d90d8f755291d497 commit eb509f59b8e9f31569d0dad0d90d8f755291d497 Author: benwells <benwells@chromium.org> Date: Wed Apr 05 01:06:27 2017 Convert PDF component IPC to mojo. Converts the PDF component's IPC messages to Mojo. BUG=612500 Review-Url: https://codereview.chromium.org/2455543002 Cr-Commit-Position: refs/heads/master@{#461928} [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/browser/BUILD.gn [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/browser/pdf_web_contents_helper.cc [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/browser/pdf_web_contents_helper.h [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/common/BUILD.gn [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/common/OWNERS [add] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/common/pdf.mojom [delete] https://crrev.com/a71920e629d8d02ce7bec68dc9b485e43507849e/components/pdf/common/pdf_message_generator.cc [delete] https://crrev.com/a71920e629d8d02ce7bec68dc9b485e43507849e/components/pdf/common/pdf_message_generator.h [delete] https://crrev.com/a71920e629d8d02ce7bec68dc9b485e43507849e/components/pdf/common/pdf_messages.h [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/renderer/BUILD.gn [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/renderer/pepper_pdf_host.cc [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/components/pdf/renderer/pepper_pdf_host.h [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/content/public/common/referrer_struct_traits.h [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/tools/ipc_fuzzer/message_lib/BUILD.gn [modify] https://crrev.com/eb509f59b8e9f31569d0dad0d90d8f755291d497/tools/ipc_fuzzer/message_lib/all_messages.h
Comment 1 by bugdroid1@chromium.org
, May 18 2016