Try creating anonymous iframes and use document.write to write the prerender tags one into each iframe.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.
//src/chrome/browser/prerender/prerender_config.h |
// Number of simultaneous prerender pages from link elements allowed. Enforced |
// by PrerenderLinkManager. |
size_t max_link_concurrency; |
// Number of simultaneous prerender pages from link elements allowed per |
// launching page. Enforced by PrerenderLinkManager. |
size_t max_link_concurrency_per_launcher; |
//src/chrome/browser/prerender/prerender_config.cc |
Config::Config() : max_bytes( 150 * 1024 * 1024 ), |
max_link_concurrency( 1 ), |
max_link_concurrency_per_launcher( 1 ), |
rate_limit_enabled( true ), |
max_wait_to_launch(base::TimeDelta::FromMinutes( 4 )), |
time_to_live(base::TimeDelta::FromMinutes( 5 )), |
abandon_time_to_live(base::TimeDelta::FromSeconds( 3 )), |
default_tab_bounds( 640 , 480 ), |
is_overriding_user_agent( false ) { |
} |
//src/chrome/browser/prerender/prerender_manager.cc |
// Certain experiments override our default config_ values. |
switch (PrerenderManager::GetMode()) { |
case PrerenderManager::PRERENDER_MODE_EXPERIMENT_MULTI_PRERENDER_GROUP: |
config_.max_link_concurrency = 4 ; |
config_.max_link_concurrency_per_launcher = 2 ; |
break ; |
//src/chrome/browser/prerender/prerender_manager.cc |
PrerenderManager::PrerenderManagerMode PrerenderManager::GetMode() { return mode_;} |
void PrerenderManager::SetMode(PrerenderManagerMode mode) { mode_ = mode;} |
//src/chrome/browser/prerender/prerender_field_trial.cc |
void ConfigurePrerender( const base::CommandLine& command_line) { |
PrerenderManager::PrerenderManagerMode mode = |
PrerenderManager::PRERENDER_MODE_ENABLED; |
if (command_line.HasSwitch(switches::kPrerenderMode)) { |
const std::string switch_value = |
command_line.GetSwitchValueASCII(switches::kPrerenderMode); |
if (switch_value == switches::kPrerenderModeSwitchValueDisabled) { |
mode = PrerenderManager::PRERENDER_MODE_DISABLED; |
} else if (switch_value.empty() || |
switch_value == switches::kPrerenderModeSwitchValueEnabled) { |
// The empty string means the option was provided with no value, and that |
// means enable. |
mode = PrerenderManager::PRERENDER_MODE_ENABLED; |
} else { |
mode = PrerenderManager::PRERENDER_MODE_DISABLED; |
LOG(ERROR) << "Invalid --prerender option received on command line: " |
<< switch_value; |
LOG(ERROR) << "Disabling prerendering!" ; |
} |
} |
PrerenderManager::SetMode(mode); |
Yes - right now Chromium only allows one active prerender by default. Ideally this would be tunable based on how many resources (RAM, CPU, etc.) are available on the system.On Thu, Aug 6, 2015 at 10:56 PM piaoling <piao...@gmail.com> wrote:I found the source code https://code.google.com/p/chromium/codesearch
//src/chrome/browser/prerender/prerender_config.h
// Number of simultaneous prerender pages from link elements allowed. Enforced
// by PrerenderLinkManager.
size_t max_link_concurrency;
// Number of simultaneous prerender pages from link elements allowed per
// launching page. Enforced by PrerenderLinkManager.
size_t max_link_concurrency_per_launcher;
//src/chrome/browser/prerender/prerender_config.cc
Config::Config() : max_bytes(
150
*
1024
*
1024
),
max_link_concurrency(
1
),
max_link_concurrency_per_launcher(
1
),
rate_limit_enabled(
true
),
max_wait_to_launch(base::TimeDelta::FromMinutes(
4
...