如何在预加载状态下启动钴后更改url
How to change url after start cobalt in preloading state
从rc_11(11.80927)
的源码来看,确实有接口Application::SetStartLink
设置startURL,但是param根本没用过,没办法在某些特殊情况下从预加载状态切换到 kStateStarted 时更改 url(例如,为拨号添加 url 配对参数):
//there doesn't use the link param(url) in StartApplication in cobalt/browser/main.cc
void StartApplication(int /*argc*/, char** /*argv*/, const char* /*link*/,
const base::Closure& quit_closure) {
if (!g_application) {
g_application = new cobalt::browser::Application(quit_closure,
false /*should_preload*/);
DCHECK(g_application);
} else {
g_application->Start(); -->does NOT use the url param
}
}
URL和初始深度link只能在预加载时设置。这是因为预加载本质上类似于正常加载,因此更改 URL 会使已完成的加载无效,并且需要加载新的 URL。更改初始深度 link 也会使初始深度 link 不会更改的假设无效。
加载后,您可以随时调度 kSbEventTypeLink。这不会更改 URL,但会向 运行 HTML 应用程序发送一条消息,而不会导致重新加载。
Yes, the additionalDataUrl can be fixed before preload time.
But we need add pairingCode when DIAL cast from DIAL client.
1> User cast a video from YouTube mobile client.
1> YouTube client will send a POST method to Launch Cobalt through DIALserver with pairingCode. ex. pairingCode=08f5b46d-f027-4ce5-82dc-aae8d7ff97ea&theme=cl
2> We should add the pairingCode as param in URL.
3> TV YouTube based on Cobalt will auto playback the cast video.
It also used to WOL/WOW cases.
So, we can add pairingCode without preload function but for preload mode. How can we handle this case? Is there new way to do it for Cobalt preload function?
从rc_11(11.80927)
的源码来看,确实有接口Application::SetStartLink
设置startURL,但是param根本没用过,没办法在某些特殊情况下从预加载状态切换到 kStateStarted 时更改 url(例如,为拨号添加 url 配对参数):
//there doesn't use the link param(url) in StartApplication in cobalt/browser/main.cc
void StartApplication(int /*argc*/, char** /*argv*/, const char* /*link*/,
const base::Closure& quit_closure) {
if (!g_application) {
g_application = new cobalt::browser::Application(quit_closure,
false /*should_preload*/);
DCHECK(g_application);
} else {
g_application->Start(); -->does NOT use the url param
}
}
URL和初始深度link只能在预加载时设置。这是因为预加载本质上类似于正常加载,因此更改 URL 会使已完成的加载无效,并且需要加载新的 URL。更改初始深度 link 也会使初始深度 link 不会更改的假设无效。
加载后,您可以随时调度 kSbEventTypeLink。这不会更改 URL,但会向 运行 HTML 应用程序发送一条消息,而不会导致重新加载。
Yes, the additionalDataUrl can be fixed before preload time.
But we need add pairingCode when DIAL cast from DIAL client.
1> User cast a video from YouTube mobile client.
1> YouTube client will send a POST method to Launch Cobalt through DIALserver with pairingCode. ex. pairingCode=08f5b46d-f027-4ce5-82dc-aae8d7ff97ea&theme=cl
2> We should add the pairingCode as param in URL.
3> TV YouTube based on Cobalt will auto playback the cast video.
It also used to WOL/WOW cases.
So, we can add pairingCode without preload function but for preload mode. How can we handle this case? Is there new way to do it for Cobalt preload function?