1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_COMMON_SPELLCHECK_MARKER_H_ 6#define CHROME_COMMON_SPELLCHECK_MARKER_H_ 7 8class SpellCheckMarker { 9 public: 10 // A predicate to test spellcheck marker validity. 11 class IsValidPredicate { 12 public: 13 typedef SpellCheckMarker argument_type; 14 explicit IsValidPredicate(size_t text_length) : text_length_(text_length) {} 15 bool operator()(const SpellCheckMarker& marker) const { 16 return marker.offset < text_length_; 17 } 18 private: 19 size_t text_length_; 20 }; 21 22 // IPC requires a default constructor. 23 SpellCheckMarker() : hash(0xFFFFFFFF), offset(static_cast<size_t>(-1)) {} 24 25 SpellCheckMarker(uint32 hash, size_t offset) : hash(hash), offset(offset) {} 26 27 uint32 hash; 28 size_t offset; 29}; 30 31#endif // CHROME_COMMON_SPELLCHECK_MARKER_H_ 32