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

Side by Side Diff: Source/core/css/CSSPrimitiveValue.cpp

Issue 1303173007: Oilpan: Unship Oilpan from CSSValues Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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/core/css/CSSPrimitiveValue.h ('k') | Source/core/css/CSSProperty.h » ('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 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights reserv ed. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights reserv ed.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 m_primitiveUnitType = static_cast<unsigned>(type); 334 m_primitiveUnitType = static_cast<unsigned>(type);
335 } 335 }
336 336
337 void CSSPrimitiveValue::init(const LengthSize& lengthSize, const ComputedStyle& style) 337 void CSSPrimitiveValue::init(const LengthSize& lengthSize, const ComputedStyle& style)
338 { 338 {
339 init(UnitType::Pair); 339 init(UnitType::Pair);
340 m_hasCachedCSSText = false; 340 m_hasCachedCSSText = false;
341 m_value.pair = Pair::create(create(lengthSize.width(), style.effectiveZoom() ), create(lengthSize.height(), style.effectiveZoom()), Pair::KeepIdenticalValues ).leakRef(); 341 m_value.pair = Pair::create(create(lengthSize.width(), style.effectiveZoom() ), create(lengthSize.height(), style.effectiveZoom()), Pair::KeepIdenticalValues ).leakRef();
342 } 342 }
343 343
344 void CSSPrimitiveValue::init(PassRefPtrWillBeRawPtr<Rect> r) 344 void CSSPrimitiveValue::init(PassRefPtr<Rect> r)
345 { 345 {
346 init(UnitType::Rect); 346 init(UnitType::Rect);
347 m_hasCachedCSSText = false; 347 m_hasCachedCSSText = false;
348 m_value.rect = r.leakRef(); 348 m_value.rect = r.leakRef();
349 } 349 }
350 350
351 void CSSPrimitiveValue::init(PassRefPtrWillBeRawPtr<Quad> quad) 351 void CSSPrimitiveValue::init(PassRefPtr<Quad> quad)
352 { 352 {
353 init(UnitType::Quad); 353 init(UnitType::Quad);
354 m_hasCachedCSSText = false; 354 m_hasCachedCSSText = false;
355 m_value.quad = quad.leakRef(); 355 m_value.quad = quad.leakRef();
356 } 356 }
357 357
358 void CSSPrimitiveValue::init(PassRefPtrWillBeRawPtr<Pair> p) 358 void CSSPrimitiveValue::init(PassRefPtr<Pair> p)
359 { 359 {
360 init(UnitType::Pair); 360 init(UnitType::Pair);
361 m_hasCachedCSSText = false; 361 m_hasCachedCSSText = false;
362 m_value.pair = p.leakRef(); 362 m_value.pair = p.leakRef();
363 } 363 }
364 364
365 void CSSPrimitiveValue::init(PassRefPtrWillBeRawPtr<CSSCalcValue> c) 365 void CSSPrimitiveValue::init(PassRefPtr<CSSCalcValue> c)
366 { 366 {
367 init(UnitType::Calc); 367 init(UnitType::Calc);
368 m_hasCachedCSSText = false; 368 m_hasCachedCSSText = false;
369 m_value.calc = c.leakRef(); 369 m_value.calc = c.leakRef();
370 } 370 }
371 371
372 void CSSPrimitiveValue::init(PassRefPtrWillBeRawPtr<CSSBasicShape> shape) 372 void CSSPrimitiveValue::init(PassRefPtr<CSSBasicShape> shape)
373 { 373 {
374 init(UnitType::Shape); 374 init(UnitType::Shape);
375 m_hasCachedCSSText = false; 375 m_hasCachedCSSText = false;
376 m_value.shape = shape.leakRef(); 376 m_value.shape = shape.leakRef();
377 } 377 }
378 378
379 CSSPrimitiveValue::~CSSPrimitiveValue() 379 CSSPrimitiveValue::~CSSPrimitiveValue()
380 { 380 {
381 cleanup(); 381 cleanup();
382 } 382 }
383 383
384 void CSSPrimitiveValue::cleanup() 384 void CSSPrimitiveValue::cleanup()
385 { 385 {
386 switch (type()) { 386 switch (type()) {
387 case UnitType::CustomIdentifier: 387 case UnitType::CustomIdentifier:
388 case UnitType::String: 388 case UnitType::String:
389 case UnitType::URI: 389 case UnitType::URI:
390 case UnitType::Attribute: 390 case UnitType::Attribute:
391 if (m_value.string) 391 if (m_value.string)
392 m_value.string->deref(); 392 m_value.string->deref();
393 break; 393 break;
394 case UnitType::Rect: 394 case UnitType::Rect:
395 // We must not call deref() when oilpan is enabled because m_value.rect is traced.
396 #if !ENABLE(OILPAN)
397 m_value.rect->deref(); 395 m_value.rect->deref();
398 #endif
399 break; 396 break;
400 case UnitType::Quad: 397 case UnitType::Quad:
401 // We must not call deref() when oilpan is enabled because m_value.quad is traced.
402 #if !ENABLE(OILPAN)
403 m_value.quad->deref(); 398 m_value.quad->deref();
404 #endif
405 break; 399 break;
406 case UnitType::Pair: 400 case UnitType::Pair:
407 // We must not call deref() when oilpan is enabled because m_value.pair is traced.
408 #if !ENABLE(OILPAN)
409 m_value.pair->deref(); 401 m_value.pair->deref();
410 #endif
411 break; 402 break;
412 case UnitType::Calc: 403 case UnitType::Calc:
413 // We must not call deref() when oilpan is enabled because m_value.calc is traced.
414 #if !ENABLE(OILPAN)
415 m_value.calc->deref(); 404 m_value.calc->deref();
416 #endif
417 break; 405 break;
418 case UnitType::CalcPercentageWithNumber: 406 case UnitType::CalcPercentageWithNumber:
419 case UnitType::CalcPercentageWithLength: 407 case UnitType::CalcPercentageWithLength:
420 ASSERT_NOT_REACHED(); 408 ASSERT_NOT_REACHED();
421 break; 409 break;
422 case UnitType::Shape: 410 case UnitType::Shape:
423 // We must not call deref() when oilpan is enabled because m_value.shape is traced.
424 #if !ENABLE(OILPAN)
425 m_value.shape->deref(); 411 m_value.shape->deref();
426 #endif
427 break; 412 break;
428 case UnitType::Number: 413 case UnitType::Number:
429 case UnitType::Integer: 414 case UnitType::Integer:
430 case UnitType::Percentage: 415 case UnitType::Percentage:
431 case UnitType::Ems: 416 case UnitType::Ems:
432 case UnitType::QuirkyEms: 417 case UnitType::QuirkyEms:
433 case UnitType::Exs: 418 case UnitType::Exs:
434 case UnitType::Rems: 419 case UnitType::Rems:
435 case UnitType::Chs: 420 case UnitType::Chs:
436 case UnitType::Pixels: 421 case UnitType::Pixels:
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 case UnitType::Integer: 1067 case UnitType::Integer:
1083 case UnitType::Chs: 1068 case UnitType::Chs:
1084 case UnitType::CalcPercentageWithNumber: 1069 case UnitType::CalcPercentageWithNumber:
1085 case UnitType::CalcPercentageWithLength: 1070 case UnitType::CalcPercentageWithLength:
1086 case UnitType::QuirkyEms: 1071 case UnitType::QuirkyEms:
1087 return false; 1072 return false;
1088 } 1073 }
1089 return false; 1074 return false;
1090 } 1075 }
1091 1076
1092 DEFINE_TRACE_AFTER_DISPATCH(CSSPrimitiveValue)
1093 {
1094 #if ENABLE(OILPAN)
1095 switch (type()) {
1096 case UnitType::Rect:
1097 visitor->trace(m_value.rect);
1098 break;
1099 case UnitType::Quad:
1100 visitor->trace(m_value.quad);
1101 break;
1102 case UnitType::Pair:
1103 visitor->trace(m_value.pair);
1104 break;
1105 case UnitType::Calc:
1106 visitor->trace(m_value.calc);
1107 break;
1108 case UnitType::Shape:
1109 visitor->trace(m_value.shape);
1110 break;
1111 default:
1112 break;
1113 }
1114 #endif
1115 CSSValue::traceAfterDispatch(visitor);
1116 }
1117
1118 } // namespace blink 1077 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/css/CSSPrimitiveValue.h ('k') | Source/core/css/CSSProperty.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698