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

Unified Diff: chrome/browser/extensions/extension_tab_helper.h

Issue 6794035: Move dispatching and sending of the last extension specific messages out of TabContents and Rende... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_tab_helper.h
===================================================================
--- chrome/browser/extensions/extension_tab_helper.h (revision 80315)
+++ chrome/browser/extensions/extension_tab_helper.h (working copy)
@@ -2,21 +2,24 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSOIN_TAB_HELPER_H_
-#define CHROME_BROWSER_EXTENSIONS_EXTENSOIN_TAB_HELPER_H_
+#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_TAB_HELPER_H_
+#define CHROME_BROWSER_EXTENSIONS_EXTENSION_TAB_HELPER_H_
#pragma once
#include "content/browser/tab_contents/tab_contents_observer.h"
#include "chrome/browser/extensions/image_loading_tracker.h"
+#include "chrome/common/web_apps.h"
#include "third_party/skia/include/core/SkBitmap.h"
class Extension;
+class TabContentsWrapper;
+struct WebApplicationInfo;
// Per-tab extension helper.
class ExtensionTabHelper : public TabContentsObserver,
public ImageLoadingTracker::Observer {
public:
- explicit ExtensionTabHelper(TabContents* tab_contents);
+ explicit ExtensionTabHelper(TabContentsWrapper* wrapper);
virtual ~ExtensionTabHelper();
// Copies the internal state from another ExtensionTabHelper.
@@ -25,6 +28,11 @@
// Call this after updating a page action to notify clients about the changes.
void PageActionStateChanged();
+ // Requests application info for the specified page. This is an asynchronous
+ // request. The delegate is notified by way of OnDidGetApplicationInfo when
+ // the data is available.
+ void GetApplicationInfo(int32 page_id);
+
// App extensions ------------------------------------------------------------
// Sets the extension denoting this as an app. If |extension| is non-null this
@@ -43,6 +51,9 @@
const Extension* extension_app() const { return extension_app_; }
bool is_app() const { return extension_app_ != NULL; }
+ const WebApplicationInfo& web_app_info() const {
+ return web_app_info_;
+ }
// If an app extension has been explicitly set for this TabContents its icon
// is returned.
@@ -60,8 +71,12 @@
virtual void DidNavigateMainFramePostCommit(
const NavigationController::LoadCommittedDetails& details,
const ViewHostMsg_FrameNavigate_Params& params) OVERRIDE;
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
+ virtual bool OnMessageReceived(const IPC::Message& message);
+ // Message handlers.
+ void OnDidGetApplicationInfo(int32 page_id, const WebApplicationInfo& info);
+ void OnInstallApplication(const WebApplicationInfo& info);
+
// App extensions related methods:
// Resets app_icon_ and if |extension| is non-null creates a new
@@ -72,9 +87,6 @@
virtual void OnImageLoaded(SkBitmap* image, const ExtensionResource& resource,
int index);
- // Message handlers.
- void OnPostMessage(int port_id, const std::string& message);
-
// Data for app extensions ---------------------------------------------------
// If non-null this tab is an app tab and this is the extension the tab was
@@ -87,7 +99,12 @@
// Used for loading extension_app_icon_.
scoped_ptr<ImageLoadingTracker> extension_app_image_loader_;
+ // Cached web app info data.
+ WebApplicationInfo web_app_info_;
+
+ TabContentsWrapper* wrapper_;
+
DISALLOW_COPY_AND_ASSIGN(ExtensionTabHelper);
};
-#endif // CHROME_BROWSER_EXTENSIONS_EXTENSOIN_TAB_HELPER_H_
+#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_TAB_HELPER_H_

Powered by Google App Engine
This is Rietveld 408576698