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

Side by Side Diff: Source/web/mac/WebSubstringUtil.mm

Issue 889563002: Make RenderObject::style() return a const object (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated change after Doug's review. Created 5 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « Source/web/WebFormControlElement.cpp ('k') | Source/web/tests/WebDocumentTest.cpp » ('j') | 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) 2005, 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2011 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 unsigned numCharacters = it.length(); 70 unsigned numCharacters = it.length();
71 if (!numCharacters) 71 if (!numCharacters)
72 continue; 72 continue;
73 73
74 Node* container = it.startContainer(); 74 Node* container = it.startContainer();
75 LayoutObject* renderer = container->renderer(); 75 LayoutObject* renderer = container->renderer();
76 ASSERT(renderer); 76 ASSERT(renderer);
77 if (!renderer) 77 if (!renderer)
78 continue; 78 continue;
79 79
80 LayoutStyle* style = renderer->style(); 80 const LayoutStyle& style = renderer->styleRef();
81 NSFont* font = style->font().primaryFont()->getNSFont(); 81 NSFont* font = style.font().primaryFont()->getNSFont();
82 // If the platform font can't be loaded, it's likely that the site is 82 // If the platform font can't be loaded, it's likely that the site is
83 // using a web font. For now, just use the default font instead. 83 // using a web font. For now, just use the default font instead.
84 // TODO(rsesek): Change the font activation flags to allow other process es 84 // TODO(rsesek): Change the font activation flags to allow other process es
85 // to use the font. 85 // to use the font.
86 if (!font) 86 if (!font)
87 font = [NSFont systemFontOfSize:style->font().fontDescription().comput edSize()]; 87 font = [NSFont systemFontOfSize:style.font().fontDescription().compu tedSize()];
88 [attrs setObject:font forKey:NSFontAttributeName]; 88 [attrs setObject:font forKey:NSFontAttributeName];
89 89
90 if (style->visitedDependentColor(CSSPropertyColor).alpha()) 90 if (style.visitedDependentColor(CSSPropertyColor).alpha())
91 [attrs setObject:nsColor(style->visitedDependentColor(CSSPropertyCol or)) forKey:NSForegroundColorAttributeName]; 91 [attrs setObject:nsColor(style.visitedDependentColor(CSSPropertyColo r)) forKey:NSForegroundColorAttributeName];
92 else 92 else
93 [attrs removeObjectForKey:NSForegroundColorAttributeName]; 93 [attrs removeObjectForKey:NSForegroundColorAttributeName];
94 if (style->visitedDependentColor(CSSPropertyBackgroundColor).alpha()) 94 if (style.visitedDependentColor(CSSPropertyBackgroundColor).alpha())
95 [attrs setObject:nsColor(style->visitedDependentColor(CSSPropertyBac kgroundColor)) forKey:NSBackgroundColorAttributeName]; 95 [attrs setObject:nsColor(style.visitedDependentColor(CSSPropertyBack groundColor)) forKey:NSBackgroundColorAttributeName];
96 else 96 else
97 [attrs removeObjectForKey:NSBackgroundColorAttributeName]; 97 [attrs removeObjectForKey:NSBackgroundColorAttributeName];
98 98
99 Vector<UChar> characters; 99 Vector<UChar> characters;
100 it.appendTextTo(characters); 100 it.appendTextTo(characters);
101 NSString* substring = 101 NSString* substring =
102 [[[NSString alloc] initWithCharacters:characters.data() 102 [[[NSString alloc] initWithCharacters:characters.data()
103 length:characters.size()] autorelease ]; 103 length:characters.size()] autorelease ];
104 [string replaceCharactersInRange:NSMakeRange(position, 0) 104 [string replaceCharactersInRange:NSMakeRange(position, 0)
105 withString:substring]; 105 withString:substring];
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 if (!editable) 158 if (!editable)
159 return nil; 159 return nil;
160 RefPtrWillBeRawPtr<Range> range(PlainTextRange(location, location + length). createRange(*editable)); 160 RefPtrWillBeRawPtr<Range> range(PlainTextRange(location, location + length). createRange(*editable));
161 if (!range) 161 if (!range)
162 return nil; 162 return nil;
163 163
164 return attributedSubstringFromRange(range.get()); 164 return attributedSubstringFromRange(range.get());
165 } 165 }
166 166
167 } // namespace blink 167 } // namespace blink
OLDNEW
« no previous file with comments | « Source/web/WebFormControlElement.cpp ('k') | Source/web/tests/WebDocumentTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698