Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(292)

Side by Side Diff: chrome_frame/bho.cc

Issue 6279006: Enable the ChromeFrame IHttpNegotiate patch for all IE versions. Ensure that ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome_frame/http_negotiate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome_frame/bho.h" 5 #include "chrome_frame/bho.h"
6 6
7 #include <shlguid.h> 7 #include <shlguid.h>
8 8
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 } 355 }
356 } 356 }
357 357
358 bool PatchHelper::InitializeAndPatchProtocolsIfNeeded() { 358 bool PatchHelper::InitializeAndPatchProtocolsIfNeeded() {
359 bool ret = false; 359 bool ret = false;
360 360
361 _pAtlModule->m_csStaticDataInitAndTypeInfo.Lock(); 361 _pAtlModule->m_csStaticDataInitAndTypeInfo.Lock();
362 362
363 if (state_ == UNKNOWN) { 363 if (state_ == UNKNOWN) {
364 g_trans_hooks.InstallHooks(); 364 g_trans_hooks.InstallHooks();
365 // IE9 sends the short user agent by default. To enable websites to 365 HttpNegotiatePatch::Initialize();
366 // identify and send content specific to chrome frame we need the
367 // negotiate patch which adds the user agent to outgoing requests.
368 if (GetIEVersion() == IE_9) {
369 HttpNegotiatePatch::Initialize();
370 }
371 state_ = PATCH_PROTOCOL; 366 state_ = PATCH_PROTOCOL;
372 ret = true; 367 ret = true;
373 } 368 }
374 369
375 _pAtlModule->m_csStaticDataInitAndTypeInfo.Unlock(); 370 _pAtlModule->m_csStaticDataInitAndTypeInfo.Unlock();
376 371
377 return ret; 372 return ret;
378 } 373 }
379 374
380 void PatchHelper::PatchBrowserService(IBrowserService* browser_service) { 375 void PatchHelper::PatchBrowserService(IBrowserService* browser_service) {
381 DCHECK(state_ == PATCH_IBROWSER); 376 DCHECK(state_ == PATCH_IBROWSER);
382 if (!IS_PATCHED(IBrowserService)) { 377 if (!IS_PATCHED(IBrowserService)) {
383 vtable_patch::PatchInterfaceMethods(browser_service, 378 vtable_patch::PatchInterfaceMethods(browser_service,
384 IBrowserService_PatchInfo); 379 IBrowserService_PatchInfo);
385 } 380 }
386 } 381 }
387 382
388 void PatchHelper::UnpatchIfNeeded() { 383 void PatchHelper::UnpatchIfNeeded() {
389 if (state_ == PATCH_PROTOCOL) { 384 if (state_ == PATCH_PROTOCOL) {
390 g_trans_hooks.RevertHooks(); 385 g_trans_hooks.RevertHooks();
391 if (GetIEVersion() == IE_9) { 386 if (GetIEVersion() == IE_9) {
392 HttpNegotiatePatch::Uninitialize(); 387 HttpNegotiatePatch::Uninitialize();
393 } 388 }
394 } 389 }
395 state_ = UNKNOWN; 390 state_ = UNKNOWN;
396 } 391 }
OLDNEW
« no previous file with comments | « no previous file | chrome_frame/http_negotiate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698