Changeset 186134 in webkit
- Timestamp:
- Jun 30, 2015 3:00:36 PM (9 years ago)
- Location:
- trunk/Source
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/mac/ChangeLog
r186124 r186134 1 2015-06-30 Simon Fraser <simon.fraser@apple.com> 2 3 Crash under _layoutForNodeHighlight: when inspecting espn.com 4 https://bugs.webkit.org/show_bug.cgi?id=146422 5 6 Reviewed by Joseph Pecoraro. 7 8 When inspecting espn.com, MobileSafari sometimes crashes, because 9 highlight.quads is empty. I was not able to quickly determine why. 10 11 Fix by bailing in this case. 12 13 * WebInspector/WebNodeHighlightView.mm: 14 (-[WebNodeHighlightView _layoutForNodeHighlight:parent:]): 15 1 16 2015-06-30 Anders Carlsson <andersca@apple.com> 2 17 -
trunk/Source/WebKit/mac/WebInspector/WebNodeHighlightView.mm
r178636 r186134 262 262 } 263 263 264 - (void)_layoutForNodeHighlight:(Highlight*)h parent:(CALayer *)parentLayer 265 { 264 - (void)_layoutForNodeHighlight:(Highlight*)highlight parent:(CALayer *)parentLayer 265 { 266 if (!highlight->quads.size()) { 267 [self _removeAllLayers]; 268 return; 269 } 270 266 271 [self _attach:parentLayer numLayers:4]; 267 272 … … 271 276 CAShapeLayer *contentLayer = [_layers objectAtIndex:3]; 272 277 273 FloatQuad marginQuad = h ->quads[0];274 FloatQuad borderQuad = h ->quads[1];275 FloatQuad paddingQuad = h ->quads[2];276 FloatQuad contentQuad = h ->quads[3];277 278 marginLayer.fillColor = cachedCGColor(h ->marginColor, ColorSpaceDeviceRGB);279 borderLayer.fillColor = cachedCGColor(h ->borderColor, ColorSpaceDeviceRGB);280 paddingLayer.fillColor = cachedCGColor(h ->paddingColor, ColorSpaceDeviceRGB);281 contentLayer.fillColor = cachedCGColor(h ->contentColor, ColorSpaceDeviceRGB);278 FloatQuad marginQuad = highlight->quads[0]; 279 FloatQuad borderQuad = highlight->quads[1]; 280 FloatQuad paddingQuad = highlight->quads[2]; 281 FloatQuad contentQuad = highlight->quads[3]; 282 283 marginLayer.fillColor = cachedCGColor(highlight->marginColor, ColorSpaceDeviceRGB); 284 borderLayer.fillColor = cachedCGColor(highlight->borderColor, ColorSpaceDeviceRGB); 285 paddingLayer.fillColor = cachedCGColor(highlight->paddingColor, ColorSpaceDeviceRGB); 286 contentLayer.fillColor = cachedCGColor(highlight->contentColor, ColorSpaceDeviceRGB); 282 287 283 288 layerPathWithHole(marginLayer, marginQuad, borderQuad); … … 287 292 } 288 293 289 - (void)_layoutForRectsHighlight:(Highlight*)h parent:(CALayer *)parentLayer290 { 291 NSUInteger numLayers = (NSUInteger)h->quads.size();294 - (void)_layoutForRectsHighlight:(Highlight*)highlight parent:(CALayer *)parentLayer 295 { 296 NSUInteger numLayers = highlight->quads.size(); 292 297 if (!numLayers) { 293 298 [self _removeAllLayers]; … … 297 302 [self _attach:parentLayer numLayers:numLayers]; 298 303 299 CGColorRef contentColor = cachedCGColor(h ->contentColor, ColorSpaceDeviceRGB);304 CGColorRef contentColor = cachedCGColor(highlight->contentColor, ColorSpaceDeviceRGB); 300 305 for (NSUInteger i = 0; i < numLayers; ++i) { 301 306 CAShapeLayer *layer = [_layers objectAtIndex:i]; 302 307 layer.fillColor = contentColor; 303 layerPath(layer, h ->quads[i]);308 layerPath(layer, highlight->quads[i]); 304 309 } 305 310 } -
trunk/Source/WebKit2/ChangeLog
r186133 r186134 1 2015-06-30 Simon Fraser <simon.fraser@apple.com> 2 3 Crash under _layoutForNodeHighlight: when inspecting espn.com 4 https://bugs.webkit.org/show_bug.cgi?id=146422 5 6 Reviewed by Joseph Pecoraro. 7 8 When inspecting espn.com, MobileSafari sometimes crashes, because 9 highlight.quads is empty. I was not able to quickly determine why. 10 11 Fix by bailing in this case. 12 13 * UIProcess/WKInspectorHighlightView.mm: 14 (-[WKInspectorHighlightView _layoutForNodeHighlight:]): 15 1 16 2015-06-30 Matt Baker <mattbaker@apple.com> 2 17 -
trunk/Source/WebKit2/UIProcess/WKInspectorHighlightView.mm
r178636 r186134 215 215 - (void)_layoutForNodeHighlight:(const Highlight&)highlight 216 216 { 217 if (!highlight.quads.size()) { 218 [self _removeAllLayers]; 219 return; 220 } 221 217 222 [self _createLayers:4]; 218 223 … … 240 245 - (void)_layoutForRectsHighlight:(const Highlight&)highlight 241 246 { 242 NSUInteger numLayers = (NSUInteger)highlight.quads.size();247 NSUInteger numLayers = highlight.quads.size(); 243 248 if (!numLayers) { 244 249 [self _removeAllLayers];
Note: See TracChangeset
for help on using the changeset viewer.