| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/webdata/web_database.h" | 5 #include "chrome/browser/webdata/web_database.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 SQLStatement s; | 194 SQLStatement s; |
| 195 if (s.prepare(db_, | 195 if (s.prepare(db_, |
| 196 "INSERT OR REPLACE INTO web_app_icons " | 196 "INSERT OR REPLACE INTO web_app_icons " |
| 197 "(url, width, height, image) VALUES (?, ?, ?, ?)") | 197 "(url, width, height, image) VALUES (?, ?, ?, ?)") |
| 198 != SQLITE_OK) { | 198 != SQLITE_OK) { |
| 199 NOTREACHED() << "Statement prepare failed"; | 199 NOTREACHED() << "Statement prepare failed"; |
| 200 return false; | 200 return false; |
| 201 } | 201 } |
| 202 | 202 |
| 203 std::vector<unsigned char> image_data; | 203 std::vector<unsigned char> image_data; |
| 204 | 204 PNGEncoder::EncodeBGRASkBitmap(image, false, &image_data); |
| 205 SkAutoLockPixels pixel_lock(image); | |
| 206 PNGEncoder::Encode(reinterpret_cast<unsigned char*>(image.getPixels()), | |
| 207 PNGEncoder::FORMAT_BGRA, image.width(), | |
| 208 image.height(), image.width() * 4, false, &image_data); | |
| 209 | 205 |
| 210 s.bind_string(0, history::HistoryDatabase::GURLToDatabaseURL(url)); | 206 s.bind_string(0, history::HistoryDatabase::GURLToDatabaseURL(url)); |
| 211 s.bind_int(1, image.width()); | 207 s.bind_int(1, image.width()); |
| 212 s.bind_int(2, image.height()); | 208 s.bind_int(2, image.height()); |
| 213 s.bind_blob(3, &image_data.front(), static_cast<int>(image_data.size())); | 209 s.bind_blob(3, &image_data.front(), static_cast<int>(image_data.size())); |
| 214 return s.step() == SQLITE_DONE; | 210 return s.step() == SQLITE_DONE; |
| 215 } | 211 } |
| 216 | 212 |
| 217 bool WebDatabase::GetWebAppImages(const GURL& url, | 213 bool WebDatabase::GetWebAppImages(const GURL& url, |
| 218 std::vector<SkBitmap>* images) { | 214 std::vector<SkBitmap>* images) { |
| (...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1134 | 1130 |
| 1135 // Add successive versions here. Each should set the version number and | 1131 // Add successive versions here. Each should set the version number and |
| 1136 // compatible version number as appropriate, then fall through to the next | 1132 // compatible version number as appropriate, then fall through to the next |
| 1137 // case. | 1133 // case. |
| 1138 | 1134 |
| 1139 case kCurrentVersionNumber: | 1135 case kCurrentVersionNumber: |
| 1140 // No migration needed. | 1136 // No migration needed. |
| 1141 return; | 1137 return; |
| 1142 } | 1138 } |
| 1143 } | 1139 } |
| OLD | NEW |