Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: chrome/browser/content_settings/content_settings_pref_provider.cc

Issue 10537099: add "always allow" option to the mediastream infobar and allow user to allow/not allow acces to devi (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Check the exceptions before the default setting, sites in the exceptions list can access the device… Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/content_settings/content_settings_pref_provider.h" 5 #include "chrome/browser/content_settings/content_settings_pref_provider.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 resource_identifier, &setting); 354 resource_identifier, &setting);
355 DCHECK_NE(CONTENT_SETTING_DEFAULT, setting); 355 DCHECK_NE(CONTENT_SETTING_DEFAULT, setting);
356 value_map_.SetValue(pattern_pair.first, 356 value_map_.SetValue(pattern_pair.first,
357 pattern_pair.second, 357 pattern_pair.second,
358 content_type, 358 content_type,
359 resource_identifier, 359 resource_identifier,
360 Value::CreateIntegerValue(setting)); 360 Value::CreateIntegerValue(setting));
361 } 361 }
362 } 362 }
363 } 363 }
364 int setting = CONTENT_SETTING_DEFAULT; 364 if (content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM) {
Bernhard Bauer 2012/06/18 17:38:15 Hm. I think we should make the ContentTypeHasCompo
no longer working on chromium 2012/06/19 12:23:17 I make the ContentTypeHasCompoundValue() a static
Bernhard Bauer 2012/06/19 14:33:35 Right, but it's only unexpected to a client that u
365 if (settings_dictionary->GetIntegerWithoutPathExpansion( 365 // MediaStream is using compound type as value.
366 GetTypeName(ContentSettingsType(i)), &setting)) { 366 Value* value;
367 DCHECK_NE(CONTENT_SETTING_DEFAULT, setting); 367 if (settings_dictionary->GetWithoutPathExpansion(
368 setting = FixObsoleteCookiePromptMode(content_type, 368 GetTypeName(ContentSettingsType(i)), &value)) {
369 ContentSetting(setting)); 369 if (value->IsType(Value::TYPE_DICTIONARY)) {
370 value_map_.SetValue(pattern_pair.first, 370 DictionaryValue* setting = NULL;
371 pattern_pair.second, 371 if (settings_dictionary->GetDictionaryWithoutPathExpansion(
372 content_type, 372 GetTypeName(ContentSettingsType(i)), &setting)) {
373 ResourceIdentifier(""), 373 DCHECK(!setting->empty());
374 Value::CreateIntegerValue(setting)); 374 value_map_.SetValue(pattern_pair.first,
375 pattern_pair.second,
376 content_type,
377 ResourceIdentifier(""),
378 setting->DeepCopy());
379 } else {
380 NOTREACHED();
381 }
382 }
383 }
384 } else {
385 int setting = CONTENT_SETTING_DEFAULT;
386 if (settings_dictionary->GetIntegerWithoutPathExpansion(
387 GetTypeName(ContentSettingsType(i)), &setting)) {
388 DCHECK_NE(CONTENT_SETTING_DEFAULT, setting);
389 setting = FixObsoleteCookiePromptMode(content_type,
390 ContentSetting(setting));
391 value_map_.SetValue(pattern_pair.first,
392 pattern_pair.second,
393 content_type,
394 ResourceIdentifier(""),
395 Value::CreateIntegerValue(setting));
396 }
375 } 397 }
376 } 398 }
377 } 399 }
378 } 400 }
379 401
380 void PrefProvider::UpdatePatternPairsSettings( 402 void PrefProvider::UpdatePatternPairsSettings(
381 const ContentSettingsPattern& primary_pattern, 403 const ContentSettingsPattern& primary_pattern,
382 const ContentSettingsPattern& secondary_pattern, 404 const ContentSettingsPattern& secondary_pattern,
383 ContentSettingsType content_type, 405 ContentSettingsType content_type,
384 const ResourceIdentifier& resource_identifier, 406 const ResourceIdentifier& resource_identifier,
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 705
684 void PrefProvider::AssertLockNotHeld() const { 706 void PrefProvider::AssertLockNotHeld() const {
685 #if !defined(NDEBUG) 707 #if !defined(NDEBUG)
686 // |Lock::Acquire()| will assert if the lock is held by this thread. 708 // |Lock::Acquire()| will assert if the lock is held by this thread.
687 lock_.Acquire(); 709 lock_.Acquire();
688 lock_.Release(); 710 lock_.Release();
689 #endif 711 #endif
690 } 712 }
691 713
692 } // namespace content_settings 714 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698