blob: 1e488239a3cc8b9c48fb31b48e91b5bedd41405a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_PEPPER_FLASH_CONTENT_SETTINGS_UTILS_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_PEPPER_FLASH_CONTENT_SETTINGS_UTILS_H_
#include <vector>
#include "base/macros.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "ppapi/c/private/ppp_flash_browser_operations.h"
#include "ppapi/shared_impl/ppp_flash_browser_operations_shared.h"
namespace options {
struct MediaException {
MediaException(const ContentSettingsPattern& in_pattern,
ContentSetting in_setting);
~MediaException();
bool operator==(const MediaException& other) const;
ContentSettingsPattern pattern;
ContentSetting setting;
};
typedef std::vector<MediaException> MediaExceptions;
class PepperFlashContentSettingsUtils {
public:
static ContentSetting FlashPermissionToContentSetting(
PP_Flash_BrowserOperations_Permission permission);
static void FlashSiteSettingsToMediaExceptions(
const ppapi::FlashSiteSettings& site_settings,
MediaExceptions* media_exceptions);
// Sorts |media_exceptions| in ascending order by comparing the |pattern|
// field of the elements.
static void SortMediaExceptions(MediaExceptions* media_exceptions);
// Checks whether |exceptions_1| and |exceptions_2| describe the same set of
// exceptions. |exceptions_1| and |exceptions_2| should be sorted by
// SortMediaExceptions() before passing into this method.
//
// When an element of |exceptions_1| has a pattern that doesn't match any
// element of |exceptions_2|, it would be compared with |default_setting_2|,
// and vice versa.
static bool AreMediaExceptionsEqual(ContentSetting default_setting_1,
const MediaExceptions& exceptions_1,
ContentSetting default_setting_2,
const MediaExceptions& exceptions_2);
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(PepperFlashContentSettingsUtils);
};
} // namespace options
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_PEPPER_FLASH_CONTENT_SETTINGS_UTILS_H_
|