| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
| 3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
| 4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
| 5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 10 * | 10 * |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 m_hasPendingLayout(false), | 167 m_hasPendingLayout(false), |
| 168 m_inSynchronousPostLayout(false), | 168 m_inSynchronousPostLayout(false), |
| 169 m_postLayoutTasksTimer( | 169 m_postLayoutTasksTimer( |
| 170 TaskRunnerHelper::get(TaskType::UnspecedTimer, &frame), | 170 TaskRunnerHelper::get(TaskType::UnspecedTimer, &frame), |
| 171 this, | 171 this, |
| 172 &FrameView::postLayoutTimerFired), | 172 &FrameView::postLayoutTimerFired), |
| 173 m_updatePluginsTimer( | 173 m_updatePluginsTimer( |
| 174 TaskRunnerHelper::get(TaskType::UnspecedTimer, &frame), | 174 TaskRunnerHelper::get(TaskType::UnspecedTimer, &frame), |
| 175 this, | 175 this, |
| 176 &FrameView::updatePluginsTimerFired), | 176 &FrameView::updatePluginsTimerFired), |
| 177 m_isTransparent(false), | |
| 178 m_baseBackgroundColor(Color::white), | 177 m_baseBackgroundColor(Color::white), |
| 179 m_mediaType(MediaTypeNames::screen), | 178 m_mediaType(MediaTypeNames::screen), |
| 180 m_safeToPropagateScrollToParent(true), | 179 m_safeToPropagateScrollToParent(true), |
| 181 m_scrollCorner(nullptr), | 180 m_scrollCorner(nullptr), |
| 182 m_stickyPositionObjectCount(0), | 181 m_stickyPositionObjectCount(0), |
| 183 m_inputEventsScaleFactorForEmulation(1), | 182 m_inputEventsScaleFactorForEmulation(1), |
| 184 m_layoutSizeFixedToFrameSize(true), | 183 m_layoutSizeFixedToFrameSize(true), |
| 185 m_didScrollTimer(TaskRunnerHelper::get(TaskType::UnspecedTimer, &frame), | 184 m_didScrollTimer(TaskRunnerHelper::get(TaskType::UnspecedTimer, &frame), |
| 186 this, | 185 this, |
| 187 &FrameView::didScrollTimerFired), | 186 &FrameView::didScrollTimerFired), |
| (...skipping 2130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2318 LayoutViewItem layoutViewItem = this->layoutViewItem(); | 2317 LayoutViewItem layoutViewItem = this->layoutViewItem(); |
| 2319 if (layoutViewItem.isNull()) | 2318 if (layoutViewItem.isNull()) |
| 2320 return; | 2319 return; |
| 2321 // TODO(crbug.com/590856): It's still broken if we choose not to crash when | 2320 // TODO(crbug.com/590856): It's still broken if we choose not to crash when |
| 2322 // the check fails. | 2321 // the check fails. |
| 2323 if (!checkLayoutInvalidationIsAllowed()) | 2322 if (!checkLayoutInvalidationIsAllowed()) |
| 2324 return; | 2323 return; |
| 2325 layoutViewItem.setNeedsLayout(LayoutInvalidationReason::Unknown); | 2324 layoutViewItem.setNeedsLayout(LayoutInvalidationReason::Unknown); |
| 2326 } | 2325 } |
| 2327 | 2326 |
| 2328 bool FrameView::isTransparent() const { | |
| 2329 return m_isTransparent; | |
| 2330 } | |
| 2331 | |
| 2332 void FrameView::setTransparent(bool isTransparent) { | |
| 2333 m_isTransparent = isTransparent; | |
| 2334 DisableCompositingQueryAsserts disabler; | |
| 2335 if (!layoutViewItem().isNull() && | |
| 2336 layoutViewItem().layer()->hasCompositedLayerMapping()) | |
| 2337 layoutViewItem().layer()->compositedLayerMapping()->updateContentsOpaque(); | |
| 2338 } | |
| 2339 | |
| 2340 bool FrameView::hasOpaqueBackground() const { | 2327 bool FrameView::hasOpaqueBackground() const { |
| 2341 return !m_isTransparent && !m_baseBackgroundColor.hasAlpha(); | 2328 return !m_baseBackgroundColor.hasAlpha(); |
| 2342 } | 2329 } |
| 2343 | 2330 |
| 2344 Color FrameView::baseBackgroundColor() const { | 2331 Color FrameView::baseBackgroundColor() const { |
| 2345 return m_baseBackgroundColor; | 2332 return m_baseBackgroundColor; |
| 2346 } | 2333 } |
| 2347 | 2334 |
| 2348 void FrameView::setBaseBackgroundColor(const Color& backgroundColor) { | 2335 void FrameView::setBaseBackgroundColor(const Color& backgroundColor) { |
| 2349 m_baseBackgroundColor = backgroundColor; | 2336 m_baseBackgroundColor = backgroundColor; |
| 2350 | 2337 |
| 2351 if (!layoutViewItem().isNull() && | 2338 if (!layoutViewItem().isNull() && |
| 2352 layoutViewItem().layer()->hasCompositedLayerMapping()) { | 2339 layoutViewItem().layer()->hasCompositedLayerMapping()) { |
| 2353 CompositedLayerMapping* compositedLayerMapping = | 2340 CompositedLayerMapping* compositedLayerMapping = |
| 2354 layoutViewItem().layer()->compositedLayerMapping(); | 2341 layoutViewItem().layer()->compositedLayerMapping(); |
| 2355 compositedLayerMapping->updateContentsOpaque(); | 2342 compositedLayerMapping->updateContentsOpaque(); |
| 2356 if (compositedLayerMapping->mainGraphicsLayer()) | 2343 if (compositedLayerMapping->mainGraphicsLayer()) |
| 2357 compositedLayerMapping->mainGraphicsLayer()->setNeedsDisplay(); | 2344 compositedLayerMapping->mainGraphicsLayer()->setNeedsDisplay(); |
| 2358 } | 2345 } |
| 2359 recalculateScrollbarOverlayColorTheme(documentBackgroundColor()); | 2346 recalculateScrollbarOverlayColorTheme(documentBackgroundColor()); |
| 2360 | 2347 |
| 2361 if (!shouldThrottleRendering()) | 2348 if (!shouldThrottleRendering()) |
| 2362 page()->animator().scheduleVisualUpdate(m_frame.get()); | 2349 page()->animator().scheduleVisualUpdate(m_frame.get()); |
| 2363 } | 2350 } |
| 2364 | 2351 |
| 2365 void FrameView::updateBackgroundRecursively(const Color& backgroundColor, | 2352 void FrameView::updateBaseBackgroundColorRecursively( |
| 2366 bool transparent) { | 2353 const Color& baseBackgroundColor) { |
| 2367 forAllNonThrottledFrameViews( | 2354 forAllNonThrottledFrameViews([baseBackgroundColor](FrameView& frameView) { |
| 2368 [backgroundColor, transparent](FrameView& frameView) { | 2355 frameView.setBaseBackgroundColor(baseBackgroundColor); |
| 2369 frameView.setTransparent(transparent); | 2356 }); |
| 2370 frameView.setBaseBackgroundColor(backgroundColor); | |
| 2371 }); | |
| 2372 } | 2357 } |
| 2373 | 2358 |
| 2374 void FrameView::scrollToFragmentAnchor() { | 2359 void FrameView::scrollToFragmentAnchor() { |
| 2375 Node* anchorNode = m_fragmentAnchor; | 2360 Node* anchorNode = m_fragmentAnchor; |
| 2376 if (!anchorNode) | 2361 if (!anchorNode) |
| 2377 return; | 2362 return; |
| 2378 | 2363 |
| 2379 // Scrolling is disabled during updateScrollbars (see | 2364 // Scrolling is disabled during updateScrollbars (see |
| 2380 // isProgrammaticallyScrollable). Bail now to avoid clearing m_fragmentAnchor | 2365 // isProgrammaticallyScrollable). Bail now to avoid clearing m_fragmentAnchor |
| 2381 // before we actually have a chance to scroll. | 2366 // before we actually have a chance to scroll. |
| (...skipping 2875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5257 void FrameView::setAnimationHost( | 5242 void FrameView::setAnimationHost( |
| 5258 std::unique_ptr<CompositorAnimationHost> host) { | 5243 std::unique_ptr<CompositorAnimationHost> host) { |
| 5259 m_animationHost = std::move(host); | 5244 m_animationHost = std::move(host); |
| 5260 } | 5245 } |
| 5261 | 5246 |
| 5262 LayoutUnit FrameView::caretWidth() const { | 5247 LayoutUnit FrameView::caretWidth() const { |
| 5263 return LayoutUnit(getHostWindow()->windowToViewportScalar(1)); | 5248 return LayoutUnit(getHostWindow()->windowToViewportScalar(1)); |
| 5264 } | 5249 } |
| 5265 | 5250 |
| 5266 } // namespace blink | 5251 } // namespace blink |
| OLD | NEW |