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

Side by Side Diff: chrome/browser/automation/automation_provider.cc

Issue 100172: Avoid null ptr access in AutomationProvider::GetTabTitle(), fixes http://crbug.com/11132,... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 | no next file » | 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) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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/browser/automation/automation_provider.h" 5 #include "chrome/browser/automation/automation_provider.h"
6 6
7 #include "base/file_version_info.h" 7 #include "base/file_version_info.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 1729 matching lines...) Expand 10 before | Expand all | Expand 10 after
1740 *tab_handle = tab_tracker_->Add(&tab_contents->controller()); 1740 *tab_handle = tab_tracker_->Add(&tab_contents->controller());
1741 } 1741 }
1742 } 1742 }
1743 } 1743 }
1744 1744
1745 void AutomationProvider::GetTabTitle(int handle, int* title_string_size, 1745 void AutomationProvider::GetTabTitle(int handle, int* title_string_size,
1746 std::wstring* title) { 1746 std::wstring* title) {
1747 *title_string_size = -1; // -1 is the error code 1747 *title_string_size = -1; // -1 is the error code
1748 if (tab_tracker_->ContainsHandle(handle)) { 1748 if (tab_tracker_->ContainsHandle(handle)) {
1749 NavigationController* tab = tab_tracker_->GetResource(handle); 1749 NavigationController* tab = tab_tracker_->GetResource(handle);
1750 *title = UTF16ToWideHack(tab->GetActiveEntry()->title()); 1750 NavigationEntry* entry = tab->GetActiveEntry();
1751 *title = std::wstring();
1752 if (entry != NULL) {
1753 *title = UTF16ToWideHack(entry->title());
1754 }
1751 *title_string_size = static_cast<int>(title->size()); 1755 *title_string_size = static_cast<int>(title->size());
1752 } 1756 }
1753 } 1757 }
1754 1758
1755 void AutomationProvider::GetTabIndex(int handle, int* tabstrip_index) { 1759 void AutomationProvider::GetTabIndex(int handle, int* tabstrip_index) {
1756 *tabstrip_index = -1; // -1 is the error code 1760 *tabstrip_index = -1; // -1 is the error code
1757 1761
1758 if (tab_tracker_->ContainsHandle(handle)) { 1762 if (tab_tracker_->ContainsHandle(handle)) {
1759 NavigationController* tab = tab_tracker_->GetResource(handle); 1763 NavigationController* tab = tab_tracker_->GetResource(handle);
1760 Browser* browser = Browser::GetBrowserForController(tab, NULL); 1764 Browser* browser = Browser::GetBrowserForController(tab, NULL);
(...skipping 1116 matching lines...) Expand 10 before | Expand all | Expand 10 after
2877 DLOG(WARNING) << "SetParent failed. Error 0x%x" << GetLastError(); 2881 DLOG(WARNING) << "SetParent failed. Error 0x%x" << GetLastError();
2878 } 2882 }
2879 } 2883 }
2880 } 2884 }
2881 #endif 2885 #endif
2882 2886
2883 void AutomationProvider::GetWindowTitle(int handle, string16* text) { 2887 void AutomationProvider::GetWindowTitle(int handle, string16* text) {
2884 gfx::NativeWindow window = window_tracker_->GetResource(handle); 2888 gfx::NativeWindow window = window_tracker_->GetResource(handle);
2885 text->assign(platform_util::GetWindowTitle(window)); 2889 text->assign(platform_util::GetWindowTitle(window));
2886 } 2890 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698