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/extensions/extension_font_settings_api.h" | 5 #include "chrome/browser/extensions/extension_font_settings_api.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/json/json_writer.h" | 9 #include "base/json/json_writer.h" |
10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 | 269 |
270 extension_preference_helpers::DispatchEventToExtensions( | 270 extension_preference_helpers::DispatchEventToExtensions( |
271 profile_, | 271 profile_, |
272 event_name, | 272 event_name, |
273 &args, | 273 &args, |
274 ExtensionAPIPermission::kExperimental, | 274 ExtensionAPIPermission::kExperimental, |
275 incognito, | 275 incognito, |
276 pref_name); | 276 pref_name); |
277 } | 277 } |
278 | 278 |
| 279 bool ClearFontFunction::RunImpl() { |
| 280 DictionaryValue* details = NULL; |
| 281 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &details)); |
| 282 |
| 283 std::string pref_path; |
| 284 EXTENSION_FUNCTION_VALIDATE(GetFontNamePrefPath(details, &pref_path)); |
| 285 |
| 286 // Ensure |pref_path| really is for a registered per-script font pref. |
| 287 EXTENSION_FUNCTION_VALIDATE( |
| 288 profile_->GetPrefs()->FindPreference(pref_path.c_str())); |
| 289 |
| 290 ExtensionPrefs* prefs = profile_->GetExtensionService()->extension_prefs(); |
| 291 prefs->RemoveExtensionControlledPref(extension_id(), |
| 292 pref_path.c_str(), |
| 293 kExtensionPrefsScopeRegular); |
| 294 return true; |
| 295 } |
| 296 |
279 bool GetFontFunction::RunImpl() { | 297 bool GetFontFunction::RunImpl() { |
280 DictionaryValue* details = NULL; | 298 DictionaryValue* details = NULL; |
281 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &details)); | 299 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &details)); |
282 | 300 |
283 std::string pref_path; | 301 std::string pref_path; |
284 EXTENSION_FUNCTION_VALIDATE(GetFontNamePrefPath(details, &pref_path)); | 302 EXTENSION_FUNCTION_VALIDATE(GetFontNamePrefPath(details, &pref_path)); |
285 | 303 |
286 PrefService* prefs = profile_->GetPrefs(); | 304 PrefService* prefs = profile_->GetPrefs(); |
287 const PrefService::Preference* pref = | 305 const PrefService::Preference* pref = |
288 prefs->FindPreference(pref_path.c_str()); | 306 prefs->FindPreference(pref_path.c_str()); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 DictionaryValue* font_name = new DictionaryValue(); | 372 DictionaryValue* font_name = new DictionaryValue(); |
355 font_name->Set(kFontNameKey, Value::CreateStringValue(name)); | 373 font_name->Set(kFontNameKey, Value::CreateStringValue(name)); |
356 font_name->Set(kLocalizedNameKey, Value::CreateStringValue(localized_name)); | 374 font_name->Set(kLocalizedNameKey, Value::CreateStringValue(localized_name)); |
357 result->Append(font_name); | 375 result->Append(font_name); |
358 } | 376 } |
359 | 377 |
360 result_.reset(result.release()); | 378 result_.reset(result.release()); |
361 return true; | 379 return true; |
362 } | 380 } |
363 | 381 |
| 382 bool ClearFontPrefExtensionFunction::RunImpl() { |
| 383 ExtensionPrefs* prefs = profile_->GetExtensionService()->extension_prefs(); |
| 384 prefs->RemoveExtensionControlledPref(extension_id(), |
| 385 GetPrefName(), |
| 386 kExtensionPrefsScopeRegular); |
| 387 return true; |
| 388 } |
| 389 |
364 bool GetFontPrefExtensionFunction::RunImpl() { | 390 bool GetFontPrefExtensionFunction::RunImpl() { |
365 PrefService* prefs = profile_->GetPrefs(); | 391 PrefService* prefs = profile_->GetPrefs(); |
366 const PrefService::Preference* pref = prefs->FindPreference(GetPrefName()); | 392 const PrefService::Preference* pref = prefs->FindPreference(GetPrefName()); |
367 EXTENSION_FUNCTION_VALIDATE(pref); | 393 EXTENSION_FUNCTION_VALIDATE(pref); |
368 | 394 |
369 DictionaryValue* result = new DictionaryValue(); | 395 DictionaryValue* result = new DictionaryValue(); |
370 result->Set(GetKey(), pref->GetValue()->DeepCopy()); | 396 result->Set(GetKey(), pref->GetValue()->DeepCopy()); |
371 result_.reset(result); | 397 result_.reset(result); |
372 return true; | 398 return true; |
373 } | 399 } |
374 | 400 |
375 bool SetFontPrefExtensionFunction::RunImpl() { | 401 bool SetFontPrefExtensionFunction::RunImpl() { |
376 DictionaryValue* details = NULL; | 402 DictionaryValue* details = NULL; |
377 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &details)); | 403 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &details)); |
378 | 404 |
379 Value* value; | 405 Value* value; |
380 EXTENSION_FUNCTION_VALIDATE(details->Get(GetKey(), &value)); | 406 EXTENSION_FUNCTION_VALIDATE(details->Get(GetKey(), &value)); |
381 | 407 |
382 ExtensionPrefs* prefs = profile_->GetExtensionService()->extension_prefs(); | 408 ExtensionPrefs* prefs = profile_->GetExtensionService()->extension_prefs(); |
383 prefs->SetExtensionControlledPref(extension_id(), | 409 prefs->SetExtensionControlledPref(extension_id(), |
384 GetPrefName(), | 410 GetPrefName(), |
385 kExtensionPrefsScopeRegular, | 411 kExtensionPrefsScopeRegular, |
386 value->DeepCopy()); | 412 value->DeepCopy()); |
387 return true; | 413 return true; |
388 } | 414 } |
389 | 415 |
| 416 const char* ClearDefaultFontSizeFunction::GetPrefName() { |
| 417 return prefs::kWebKitGlobalDefaultFontSize; |
| 418 } |
| 419 |
390 const char* GetDefaultFontSizeFunction::GetPrefName() { | 420 const char* GetDefaultFontSizeFunction::GetPrefName() { |
391 return prefs::kWebKitGlobalDefaultFontSize; | 421 return prefs::kWebKitGlobalDefaultFontSize; |
392 } | 422 } |
393 | 423 |
394 const char* GetDefaultFontSizeFunction::GetKey() { | 424 const char* GetDefaultFontSizeFunction::GetKey() { |
395 return kPixelSizeKey; | 425 return kPixelSizeKey; |
396 } | 426 } |
397 | 427 |
398 const char* SetDefaultFontSizeFunction::GetPrefName() { | 428 const char* SetDefaultFontSizeFunction::GetPrefName() { |
399 return prefs::kWebKitGlobalDefaultFontSize; | 429 return prefs::kWebKitGlobalDefaultFontSize; |
400 } | 430 } |
401 | 431 |
402 const char* SetDefaultFontSizeFunction::GetKey() { | 432 const char* SetDefaultFontSizeFunction::GetKey() { |
403 return kPixelSizeKey; | 433 return kPixelSizeKey; |
404 } | 434 } |
405 | 435 |
| 436 const char* ClearDefaultFixedFontSizeFunction::GetPrefName() { |
| 437 return prefs::kWebKitGlobalDefaultFixedFontSize; |
| 438 } |
| 439 |
406 const char* GetDefaultFixedFontSizeFunction::GetPrefName() { | 440 const char* GetDefaultFixedFontSizeFunction::GetPrefName() { |
407 return prefs::kWebKitGlobalDefaultFixedFontSize; | 441 return prefs::kWebKitGlobalDefaultFixedFontSize; |
408 } | 442 } |
409 | 443 |
410 const char* GetDefaultFixedFontSizeFunction::GetKey() { | 444 const char* GetDefaultFixedFontSizeFunction::GetKey() { |
411 return kPixelSizeKey; | 445 return kPixelSizeKey; |
412 } | 446 } |
413 | 447 |
414 const char* SetDefaultFixedFontSizeFunction::GetPrefName() { | 448 const char* SetDefaultFixedFontSizeFunction::GetPrefName() { |
415 return prefs::kWebKitGlobalDefaultFixedFontSize; | 449 return prefs::kWebKitGlobalDefaultFixedFontSize; |
416 } | 450 } |
417 | 451 |
418 const char* SetDefaultFixedFontSizeFunction::GetKey() { | 452 const char* SetDefaultFixedFontSizeFunction::GetKey() { |
419 return kPixelSizeKey; | 453 return kPixelSizeKey; |
420 } | 454 } |
421 | 455 |
| 456 const char* ClearMinimumFontSizeFunction::GetPrefName() { |
| 457 return prefs::kWebKitGlobalMinimumFontSize; |
| 458 } |
| 459 |
422 const char* GetMinimumFontSizeFunction::GetPrefName() { | 460 const char* GetMinimumFontSizeFunction::GetPrefName() { |
423 return prefs::kWebKitGlobalMinimumFontSize; | 461 return prefs::kWebKitGlobalMinimumFontSize; |
424 } | 462 } |
425 | 463 |
426 const char* GetMinimumFontSizeFunction::GetKey() { | 464 const char* GetMinimumFontSizeFunction::GetKey() { |
427 return kPixelSizeKey; | 465 return kPixelSizeKey; |
428 } | 466 } |
429 | 467 |
430 const char* SetMinimumFontSizeFunction::GetPrefName() { | 468 const char* SetMinimumFontSizeFunction::GetPrefName() { |
431 return prefs::kWebKitGlobalMinimumFontSize; | 469 return prefs::kWebKitGlobalMinimumFontSize; |
432 } | 470 } |
433 | 471 |
434 const char* SetMinimumFontSizeFunction::GetKey() { | 472 const char* SetMinimumFontSizeFunction::GetKey() { |
435 return kPixelSizeKey; | 473 return kPixelSizeKey; |
436 } | 474 } |
437 | 475 |
| 476 const char* ClearDefaultCharacterSetFunction::GetPrefName() { |
| 477 return prefs::kGlobalDefaultCharset; |
| 478 } |
| 479 |
438 const char* GetDefaultCharacterSetFunction::GetPrefName() { | 480 const char* GetDefaultCharacterSetFunction::GetPrefName() { |
439 return prefs::kGlobalDefaultCharset; | 481 return prefs::kGlobalDefaultCharset; |
440 } | 482 } |
441 | 483 |
442 const char* GetDefaultCharacterSetFunction::GetKey() { | 484 const char* GetDefaultCharacterSetFunction::GetKey() { |
443 return kCharsetKey; | 485 return kCharsetKey; |
444 } | 486 } |
445 | 487 |
446 const char* SetDefaultCharacterSetFunction::GetPrefName() { | 488 const char* SetDefaultCharacterSetFunction::GetPrefName() { |
447 return prefs::kGlobalDefaultCharset; | 489 return prefs::kGlobalDefaultCharset; |
448 } | 490 } |
449 | 491 |
450 const char* SetDefaultCharacterSetFunction::GetKey() { | 492 const char* SetDefaultCharacterSetFunction::GetKey() { |
451 return kCharsetKey; | 493 return kCharsetKey; |
452 } | 494 } |
OLD | NEW |