New issue
Advanced search Search tips

Issue 742641 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 714463



Sign in to add a comment

Move messaging extension API to //extensions

Project Member Reported by michae...@chromium.org, Jul 14 2017

Issue description

Move the messaging API from //chrome to //extensions so it can be used in AppShell. The component Hangouts extension (hangouts_services) uses this for everything that it does.

https://developer.chrome.com/extensions/messaging

We don't need any of the native messaging stuff and I'm perfectly happy to leave that in //chrome.
 
Cc: sergeyu@chromium.org
+sergeyu for native messaging, but note that we WON'T be moving much of the Native Messaging stuff out of //chrome.
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 22 2017

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

commit 2e59602847f8073dc1f2a58d15697c470a710327
Author: Michael Giuffrida <michaelpg@chromium.org>
Date: Sat Jul 22 03:16:57 2017

Split MessageService::MessagePort into own file

extensions::MessageService is rather large. To simplify removing its
dependencies on Chrome, spin off MessagePort into its own file.

Bug:  742641 
Change-Id: I4c7ff4fcaa15e34bec4f1292e1738c711f9a590c
Reviewed-on: https://chromium-review.googlesource.com/578312
Reviewed-by: Toni Barzic <tbarzic@chromium.org>
Commit-Queue: Michael Giuffrida <michaelpg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488848}
[modify] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/BUILD.gn
[modify] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/extension_message_port.cc
[modify] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/extension_message_port.h
[add] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/message_port.cc
[add] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/message_port.h
[modify] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/message_service.cc
[modify] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/message_service.h
[modify] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/native_message_port.cc
[modify] https://crrev.com/2e59602847f8073dc1f2a58d15697c470a710327/chrome/browser/extensions/api/messaging/native_message_port.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 22 2017

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

commit b378399455a8c591596a505254a65b0def911f6a
Author: Michael Giuffrida <michaelpg@chromium.org>
Date: Sat Jul 22 05:01:03 2017

Delegate some extensions messaging API work

The Messaging API for extensions (e.g. chrome.runtime.connect) is
implemented in MessageService in Chrome, which builds on top of the
existing extensions IPC platform.

This CL creates a "delegate" for MessageService with some
Chrome-specific utility functions. Next we'll be able to move
MessageService into //extensions and create a separate delegate for
AppShell.

TBR=tnagel@chromium.org # policy_browsertest.cc mechanical changes

Bug:  742641 
Change-Id: I06c6e9851401ddfac0175000a443bd5ca586cc14
Reviewed-on: https://chromium-review.googlesource.com/578292
Commit-Queue: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Toni Barzic <tbarzic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488855}
[modify] https://crrev.com/b378399455a8c591596a505254a65b0def911f6a/chrome/browser/extensions/BUILD.gn
[modify] https://crrev.com/b378399455a8c591596a505254a65b0def911f6a/chrome/browser/extensions/api/messaging/message_service.cc
[modify] https://crrev.com/b378399455a8c591596a505254a65b0def911f6a/chrome/browser/extensions/api/messaging/message_service.h
[add] https://crrev.com/b378399455a8c591596a505254a65b0def911f6a/chrome/browser/extensions/api/messaging/messaging_delegate.cc
[add] https://crrev.com/b378399455a8c591596a505254a65b0def911f6a/chrome/browser/extensions/api/messaging/messaging_delegate.h
[modify] https://crrev.com/b378399455a8c591596a505254a65b0def911f6a/chrome/browser/policy/policy_browsertest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 22 2017

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

commit 48b4ca448cc63d3ede53f9c42880c29d9be376e8
Author: Michael Giuffrida <michaelpg@chromium.org>
Date: Sat Jul 22 19:12:29 2017

Move some Messaging API classes from //chrome into //extensions

This code doesn't need to depend on Chrome, so move it into the
//extensions directory alongside other Messaging API classes.

The ultimate goal is to make the MessageService itself independent of
Chrome.

