[Qt][WK2] Avoid unnecessary calls in PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=98886

Reviewed by Jocelyn Turcotte.

Remove leftover and unneeded update guards and visibility update
notifications to avoid unnecessary update cycles between the
controller an the client.
Previously didRenderFrame triggered updates for no reason since
animations on the page cause a lot of DidRenderFrame messages
for which the viewport state does not change.

* UIProcess/PageViewportController.cpp:
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::PageViewportController::didRenderFrame):
* UIProcess/PageViewportController.h:
(PageViewportController):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::setContentsScale):
(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
(WebKit::PageViewportControllerClientQt::updateViewportController):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [Elements] Breadcrumbs are not updated upon involved elements' className changes
https://bugs.webkit.org/show_bug.cgi?id=98887

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Breadcrumbs should be updated upon the "class" and "id" attribute changes of elements participating in the breadcrumb path.

Test: inspector/elements/breadcrumb-updates.html

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._updateBreadcrumbIfNeeded):

LayoutTests:

* inspector/elements/breadcrumb-updates-expected.txt: Added.
* inspector/elements/breadcrumb-updates.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Implement GraphicsSurfaceToken to replace uint64_t as token type.
https://bugs.webkit.org/show_bug.cgi?id=98501

Replace the token type for GraphicsSurface with a new class GraphicsSurfaceToken.
This is necessary in order to implement GraphicsSurface for Windows.
Depending on the platform a GraphicsSurfaceToken might contain a
WindowID (Linux/GLX), two IOSurfaceIDs (Mac) or in the future two HANDLEs (Windows).
The simple uint64_t is not sufficient anymore, since a single HANDLE in windows
can be 64bit already.

Reviewed by Noam Rosenthal.

Source/WebCore:

* Target.pri:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::create):
(WebCore::GraphicsSurface::exportToken):
* platform/graphics/surfaces/GraphicsSurface.h:
(GraphicsSurface):
* platform/graphics/surfaces/GraphicsSurfaceToken.h: Added.
(WebCore):
(GraphicsSurfaceToken):
(WebCore::GraphicsSurfaceToken::GraphicsSurfaceToken):
(WebCore::GraphicsSurfaceToken::operator!=):
(WebCore::GraphicsSurfaceToken::isValid):
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::token):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurface::platformExport):
(WebCore::GraphicsSurface::platformImport):
* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurface::platformExport):
(WebCore::GraphicsSurface::platformImport):
* platform/graphics/texmap/TextureMapperBackingStore.cpp:
(WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
(WebCore::TextureMapperSurfaceBackingStore::setSurface):
* platform/graphics/texmap/TextureMapperBackingStore.h:
(TextureMapperSurfaceBackingStore):
(WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
* platform/graphics/texmap/TextureMapperPlatformLayer.h:
(WebCore::TextureMapperPlatformLayer::graphicsSurfaceToken):

Source/WebKit2:

* Shared/ShareableSurface.cpp:
(WebKit::ShareableSurface::Handle::encode):
(WebKit::ShareableSurface::Handle::decode):
(WebKit::ShareableSurface::create):
(WebKit::ShareableSurface::createHandle):
* Shared/ShareableSurface.h:
(WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
(Handle):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/WebCoreArgumentCoders.h:
(WebCore):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::syncCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS3 Media Queries] Aspect ratio value re-parsed when media query expression is evaluated
https://bugs.webkit.org/show_bug.cgi?id=99003

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-10-11
Reviewed by Kenneth Rohde Christiansen.

Use CSSAspectRatioValue instead of CSSValueList to store aspect ratio value
in order to avoid re-parsing of aspect ratio data during media expression evaluation.

test: fast/media/w3c/test_media_queries.html

* css/MediaQueryEvaluator.cpp:
(WebCore::compareAspectRatioValue):
(WebCore):
(WebCore::aspect_ratioMediaFeatureEval):
(WebCore::device_aspect_ratioMediaFeatureEval):
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::MediaQueryExp):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131037 268f45cc-cd09-0410-ab3c-d52691b4dbfc