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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/content_settings/content_setting_image_model_states.h"
#include "base/check_op.h"
ContentSettingImageModelStates::~ContentSettingImageModelStates() = default;
// static
ContentSettingImageModelStates* ContentSettingImageModelStates::Get(
content::WebContents* contents) {
if (auto* state = FromWebContents(contents)) {
return state;
}
CreateForWebContents(contents);
return FromWebContents(contents);
}
void ContentSettingImageModelStates::SetAnimationHasRun(
ImageType type,
bool animation_has_run) {
VerifyType(type);
animations_[static_cast<int>(type)] = animation_has_run;
}
bool ContentSettingImageModelStates::AnimationHasRun(ImageType type) const {
VerifyType(type);
return animations_[static_cast<int>(type)];
}
void ContentSettingImageModelStates::SetAccessibilityNotified(ImageType type,
bool notified) {
VerifyType(type);
accessibility_notified_[static_cast<int>(type)] = notified;
}
bool ContentSettingImageModelStates::GetAccessibilityNotified(
ImageType type) const {
VerifyType(type);
return accessibility_notified_[static_cast<int>(type)];
}
void ContentSettingImageModelStates::SetBubbleWasAutoOpened(
ImageType type,
bool bubble_was_auto_opened) {
VerifyType(type);
auto_opened_bubbles_[static_cast<int>(type)] = bubble_was_auto_opened;
}
bool ContentSettingImageModelStates::BubbleWasAutoOpened(ImageType type) const {
VerifyType(type);
return auto_opened_bubbles_[static_cast<int>(type)];
}
void ContentSettingImageModelStates::SetPromoWasShown(ImageType type,
bool promo_was_shown) {
VerifyType(type);
promo_was_shown_[static_cast<int>(type)] = promo_was_shown;
}
bool ContentSettingImageModelStates::PromoWasShown(ImageType type) const {
VerifyType(type);
return promo_was_shown_[static_cast<int>(type)];
}
ContentSettingImageModelStates::ContentSettingImageModelStates(
content::WebContents* contents)
: content::WebContentsUserData<ContentSettingImageModelStates>(*contents) {}
void ContentSettingImageModelStates::VerifyType(ImageType type) const {
CHECK_GE(type, static_cast<ImageType>(0));
CHECK_LT(type, ImageType::NUM_IMAGE_TYPES);
}
WEB_CONTENTS_USER_DATA_KEY_IMPL(ContentSettingImageModelStates);
|