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

Side by Side Diff: android_webview/browser/aw_contents_client_bridge_base.cc

Issue 12091111: Implement Webviewclient.onReceivedSslError (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wasting time... Created 7 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
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "android_webview/browser/aw_contents_client_bridge_base.h"
6
7 #include "content/public/browser/browser_thread.h"
8 #include "content/public/browser/render_view_host.h"
9 #include "content/public/browser/web_contents.h"
10
11 using content::BrowserThread;
12 using content::WebContents;
13
14 namespace android_webview {
15
16 namespace {
17
18 const void* kAwContentsClientBridgeBase = &kAwContentsClientBridgeBase;
19
20 // This class is invented so that the UserData registry that we inject the
21 // AwContentsClientBridgeBase object does not own and destroy it.
22 class UserData : public base::SupportsUserData::Data {
23 public:
24 static AwContentsClientBridgeBase* GetContents(
25 content::WebContents* web_contents) {
26 if (!web_contents)
27 return NULL;
28 UserData* data = reinterpret_cast<UserData*>(
29 web_contents->GetUserData(kAwContentsClientBridgeBase));
30 return data ? data->contents_ : NULL;
31 }
32
33 explicit UserData(AwContentsClientBridgeBase* ptr) : contents_(ptr) {}
34 private:
35 AwContentsClientBridgeBase* contents_;
36
37 DISALLOW_COPY_AND_ASSIGN(UserData);
38 };
39
40 } // namespace
41
42 // static
43 void AwContentsClientBridgeBase::Associate(
44 WebContents* web_contents,
45 AwContentsClientBridgeBase* handler) {
46 web_contents->SetUserData(kAwContentsClientBridgeBase,
47 new UserData(handler));
48 }
49
50 // static
51 AwContentsClientBridgeBase* AwContentsClientBridgeBase::FromWebContents(
52 WebContents* web_contents) {
53 return UserData::GetContents(web_contents);
54 }
55
56 // static
57 AwContentsClientBridgeBase* AwContentsClientBridgeBase::FromID(
58 int render_process_id,
59 int render_view_id) {
60 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
61 const content::RenderViewHost* rvh =
62 content::RenderViewHost::FromID(render_process_id, render_view_id);
63 if (!rvh) return NULL;
64 content::WebContents* web_contents =
65 content::WebContents::FromRenderViewHost(rvh);
66 return UserData::GetContents(web_contents);
67 }
68
69 AwContentsClientBridgeBase::~AwContentsClientBridgeBase() {
70 }
71
72 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/aw_contents_client_bridge_base.h ('k') | android_webview/browser/aw_http_auth_handler_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698