Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / guestview / adview / adview_guest.h
blobaaefe00e3644e169025c63f031e977dd3cdd695f
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_GUESTVIEW_ADVIEW_ADVIEW_GUEST_H_
6 #define CHROME_BROWSER_GUESTVIEW_ADVIEW_ADVIEW_GUEST_H_
8 #include "base/values.h"
9 #include "chrome/browser/guestview/guestview.h"
10 #include "content/public/browser/web_contents_observer.h"
12 // An AdViewGuest is a WebContentsObserver on the guest WebContents of a
13 // <adview> tag. It provides the browser-side implementation of the <adview>
14 // API and manages the lifetime of <adview> extension events. AdViewGuest is
15 // created on attachment. When a guest WebContents is associated with
16 // a particular embedder WebContents, we call this "attachment".
17 // TODO(fsamuel): There might be an opportunity here to refactor and reuse code
18 // between AdViewGuest and WebViewGuest.
19 class AdViewGuest : public GuestView,
20 public content::WebContentsObserver {
21 public:
22 AdViewGuest(content::WebContents* guest_web_contents,
23 const std::string& extension_id);
25 static AdViewGuest* From(int embedder_process_id, int instance_id);
27 // GuestView implementation.
28 virtual GuestView::Type GetViewType() const OVERRIDE;
29 virtual WebViewGuest* AsWebView() OVERRIDE;
30 virtual AdViewGuest* AsAdView() OVERRIDE;
32 private:
33 virtual ~AdViewGuest();
35 virtual void DidCommitProvisionalLoadForFrame(
36 int64 frame_id,
37 const base::string16& frame_unique_name,
38 bool is_main_frame,
39 const GURL& url,
40 content::PageTransition transition_type,
41 content::RenderViewHost* render_view_host) OVERRIDE;
42 virtual void DidFailProvisionalLoad(
43 int64 frame_id,
44 const base::string16& frame_unique_name,
45 bool is_main_frame,
46 const GURL& validated_url,
47 int error_code,
48 const base::string16& error_description,
49 content::RenderViewHost* render_view_host) OVERRIDE;
51 DISALLOW_COPY_AND_ASSIGN(AdViewGuest);
54 #endif // CHROME_BROWSER_GUESTVIEW_ADVIEW_ADVIEW_GUEST_H_