blob: 3510721e14475e43e42f942c0339a404811c0849 [file] [log] [blame]
// Copyright 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.
#include "chrome/browser/ui/cocoa/tab_contents/instant_overlay_controller_mac.h"
#import "chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.h"
#include "chrome/browser/ui/search/instant_overlay_model.h"
InstantOverlayControllerMac::InstantOverlayControllerMac(
Browser* browser,
OverlayableContentsController* overlay)
: InstantOverlayController(browser),
overlay_(overlay) {
}
InstantOverlayControllerMac::~InstantOverlayControllerMac() {
}
void InstantOverlayControllerMac::OverlayStateChanged(
const InstantOverlayModel& model) {
if (model.mode().is_ntp() || model.mode().is_search_suggestions()) {
// Drop shadow is only needed if search mode is not |NTP| and overlay does
// not fill up the entire contents page.
BOOL drawDropShadow = !model.mode().is_ntp() &&
!(model.height() == 100 &&
model.height_units() == INSTANT_SIZE_PERCENT);
[overlay_ setOverlay:model.GetOverlayContents()
height:model.height()
heightUnits:model.height_units()
drawDropShadow:drawDropShadow];
} else if ([overlay_ isShowingOverlay]) {
[overlay_ setOverlay:NULL
height:0
heightUnits:INSTANT_SIZE_PIXELS
drawDropShadow:NO];
}
}