Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: chrome/browser/themes/browser_theme_pack.cc

Issue 136643006: Clean up some ifdefs around Win Aura. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/themes/browser_theme_pack.h" 5 #include "chrome/browser/themes/browser_theme_pack.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/memory/ref_counted_memory.h" 9 #include "base/memory/ref_counted_memory.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 { 39, IDR_MENU_DROPARROW, NULL }, 156 { 39, IDR_MENU_DROPARROW, NULL },
157 { 40, IDR_THROBBER, NULL }, 157 { 40, IDR_THROBBER, NULL },
158 { 41, IDR_THROBBER_WAITING, NULL }, 158 { 41, IDR_THROBBER_WAITING, NULL },
159 { 42, IDR_THROBBER_LIGHT, NULL }, 159 { 42, IDR_THROBBER_LIGHT, NULL },
160 { 43, IDR_TOOLBAR_BEZEL_HOVER, NULL }, 160 { 43, IDR_TOOLBAR_BEZEL_HOVER, NULL },
161 { 44, IDR_TOOLBAR_BEZEL_PRESSED, NULL }, 161 { 44, IDR_TOOLBAR_BEZEL_PRESSED, NULL },
162 { 45, IDR_TOOLS_BAR, NULL }, 162 { 45, IDR_TOOLS_BAR, NULL },
163 }; 163 };
164 const size_t kPersistingImagesLength = arraysize(kPersistingImages); 164 const size_t kPersistingImagesLength = arraysize(kPersistingImages);
165 165
166 #if defined(OS_WIN) && defined(USE_AURA) 166 #if defined(OS_WIN)
167 // Persistent theme ids for Windows AURA. 167 // Persistent theme ids for Windows.
168 const int PRS_THEME_FRAME_WIN = 100; 168 const int PRS_THEME_FRAME_WIN = 100;
169 const int PRS_THEME_FRAME_INACTIVE_WIN = 101; 169 const int PRS_THEME_FRAME_INACTIVE_WIN = 101;
170 const int PRS_THEME_FRAME_INCOGNITO_WIN = 102; 170 const int PRS_THEME_FRAME_INCOGNITO_WIN = 102;
171 const int PRS_THEME_FRAME_INCOGNITO_INACTIVE_WIN = 103; 171 const int PRS_THEME_FRAME_INCOGNITO_INACTIVE_WIN = 103;
172 const int PRS_THEME_TOOLBAR_WIN = 104; 172 const int PRS_THEME_TOOLBAR_WIN = 104;
173 const int PRS_THEME_TAB_BACKGROUND_WIN = 105; 173 const int PRS_THEME_TAB_BACKGROUND_WIN = 105;
174 const int PRS_THEME_TAB_BACKGROUND_INCOGNITO_WIN = 106; 174 const int PRS_THEME_TAB_BACKGROUND_INCOGNITO_WIN = 106;
175 175
176 // Persistent theme to resource id mapping for Windows AURA. 176 // Persistent theme to resource id mapping for Windows AURA.
177 PersistingImagesTable kPersistingImagesWinDesktopAura[] = { 177 PersistingImagesTable kPersistingImagesWinDesktopAura[] = {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 } 215 }
216 216
217 int GetPersistentIDByIDR(int idr) { 217 int GetPersistentIDByIDR(int idr) {
218 static std::map<int,int>* lookup_table = new std::map<int,int>(); 218 static std::map<int,int>* lookup_table = new std::map<int,int>();
219 if (lookup_table->empty()) { 219 if (lookup_table->empty()) {
220 for (size_t i = 0; i < kPersistingImagesLength; ++i) { 220 for (size_t i = 0; i < kPersistingImagesLength; ++i) {
221 int idr = kPersistingImages[i].idr_id; 221 int idr = kPersistingImages[i].idr_id;
222 int prs_id = kPersistingImages[i].persistent_id; 222 int prs_id = kPersistingImages[i].persistent_id;
223 (*lookup_table)[idr] = prs_id; 223 (*lookup_table)[idr] = prs_id;
224 } 224 }
225 #if defined(OS_WIN) && defined(USE_AURA) 225 #if defined(OS_WIN)
226 for (size_t i = 0; i < kPersistingImagesWinDesktopAuraLength; ++i) { 226 for (size_t i = 0; i < kPersistingImagesWinDesktopAuraLength; ++i) {
227 int idr = kPersistingImagesWinDesktopAura[i].idr_id; 227 int idr = kPersistingImagesWinDesktopAura[i].idr_id;
228 int prs_id = kPersistingImagesWinDesktopAura[i].persistent_id; 228 int prs_id = kPersistingImagesWinDesktopAura[i].persistent_id;
229 (*lookup_table)[idr] = prs_id; 229 (*lookup_table)[idr] = prs_id;
230 } 230 }
231 #endif 231 #endif
232 } 232 }
233 std::map<int,int>::iterator it = lookup_table->find(idr); 233 std::map<int,int>::iterator it = lookup_table->find(idr);
234 return (it == lookup_table->end()) ? -1 : it->second; 234 return (it == lookup_table->end()) ? -1 : it->second;
235 } 235 }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 // tint ID that should maybe be applied to it. 335 // tint ID that should maybe be applied to it.
336 IntToIntTable kFrameTintMap[] = { 336 IntToIntTable kFrameTintMap[] = {
337 { PRS_THEME_FRAME, ThemeProperties::TINT_FRAME }, 337 { PRS_THEME_FRAME, ThemeProperties::TINT_FRAME },
338 { PRS_THEME_FRAME_INACTIVE, ThemeProperties::TINT_FRAME_INACTIVE }, 338 { PRS_THEME_FRAME_INACTIVE, ThemeProperties::TINT_FRAME_INACTIVE },
339 { PRS_THEME_FRAME_OVERLAY, ThemeProperties::TINT_FRAME }, 339 { PRS_THEME_FRAME_OVERLAY, ThemeProperties::TINT_FRAME },
340 { PRS_THEME_FRAME_OVERLAY_INACTIVE, 340 { PRS_THEME_FRAME_OVERLAY_INACTIVE,
341 ThemeProperties::TINT_FRAME_INACTIVE }, 341 ThemeProperties::TINT_FRAME_INACTIVE },
342 { PRS_THEME_FRAME_INCOGNITO, ThemeProperties::TINT_FRAME_INCOGNITO }, 342 { PRS_THEME_FRAME_INCOGNITO, ThemeProperties::TINT_FRAME_INCOGNITO },
343 { PRS_THEME_FRAME_INCOGNITO_INACTIVE, 343 { PRS_THEME_FRAME_INCOGNITO_INACTIVE,
344 ThemeProperties::TINT_FRAME_INCOGNITO_INACTIVE }, 344 ThemeProperties::TINT_FRAME_INCOGNITO_INACTIVE },
345 #if defined(OS_WIN) && defined(USE_AURA) 345 #if defined(OS_WIN)
346 { PRS_THEME_FRAME_WIN, ThemeProperties::TINT_FRAME }, 346 { PRS_THEME_FRAME_WIN, ThemeProperties::TINT_FRAME },
347 { PRS_THEME_FRAME_INACTIVE_WIN, ThemeProperties::TINT_FRAME_INACTIVE }, 347 { PRS_THEME_FRAME_INACTIVE_WIN, ThemeProperties::TINT_FRAME_INACTIVE },
348 { PRS_THEME_FRAME_INCOGNITO_WIN, ThemeProperties::TINT_FRAME_INCOGNITO }, 348 { PRS_THEME_FRAME_INCOGNITO_WIN, ThemeProperties::TINT_FRAME_INCOGNITO },
349 { PRS_THEME_FRAME_INCOGNITO_INACTIVE_WIN, 349 { PRS_THEME_FRAME_INCOGNITO_INACTIVE_WIN,
350 ThemeProperties::TINT_FRAME_INCOGNITO_INACTIVE }, 350 ThemeProperties::TINT_FRAME_INCOGNITO_INACTIVE },
351 #endif 351 #endif
352 }; 352 };
353 353
354 // Mapping used in GenerateTabBackgroundImages() to associate what frame image 354 // Mapping used in GenerateTabBackgroundImages() to associate what frame image
355 // goes with which tab background. 355 // goes with which tab background.
356 IntToIntTable kTabBackgroundMap[] = { 356 IntToIntTable kTabBackgroundMap[] = {
357 { PRS_THEME_TAB_BACKGROUND, PRS_THEME_FRAME }, 357 { PRS_THEME_TAB_BACKGROUND, PRS_THEME_FRAME },
358 { PRS_THEME_TAB_BACKGROUND_INCOGNITO, PRS_THEME_FRAME_INCOGNITO }, 358 { PRS_THEME_TAB_BACKGROUND_INCOGNITO, PRS_THEME_FRAME_INCOGNITO },
359 #if defined(OS_WIN) && defined(USE_AURA) 359 #if defined(OS_WIN)
360 { PRS_THEME_TAB_BACKGROUND_WIN, PRS_THEME_FRAME_WIN }, 360 { PRS_THEME_TAB_BACKGROUND_WIN, PRS_THEME_FRAME_WIN },
361 { PRS_THEME_TAB_BACKGROUND_INCOGNITO_WIN, PRS_THEME_FRAME_INCOGNITO_WIN }, 361 { PRS_THEME_TAB_BACKGROUND_INCOGNITO_WIN, PRS_THEME_FRAME_INCOGNITO_WIN },
362 #endif 362 #endif
363 }; 363 };
364 364
365 struct CropEntry { 365 struct CropEntry {
366 int prs_id; 366 int prs_id;
367 367
368 // The maximum useful height of the image at |prs_id|. 368 // The maximum useful height of the image at |prs_id|.
369 int max_height; 369 int max_height;
(...skipping 13 matching lines...) Expand all
383 struct CropEntry kImagesToCrop[] = { 383 struct CropEntry kImagesToCrop[] = {
384 { PRS_THEME_FRAME, 120, true }, 384 { PRS_THEME_FRAME, 120, true },
385 { PRS_THEME_FRAME_INACTIVE, 120, true }, 385 { PRS_THEME_FRAME_INACTIVE, 120, true },
386 { PRS_THEME_FRAME_INCOGNITO, 120, true }, 386 { PRS_THEME_FRAME_INCOGNITO, 120, true },
387 { PRS_THEME_FRAME_INCOGNITO_INACTIVE, 120, true }, 387 { PRS_THEME_FRAME_INCOGNITO_INACTIVE, 120, true },
388 { PRS_THEME_FRAME_OVERLAY, 120, true }, 388 { PRS_THEME_FRAME_OVERLAY, 120, true },
389 { PRS_THEME_FRAME_OVERLAY_INACTIVE, 120, true }, 389 { PRS_THEME_FRAME_OVERLAY_INACTIVE, 120, true },
390 { PRS_THEME_TOOLBAR, 200, false }, 390 { PRS_THEME_TOOLBAR, 200, false },
391 { PRS_THEME_BUTTON_BACKGROUND, 60, false }, 391 { PRS_THEME_BUTTON_BACKGROUND, 60, false },
392 { PRS_THEME_WINDOW_CONTROL_BACKGROUND, 50, false }, 392 { PRS_THEME_WINDOW_CONTROL_BACKGROUND, 50, false },
393 #if defined(OS_WIN) && defined(USE_AURA) 393 #if defined(OS_WIN)
394 { PRS_THEME_TOOLBAR_WIN, 200, false } 394 { PRS_THEME_TOOLBAR_WIN, 200, false }
395 #endif 395 #endif
396 }; 396 };
397 397
398 398
399 // A list of images that don't need tinting or any other modification and can 399 // A list of images that don't need tinting or any other modification and can
400 // be byte-copied directly into the finished DataPack. This should contain the 400 // be byte-copied directly into the finished DataPack. This should contain the
401 // persistent IDs for all themeable image IDs that aren't in kFrameTintMap, 401 // persistent IDs for all themeable image IDs that aren't in kFrameTintMap,
402 // kTabBackgroundMap or kImagesToCrop. 402 // kTabBackgroundMap or kImagesToCrop.
403 const int kPreloadIDs[] = { 403 const int kPreloadIDs[] = {
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 763
764 // static 764 // static
765 void BrowserThemePack::GetThemeableImageIDRs(std::set<int>* result) { 765 void BrowserThemePack::GetThemeableImageIDRs(std::set<int>* result) {
766 if (!result) 766 if (!result)
767 return; 767 return;
768 768
769 result->clear(); 769 result->clear();
770 for (size_t i = 0; i < kPersistingImagesLength; ++i) 770 for (size_t i = 0; i < kPersistingImagesLength; ++i)
771 result->insert(kPersistingImages[i].idr_id); 771 result->insert(kPersistingImages[i].idr_id);
772 772
773 #if defined(OS_WIN) && defined(USE_AURA) 773 #if defined(OS_WIN)
774 for (size_t i = 0; i < kPersistingImagesWinDesktopAuraLength; ++i) 774 for (size_t i = 0; i < kPersistingImagesWinDesktopAuraLength; ++i)
775 result->insert(kPersistingImagesWinDesktopAura[i].idr_id); 775 result->insert(kPersistingImagesWinDesktopAura[i].idr_id);
776 #endif 776 #endif
777 } 777 }
778 778
779 bool BrowserThemePack::WriteToDisk(const base::FilePath& path) const { 779 bool BrowserThemePack::WriteToDisk(const base::FilePath& path) const {
780 // Add resources for each of the property arrays. 780 // Add resources for each of the property arrays.
781 RawDataForWriting resources; 781 RawDataForWriting resources;
782 resources[kHeaderID] = base::StringPiece( 782 resources[kHeaderID] = base::StringPiece(
783 reinterpret_cast<const char*>(header_), sizeof(BrowserThemePackHeader)); 783 reinterpret_cast<const char*>(header_), sizeof(BrowserThemePackHeader));
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
1204 } 1204 }
1205 } 1205 }
1206 1206
1207 void BrowserThemePack::AddFileAtScaleToMap(const std::string& image_name, 1207 void BrowserThemePack::AddFileAtScaleToMap(const std::string& image_name,
1208 ui::ScaleFactor scale_factor, 1208 ui::ScaleFactor scale_factor,
1209 const base::FilePath& image_path, 1209 const base::FilePath& image_path,
1210 FilePathMap* file_paths) const { 1210 FilePathMap* file_paths) const {
1211 int id = GetPersistentIDByName(image_name); 1211 int id = GetPersistentIDByName(image_name);
1212 if (id != -1) 1212 if (id != -1)
1213 (*file_paths)[id][scale_factor] = image_path; 1213 (*file_paths)[id][scale_factor] = image_path;
1214 #if defined(OS_WIN) && defined(USE_AURA) 1214 #if defined(OS_WIN)
1215 id = GetPersistentIDByNameHelper(image_name, 1215 id = GetPersistentIDByNameHelper(image_name,
1216 kPersistingImagesWinDesktopAura, 1216 kPersistingImagesWinDesktopAura,
1217 kPersistingImagesWinDesktopAuraLength); 1217 kPersistingImagesWinDesktopAuraLength);
1218 if (id != -1) 1218 if (id != -1)
1219 (*file_paths)[id][scale_factor] = image_path; 1219 (*file_paths)[id][scale_factor] = image_path;
1220 #endif 1220 #endif
1221 } 1221 }
1222 1222
1223 void BrowserThemePack::BuildSourceImagesArray(const FilePathMap& file_paths) { 1223 void BrowserThemePack::BuildSourceImagesArray(const FilePathMap& file_paths) {
1224 std::vector<int> ids; 1224 std::vector<int> ids;
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1332 ImageCache temp_output; 1332 ImageCache temp_output;
1333 1333
1334 for (size_t i = 0; i < arraysize(kFrameTintMap); ++i) { 1334 for (size_t i = 0; i < arraysize(kFrameTintMap); ++i) {
1335 int prs_id = kFrameTintMap[i].key; 1335 int prs_id = kFrameTintMap[i].key;
1336 gfx::Image frame; 1336 gfx::Image frame;
1337 // If there's no frame image provided for the specified id, then load 1337 // If there's no frame image provided for the specified id, then load
1338 // the default provided frame. If that's not provided, skip this whole 1338 // the default provided frame. If that's not provided, skip this whole
1339 // thing and just use the default images. 1339 // thing and just use the default images.
1340 int prs_base_id = 0; 1340 int prs_base_id = 0;
1341 1341
1342 #if defined(OS_WIN) && defined(USE_AURA) 1342 #if defined(OS_WIN)
1343 if (prs_id == PRS_THEME_FRAME_INCOGNITO_INACTIVE_WIN) { 1343 if (prs_id == PRS_THEME_FRAME_INCOGNITO_INACTIVE_WIN) {
1344 prs_base_id = images->count(PRS_THEME_FRAME_INCOGNITO_WIN) ? 1344 prs_base_id = images->count(PRS_THEME_FRAME_INCOGNITO_WIN) ?
1345 PRS_THEME_FRAME_INCOGNITO_WIN : PRS_THEME_FRAME_WIN; 1345 PRS_THEME_FRAME_INCOGNITO_WIN : PRS_THEME_FRAME_WIN;
1346 } else if (prs_id == PRS_THEME_FRAME_INACTIVE_WIN) { 1346 } else if (prs_id == PRS_THEME_FRAME_INACTIVE_WIN) {
1347 prs_base_id = PRS_THEME_FRAME_WIN; 1347 prs_base_id = PRS_THEME_FRAME_WIN;
1348 } else if (prs_id == PRS_THEME_FRAME_INCOGNITO_WIN && 1348 } else if (prs_id == PRS_THEME_FRAME_INCOGNITO_WIN &&
1349 !images->count(PRS_THEME_FRAME_INCOGNITO_WIN)) { 1349 !images->count(PRS_THEME_FRAME_INCOGNITO_WIN)) {
1350 prs_base_id = PRS_THEME_FRAME_WIN; 1350 prs_base_id = PRS_THEME_FRAME_WIN;
1351 } 1351 }
1352 #endif 1352 #endif
(...skipping 10 matching lines...) Expand all
1363 prs_base_id = PRS_THEME_FRAME; 1363 prs_base_id = PRS_THEME_FRAME;
1364 } else { 1364 } else {
1365 prs_base_id = prs_id; 1365 prs_base_id = prs_id;
1366 } 1366 }
1367 } 1367 }
1368 if (images->count(prs_id)) { 1368 if (images->count(prs_id)) {
1369 frame = (*images)[prs_id]; 1369 frame = (*images)[prs_id];
1370 } else if (prs_base_id != prs_id && images->count(prs_base_id)) { 1370 } else if (prs_base_id != prs_id && images->count(prs_base_id)) {
1371 frame = (*images)[prs_base_id]; 1371 frame = (*images)[prs_base_id];
1372 } else if (prs_base_id == PRS_THEME_FRAME_OVERLAY) { 1372 } else if (prs_base_id == PRS_THEME_FRAME_OVERLAY) {
1373 #if defined(OS_WIN) && defined(USE_AURA) 1373 #if defined(OS_WIN)
1374 if (images->count(PRS_THEME_FRAME_WIN)) { 1374 if (images->count(PRS_THEME_FRAME_WIN)) {
1375 #else 1375 #else
1376 if (images->count(PRS_THEME_FRAME)) { 1376 if (images->count(PRS_THEME_FRAME)) {
1377 #endif 1377 #endif
1378 // If there is no theme overlay, don't tint the default frame, 1378 // If there is no theme overlay, don't tint the default frame,
1379 // because it will overwrite the custom frame image when we cache and 1379 // because it will overwrite the custom frame image when we cache and
1380 // reload from disk. 1380 // reload from disk.
1381 frame = gfx::Image(); 1381 frame = gfx::Image();
1382 } 1382 }
1383 } else { 1383 } else {
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
1607 false, 1607 false,
1608 &bitmap_data)) { 1608 &bitmap_data)) {
1609 NOTREACHED() << "Unable to encode theme image for prs_id=" 1609 NOTREACHED() << "Unable to encode theme image for prs_id="
1610 << prs_id << " for scale_factor=" << scale_factors_[i]; 1610 << prs_id << " for scale_factor=" << scale_factors_[i];
1611 break; 1611 break;
1612 } 1612 }
1613 image_memory_[scaled_raw_id] = 1613 image_memory_[scaled_raw_id] =
1614 base::RefCountedBytes::TakeVector(&bitmap_data); 1614 base::RefCountedBytes::TakeVector(&bitmap_data);
1615 } 1615 }
1616 } 1616 }
OLDNEW
« no previous file with comments | « chrome/browser/profiles/avatar_menu_actions_desktop.cc ('k') | chrome/browser/themes/browser_theme_pack_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698