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

Side by Side Diff: chrome/browser/extensions/extension_bookmarks_module.cc

Issue 6747007: Before object destruction, make sure that its select dialogs are told that we (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 9 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 "chrome/browser/extensions/extension_bookmarks_module.h" 5 #include "chrome/browser/extensions/extension_bookmarks_module.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/i18n/file_util_icu.h" 8 #include "base/i18n/file_util_icu.h"
9 #include "base/i18n/time_formatting.h" 9 #include "base/i18n/time_formatting.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 BookmarksQuotaLimitFactory::Build<UpdateBookmarkFunction>(heuristics); 793 BookmarksQuotaLimitFactory::Build<UpdateBookmarkFunction>(heuristics);
794 }; 794 };
795 795
796 void CreateBookmarkFunction::GetQuotaLimitHeuristics( 796 void CreateBookmarkFunction::GetQuotaLimitHeuristics(
797 QuotaLimitHeuristics* heuristics) const { 797 QuotaLimitHeuristics* heuristics) const {
798 BookmarksQuotaLimitFactory::BuildForCreate(heuristics, profile()); 798 BookmarksQuotaLimitFactory::BuildForCreate(heuristics, profile());
799 } 799 }
800 800
801 BookmarksIOFunction::BookmarksIOFunction() {} 801 BookmarksIOFunction::BookmarksIOFunction() {}
802 802
803 BookmarksIOFunction::~BookmarksIOFunction() {} 803 BookmarksIOFunction::~BookmarksIOFunction() {
804 // There may be pending file dialogs, we need to tell them that we've gone
805 // away so they don't try and call back to us.
806 if (select_file_dialog_.get())
807 select_file_dialog_->ListenerDestroyed();
808 }
804 809
805 void BookmarksIOFunction::SelectFile(SelectFileDialog::Type type) { 810 void BookmarksIOFunction::SelectFile(SelectFileDialog::Type type) {
806 // Balanced in one of the three callbacks of SelectFileDialog: 811 // Balanced in one of the three callbacks of SelectFileDialog:
807 // either FileSelectionCanceled, MultiFilesSelected, or FileSelected 812 // either FileSelectionCanceled, MultiFilesSelected, or FileSelected
808 AddRef(); 813 AddRef();
809 select_file_dialog_ = SelectFileDialog::Create(this); 814 select_file_dialog_ = SelectFileDialog::Create(this);
810 SelectFileDialog::FileTypeInfo file_type_info; 815 SelectFileDialog::FileTypeInfo file_type_info;
811 file_type_info.extensions.resize(1); 816 file_type_info.extensions.resize(1);
812 file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("html")); 817 file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("html"));
813 818
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 SelectFile(SelectFileDialog::SELECT_SAVEAS_FILE); 868 SelectFile(SelectFileDialog::SELECT_SAVEAS_FILE);
864 return true; 869 return true;
865 } 870 }
866 871
867 void ExportBookmarksFunction::FileSelected(const FilePath& path, 872 void ExportBookmarksFunction::FileSelected(const FilePath& path,
868 int index, 873 int index,
869 void* params) { 874 void* params) {
870 bookmark_html_writer::WriteBookmarks(profile(), path, NULL); 875 bookmark_html_writer::WriteBookmarks(profile(), path, NULL);
871 Release(); // Balanced in BookmarksIOFunction::SelectFile() 876 Release(); // Balanced in BookmarksIOFunction::SelectFile()
872 } 877 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698