| 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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 DCHECK(it != instances->end()); | 311 DCHECK(it != instances->end()); |
| 312 instances->erase(it); | 312 instances->erase(it); |
| 313 | 313 |
| 314 if (!close_callback_.is_null()) { | 314 if (!close_callback_.is_null()) { |
| 315 close_callback_.Run(); | 315 close_callback_.Run(); |
| 316 close_callback_ = base::Closure(); | 316 close_callback_ = base::Closure(); |
| 317 } | 317 } |
| 318 } | 318 } |
| 319 | 319 |
| 320 // static | 320 // static |
| 321 std::string DevToolsWindow::GetDevToolsWindowPlacementPrefKey() { | |
| 322 return std::string(prefs::kBrowserWindowPlacement) + "_" + | |
| 323 std::string(kDevToolsApp); | |
| 324 } | |
| 325 | |
| 326 // static | |
| 327 void DevToolsWindow::RegisterProfilePrefs( | 321 void DevToolsWindow::RegisterProfilePrefs( |
| 328 user_prefs::PrefRegistrySyncable* registry) { | 322 user_prefs::PrefRegistrySyncable* registry) { |
| 329 registry->RegisterDictionaryPref( | 323 registry->RegisterDictionaryPref( |
| 330 prefs::kDevToolsEditedFiles, | 324 prefs::kDevToolsEditedFiles, |
| 331 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 325 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 332 registry->RegisterDictionaryPref( | 326 registry->RegisterDictionaryPref( |
| 333 prefs::kDevToolsFileSystemPaths, | 327 prefs::kDevToolsFileSystemPaths, |
| 334 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 328 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 335 registry->RegisterStringPref( | 329 registry->RegisterStringPref( |
| 336 prefs::kDevToolsAdbKey, std::string(), | 330 prefs::kDevToolsAdbKey, std::string(), |
| 337 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 331 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 338 | 332 |
| 339 registry->RegisterDictionaryPref( | |
| 340 GetDevToolsWindowPlacementPrefKey().c_str(), | |
| 341 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 342 | |
| 343 registry->RegisterBooleanPref( | 333 registry->RegisterBooleanPref( |
| 344 prefs::kDevToolsDiscoverUsbDevicesEnabled, | 334 prefs::kDevToolsDiscoverUsbDevicesEnabled, |
| 345 true, | 335 true, |
| 346 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 336 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 347 registry->RegisterBooleanPref( | 337 registry->RegisterBooleanPref( |
| 348 prefs::kDevToolsPortForwardingEnabled, | 338 prefs::kDevToolsPortForwardingEnabled, |
| 349 false, | 339 false, |
| 350 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 340 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 351 registry->RegisterBooleanPref( | 341 registry->RegisterBooleanPref( |
| 352 prefs::kDevToolsPortForwardingDefaultSet, | 342 prefs::kDevToolsPortForwardingDefaultSet, |
| (...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1126 if (life_stage_ != kLoadCompleted) { | 1116 if (life_stage_ != kLoadCompleted) { |
| 1127 // Load is completed when both kIsDockedSet and kOnLoadFired happened. | 1117 // Load is completed when both kIsDockedSet and kOnLoadFired happened. |
| 1128 // Here we set kOnLoadFired. | 1118 // Here we set kOnLoadFired. |
| 1129 life_stage_ = life_stage_ == kIsDockedSet ? kLoadCompleted : kOnLoadFired; | 1119 life_stage_ = life_stage_ == kIsDockedSet ? kLoadCompleted : kOnLoadFired; |
| 1130 } | 1120 } |
| 1131 if (life_stage_ == kLoadCompleted) | 1121 if (life_stage_ == kLoadCompleted) |
| 1132 LoadCompleted(); | 1122 LoadCompleted(); |
| 1133 } | 1123 } |
| 1134 | 1124 |
| 1135 void DevToolsWindow::CreateDevToolsBrowser() { | 1125 void DevToolsWindow::CreateDevToolsBrowser() { |
| 1136 std::string wp_key = GetDevToolsWindowPlacementPrefKey(); | |
| 1137 PrefService* prefs = profile_->GetPrefs(); | 1126 PrefService* prefs = profile_->GetPrefs(); |
| 1138 const base::DictionaryValue* wp_pref = prefs->GetDictionary(wp_key.c_str()); | 1127 if (!prefs->GetDictionary(prefs::kAppWindowPlacement)->HasKey(kDevToolsApp)) { |
| 1139 if (!wp_pref || wp_pref->empty()) { | 1128 DictionaryPrefUpdate update(prefs, prefs::kAppWindowPlacement); |
| 1140 DictionaryPrefUpdate update(prefs, wp_key.c_str()); | 1129 base::DictionaryValue* wp_prefs = update.Get(); |
| 1141 base::DictionaryValue* defaults = update.Get(); | 1130 base::DictionaryValue* dev_tools_defaults = new base::DictionaryValue; |
| 1142 defaults->SetInteger("left", 100); | 1131 wp_prefs->Set(kDevToolsApp, dev_tools_defaults); |
| 1143 defaults->SetInteger("top", 100); | 1132 dev_tools_defaults->SetInteger("left", 100); |
| 1144 defaults->SetInteger("right", 740); | 1133 dev_tools_defaults->SetInteger("top", 100); |
| 1145 defaults->SetInteger("bottom", 740); | 1134 dev_tools_defaults->SetInteger("right", 740); |
| 1146 defaults->SetBoolean("maximized", false); | 1135 dev_tools_defaults->SetInteger("bottom", 740); |
| 1147 defaults->SetBoolean("always_on_top", false); | 1136 dev_tools_defaults->SetBoolean("maximized", false); |
| 1137 dev_tools_defaults->SetBoolean("always_on_top", false); |
| 1148 } | 1138 } |
| 1149 | 1139 |
| 1150 browser_ = new Browser(Browser::CreateParams::CreateForDevTools( | 1140 browser_ = new Browser(Browser::CreateParams::CreateForDevTools( |
| 1151 profile_, | 1141 profile_, |
| 1152 chrome::GetHostDesktopTypeForNativeView( | 1142 chrome::GetHostDesktopTypeForNativeView( |
| 1153 main_web_contents_->GetNativeView()))); | 1143 main_web_contents_->GetNativeView()))); |
| 1154 browser_->tab_strip_model()->AddWebContents( | 1144 browser_->tab_strip_model()->AddWebContents( |
| 1155 main_web_contents_, -1, content::PAGE_TRANSITION_AUTO_TOPLEVEL, | 1145 main_web_contents_, -1, content::PAGE_TRANSITION_AUTO_TOPLEVEL, |
| 1156 TabStripModel::ADD_ACTIVE); | 1146 TabStripModel::ADD_ACTIVE); |
| 1157 main_web_contents_->GetRenderViewHost()->SyncRendererPrefs(); | 1147 main_web_contents_->GetRenderViewHost()->SyncRendererPrefs(); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1233 closure.Run(); | 1223 closure.Run(); |
| 1234 return; | 1224 return; |
| 1235 } | 1225 } |
| 1236 load_completed_callback_ = closure; | 1226 load_completed_callback_ = closure; |
| 1237 } | 1227 } |
| 1238 | 1228 |
| 1239 bool DevToolsWindow::ForwardKeyboardEvent( | 1229 bool DevToolsWindow::ForwardKeyboardEvent( |
| 1240 const content::NativeWebKeyboardEvent& event) { | 1230 const content::NativeWebKeyboardEvent& event) { |
| 1241 return event_forwarder_->ForwardEvent(event); | 1231 return event_forwarder_->ForwardEvent(event); |
| 1242 } | 1232 } |
| OLD | NEW |