Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/devtools/devtools_window.h" | 5 #include "chrome/browser/devtools/devtools_window.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 315 DCHECK(it != instances->end()); | 315 DCHECK(it != instances->end()); |
| 316 instances->erase(it); | 316 instances->erase(it); |
| 317 | 317 |
| 318 if (!close_callback_.is_null()) { | 318 if (!close_callback_.is_null()) { |
| 319 close_callback_.Run(); | 319 close_callback_.Run(); |
| 320 close_callback_ = base::Closure(); | 320 close_callback_ = base::Closure(); |
| 321 } | 321 } |
| 322 } | 322 } |
| 323 | 323 |
| 324 // static | 324 // static |
| 325 std::string DevToolsWindow::GetDevToolsWindowPlacementPrefKey() { | |
| 326 return std::string(prefs::kBrowserWindowPlacement) + "_" + | |
| 327 std::string(kDevToolsApp); | |
| 328 } | |
| 329 | |
| 330 // static | |
| 331 void DevToolsWindow::RegisterProfilePrefs( | 325 void DevToolsWindow::RegisterProfilePrefs( |
| 332 user_prefs::PrefRegistrySyncable* registry) { | 326 user_prefs::PrefRegistrySyncable* registry) { |
| 333 registry->RegisterDictionaryPref( | 327 registry->RegisterDictionaryPref( |
| 334 prefs::kDevToolsEditedFiles, | 328 prefs::kDevToolsEditedFiles, |
| 335 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 329 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 336 registry->RegisterDictionaryPref( | 330 registry->RegisterDictionaryPref( |
| 337 prefs::kDevToolsFileSystemPaths, | 331 prefs::kDevToolsFileSystemPaths, |
| 338 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 332 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 339 registry->RegisterStringPref( | 333 registry->RegisterStringPref( |
| 340 prefs::kDevToolsAdbKey, std::string(), | 334 prefs::kDevToolsAdbKey, std::string(), |
| 341 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 335 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 342 | 336 |
| 343 registry->RegisterDictionaryPref( | |
| 344 GetDevToolsWindowPlacementPrefKey().c_str(), | |
| 345 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 346 | |
| 347 registry->RegisterBooleanPref( | 337 registry->RegisterBooleanPref( |
| 348 prefs::kDevToolsDiscoverUsbDevicesEnabled, | 338 prefs::kDevToolsDiscoverUsbDevicesEnabled, |
| 349 true, | 339 true, |
| 350 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 340 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 351 registry->RegisterBooleanPref( | 341 registry->RegisterBooleanPref( |
| 352 prefs::kDevToolsPortForwardingEnabled, | 342 prefs::kDevToolsPortForwardingEnabled, |
| 353 false, | 343 false, |
| 354 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 344 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 355 registry->RegisterBooleanPref( | 345 registry->RegisterBooleanPref( |
| 356 prefs::kDevToolsPortForwardingDefaultSet, | 346 prefs::kDevToolsPortForwardingDefaultSet, |
| (...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1130 if (life_stage_ != kLoadCompleted) { | 1120 if (life_stage_ != kLoadCompleted) { |
| 1131 // Load is completed when both kIsDockedSet and kOnLoadFired happened. | 1121 // Load is completed when both kIsDockedSet and kOnLoadFired happened. |
| 1132 // Here we set kOnLoadFired. | 1122 // Here we set kOnLoadFired. |
| 1133 life_stage_ = life_stage_ == kIsDockedSet ? kLoadCompleted : kOnLoadFired; | 1123 life_stage_ = life_stage_ == kIsDockedSet ? kLoadCompleted : kOnLoadFired; |
| 1134 } | 1124 } |
| 1135 if (life_stage_ == kLoadCompleted) | 1125 if (life_stage_ == kLoadCompleted) |
| 1136 LoadCompleted(); | 1126 LoadCompleted(); |
| 1137 } | 1127 } |
| 1138 | 1128 |
| 1139 void DevToolsWindow::CreateDevToolsBrowser() { | 1129 void DevToolsWindow::CreateDevToolsBrowser() { |
| 1140 std::string wp_key = GetDevToolsWindowPlacementPrefKey(); | 1130 const char* wp_key(prefs::kAppWindowPlacement); |
|
Bernhard Bauer
2014/09/04 11:06:02
Nit: it feels weird to me to initialize a pointer
dgrogan
2014/09/04 20:26:33
Done.
| |
| 1141 PrefService* prefs = profile_->GetPrefs(); | 1131 PrefService* prefs = profile_->GetPrefs(); |
| 1142 const base::DictionaryValue* wp_pref = prefs->GetDictionary(wp_key.c_str()); | 1132 if (!prefs->GetDictionary(wp_key)->GetDictionary(kDevToolsApp, NULL)) { |
|
Bernhard Bauer
2014/09/04 11:06:02
You can use DictionaryValue::HasKey.
dgrogan
2014/09/04 20:26:33
Done.
| |
| 1143 if (!wp_pref || wp_pref->empty()) { | 1133 DictionaryPrefUpdate update(prefs, wp_key); |
| 1144 DictionaryPrefUpdate update(prefs, wp_key.c_str()); | 1134 base::DictionaryValue* wp_prefs = update.Get(); |
| 1145 base::DictionaryValue* defaults = update.Get(); | 1135 base::DictionaryValue* dev_tools_defaults = new base::DictionaryValue; |
| 1146 defaults->SetInteger("left", 100); | 1136 wp_prefs->Set(kDevToolsApp, dev_tools_defaults); |
| 1147 defaults->SetInteger("top", 100); | 1137 dev_tools_defaults->SetInteger("left", 100); |
| 1148 defaults->SetInteger("right", 740); | 1138 dev_tools_defaults->SetInteger("top", 100); |
| 1149 defaults->SetInteger("bottom", 740); | 1139 dev_tools_defaults->SetInteger("right", 740); |
| 1150 defaults->SetBoolean("maximized", false); | 1140 dev_tools_defaults->SetInteger("bottom", 740); |
| 1151 defaults->SetBoolean("always_on_top", false); | 1141 dev_tools_defaults->SetBoolean("maximized", false); |
| 1142 dev_tools_defaults->SetBoolean("always_on_top", false); | |
| 1152 } | 1143 } |
| 1153 | 1144 |
| 1154 browser_ = new Browser(Browser::CreateParams::CreateForDevTools( | 1145 browser_ = new Browser(Browser::CreateParams::CreateForDevTools( |
| 1155 profile_, | 1146 profile_, |
| 1156 chrome::GetHostDesktopTypeForNativeView( | 1147 chrome::GetHostDesktopTypeForNativeView( |
| 1157 main_web_contents_->GetNativeView()))); | 1148 main_web_contents_->GetNativeView()))); |
| 1158 browser_->tab_strip_model()->AddWebContents( | 1149 browser_->tab_strip_model()->AddWebContents( |
| 1159 main_web_contents_, -1, content::PAGE_TRANSITION_AUTO_TOPLEVEL, | 1150 main_web_contents_, -1, content::PAGE_TRANSITION_AUTO_TOPLEVEL, |
| 1160 TabStripModel::ADD_ACTIVE); | 1151 TabStripModel::ADD_ACTIVE); |
| 1161 main_web_contents_->GetRenderViewHost()->SyncRendererPrefs(); | 1152 main_web_contents_->GetRenderViewHost()->SyncRendererPrefs(); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1236 closure.Run(); | 1227 closure.Run(); |
| 1237 return; | 1228 return; |
| 1238 } | 1229 } |
| 1239 load_completed_callback_ = closure; | 1230 load_completed_callback_ = closure; |
| 1240 } | 1231 } |
| 1241 | 1232 |
| 1242 bool DevToolsWindow::ForwardKeyboardEvent( | 1233 bool DevToolsWindow::ForwardKeyboardEvent( |
| 1243 const content::NativeWebKeyboardEvent& event) { | 1234 const content::NativeWebKeyboardEvent& event) { |
| 1244 return event_forwarder_->ForwardEvent(event); | 1235 return event_forwarder_->ForwardEvent(event); |
| 1245 } | 1236 } |
| OLD | NEW |