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

Side by Side Diff: chrome/browser/ui/android/context_menu_helper.cc

Issue 2943363003: Fixing transparent pixels appearing black when rendered for the context menu. (Closed)
Patch Set: rebase Created 3 years, 6 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ui/android/context_menu_helper.h" 5 #include "chrome/browser/ui/android/context_menu_helper.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 21 matching lines...) Expand all
32 using base::android::ConvertJavaStringToUTF8; 32 using base::android::ConvertJavaStringToUTF8;
33 using base::android::ConvertUTF8ToJavaString; 33 using base::android::ConvertUTF8ToJavaString;
34 using base::android::ConvertUTF16ToJavaString; 34 using base::android::ConvertUTF16ToJavaString;
35 using base::android::JavaParamRef; 35 using base::android::JavaParamRef;
36 36
37 DEFINE_WEB_CONTENTS_USER_DATA_KEY(ContextMenuHelper); 37 DEFINE_WEB_CONTENTS_USER_DATA_KEY(ContextMenuHelper);
38 38
39 const char kDataReductionProxyPassthroughHeader[] = 39 const char kDataReductionProxyPassthroughHeader[] =
40 "Chrome-Proxy-Accept-Transform: identity\r\n"; 40 "Chrome-Proxy-Accept-Transform: identity\r\n";
41 41
42 const bool kUsePNGCodec = true;
43
42 namespace { 44 namespace {
43 45
44 class ContextMenuHelperImageRequest : public ImageDecoder::ImageRequest { 46 class ContextMenuHelperImageRequest : public ImageDecoder::ImageRequest {
45 public: 47 public:
46 static void Start(const base::android::JavaRef<jobject>& jcallback, 48 static void Start(const base::android::JavaRef<jobject>& jcallback,
47 const std::vector<uint8_t>& thumbnail_data) { 49 const std::vector<uint8_t>& thumbnail_data) {
48 ContextMenuHelperImageRequest* request = 50 ContextMenuHelperImageRequest* request =
49 new ContextMenuHelperImageRequest(jcallback); 51 new ContextMenuHelperImageRequest(jcallback);
50 ImageDecoder::Start(request, thumbnail_data); 52 ImageDecoder::Start(request, thumbnail_data);
51 } 53 }
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_); 233 content::RenderFrameHost::FromID(render_process_id_, render_frame_id_);
232 if (!render_frame_host) 234 if (!render_frame_host)
233 return; 235 return;
234 236
235 chrome::mojom::ThumbnailCapturerPtr thumbnail_capturer; 237 chrome::mojom::ThumbnailCapturerPtr thumbnail_capturer;
236 render_frame_host->GetRemoteInterfaces()->GetInterface(&thumbnail_capturer); 238 render_frame_host->GetRemoteInterfaces()->GetInterface(&thumbnail_capturer);
237 // Bind the InterfacePtr into the callback so that it's kept alive 239 // Bind the InterfacePtr into the callback so that it's kept alive
238 // until there's either a connection error or a response. 240 // until there's either a connection error or a response.
239 auto* thumbnail_capturer_proxy = thumbnail_capturer.get(); 241 auto* thumbnail_capturer_proxy = thumbnail_capturer.get();
240 thumbnail_capturer_proxy->RequestThumbnailForContextNode( 242 thumbnail_capturer_proxy->RequestThumbnailForContextNode(
241 0, gfx::Size(max_dimen_px, max_dimen_px), 243 0, gfx::Size(max_dimen_px, max_dimen_px), kUsePNGCodec,
242 base::Bind(retrieve_callback, base::Passed(&thumbnail_capturer), 244 base::Bind(retrieve_callback, base::Passed(&thumbnail_capturer),
243 base::android::ScopedJavaGlobalRef<jobject>(env, jcallback))); 245 base::android::ScopedJavaGlobalRef<jobject>(env, jcallback)));
244 } 246 }
245 247
246 bool RegisterContextMenuHelper(JNIEnv* env) { 248 bool RegisterContextMenuHelper(JNIEnv* env) {
247 return RegisterNativesImpl(env); 249 return RegisterNativesImpl(env);
248 } 250 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698