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

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

Issue 141163011: Add UseCounters for prefixed media features (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: oops Created 6 years, 11 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 | « no previous file | Source/core/frame/UseCounter.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 * 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 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 return compareValue( 310 return compareValue(
311 floorf(0.5 + 100 * actualResolution) / 100, 311 floorf(0.5 + 100 * actualResolution) / 100,
312 floorf(0.5 + 100 * resolution->getFloatValue(CSSPrimitiveValue::CSS_ DPPX)) / 100, op); 312 floorf(0.5 + 100 * resolution->getFloatValue(CSSPrimitiveValue::CSS_ DPPX)) / 100, op);
313 } 313 }
314 314
315 return compareValue(actualResolution, resolution->getFloatValue(CSSPrimitive Value::CSS_DPPX), op); 315 return compareValue(actualResolution, resolution->getFloatValue(CSSPrimitive Value::CSS_DPPX), op);
316 } 316 }
317 317
318 static bool devicePixelRatioMediaFeatureEval(CSSValue *value, RenderStyle*, Fram e* frame, MediaFeaturePrefix op) 318 static bool devicePixelRatioMediaFeatureEval(CSSValue *value, RenderStyle*, Fram e* frame, MediaFeaturePrefix op)
319 { 319 {
320 UseCounter::count(frame->document(), UseCounter::PrefixedDevicePixelRatioMed iaFeature);
321
320 return (!value || toCSSPrimitiveValue(value)->isNumber()) && evalResolution( value, frame, op); 322 return (!value || toCSSPrimitiveValue(value)->isNumber()) && evalResolution( value, frame, op);
321 } 323 }
322 324
323 static bool resolutionMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* fra me, MediaFeaturePrefix op) 325 static bool resolutionMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* fra me, MediaFeaturePrefix op)
324 { 326 {
325 return (!value || toCSSPrimitiveValue(value)->isResolution()) && evalResolut ion(value, frame, op); 327 return (!value || toCSSPrimitiveValue(value)->isResolution()) && evalResolut ion(value, frame, op);
326 } 328 }
327 329
328 static bool gridMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*, MediaFea turePrefix op) 330 static bool gridMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*, MediaFea turePrefix op)
329 { 331 {
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 return deviceAspectRatioMediaFeatureEval(value, style, frame, MinPrefix); 469 return deviceAspectRatioMediaFeatureEval(value, style, frame, MinPrefix);
468 } 470 }
469 471
470 static bool maxDeviceAspectRatioMediaFeatureEval(CSSValue* value, RenderStyle* s tyle, Frame* frame, MediaFeaturePrefix) 472 static bool maxDeviceAspectRatioMediaFeatureEval(CSSValue* value, RenderStyle* s tyle, Frame* frame, MediaFeaturePrefix)
471 { 473 {
472 return deviceAspectRatioMediaFeatureEval(value, style, frame, MaxPrefix); 474 return deviceAspectRatioMediaFeatureEval(value, style, frame, MaxPrefix);
473 } 475 }
474 476
475 static bool minDevicePixelRatioMediaFeatureEval(CSSValue* value, RenderStyle* st yle, Frame* frame, MediaFeaturePrefix) 477 static bool minDevicePixelRatioMediaFeatureEval(CSSValue* value, RenderStyle* st yle, Frame* frame, MediaFeaturePrefix)
476 { 478 {
479 UseCounter::count(frame->document(), UseCounter::PrefixedMinDevicePixelRatio MediaFeature);
480
477 return devicePixelRatioMediaFeatureEval(value, style, frame, MinPrefix); 481 return devicePixelRatioMediaFeatureEval(value, style, frame, MinPrefix);
478 } 482 }
479 483
480 static bool maxDevicePixelRatioMediaFeatureEval(CSSValue* value, RenderStyle* st yle, Frame* frame, MediaFeaturePrefix) 484 static bool maxDevicePixelRatioMediaFeatureEval(CSSValue* value, RenderStyle* st yle, Frame* frame, MediaFeaturePrefix)
481 { 485 {
486 UseCounter::count(frame->document(), UseCounter::PrefixedMaxDevicePixelRatio MediaFeature);
487
482 return devicePixelRatioMediaFeatureEval(value, style, frame, MaxPrefix); 488 return devicePixelRatioMediaFeatureEval(value, style, frame, MaxPrefix);
483 } 489 }
484 490
485 static bool minHeightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame * frame, MediaFeaturePrefix) 491 static bool minHeightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame * frame, MediaFeaturePrefix)
486 { 492 {
487 return heightMediaFeatureEval(value, style, frame, MinPrefix); 493 return heightMediaFeatureEval(value, style, frame, MinPrefix);
488 } 494 }
489 495
490 static bool maxHeightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame * frame, MediaFeaturePrefix) 496 static bool maxHeightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame * frame, MediaFeaturePrefix)
491 { 497 {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 static bool minResolutionMediaFeatureEval(CSSValue* value, RenderStyle* style, F rame* frame, MediaFeaturePrefix) 531 static bool minResolutionMediaFeatureEval(CSSValue* value, RenderStyle* style, F rame* frame, MediaFeaturePrefix)
526 { 532 {
527 return resolutionMediaFeatureEval(value, style, frame, MinPrefix); 533 return resolutionMediaFeatureEval(value, style, frame, MinPrefix);
528 } 534 }
529 535
530 static bool maxResolutionMediaFeatureEval(CSSValue* value, RenderStyle* style, F rame* frame, MediaFeaturePrefix) 536 static bool maxResolutionMediaFeatureEval(CSSValue* value, RenderStyle* style, F rame* frame, MediaFeaturePrefix)
531 { 537 {
532 return resolutionMediaFeatureEval(value, style, frame, MaxPrefix); 538 return resolutionMediaFeatureEval(value, style, frame, MaxPrefix);
533 } 539 }
534 540
535 static bool animationMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*, Med iaFeaturePrefix op) 541 static bool animationMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* fram e, MediaFeaturePrefix op)
536 { 542 {
543 UseCounter::count(frame->document(), UseCounter::PrefixedAnimationMediaFeatu re);
544
537 if (value) { 545 if (value) {
538 float number; 546 float number;
539 return numberValue(value, number) && compareValue(1, static_cast<int>(nu mber), op); 547 return numberValue(value, number) && compareValue(1, static_cast<int>(nu mber), op);
540 } 548 }
541 return true; 549 return true;
542 } 550 }
543 551
544 static bool transform2dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*, M ediaFeaturePrefix op) 552 static bool transform2dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* fr ame, MediaFeaturePrefix op)
545 { 553 {
554 UseCounter::count(frame->document(), UseCounter::PrefixedTransform2dMediaFea ture);
555
546 if (value) { 556 if (value) {
547 float number; 557 float number;
548 return numberValue(value, number) && compareValue(1, static_cast<int>(nu mber), op); 558 return numberValue(value, number) && compareValue(1, static_cast<int>(nu mber), op);
549 } 559 }
550 return true; 560 return true;
551 } 561 }
552 562
553 static bool transform3dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* fr ame, MediaFeaturePrefix op) 563 static bool transform3dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* fr ame, MediaFeaturePrefix op)
554 { 564 {
565 UseCounter::count(frame->document(), UseCounter::PrefixedTransform3dMediaFea ture);
566
555 bool returnValueIfNoParameter; 567 bool returnValueIfNoParameter;
556 int have3dRendering; 568 int have3dRendering;
557 569
558 bool threeDEnabled = false; 570 bool threeDEnabled = false;
559 if (RenderView* view = frame->contentRenderer()) 571 if (RenderView* view = frame->contentRenderer())
560 threeDEnabled = view->compositor()->canRender3DTransforms(); 572 threeDEnabled = view->compositor()->canRender3DTransforms();
561 573
562 returnValueIfNoParameter = threeDEnabled; 574 returnValueIfNoParameter = threeDEnabled;
563 have3dRendering = threeDEnabled ? 1 : 0; 575 have3dRendering = threeDEnabled ? 1 : 0;
564 576
565 if (value) { 577 if (value) {
566 float number; 578 float number;
567 return numberValue(value, number) && compareValue(have3dRendering, stati c_cast<int>(number), op); 579 return numberValue(value, number) && compareValue(have3dRendering, stati c_cast<int>(number), op);
568 } 580 }
569 return returnValueIfNoParameter; 581 return returnValueIfNoParameter;
570 } 582 }
571 583
572 static bool viewModeMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* frame , MediaFeaturePrefix) 584 static bool viewModeMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* frame , MediaFeaturePrefix)
573 { 585 {
586 UseCounter::count(frame->document(), UseCounter::PrefixedViewModeMediaFeatur e);
587
574 if (!value) 588 if (!value)
575 return true; 589 return true;
576 590
577 return toCSSPrimitiveValue(value)->getValueID() == CSSValueWindowed; 591 return toCSSPrimitiveValue(value)->getValueID() == CSSValueWindowed;
578 } 592 }
579 593
580 enum PointerDeviceType { TouchPointer, MousePointer, NoPointer, UnknownPointer } ; 594 enum PointerDeviceType { TouchPointer, MousePointer, NoPointer, UnknownPointer } ;
581 595
582 static PointerDeviceType leastCapablePrimaryPointerDeviceType(Frame* frame) 596 static PointerDeviceType leastCapablePrimaryPointerDeviceType(Frame* frame)
583 { 597 {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 // Call the media feature evaluation function. Assume no prefix and let 690 // Call the media feature evaluation function. Assume no prefix and let
677 // trampoline functions override the prefix if prefix is used. 691 // trampoline functions override the prefix if prefix is used.
678 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl()); 692 EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl());
679 if (func) 693 if (func)
680 return func(expr->value(), m_style.get(), m_frame, NoPrefix); 694 return func(expr->value(), m_style.get(), m_frame, NoPrefix);
681 695
682 return false; 696 return false;
683 } 697 }
684 698
685 } // namespace 699 } // namespace
OLDNEW
« no previous file with comments | « no previous file | Source/core/frame/UseCounter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698