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

Side by Side Diff: content/browser/permissions/permission_service_context.cc

Issue 722153003: Implement basic mojo Permission service and use it for Geolocation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 2014 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 "content/browser/permissions/permission_service_context.h"
6
7 #include "content/browser/permissions/permission_service_impl.h"
8 #include "content/public/browser/navigation_details.h"
9 #include "content/public/browser/render_frame_host.h"
10 #include "content/public/browser/web_contents.h"
11
12 namespace content {
13
14 PermissionServiceContext::PermissionServiceContext(
15 RenderFrameHost* render_frame_host)
16 : WebContentsObserver(WebContents::FromRenderFrameHost(render_frame_host))
17 , render_frame_host_(render_frame_host)
18 , service_(nullptr) {
19 }
20
21 PermissionServiceContext::~PermissionServiceContext() {
22 }
23
24 void PermissionServiceContext::RenderFrameDeleted(
25 RenderFrameHost* render_frame_host) {
26 if (render_frame_host != render_frame_host_)
27 return;
28
29 if (service_)
30 service_->CancelPendingRequests();
31 }
32
33 void PermissionServiceContext::DidNavigateAnyFrame(
34 RenderFrameHost* render_frame_host,
35 const LoadCommittedDetails& details,
36 const FrameNavigateParams& params) {
37 if (render_frame_host != render_frame_host_ || details.is_in_page)
38 return;
39
40 if (service_)
41 service_->CancelPendingRequests();
42 }
43
44 RenderFrameHost* PermissionServiceContext::render_frame_host() {
45 return render_frame_host_;
46 }
47
48 void PermissionServiceContext::set_service(PermissionServiceImpl* service) {
49 service_ = service;
50 }
51
52 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698