Skip to content

Conversation

@venumusham
Copy link

Cleanup debugging code which prints resource contents
on output.

Signed-off-by: venu.musham [email protected]

@venumusham venumusham changed the title fixup! Network Service on renderer. Enable Network Service to run on renderer device without dependency on Network File System. Feb 5, 2019
#if !defined(OS_MACOSX) && !defined(OS_NACL) && !defined(OS_FUCHSIA)
#if defined(CASTANETS)
ScopedPlatformHandle server_handle = mojo::edk::CreateTCPServerHandle(mojo::edk::kCastanetsBrokerPort);
static int port = mojo::edk::kCastanetsBrokerPortUtility;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will cause issue when opening second tab.

Copy link
Contributor

@suyambulingamrm suyambulingamrm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The behavior when opening second tab can be checked once.

@nke94 nke94 requested review from hyowon, is46-kim and yg48 April 29, 2019 06:20
@joonghunpark
Copy link

As a first step, this change should be rebased.
And then, we need to think about file:// protocol file loading scenario.
Currently, when file protocol url is entered in url bar, the file located in device running network service process is loaded.

I wonder whether it is possible to change the file protocol file's path to include browser process running device's ip before start loading, so url loader could load through it.

How do you think about, Madhav?

@venumusham
Copy link
Author

venumusham commented Apr 30, 2019

  • Sure, Will push a rebase commit

  • For loading local file residing in browser process (device-A) from network process on device B.
    We might have to implement it by creating seperate tcp connection between browser and network process. We can submit this change in differnt CL.

Add support to load subresources on Network service.
- Create socketpair between network and renderer for data
  communication for non broker processes.
- load data via mojo messages
- create channels between network, browser and renderer, browser.

Signed-off-by: venu.musham <[email protected]>
Add support for local shared memory. Local shared
memory between network and renderer process for sharing
network resources loaded by url loader.

This commit enables Network Service to run on renderer device
without dependency on Network File System.

To enable local shared memory, add below to gn args
$ gn gen --args='enable_castanets=true enable_local_shared_memory=true' out/Default

Signed-off-by: venu.musham <[email protected]>
@venumusham
Copy link
Author

  • Rebase complete
  • With this CL, network loading will be enabled by default, three processes are needed to test
  1. device A: browser:
    $ out/Default/chrome --enable-castanets www.naver.com
  2. device B: renderer
    $ out/Default/chrome --enable-castanets=107.108.206.136 --type=renderer
  3. device C: utility(network)
    $ out/Default/chrome --enable-castanets=107.108.206.136 --type=utility

@venumusham venumusham requested a review from Sunwoo-Nam May 21, 2019 09:50
@suyambulingamrm
Copy link
Contributor

Currently we will face some challenge when running network process on android.

  1. Processes are launched as activity on android.
    As i checked on M69,
    i. When we launch renderer on android, it starts a activity.
    ii. When we again launch utility on android, it kills the previous activity (renderer) and starts utility process (same behavior if we launch utility first and then renderer).
  2. Also shared memory is not file based in android as posix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants