OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/dom_ui/dom_ui_theme_source.h" | 5 #include "chrome/browser/dom_ui/dom_ui_theme_source.h" |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "app/resource_bundle.h" | 8 #include "app/resource_bundle.h" |
9 #include "app/theme_provider.h" | 9 #include "app/theme_provider.h" |
10 #include "base/gfx/png_encoder.h" | 10 #include "base/gfx/png_encoder.h" |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 } else { | 248 } else { |
249 SendResponse(request_id, NULL); | 249 SendResponse(request_id, NULL); |
250 } | 250 } |
251 } | 251 } |
252 | 252 |
253 std::string DOMUIThemeSource::GetNewTabBackgroundCSS(bool bar_attached) { | 253 std::string DOMUIThemeSource::GetNewTabBackgroundCSS(bool bar_attached) { |
254 int alignment; | 254 int alignment; |
255 profile_->GetThemeProvider()->GetDisplayProperty( | 255 profile_->GetThemeProvider()->GetDisplayProperty( |
256 BrowserThemeProvider::NTP_BACKGROUND_ALIGNMENT, &alignment); | 256 BrowserThemeProvider::NTP_BACKGROUND_ALIGNMENT, &alignment); |
257 | 257 |
| 258 // TODO(glen): This is a quick workaround to hide the notused.png image when |
| 259 // no image is provided - we don't have time right now to figure out why |
| 260 // this is painting as white. |
| 261 // http://crbug.com/17593 |
| 262 if (!profile_->GetThemeProvider()->HasCustomImage(IDR_THEME_NTP_BACKGROUND)) { |
| 263 return "-64px"; |
| 264 } |
| 265 |
258 if (bar_attached) | 266 if (bar_attached) |
259 return BrowserThemeProvider::AlignmentToString(alignment); | 267 return BrowserThemeProvider::AlignmentToString(alignment); |
260 | 268 |
261 // The bar is detached, so we must offset the background by the bar size | 269 // The bar is detached, so we must offset the background by the bar size |
262 // if it's a top-aligned bar. | 270 // if it's a top-aligned bar. |
263 #if defined(OS_WIN) | 271 #if defined(OS_WIN) |
264 int offset = BookmarkBarView::kNewtabBarHeight; | 272 int offset = BookmarkBarView::kNewtabBarHeight; |
265 #else | 273 #else |
266 int offset = 0; | 274 int offset = 0; |
267 #endif | 275 #endif |
268 | 276 |
269 // TODO(glen): This is a quick workaround to hide the notused.png image when | |
270 // no image is provided - we don't have time right now to figure out why | |
271 // this is painting as white. | |
272 // http://crbug.com/17593 | |
273 if (!profile_->GetThemeProvider()->HasCustomImage(IDR_THEME_NTP_BACKGROUND)) { | |
274 return "-64px"; | |
275 } | |
276 | |
277 if (alignment & BrowserThemeProvider::ALIGN_TOP) { | 277 if (alignment & BrowserThemeProvider::ALIGN_TOP) { |
278 if (alignment & BrowserThemeProvider::ALIGN_LEFT) | 278 if (alignment & BrowserThemeProvider::ALIGN_LEFT) |
279 return "0% " + IntToString(-offset) + "px"; | 279 return "0% " + IntToString(-offset) + "px"; |
280 else if (alignment & BrowserThemeProvider::ALIGN_RIGHT) | 280 else if (alignment & BrowserThemeProvider::ALIGN_RIGHT) |
281 return "100% " + IntToString(-offset) + "px"; | 281 return "100% " + IntToString(-offset) + "px"; |
282 return "center " + IntToString(-offset) + "px"; | 282 return "center " + IntToString(-offset) + "px"; |
283 } | 283 } |
284 return BrowserThemeProvider::AlignmentToString(alignment); | 284 return BrowserThemeProvider::AlignmentToString(alignment); |
285 } | 285 } |
286 | 286 |
287 std::string DOMUIThemeSource::GetNewTabBackgroundTilingCSS() { | 287 std::string DOMUIThemeSource::GetNewTabBackgroundTilingCSS() { |
288 int repeat_mode; | 288 int repeat_mode; |
289 profile_->GetThemeProvider()->GetDisplayProperty( | 289 profile_->GetThemeProvider()->GetDisplayProperty( |
290 BrowserThemeProvider::NTP_BACKGROUND_TILING, &repeat_mode); | 290 BrowserThemeProvider::NTP_BACKGROUND_TILING, &repeat_mode); |
291 return BrowserThemeProvider::TilingToString(repeat_mode); | 291 return BrowserThemeProvider::TilingToString(repeat_mode); |
292 } | 292 } |
293 | 293 |
OLD | NEW |