Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: Source/wtf/text/TextPosition.h

Issue 583903003: [Thread-safe] Take isolatedCopy of SecurityOrigin in ResourceLoaderOptions when passed across thread (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/fetch/ResourceLoaderOptionsTest.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010, Google Inc. All rights reserved. 2 * Copyright (C) 2010, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 26 matching lines...) Expand all
37 // call a first element '0' or '1' which makes integer type ambiguous. 37 // call a first element '0' or '1' which makes integer type ambiguous.
38 class OrdinalNumber { 38 class OrdinalNumber {
39 public: 39 public:
40 static OrdinalNumber fromZeroBasedInt(int zeroBasedInt) { return OrdinalNumb er(zeroBasedInt); } 40 static OrdinalNumber fromZeroBasedInt(int zeroBasedInt) { return OrdinalNumb er(zeroBasedInt); }
41 static OrdinalNumber fromOneBasedInt(int oneBasedInt) { return OrdinalNumber (oneBasedInt - 1); } 41 static OrdinalNumber fromOneBasedInt(int oneBasedInt) { return OrdinalNumber (oneBasedInt - 1); }
42 OrdinalNumber() : m_zeroBasedValue(0) { } 42 OrdinalNumber() : m_zeroBasedValue(0) { }
43 43
44 int zeroBasedInt() const { return m_zeroBasedValue; } 44 int zeroBasedInt() const { return m_zeroBasedValue; }
45 int oneBasedInt() const { return m_zeroBasedValue + 1; } 45 int oneBasedInt() const { return m_zeroBasedValue + 1; }
46 46
47 bool operator==(OrdinalNumber other) { return m_zeroBasedValue == other.m_ze roBasedValue; } 47 bool operator==(OrdinalNumber other) const { return m_zeroBasedValue == othe r.m_zeroBasedValue; }
48 bool operator!=(OrdinalNumber other) { return !((*this) == other); } 48 bool operator!=(OrdinalNumber other) const { return !((*this) == other); }
49 49
50 static OrdinalNumber first() { return OrdinalNumber(0); } 50 static OrdinalNumber first() { return OrdinalNumber(0); }
51 static OrdinalNumber beforeFirst() { return OrdinalNumber(-1); } 51 static OrdinalNumber beforeFirst() { return OrdinalNumber(-1); }
52 52
53 private: 53 private:
54 OrdinalNumber(int zeroBasedInt) : m_zeroBasedValue(zeroBasedInt) { } 54 OrdinalNumber(int zeroBasedInt) : m_zeroBasedValue(zeroBasedInt) { }
55 int m_zeroBasedValue; 55 int m_zeroBasedValue;
56 }; 56 };
57 57
58 58
59 // TextPosition structure specifies coordinates within an text resource. It is u sed mostly 59 // TextPosition structure specifies coordinates within an text resource. It is u sed mostly
60 // for saving script source position. 60 // for saving script source position.
61 class TextPosition { 61 class TextPosition {
62 public: 62 public:
63 TextPosition(OrdinalNumber line, OrdinalNumber column) 63 TextPosition(OrdinalNumber line, OrdinalNumber column)
64 : m_line(line) 64 : m_line(line)
65 , m_column(column) 65 , m_column(column)
66 { 66 {
67 } 67 }
68 TextPosition() { } 68 TextPosition() { }
69 bool operator==(const TextPosition& other) { return m_line == other.m_line & & m_column == other.m_column; } 69 bool operator==(const TextPosition& other) const { return m_line == other.m_ line && m_column == other.m_column; }
70 bool operator!=(const TextPosition& other) { return !((*this) == other); } 70 bool operator!=(const TextPosition& other) const { return !((*this) == other ); }
71 WTF_EXPORT OrdinalNumber toOffset(const Vector<unsigned>&); 71 WTF_EXPORT OrdinalNumber toOffset(const Vector<unsigned>&);
72 72
73 // A 'minimum' value of position, used as a default value. 73 // A 'minimum' value of position, used as a default value.
74 static TextPosition minimumPosition() { return TextPosition(OrdinalNumber::f irst(), OrdinalNumber::first()); } 74 static TextPosition minimumPosition() { return TextPosition(OrdinalNumber::f irst(), OrdinalNumber::first()); }
75 75
76 // A value with line value less than a minimum; used as an impossible positi on. 76 // A value with line value less than a minimum; used as an impossible positi on.
77 static TextPosition belowRangePosition() { return TextPosition(OrdinalNumber ::beforeFirst(), OrdinalNumber::beforeFirst()); } 77 static TextPosition belowRangePosition() { return TextPosition(OrdinalNumber ::beforeFirst(), OrdinalNumber::beforeFirst()); }
78 78
79 // A value corresponding to a position with given offset within text having the specified line ending offsets. 79 // A value corresponding to a position with given offset within text having the specified line ending offsets.
80 WTF_EXPORT static TextPosition fromOffsetAndLineEndings(unsigned, const Vect or<unsigned>&); 80 WTF_EXPORT static TextPosition fromOffsetAndLineEndings(unsigned, const Vect or<unsigned>&);
81 81
82 OrdinalNumber m_line; 82 OrdinalNumber m_line;
83 OrdinalNumber m_column; 83 OrdinalNumber m_column;
84 }; 84 };
85 85
86 WTF_EXPORT PassOwnPtr<Vector<unsigned> > lineEndings(const String&); 86 WTF_EXPORT PassOwnPtr<Vector<unsigned> > lineEndings(const String&);
87 87
88 } // namespace WTF 88 } // namespace WTF
89 89
90 using WTF::OrdinalNumber; 90 using WTF::OrdinalNumber;
91 91
92 using WTF::TextPosition; 92 using WTF::TextPosition;
93 93
94 using WTF::lineEndings; 94 using WTF::lineEndings;
95 95
96 #endif // TextPosition_h 96 #endif // TextPosition_h
OLDNEW
« no previous file with comments | « Source/core/fetch/ResourceLoaderOptionsTest.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698