Changeset 246163 in webkit
- Timestamp:
- Jun 6, 2019, 12:15:56 PM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
NetworkProcess/NetworkHTTPSUpgradeChecker.cpp (modified) (5 diffs)
-
NetworkProcess/NetworkHTTPSUpgradeChecker.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r246157 r246163 1 2019-06-06 Sihui Liu <sihui_liu@apple.com> 2 3 NetworkHTTPSUpgradeChecker should construct and destruct database on the background thread 4 https://bugs.webkit.org/show_bug.cgi?id=198496 5 6 Reviewed by Chris Dumez. 7 8 * NetworkProcess/NetworkHTTPSUpgradeChecker.cpp: 9 (WebKit::NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker): 10 (WebKit::NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker): 11 * NetworkProcess/NetworkHTTPSUpgradeChecker.h: 12 1 13 2019-06-06 Truitt Savell <tsavell@apple.com> 2 14 -
trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp
r244225 r246163 40 40 namespace WebKit { 41 41 42 constexpr auto httpsUpgradeCheckerQuery = "SELECT host FROM hosts WHERE host = ?"_s; 43 42 44 static const String& networkHTTPSUpgradeCheckerDatabasePath() 43 45 { … … 56 58 NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker() 57 59 : m_workQueue(WorkQueue::create("HTTPS Upgrade Checker Thread")) 58 , m_database(makeUniqueRef<WebCore::SQLiteDatabase>())59 , m_statement(makeUniqueRef<WebCore::SQLiteStatement>(m_database.get(), "SELECT host FROM hosts WHERE host = ?;"_s))60 60 { 61 61 ASSERT(RunLoop::isMain()); … … 68 68 } 69 69 70 m_database = std::make_unique<SQLiteDatabase>(); 70 71 bool isDatabaseOpen = m_database->open(path, WebCore::SQLiteDatabase::OpenMode::ReadOnly); 71 72 if (!isDatabaseOpen) { … … 80 81 m_database->disableThreadingChecks(); 81 82 83 m_statement = std::make_unique<SQLiteStatement>(*m_database, httpsUpgradeCheckerQuery); 82 84 int isStatementPrepared = (m_statement->prepare() == SQLITE_OK); 83 85 ASSERT(isStatementPrepared); … … 91 93 NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker() 92 94 { 93 // This object should be owned by a singleton object.94 ASSERT_NOT_REACHED();95 if (m_database) 96 m_workQueue->dispatch([database = WTFMove(m_database), statement = WTFMove(m_statement)] { }); 95 97 } 96 98 -
trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h
r244225 r246163 45 45 public: 46 46 NetworkHTTPSUpgradeChecker(); 47 NO_RETURN_DUE_TO_ASSERT~NetworkHTTPSUpgradeChecker();47 ~NetworkHTTPSUpgradeChecker(); 48 48 49 49 // Returns `true` after internal setup is successfully completed. If there is an error with setup, or if setup is in-progress, it will return `false`. … … 55 55 private: 56 56 Ref<WorkQueue> m_workQueue; 57 UniqueRef<WebCore::SQLiteDatabase> m_database;58 UniqueRef<WebCore::SQLiteStatement> m_statement;57 std::unique_ptr<WebCore::SQLiteDatabase> m_database; 58 std::unique_ptr<WebCore::SQLiteStatement> m_statement; 59 59 std::atomic<bool> m_didSetupCompleteSuccessfully { false }; 60 60 };
Note:
See TracChangeset
for help on using the changeset viewer.