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

Side by Side Diff: content/browser/tab_contents/interstitial_page.cc

Issue 6880073: Plumb direction of document title through IPC layer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 8 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
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 "content/browser/tab_contents/interstitial_page.h" 5 #include "content/browser/tab_contents/interstitial_page.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 // Notify the tab we are not loading so the throbber is stopped. It also 378 // Notify the tab we are not loading so the throbber is stopped. It also
379 // causes a NOTIFY_LOAD_STOP notification, that the AutomationProvider (used 379 // causes a NOTIFY_LOAD_STOP notification, that the AutomationProvider (used
380 // by the UI tests) expects to consider a navigation as complete. Without 380 // by the UI tests) expects to consider a navigation as complete. Without
381 // this, navigating in a UI test to a URL that triggers an interstitial would 381 // this, navigating in a UI test to a URL that triggers an interstitial would
382 // hang. 382 // hang.
383 tab_->SetIsLoading(false, NULL); 383 tab_->SetIsLoading(false, NULL);
384 } 384 }
385 385
386 void InterstitialPage::UpdateTitle(RenderViewHost* render_view_host, 386 void InterstitialPage::UpdateTitle(RenderViewHost* render_view_host,
387 int32 page_id, 387 int32 page_id,
388 const std::wstring& title) { 388 const string16& title,
389 WebKit::WebTextDirection title_direction) {
389 DCHECK(render_view_host == render_view_host_); 390 DCHECK(render_view_host == render_view_host_);
390 NavigationEntry* entry = tab_->controller().GetActiveEntry(); 391 NavigationEntry* entry = tab_->controller().GetActiveEntry();
391 if (!entry) { 392 if (!entry) {
392 // Crash reports from the field indicate this can be NULL. 393 // Crash reports from the field indicate this can be NULL.
393 // This is unexpected as InterstitialPages constructed with the 394 // This is unexpected as InterstitialPages constructed with the
394 // new_navigation flag set to true create a transient navigation entry 395 // new_navigation flag set to true create a transient navigation entry
395 // (that is returned as the active entry). And the only case so far of 396 // (that is returned as the active entry). And the only case so far of
396 // interstitial created with that flag set to false is with the 397 // interstitial created with that flag set to false is with the
397 // SafeBrowsingBlockingPage, when the resource triggering the interstitial 398 // SafeBrowsingBlockingPage, when the resource triggering the interstitial
398 // is a sub-resource, meaning the main page has already been loaded and a 399 // is a sub-resource, meaning the main page has already been loaded and a
399 // navigation entry should have been created. 400 // navigation entry should have been created.
400 NOTREACHED(); 401 NOTREACHED();
401 return; 402 return;
402 } 403 }
403 404
404 // If this interstitial is shown on an existing navigation entry, we'll need 405 // If this interstitial is shown on an existing navigation entry, we'll need
405 // to remember its title so we can revert to it when hidden. 406 // to remember its title so we can revert to it when hidden.
406 if (!new_navigation_ && !should_revert_tab_title_) { 407 if (!new_navigation_ && !should_revert_tab_title_) {
407 original_tab_title_ = UTF16ToWideHack(entry->title()); 408 original_tab_title_ = UTF16ToWideHack(entry->title());
408 should_revert_tab_title_ = true; 409 should_revert_tab_title_ = true;
409 } 410 }
410 entry->set_title(WideToUTF16Hack(title)); 411 // TODO(evan): use directionality of title.
412 // http://code.google.com/p/chromium/issues/detail?id=27094
413 entry->set_title(title);
411 tab_->NotifyNavigationStateChanged(TabContents::INVALIDATE_TITLE); 414 tab_->NotifyNavigationStateChanged(TabContents::INVALIDATE_TITLE);
412 } 415 }
413 416
414 void InterstitialPage::DomOperationResponse(const std::string& json_string, 417 void InterstitialPage::DomOperationResponse(const std::string& json_string,
415 int automation_id) { 418 int automation_id) {
416 if (enabled_) 419 if (enabled_)
417 CommandReceived(json_string); 420 CommandReceived(json_string);
418 } 421 }
419 422
420 RendererPreferences InterstitialPage::GetRendererPrefs(Profile* profile) const { 423 RendererPreferences InterstitialPage::GetRendererPrefs(Profile* profile) const {
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 734
732 void InterstitialPage::UpdateInspectorSetting(const std::string& key, 735 void InterstitialPage::UpdateInspectorSetting(const std::string& key,
733 const std::string& value) { 736 const std::string& value) {
734 RenderViewHostDelegateHelper::UpdateInspectorSetting( 737 RenderViewHostDelegateHelper::UpdateInspectorSetting(
735 tab_->profile(), key, value); 738 tab_->profile(), key, value);
736 } 739 }
737 740
738 void InterstitialPage::ClearInspectorSettings() { 741 void InterstitialPage::ClearInspectorSettings() {
739 RenderViewHostDelegateHelper::ClearInspectorSettings(tab_->profile()); 742 RenderViewHostDelegateHelper::ClearInspectorSettings(tab_->profile());
740 } 743 }
OLDNEW
« no previous file with comments | « content/browser/tab_contents/interstitial_page.h ('k') | content/browser/tab_contents/tab_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698