| OLD | NEW |
| 1 /* | 1 /* |
| 2 * CSS Media Query Evaluator | 2 * CSS Media Query Evaluator |
| 3 * | 3 * |
| 4 * Copyright (C) 2006 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>. | 4 * Copyright (C) 2006 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>. |
| 5 * Copyright (C) 2013 Apple Inc. All rights reserved. | 5 * Copyright (C) 2013 Apple Inc. All rights reserved. |
| 6 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 6 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
| 7 * | 7 * |
| 8 * Redistribution and use in source and binary forms, with or without | 8 * Redistribution and use in source and binary forms, with or without |
| 9 * modification, are permitted provided that the following conditions | 9 * modification, are permitted provided that the following conditions |
| 10 * are met: | 10 * are met: |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 static bool minResolutionMediaFeatureEval(const MediaQueryExpValue& value, Media
FeaturePrefix, const MediaValues& mediaValues) | 496 static bool minResolutionMediaFeatureEval(const MediaQueryExpValue& value, Media
FeaturePrefix, const MediaValues& mediaValues) |
| 497 { | 497 { |
| 498 return resolutionMediaFeatureEval(value, MinPrefix, mediaValues); | 498 return resolutionMediaFeatureEval(value, MinPrefix, mediaValues); |
| 499 } | 499 } |
| 500 | 500 |
| 501 static bool maxResolutionMediaFeatureEval(const MediaQueryExpValue& value, Media
FeaturePrefix, const MediaValues& mediaValues) | 501 static bool maxResolutionMediaFeatureEval(const MediaQueryExpValue& value, Media
FeaturePrefix, const MediaValues& mediaValues) |
| 502 { | 502 { |
| 503 return resolutionMediaFeatureEval(value, MaxPrefix, mediaValues); | 503 return resolutionMediaFeatureEval(value, MaxPrefix, mediaValues); |
| 504 } | 504 } |
| 505 | 505 |
| 506 static bool animationMediaFeatureEval(const MediaQueryExpValue& value, MediaFeat
urePrefix op, const MediaValues& mediaValues) | |
| 507 { | |
| 508 UseCounter::count(mediaValues.document(), UseCounter::PrefixedAnimationMedia
Feature); | |
| 509 | |
| 510 if (value.isValid()) { | |
| 511 float number; | |
| 512 return numberValue(value, number) && compareValue(1, static_cast<int>(nu
mber), op); | |
| 513 } | |
| 514 return true; | |
| 515 } | |
| 516 | |
| 517 static bool transform2dMediaFeatureEval(const MediaQueryExpValue& value, MediaFe
aturePrefix op, const MediaValues& mediaValues) | |
| 518 { | |
| 519 UseCounter::count(mediaValues.document(), UseCounter::PrefixedTransform2dMed
iaFeature); | |
| 520 | |
| 521 if (value.isValid()) { | |
| 522 float number; | |
| 523 return numberValue(value, number) && compareValue(1, static_cast<int>(nu
mber), op); | |
| 524 } | |
| 525 return true; | |
| 526 } | |
| 527 | |
| 528 static bool transform3dMediaFeatureEval(const MediaQueryExpValue& value, MediaFe
aturePrefix op, const MediaValues& mediaValues) | 506 static bool transform3dMediaFeatureEval(const MediaQueryExpValue& value, MediaFe
aturePrefix op, const MediaValues& mediaValues) |
| 529 { | 507 { |
| 530 UseCounter::count(mediaValues.document(), UseCounter::PrefixedTransform3dMed
iaFeature); | 508 UseCounter::count(mediaValues.document(), UseCounter::PrefixedTransform3dMed
iaFeature); |
| 531 | 509 |
| 532 bool returnValueIfNoParameter; | 510 bool returnValueIfNoParameter; |
| 533 int have3dRendering; | 511 int have3dRendering; |
| 534 | 512 |
| 535 bool threeDEnabled = mediaValues.threeDEnabled(); | 513 bool threeDEnabled = mediaValues.threeDEnabled(); |
| 536 | 514 |
| 537 returnValueIfNoParameter = threeDEnabled; | 515 returnValueIfNoParameter = threeDEnabled; |
| 538 have3dRendering = threeDEnabled ? 1 : 0; | 516 have3dRendering = threeDEnabled ? 1 : 0; |
| 539 | 517 |
| 540 if (value.isValid()) { | 518 if (value.isValid()) { |
| 541 float number; | 519 float number; |
| 542 return numberValue(value, number) && compareValue(have3dRendering, stati
c_cast<int>(number), op); | 520 return numberValue(value, number) && compareValue(have3dRendering, stati
c_cast<int>(number), op); |
| 543 } | 521 } |
| 544 return returnValueIfNoParameter; | 522 return returnValueIfNoParameter; |
| 545 } | 523 } |
| 546 | 524 |
| 547 static bool viewModeMediaFeatureEval(const MediaQueryExpValue& value, MediaFeatu
rePrefix, const MediaValues& mediaValues) | |
| 548 { | |
| 549 UseCounter::count(mediaValues.document(), UseCounter::PrefixedViewModeMediaF
eature); | |
| 550 | |
| 551 if (!value.isValid()) | |
| 552 return true; | |
| 553 | |
| 554 ASSERT(value.isID); | |
| 555 | |
| 556 return value.id == CSSValueWindowed; | |
| 557 } | |
| 558 | |
| 559 static bool hoverMediaFeatureEval(const MediaQueryExpValue& value, MediaFeatureP
refix, const MediaValues& mediaValues) | 525 static bool hoverMediaFeatureEval(const MediaQueryExpValue& value, MediaFeatureP
refix, const MediaValues& mediaValues) |
| 560 { | 526 { |
| 561 MediaValues::PointerDeviceType pointer = mediaValues.pointer(); | 527 MediaValues::PointerDeviceType pointer = mediaValues.pointer(); |
| 562 | 528 |
| 563 // If we're on a port that hasn't explicitly opted into providing pointer de
vice information | 529 // If we're on a port that hasn't explicitly opted into providing pointer de
vice information |
| 564 // (or otherwise can't be confident in the pointer hardware available), then
behave exactly | 530 // (or otherwise can't be confident in the pointer hardware available), then
behave exactly |
| 565 // as if this feature feature isn't supported. | 531 // as if this feature feature isn't supported. |
| 566 if (pointer == MediaValues::UnknownPointer) | 532 if (pointer == MediaValues::UnknownPointer) |
| 567 return false; | 533 return false; |
| 568 | 534 |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 636 // Call the media feature evaluation function. Assume no prefix and let | 602 // Call the media feature evaluation function. Assume no prefix and let |
| 637 // trampoline functions override the prefix if prefix is used. | 603 // trampoline functions override the prefix if prefix is used. |
| 638 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl()); | 604 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl()); |
| 639 if (func) | 605 if (func) |
| 640 return func(expr->expValue(), NoPrefix, *m_mediaValues); | 606 return func(expr->expValue(), NoPrefix, *m_mediaValues); |
| 641 | 607 |
| 642 return false; | 608 return false; |
| 643 } | 609 } |
| 644 | 610 |
| 645 } // namespace | 611 } // namespace |
| OLD | NEW |