12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/webui/options/pepper_flash_content_settings_utils.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/basictypes.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using options::MediaException;
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using options::MediaExceptions;
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using options::PepperFlashContentSettingsUtils;
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace {
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MediaExceptions ConvertAndSort(const MediaException* items, size_t count) {
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaExceptions result(items, items + count);
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  PepperFlashContentSettingsUtils::SortMediaExceptions(&result);
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return result;
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(PepperFlashContentSettingsUtilsTest, SortMediaExceptions) {
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaException entry_1(ContentSettingsPattern::FromString("www.google.com"),
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                         CONTENT_SETTING_ALLOW, CONTENT_SETTING_ASK);
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaException entry_2(ContentSettingsPattern::FromString("www.youtube.com"),
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                         CONTENT_SETTING_BLOCK, CONTENT_SETTING_DEFAULT);
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaException entry_3(ContentSettingsPattern::Wildcard(),
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                         CONTENT_SETTING_ASK, CONTENT_SETTING_BLOCK);
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaException entry_4(ContentSettingsPattern(),
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                         CONTENT_SETTING_SESSION_ONLY, CONTENT_SETTING_ALLOW);
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaExceptions list_1;
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_1.push_back(entry_1);
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_1.push_back(entry_2);
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_1.push_back(entry_3);
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_1.push_back(entry_4);
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaExceptions list_2;
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_2.push_back(entry_1);
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_2.push_back(entry_3);
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_2.push_back(entry_2);
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_2.push_back(entry_4);
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MediaExceptions list_3;
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_3.push_back(entry_4);
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_3.push_back(entry_1);
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_3.push_back(entry_2);
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  list_3.push_back(entry_3);
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  EXPECT_NE(list_1, list_2);
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  EXPECT_NE(list_2, list_3);
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  EXPECT_NE(list_3, list_1);
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  PepperFlashContentSettingsUtils::SortMediaExceptions(&list_1);
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  PepperFlashContentSettingsUtils::SortMediaExceptions(&list_2);
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  PepperFlashContentSettingsUtils::SortMediaExceptions(&list_3);
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  EXPECT_EQ(list_1, list_2);
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  EXPECT_EQ(list_2, list_3);
622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(PepperFlashContentSettingsUtilsTest, AreMediaExceptionsEqual) {
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  {
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // Empty lists are equal.
672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // Default settings are not compared directly, so it is possible to return
682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // true when they are different.
692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_TRUE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_BLOCK,
712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        MediaExceptions(),
722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        MediaExceptions(),
742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  {
792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_1[] = {
802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ALLOW, CONTENT_SETTING_ALLOW),
822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.youtube.com"),
832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ASK, CONTENT_SETTING_ASK)
842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_2[] = {
872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ALLOW, CONTENT_SETTING_ALLOW)
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // The exception of "www.youtube.com" in |exceptions_1| should not affect
922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // the result, because it has the same settings as |default_setting_2|.
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_TRUE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ALLOW,
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_TRUE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ALLOW,
1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // Changing |default_setting_2| should change the result.
1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_FALSE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ALLOW,
1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ALLOW,
1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  {
1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // Similar to the previous block, but reoder the exceptions. The outcome
1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // should be the same.
1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_1[] = {
1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.youtube.com"),
1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ASK, CONTENT_SETTING_ASK),
1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ALLOW, CONTENT_SETTING_ALLOW)
1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_2[] = {
1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ALLOW, CONTENT_SETTING_ALLOW)
1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_TRUE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ALLOW,
1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_FALSE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ALLOW,
1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ALLOW,
1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  {
1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_1[] = {
1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
1512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK)
1522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
1532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_2[] = {
1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ALLOW, CONTENT_SETTING_ALLOW)
1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // Test that |ignore_video_setting| works.
1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_TRUE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        true));
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_FALSE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  {
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_1[] = {
1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_BLOCK, CONTENT_SETTING_ALLOW)
1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    MediaException exceptions_2[] = {
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      MediaException(ContentSettingsPattern::FromString("www.google.com"),
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     CONTENT_SETTING_ALLOW, CONTENT_SETTING_ALLOW)
1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    };
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // Test that |ignore_audio_setting| works.
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_TRUE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        true,
1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_FALSE(PepperFlashContentSettingsUtils::AreMediaExceptionsEqual(
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_1, arraysize(exceptions_1)),
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        CONTENT_SETTING_ASK,
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ConvertAndSort(exceptions_2, arraysize(exceptions_2)),
2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false,
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        false));
2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
204