Bug:  742641 
Change-Id: I84873d4541d836832b0c482074cdd14721b28132
Reviewed-on: https://chromium-review.googlesource.com/578580
Commit-Queue: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Toni Barzic <tbarzic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488868}
[modify] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/chrome/browser/extensions/BUILD.gn
[modify] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/chrome/browser/extensions/api/messaging/extension_message_port.h
[modify] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/chrome/browser/extensions/api/messaging/message_service.cc
[modify] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/chrome/browser/extensions/api/messaging/message_service.h
[modify] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/chrome/browser/extensions/api/messaging/native_message_port.h
[modify] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/extensions/browser/api/messaging/BUILD.gn
[rename] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/extensions/browser/api/messaging/message_port.cc
[rename] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/extensions/browser/api/messaging/message_port.h
[rename] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/extensions/browser/api/messaging/message_property_provider.cc
[rename] https://crrev.com/48b4ca448cc63d3ede53f9c42880c29d9be376e8/extensions/browser/api/messaging/message_property_provider.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 24 2017

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

commit e5d518db5cd3e88130b07a091d14de6f29dc27e5
Author: Michael Giuffrida <michaelpg@chromium.org>
Date: Mon Jul 24 17:29:58 2017

Delegate some MessageService tab/process logic

Move some Chrome-specific MessageService logic (tabs and native apps)
into the MessagingDelegate, with the intention of moving the
MessageService out of Chrome.

Bug:  742641 
Change-Id: I3c5e4f9add46f974704fcdfc7f257cd2f4de6ab1
Reviewed-on: https://chromium-review.googlesource.com/578584
Commit-Queue: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Toni Barzic <tbarzic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489014}
[modify] https://crrev.com/e5d518db5cd3e88130b07a091d14de6f29dc27e5/chrome/browser/extensions/api/messaging/message_service.cc
[modify] https://crrev.com/e5d518db5cd3e88130b07a091d14de6f29dc27e5/chrome/browser/extensions/api/messaging/messaging_delegate.cc
[modify] https://crrev.com/e5d518db5cd3e88130b07a091d14de6f29dc27e5/chrome/browser/extensions/api/messaging/messaging_delegate.h

BTW, the final CL for this is in review, pending adding tests: https://chromium-review.googlesource.com/c/583349/
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 8 2017

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

commit 9e1a9f8ae23839da164e24769eeecf08254ecdea
Author: Michael Giuffrida <michaelpg@chromium.org>
Date: Tue Aug 08 14:23:29 2017

Move MessageService to //extensions to enable chrome.runtime.connect

Move the MessageService into //extensions. MessagingDelegate is
now implemented as ChromeMessagingDelegate; its default implementation
does nothing, since we don't need tabs or native apps messaging outside
of Chrome.

chrome.runtime.connect, sendMessage, etc. now work in AppShell!

Bug:  742641 
Change-Id: Ib38373657a8974ceed0188fe90ae1ae692fae08f
Reviewed-on: https://chromium-review.googlesource.com/583349
Commit-Queue: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492617}
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/extensions/BUILD.gn
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/extensions/api/chrome_extensions_api_client.cc
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/extensions/api/chrome_extensions_api_client.h
[rename] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/extensions/api/messaging/chrome_messaging_delegate.cc
[add] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/extensions/api/messaging/chrome_messaging_delegate.h
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/renderer_host/chrome_extension_message_filter.cc
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/chrome/browser/renderer_host/chrome_extension_message_filter.h
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/extensions_api_client.cc
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/extensions_api_client.h
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/messaging/BUILD.gn
[rename] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/messaging/extension_message_port.cc
[rename] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/messaging/extension_message_port.h
[rename] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/messaging/message_service.cc
[rename] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/messaging/message_service.h
[add] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/messaging/messaging_delegate.cc
[rename] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/api/messaging/messaging_delegate.h
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/extension_message_filter.cc
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/browser/extension_message_filter.h
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/shell/browser/shell_extensions_api_client.cc
[modify] https://crrev.com/9e1a9f8ae23839da164e24769eeecf08254ecdea/extensions/shell/browser/shell_extensions_api_client.h

Comment 9 Deleted

Status: Fixed (was: Fx)

Sign in to add a comment