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 |