| Index: content/public/browser/web_ui_message_handler.h
|
| ===================================================================
|
| --- content/public/browser/web_ui_message_handler.h (revision 0)
|
| +++ content/public/browser/web_ui_message_handler.h (revision 0)
|
| @@ -0,0 +1,73 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CONTENT_PUBLIC_BROWSER_WEB_UI_MESSAGE_HANDLER_H_
|
| +#define CONTENT_PUBLIC_BROWSER_WEB_UI_MESSAGE_HANDLER_H_
|
| +#pragma once
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/string16.h"
|
| +#include "content/common/content_export.h"
|
| +
|
| +class GURL;
|
| +class WebUI;
|
| +class WebUIBrowserTest;
|
| +
|
| +namespace base {
|
| +class DictionaryValue;
|
| +class ListValue;
|
| +}
|
| +
|
| +namespace content {
|
| +
|
| +// Messages sent from the DOM are forwarded via the WebUI to handler
|
| +// classes. These objects are owned by WebUI and destroyed when the
|
| +// host is destroyed.
|
| +class CONTENT_EXPORT WebUIMessageHandler {
|
| + public:
|
| + WebUIMessageHandler() : web_ui_(NULL) {}
|
| + virtual ~WebUIMessageHandler() {}
|
| +
|
| + protected:
|
| + // Helper methods:
|
| +
|
| + // Adds "url" and "title" keys on incoming dictionary, setting title
|
| + // as the url as a fallback on empty title.
|
| + static void SetURLAndTitle(base::DictionaryValue* dictionary,
|
| + string16 title,
|
| + const GURL& gurl);
|
| +
|
| + // Extract an integer value from a list Value.
|
| + static bool ExtractIntegerValue(const base::ListValue* value, int* out_int);
|
| +
|
| + // Extract a floating point (double) value from a list Value.
|
| + static bool ExtractDoubleValue(const base::ListValue* value,
|
| + double* out_value);
|
| +
|
| + // Extract a string value from a list Value.
|
| + static string16 ExtractStringValue(const base::ListValue* value);
|
| +
|
| + // This is where subclasses specify which messages they'd like to handle and
|
| + // perform any additional initialization.. At this point web_ui() will return
|
| + // the associated WebUI object.
|
| + virtual void RegisterMessages() = 0;
|
| +
|
| + // Returns the attached WebUI for this handler.
|
| + WebUI* web_ui() const { return web_ui_; }
|
| +
|
| + private:
|
| + friend class ::WebUI;
|
| + friend class ::WebUIBrowserTest;
|
| +
|
| + void set_web_ui(WebUI* web_ui) { web_ui_ = web_ui; }
|
| +
|
| + WebUI* web_ui_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(WebUIMessageHandler);
|
| +};
|
| +
|
| +} // namespace content
|
| +
|
| +#endif // CONTENT_PUBLIC_BROWSER_WEB_UI_MESSAGE_HANDLER_H_
|
| +
|
|
|
| Property changes on: content\public\browser\web_ui_message_handler.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|