Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file defines the interface class OmniboxView. Each toolkit will | 5 // This file defines the interface class OmniboxView. Each toolkit will |
| 6 // implement the edit view differently, so that code is inherently platform | 6 // implement the edit view differently, so that code is inherently platform |
| 7 // specific. However, the AutocompleteEditModel needs to do some communication | 7 // specific. However, the AutocompleteEditModel needs to do some communication |
| 8 // with the view. Since the model is shared between platforms, we need to | 8 // with the view. Since the model is shared between platforms, we need to |
| 9 // define an interface that all view implementations will share. | 9 // define an interface that all view implementations will share. |
| 10 | 10 |
| 11 #ifndef CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_VIEW_H_ | 11 #ifndef CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_VIEW_H_ |
| 12 #define CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_VIEW_H_ | 12 #define CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_VIEW_H_ |
| 13 #pragma once | 13 #pragma once |
| 14 | 14 |
| 15 #include <string> | 15 #include <string> |
| 16 | 16 |
| 17 #include "base/string16.h" | 17 #include "base/string16.h" |
| 18 #include "base/string_util.h" | |
| 19 #include "base/utf_string_conversions.h" | |
| 18 #include "chrome/browser/autocomplete/autocomplete_match.h" | 20 #include "chrome/browser/autocomplete/autocomplete_match.h" |
| 19 #include "content/common/page_transition_types.h" | 21 #include "content/common/page_transition_types.h" |
| 22 #include "content/common/url_constants.h" | |
| 20 #include "ui/gfx/native_widget_types.h" | 23 #include "ui/gfx/native_widget_types.h" |
| 21 #include "webkit/glue/window_open_disposition.h" | 24 #include "webkit/glue/window_open_disposition.h" |
| 22 | 25 |
| 23 class AutocompleteEditModel; | 26 class AutocompleteEditModel; |
| 24 class CommandUpdater; | 27 class CommandUpdater; |
| 25 class GURL; | 28 class GURL; |
| 26 class TabContents; | 29 class TabContents; |
| 27 | 30 |
| 28 #if defined(TOOLKIT_VIEWS) | 31 #if defined(TOOLKIT_VIEWS) |
| 29 namespace views { | 32 namespace views { |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 180 // returns the views::View of the edit view. | 183 // returns the views::View of the edit view. |
| 181 virtual views::View* AddToView(views::View* parent) = 0; | 184 virtual views::View* AddToView(views::View* parent) = 0; |
| 182 | 185 |
| 183 // Performs the drop of a drag and drop operation on the view. | 186 // Performs the drop of a drag and drop operation on the view. |
| 184 virtual int OnPerformDrop(const views::DropTargetEvent& event) = 0; | 187 virtual int OnPerformDrop(const views::DropTargetEvent& event) = 0; |
| 185 #endif | 188 #endif |
| 186 | 189 |
| 187 virtual ~OmniboxView() {} | 190 virtual ~OmniboxView() {} |
| 188 }; | 191 }; |
| 189 | 192 |
| 193 // Strips any leading javascript schemas from a string. | |
| 194 // Returns true if the output string differs from the input. | |
| 195 static inline bool StripJavascriptSchema(const string16& text, string16* out) { | |
|
Peter Kasting
2011/05/20 22:04:14
Nit: Don't do this inline. It's not speed-critica
Cris Neckar
2011/05/24 00:10:06
Done.
| |
| 196 const string16 kJsPrefix(UTF8ToUTF16(chrome::kJavaScriptScheme) + | |
| 197 UTF8ToUTF16(":")); | |
|
Peter Kasting
2011/05/20 22:04:14
Nit: I think both of these can be ASCIIToUTF16().
Cris Neckar
2011/05/24 00:10:06
Done.
| |
| 198 bool changed = false; | |
| 199 *out = text; | |
|
Peter Kasting
2011/05/20 22:04:14
Nit: Shorter:
for (*out = text; StartsWith(*out
Cris Neckar
2011/05/24 00:10:06
Done.
| |
| 200 while (StartsWith(*out, kJsPrefix, false)) { | |
| 201 changed = true; | |
| 202 TrimWhitespace(out->substr(kJsPrefix.length()), TRIM_LEADING, out); | |
| 203 } | |
| 204 return changed; | |
| 205 } | |
| 206 | |
| 190 #endif // CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_VIEW_H_ | 207 #endif // CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_VIEW_H_ |
| OLD | NEW |