| Index: content/browser/tab_contents/tab_contents.cc
|
| diff --git a/content/browser/tab_contents/tab_contents.cc b/content/browser/tab_contents/tab_contents.cc
|
| index bbb77d070b3226768607f8534469700b1bf68a24..e9248445ee2bcd85589b221e3d29a73f26331ccf 100644
|
| --- a/content/browser/tab_contents/tab_contents.cc
|
| +++ b/content/browser/tab_contents/tab_contents.cc
|
| @@ -38,6 +38,7 @@
|
| #include "content/common/view_messages.h"
|
| #include "content/port/browser/render_widget_host_view_port.h"
|
| #include "content/public/browser/browser_context.h"
|
| +#include "content/public/browser/color_chooser.h"
|
| #include "content/public/browser/content_browser_client.h"
|
| #include "content/public/browser/devtools_agent_host_registry.h"
|
| #include "content/public/browser/download_manager.h"
|
| @@ -272,7 +273,8 @@ TabContents::TabContents(content::BrowserContext* browser_context,
|
| temporary_zoom_settings_(false),
|
| content_restrictions_(0),
|
| view_type_(content::VIEW_TYPE_TAB_CONTENTS),
|
| - has_opener_(false) {
|
| + has_opener_(false),
|
| + color_chooser_(NULL) {
|
| render_manager_.Init(browser_context, site_instance, routing_id);
|
|
|
| view_.reset(content::GetContentClient()->browser()->
|
| @@ -312,6 +314,9 @@ TabContents::~TabContents() {
|
| if (dialog_creator_)
|
| dialog_creator_->ResetJavaScriptState(this);
|
|
|
| + if (color_chooser_)
|
| + color_chooser_->End();
|
| +
|
| NotifyDisconnected();
|
|
|
| // Notify any observer that have a reference on this tab contents.
|
| @@ -558,6 +563,10 @@ bool TabContents::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_Find_Reply, OnFindReply)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_CrashedPlugin, OnCrashedPlugin)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_AppCacheAccessed, OnAppCacheAccessed)
|
| + IPC_MESSAGE_HANDLER(ViewHostMsg_OpenColorChooser, OnOpenColorChooser)
|
| + IPC_MESSAGE_HANDLER(ViewHostMsg_EndColorChooser, OnEndColorChooser)
|
| + IPC_MESSAGE_HANDLER(ViewHostMsg_SetSelectedColorInColorChooser,
|
| + OnSetSelectedColorInColorChooser)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP_EX()
|
|
|
| @@ -1381,6 +1390,20 @@ bool TabContents::HasOpener() const {
|
| return has_opener_;
|
| }
|
|
|
| +void TabContents::DidChooseColorInColorChooser(int color_chooser_id,
|
| + const SkColor& color) {
|
| + GetRenderViewHost()->Send(new ViewMsg_DidChooseColorResponse(
|
| + GetRenderViewHost()->GetRoutingID(), color_chooser_id, color));
|
| +}
|
| +
|
| +void TabContents::DidEndColorChooser(int color_chooser_id) {
|
| + GetRenderViewHost()->Send(new ViewMsg_DidEndColorChooser(
|
| + GetRenderViewHost()->GetRoutingID(), color_chooser_id));
|
| + if (delegate_)
|
| + delegate_->DidEndColorChooser();
|
| + color_chooser_ = NULL;
|
| +}
|
| +
|
| bool TabContents::FocusLocationBarByDefault() {
|
| content::WebUI* web_ui = GetWebUIForCurrentState();
|
| if (web_ui)
|
| @@ -1690,6 +1713,24 @@ void TabContents::OnAppCacheAccessed(const GURL& manifest_url,
|
| AppCacheAccessed(manifest_url, blocked_by_policy));
|
| }
|
|
|
| +void TabContents::OnOpenColorChooser(int color_chooser_id,
|
| + const SkColor& color) {
|
| + color_chooser_ = delegate_->OpenColorChooser(this, color_chooser_id, color);
|
| +}
|
| +
|
| +void TabContents::OnEndColorChooser(int color_chooser_id) {
|
| + if (color_chooser_ &&
|
| + color_chooser_id == color_chooser_->identifier())
|
| + color_chooser_->End();
|
| +}
|
| +
|
| +void TabContents::OnSetSelectedColorInColorChooser(int color_chooser_id,
|
| + const SkColor& color) {
|
| + if (color_chooser_ &&
|
| + color_chooser_id == color_chooser_->identifier())
|
| + color_chooser_->SetSelectedColor(color);
|
| +}
|
| +
|
| // Notifies the RenderWidgetHost instance about the fact that the page is
|
| // loading, or done loading and calls the base implementation.
|
| void TabContents::SetIsLoading(bool is_loading,
|
|
|