--- chromium-browser-6.0.464.0~svn20100713r52155/src/chrome/browser/search_engines/template_url.cc~ 2010-06-30 05:01:32.000000000 +0300 +++ chromium-browser-6.0.464.0~svn20100713r52155/src/chrome/browser/search_engines/template_url.cc 2010-07-13 11:25:51.194829863 +0300 @@ -309,27 +309,28 @@ i != replacements_.rend(); ++i) { switch (i->type) { case ENCODING: - url.insert(i->index, input_encoding); + /* Temporary workaround according to http://crbug.com/41887 */ + url.replace(i->index, 0, input_encoding); break; case GOOGLE_ACCEPTED_SUGGESTION: if (accepted_suggestion == NO_SUGGESTION_CHOSEN) - url.insert(i->index, "aq=f&"); + url.replace(i->index, 0, "aq=f&"); else if (accepted_suggestion != NO_SUGGESTIONS_AVAILABLE) - url.insert(i->index, StringPrintf("aq=%d&", accepted_suggestion)); + url.replace(i->index, 0, StringPrintf("aq=%d&", accepted_suggestion)); break; case GOOGLE_BASE_URL: - url.insert(i->index, GoogleBaseURLValue()); + url.replace(i->index, 0, GoogleBaseURLValue()); break; case GOOGLE_BASE_SUGGEST_URL: - url.insert(i->index, GoogleBaseSuggestURLValue()); + url.replace(i->index, 0, GoogleBaseSuggestURLValue()); break; case GOOGLE_ORIGINAL_QUERY_FOR_SUGGESTION: if (accepted_suggestion >= 0) - url.insert(i->index, "oq=" + UTF16ToUTF8(encoded_original_query) + + url.replace(i->index, 0, "oq=" +UTF16ToUTF8(encoded_original_query) + "&"); break; @@ -343,7 +344,7 @@ RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz_string); if (!rlz_string.empty()) { rlz_string = L"rlz=" + rlz_string + L"&"; - url.insert(i->index, WideToUTF8(rlz_string)); + url.replace(i->index, 0, WideToUTF8(rlz_string)); } #endif break; @@ -354,17 +355,17 @@ base::WideToCodepage(terms, input_encoding.c_str(), base::OnStringConversionError::SKIP, &unescaped_terms); - url.insert(i->index, std::string(unescaped_terms.begin(), + url.replace(i->index, 0, std::string(unescaped_terms.begin(), unescaped_terms.end())); break; } case LANGUAGE: - url.insert(i->index, g_browser_process->GetApplicationLocale()); + url.replace(i->index, 0, g_browser_process->GetApplicationLocale()); break; case SEARCH_TERMS: - url.insert(i->index, UTF16ToUTF8(encoded_terms)); + url.replace(i->index, 0, UTF16ToUTF8(encoded_terms)); break; default: