MediaValuesCached::MediaValuesCached(LocalFrame* frame) { ASSERT(isMainThread()); ASSERT(frame); // In case that frame is missing (e.g. for images that their document does not have a frame) // We simply leave the MediaValues object with the default MediaValuesCachedData values. m_data.viewportWidth = calculateViewportWidth(frame); m_data.viewportHeight = calculateViewportHeight(frame); m_data.deviceWidth = calculateDeviceWidth(frame); m_data.deviceHeight = calculateDeviceHeight(frame); m_data.devicePixelRatio = calculateDevicePixelRatio(frame); m_data.colorBitsPerComponent = calculateColorBitsPerComponent(frame); m_data.monochromeBitsPerComponent = calculateMonochromeBitsPerComponent(frame); m_data.primaryPointerType = calculatePrimaryPointerType(frame); m_data.availablePointerTypes = calculateAvailablePointerTypes(frame); m_data.primaryHoverType = calculatePrimaryHoverType(frame); m_data.availableHoverTypes = calculateAvailableHoverTypes(frame); m_data.defaultFontSize = calculateDefaultFontSize(frame); m_data.threeDEnabled = calculateThreeDEnabled(frame); m_data.strictMode = calculateStrictMode(frame); m_data.displayMode = calculateDisplayMode(frame); const String mediaType = calculateMediaType(frame); if (!mediaType.isEmpty()) m_data.mediaType = mediaType.isolatedCopy(); }
HoverType MediaValuesDynamic::primaryHoverType() const { return calculatePrimaryHoverType(m_frame); }