Hi,
I'm wondering is_started() is  a method supposed to prevent to initialize channel before ep start, correct?

is_started_ flags is set during XWalkExtensionProcessLauncher::Launch() method instead of XWalkExtensionProcessLauncher::StartExtensionProcess() method, it might be the root cause isn't it?

Indeed is indicate started before the call of XWalkExtensionProcessLauncher::StartExtensionProcess()