14a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved.
24a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
34a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// found in the LICENSE file.
44a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
54a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#ifndef CHROME_BROWSER_UI_VIEWS_LOCAL_STORAGE_SET_ITEM_INFO_VIEW_H_
64a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#define CHROME_BROWSER_UI_VIEWS_LOCAL_STORAGE_SET_ITEM_INFO_VIEW_H_
74a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#pragma once
84a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
94a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include <string>
104a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
114a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "base/string16.h"
124a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "views/view.h"
134a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
144a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace views {
154a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochclass Label;
164a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochclass Textfield;
174a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch}
184a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
194a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch///////////////////////////////////////////////////////////////////////////////
204a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// LocalStorageSetItemInfoView
214a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch//
224a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch//  Responsible for displaying a tabular grid of Local Storage information when
234a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch//  prompting for permission to set an item.
244a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochclass LocalStorageSetItemInfoView : public views::View {
254a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch public:
264a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  LocalStorageSetItemInfoView();
274a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  virtual ~LocalStorageSetItemInfoView();
284a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
294a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  // Update the display from the specified Local Storage info.
304a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  void SetFields(const std::string& host,
314a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch                 const string16& key,
324a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch                 const string16& value);
334a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
344a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  // Clears the display to indicate that no or multiple local storages
354a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  // are selected.
364a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  void ClearLocalStorageDisplay();
374a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
384a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  // Enables or disables the local storate property text fields.
394a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  void EnableLocalStorageDisplay(bool enabled);
404a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
414a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch protected:
424a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  // views::View overrides:
434a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  virtual void ViewHierarchyChanged(
444a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch      bool is_add, views::View* parent, views::View* child);
454a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
464a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch private:
474a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  // Set up the view layout
484a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  void Init();
494a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
504a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  // Individual property labels
514a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  views::Textfield* host_value_field_;
524a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  views::Textfield* key_value_field_;
534a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  views::Textfield* value_value_field_;
544a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
554a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch  DISALLOW_COPY_AND_ASSIGN(LocalStorageSetItemInfoView);
564a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch};
574a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
584a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
594a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#endif  // CHROME_BROWSER_UI_VIEWS_LOCAL_STORAGE_SET_ITEM_INFO_VIEW_H_
604a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
61