OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 int thumbThickness = theme.thumbThickness(); | 446 int thumbThickness = theme.thumbThickness(); |
447 int scrollbarThickness = theme.scrollbarThickness(RegularScrollbar); | 447 int scrollbarThickness = theme.scrollbarThickness(RegularScrollbar); |
448 int scrollbarMargin = theme.scrollbarMargin(); | 448 int scrollbarMargin = theme.scrollbarMargin(); |
449 | 449 |
450 if (!webScrollbarLayer) { | 450 if (!webScrollbarLayer) { |
451 ScrollingCoordinator* coordinator = | 451 ScrollingCoordinator* coordinator = |
452 frameHost().page().scrollingCoordinator(); | 452 frameHost().page().scrollingCoordinator(); |
453 ASSERT(coordinator); | 453 ASSERT(coordinator); |
454 ScrollbarOrientation webcoreOrientation = | 454 ScrollbarOrientation webcoreOrientation = |
455 isHorizontal ? HorizontalScrollbar : VerticalScrollbar; | 455 isHorizontal ? HorizontalScrollbar : VerticalScrollbar; |
| 456 WebLayer* scrollLayer = layerForScrolling()->platformLayer(); |
456 webScrollbarLayer = coordinator->createSolidColorScrollbarLayer( | 457 webScrollbarLayer = coordinator->createSolidColorScrollbarLayer( |
457 webcoreOrientation, thumbThickness, scrollbarMargin, false); | 458 webcoreOrientation, thumbThickness, scrollbarMargin, false, |
| 459 scrollLayer); |
458 | 460 |
459 // The compositor will control the scrollbar's visibility. Set to invisible | 461 // The compositor will control the scrollbar's visibility. Set to invisible |
460 // by default so scrollbars don't show up in layout tests. | 462 // by default so scrollbars don't show up in layout tests. |
461 webScrollbarLayer->layer()->setOpacity(0); | 463 webScrollbarLayer->layer()->setOpacity(0); |
462 scrollbarGraphicsLayer->setContentsToPlatformLayer( | 464 scrollbarGraphicsLayer->setContentsToPlatformLayer( |
463 webScrollbarLayer->layer()); | 465 webScrollbarLayer->layer()); |
464 scrollbarGraphicsLayer->setDrawsContent(false); | 466 scrollbarGraphicsLayer->setDrawsContent(false); |
465 } | 467 } |
466 | 468 |
467 int xPosition = isHorizontal ? 0 | 469 int xPosition = isHorizontal ? 0 |
(...skipping 10 matching lines...) Expand all Loading... |
478 int height = isHorizontal ? scrollbarThickness | 480 int height = isHorizontal ? scrollbarThickness |
479 : m_innerViewportContainerLayer->size().height() - | 481 : m_innerViewportContainerLayer->size().height() - |
480 scrollbarThickness; | 482 scrollbarThickness; |
481 | 483 |
482 // Use the GraphicsLayer to position the scrollbars. | 484 // Use the GraphicsLayer to position the scrollbars. |
483 scrollbarGraphicsLayer->setPosition(IntPoint(xPosition, yPosition)); | 485 scrollbarGraphicsLayer->setPosition(IntPoint(xPosition, yPosition)); |
484 scrollbarGraphicsLayer->setSize(FloatSize(width, height)); | 486 scrollbarGraphicsLayer->setSize(FloatSize(width, height)); |
485 scrollbarGraphicsLayer->setContentsRect(IntRect(0, 0, width, height)); | 487 scrollbarGraphicsLayer->setContentsRect(IntRect(0, 0, width, height)); |
486 } | 488 } |
487 | 489 |
488 void VisualViewport::setScrollLayerOnScrollbars(WebLayer* scrollLayer) const { | |
489 // TODO(bokan): This is currently done while registering viewport layers | |
490 // with the compositor but could it actually be done earlier, like in | |
491 // setupScrollbars? Then we wouldn't need this method. | |
492 m_webOverlayScrollbarHorizontal->setScrollLayer(scrollLayer); | |
493 m_webOverlayScrollbarVertical->setScrollLayer(scrollLayer); | |
494 } | |
495 | |
496 bool VisualViewport::visualViewportSuppliesScrollbars() const { | 490 bool VisualViewport::visualViewportSuppliesScrollbars() const { |
497 return frameHost().page().settings().getViewportEnabled(); | 491 return frameHost().page().settings().getViewportEnabled(); |
498 } | 492 } |
499 | 493 |
500 bool VisualViewport::scrollAnimatorEnabled() const { | 494 bool VisualViewport::scrollAnimatorEnabled() const { |
501 return frameHost().page().settings().getScrollAnimatorEnabled(); | 495 return frameHost().page().settings().getScrollAnimatorEnabled(); |
502 } | 496 } |
503 | 497 |
504 HostWindow* VisualViewport::getHostWindow() const { | 498 HostWindow* VisualViewport::getHostWindow() const { |
505 return &frameHost().page().chromeClient(); | 499 return &frameHost().page().chromeClient(); |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 } else if (graphicsLayer == m_rootTransformLayer.get()) { | 849 } else if (graphicsLayer == m_rootTransformLayer.get()) { |
856 name = "Root Transform Layer"; | 850 name = "Root Transform Layer"; |
857 } else { | 851 } else { |
858 ASSERT_NOT_REACHED(); | 852 ASSERT_NOT_REACHED(); |
859 } | 853 } |
860 | 854 |
861 return name; | 855 return name; |
862 } | 856 } |
863 | 857 |
864 } // namespace blink | 858 } // namespace blink |
OLD | NEW |