| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. Use of this | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // source code is governed by a BSD-style license that can be found in the | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This file contains ParamTraits templates to support serialization of WebKit | 5 // This file contains ParamTraits templates to support serialization of WebKit |
| 6 // data types over IPC. | 6 // data types over IPC. |
| 7 // | 7 // |
| 8 // NOTE: IT IS IMPORTANT THAT ONLY POD (plain old data) TYPES ARE SERIALIZED. | 8 // NOTE: IT IS IMPORTANT THAT ONLY POD (plain old data) TYPES ARE SERIALIZED. |
| 9 // | 9 // |
| 10 // There are several reasons for this restrictions: | 10 // There are several reasons for this restrictions: |
| 11 // | 11 // |
| 12 // o We don't want inclusion of this file to imply linking to WebKit code. | 12 // o We don't want inclusion of this file to imply linking to WebKit code. |
| 13 // | 13 // |
| 14 // o Many WebKit structures are not thread-safe. WebString, for example, | 14 // o Many WebKit structures are not thread-safe. WebString, for example, |
| 15 // contains a reference counted buffer, which does not use thread-safe | 15 // contains a reference counted buffer, which does not use thread-safe |
| 16 // reference counting. If we allowed serializing WebString, then we may ru
n | 16 // reference counting. If we allowed serializing WebString, then we may |
| 17 // the risk of introducing subtle thread-safety bugs if people passed a | 17 // run the risk of introducing subtle thread-safety bugs if people passed a |
| 18 // WebString across threads via PostTask(NewRunnableMethod(...)). | 18 // WebString across threads via PostTask(NewRunnableMethod(...)). |
| 19 // | 19 // |
| 20 // o The WebKit API has redundant types for strings, and we should avoid usin
g | 20 // o The WebKit API has redundant types for strings, and we should avoid |
| 21 // those beyond code that interfaces with the WebKit API. | 21 // using those beyond code that interfaces with the WebKit API. |
| 22 | 22 |
| 23 #ifndef CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ | 23 #ifndef CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ |
| 24 #define CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ | 24 #define CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ |
| 25 #pragma once | 25 #pragma once |
| 26 | 26 |
| 27 #include "ipc/ipc_message_utils.h" | 27 #include "ipc/ipc_message_utils.h" |
| 28 #include "third_party/WebKit/WebKit/chromium/public/WebCache.h" | 28 #include "third_party/WebKit/WebKit/chromium/public/WebCache.h" |
| 29 #include "third_party/WebKit/WebKit/chromium/public/WebCompositionUnderline.h" | 29 #include "third_party/WebKit/WebKit/chromium/public/WebCompositionUnderline.h" |
| 30 #include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h" | 30 #include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h" |
| 31 #include "third_party/WebKit/WebKit/chromium/public/WebContextMenuData.h" | 31 #include "third_party/WebKit/WebKit/chromium/public/WebContextMenuData.h" |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 control = L"UNKNOWN"; | 434 control = L"UNKNOWN"; |
| 435 break; | 435 break; |
| 436 } | 436 } |
| 437 LogParam(control, l); | 437 LogParam(control, l); |
| 438 } | 438 } |
| 439 }; | 439 }; |
| 440 | 440 |
| 441 } // namespace IPC | 441 } // namespace IPC |
| 442 | 442 |
| 443 #endif // CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ | 443 #endif // CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ |
| OLD | NEW |