Delete DOMWindow::securityOrigin()
https://bugs.webkit.org/show_bug.cgi?id=93991

Reviewed by Eric Seidel.

DOMWindow::securityOrigin() just calls through to
document()->securityOrigin(). This patch updates all the callers to do
that work themselves, making it clearer what's going on at each call
site.

* bindings/generic/BindingSecurity.cpp:
(WebCore::canAccessDocument):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::allowsAccessFrom):
* bindings/js/JSDOMWindowCustom.h:
(WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::collectIsolatedContexts):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::isInsecureScriptAccess):
(WebCore::DOMWindow::createWindow):
* page/DOMWindow.h:
(DOMWindow):
* page/Location.cpp:
(WebCore::Location::reload):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Add unit tests for Web intent registration
https://bugs.webkit.org/show_bug.cgi?id=94133

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-16
Reviewed by Kenneth Rohde Christiansen.

Add unit tests for Web Intent service registration.
This tests the "intent,service,register" signaling
on the Ewk_View as well as Ewk_Intent_Service.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/resources/intent-service.html: Added.
* UIProcess/API/efl/tests/test_ewk2_intents.cpp: Added.
(onIntentServiceRegistration):
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: memory instrumentation for Resource{Request/Response}Base
https://bugs.webkit.org/show_bug.cgi?id=94109

Reviewed by Vsevolod Vlasov.

Added reportMemoryUsage methods to ResourceRequestBase, ResourceResponseBase
and several related classes.

* dom/MemoryInstrumentation.cpp:
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl): added overrides
for String, StringImpl and AtomicString object types so that we can reuse
existing addInstrumentedCollection method instead of adding a counterpart
that would operate on not instrumented content. Next step would be to get
rid od addObject overrides for these types so that all kinds of Strings are
considered as instrumented classes despite they don't have reportMemoryUsage
method.
(WebCore):
* dom/MemoryInstrumentation.h:
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
(MemoryInstrumentation):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::reportMemoryUsage):
* platform/network/FormData.cpp:
(WebCore::FormData::reportMemoryUsage):
(WebCore):
* platform/network/FormData.h:
(WebCore):
(FormData):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::reportMemoryUsage):
(WebCore):
* platform/network/ResourceRequestBase.h:
(ResourceRequestBase):
* platform/network/ResourceResponseBase.cpp:
(WebCore):
(WebCore::ResourceResponseBase::reportMemoryUsage):
* platform/network/ResourceResponseBase.h:
(WebCore):
(ResourceResponseBase):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DOMWindowPagePopup needs to be installed before loading the html inside the page popup
https://bugs.webkit.org/show_bug.cgi?id=94193

Reviewed by Kent Tamura.

We are using window.pagePopupController.localizeNumberString while loading so we need to install DOMWindowPagePopup before loading the html.

* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::initPage):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Gardening after r125592, r125635
https://bugs.webkit.org/show_bug.cgi?id=94197

Unreviewed gardening.

Gardening of fast/overflow/line-clamp-and-columns.html and
http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-16

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
https://bugs.webkit.org/show_bug.cgi?id=93960

Reviewed by Simon Hausmann.

Following the removal of Qt 4 support from trunk in r124879.

Source/WebCore:

No new tests. Simple cleanup job.

* Target.pri:
* platform/graphics/Font.cpp:
(WebCore::Font::codePath):
* platform/graphics/Font.h:
(Font):
* platform/graphics/GraphicsContext.cpp:
(WebCore):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::platformGlyphInit):
(WebCore::SimpleFontData::glyphForCharacter):
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(WebCore::SimpleFontData::widthForGlyph):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::rawFontForCharacters):
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/qt/FontCustomPlatformData.h:
(FontCustomPlatformData):
* platform/graphics/qt/FontCustomPlatformDataQt.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::createFontCustomPlatformData):
* platform/graphics/qt/FontPlatformData.h:
(WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
(FontPlatformDataPrivate):
(FontPlatformData):
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::hash):
* platform/graphics/qt/FontQt4.cpp: Removed.
* platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::platformCharWidthInit):
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::advance):
(WebCore::SVGTextMetricsBuilder::advanceSimpleText):
(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataHaveFeatures.in: Remove all traces of HAVE_QRAWFONT's existence.

Source/WebKit2:

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):

Tools:

* qmake/mkspecs/features/features.prf:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Breakpoints are not correctly restored on reload.
https://bugs.webkit.org/show_bug.cgi?id=94209

Reviewed by Pavel Feldman.

Source/WebCore:

BreakpointManager now resets uiLocations on workspace reset (was doing it on GlobalObjectCleared).
Breakpoint manager now calls restoreBreakpoints automatically when uiSourceCode is added to workspace.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype._uiSourceCodeAdded):
(WebInspector.BreakpointManager.prototype._workspaceReset):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
* inspector/front-end/inspector.js:

LayoutTests:

restoreBreakpoints is not called inside the test anymore to test that it is called automatically.

* inspector/debugger/breakpoint-manager-expected.txt:
* inspector/debugger/breakpoint-manager.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Update pixel test expectations for layout test fast/dom/
https://bugs.webkit.org/show_bug.cgi?id=94177

Unreviewed, rebaseline.

Some tests have wrong pixel test results. They should be replaced.

And, two tests related image seem to fail. Alt text should be displayed
if src attribute is not set.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-16

* platform/efl/TestExpectations: Added two tests related to display alt text without src.
* platform/efl/fast/dom/34176-expected.png:
* platform/efl/fast/dom/Element/class-attribute-whitespace-expected.png:
* platform/efl/fast/dom/HTMLElement/bdo-expected.png:
* platform/efl/fast/dom/HTMLHeadElement/head-link-style-href-check-expected.png:
* platform/efl/fast/dom/HTMLLinkElement/pending-stylesheet-count-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-boundary-values-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-optimums-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-styles-expected.png:
* platform/efl/fast/dom/HTMLObjectElement/vspace-hspace-as-number-expected.png:
* platform/efl/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
* platform/efl/fast/dom/HTMLTableElement/colSpan-expected.png:
* platform/efl/fast/dom/HTMLTableElement/createCaption-expected.png:
* platform/efl/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/efl/fast/dom/Range/surroundContents-1-expected.png:
* platform/efl/fast/dom/Window/open-existing-pop-up-blocking-expected.png:
* platform/efl/fast/dom/blur-contenteditable-expected.png:
* platform/efl/fast/dom/children-nodes-expected.png:
* platform/efl/fast/dom/clone-contents-0-end-offset-expected.png:
* platform/efl/fast/dom/css-rule-functions-expected.png:
* platform/efl/fast/dom/focus-contenteditable-expected.png:
* platform/efl/fast/dom/gc-10-expected.png:
* platform/efl/fast/dom/importNodeHTML-expected.png:
* platform/efl/fast/dom/importNodeXML-expected.png:
* platform/efl/fast/dom/row-inner-text-expected.png:
* platform/efl/fast/dom/scroll-reveal-left-overflow-expected.png:
* platform/efl/fast/dom/scroll-reveal-top-overflow-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: enable instrumentation of platform code
https://bugs.webkit.org/show_bug.cgi?id=94125

Reviewed by Pavel Feldman.

- add PlatformInstrumentation class that exposes instrumentation methods that may be used by code under WebCore/platform;
- move TRACE_EVENT_XXX() macros into PlatformInstrumentation.h to minimize instrumentation hassle in the client code;
- implement PlatformInstrumentationClient by InspectorTimelineAgent;
- only install PlatformInstrumentationClient when we have outer events for which we expect low-level details

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willDecodeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::didDecodeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::willResizeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::didResizeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::clearRecordStack):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* platform/PlatformInstrumentation.cpp: Added.
(WebCore):
(WebCore::PlatformInstrumentation::setClient):
* platform/PlatformInstrumentation.h: Added.
(WebCore):
(PlatformInstrumentationClient):
(PlatformInstrumentation):
(WebCore::PlatformInstrumentation::hasClient):
(WebCore::PlatformInstrumentation::willDecodeImage):
(WebCore::PlatformInstrumentation::didDecodeImage):
(WebCore::PlatformInstrumentation::willResizeImage):
(WebCore::PlatformInstrumentation::didResizeImage):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap): added calls to PlatformInstrumentation, removed TRACE_EVENT();
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::BMPImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::GIFImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::ICOImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::JPEGImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::WEBPImageDecoder::decode): removed TRACE_EVENT();
* inspector/InspectorInstrumentation.cpp: removed orphan event support;
(WebCore):
* inspector/InspectorInstrumentation.h: ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] WebGL and Canvas fail to display after being restored from page cache
https://bugs.webkit.org/show_bug.cgi?id=94105

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-16
Reviewed by George Staikos.

The EGLImage was being destroyed when releasing layer resources on the
compositing thread, but the WebKit thread layer never found out and
failed to create a new image.

Fixed by extending the release layer resources mechanism to also make a
pass on the WebKit thread so that thread's layers have a chance to
delete their textures and related resources.

Source/WebCore:

WebGL and canvas layers now take this opportunity to release their
textures so the EGLImage gets recreated when compositing commits
resume.

The only detail that deserves extra explanation is the ownership of the
EGLImage.

Since the EGLImage is created in updateTextureContentsIfNeeded() and
that one is always followed by commitPendingTextureUploads() which
transfers the EGLImage to the compositing thread layer's custody, the
EGLImage currently referenced by EGLImageLayerWebKitThread::m_image
should never be deleted by the WebKit thread layer.

Thus all we have to do in deleteFrontBuffer() is to set the m_image
member to 0 so the image gets recreated on the next commit. It will be
deleted by the part of releaseLayerResources() that executes on the
compositing thread (which, if you recall, was the original source of
this bug).

Reviewed internally by Filip Spacek.

PR 192899

Not currently testable by the BlackBerry testing infrastructure.

* platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
(WebCore::CanvasLayerWebKitThread::deleteTextures):
(WebCore):
* platform/graphics/blackberry/CanvasLayerWebKitThread.h:
(CanvasLayerWebKitThread):
* platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
(WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
* platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
(EGLImageLayerWebKitThread):
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::releaseLayerResources):
(WebCore):
* platform/graphics/blackberry/LayerWebKitThread.h:
(LayerWebKitThread):
(WebCore::LayerWebKitThread::deleteTextures):
* platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
(WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
(WebCore::WebGLLayerWebKitThread::deleteTextures):
(WebCore):
* platform/graphics/blackberry/WebGLLayerWebKitThread.h:
(WebGLLayerWebKitThread):

Source/WebKit/blackberry:

Reviewed internally by Filip Spacek.

PR 192899

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::releaseLayerResources):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::releaseLayerResourcesCompositingThread):
(BlackBerry::WebKit::WebPagePrivate::suspendRootLayerCommit):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/FrameLayers.cpp:
(BlackBerry::WebKit::FrameLayers::releaseLayerResources):
(WebKit):
* WebKitSupport/FrameLayers.h:
(FrameLayers):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement the form-action Content Security Policy directive.
https://bugs.webkit.org/show_bug.cgi?id=93777

Patch by Mike West <mkwst@chromium.org> on 2012-08-16
Reviewed by Jochen Eisinger.

Source/WebCore:

The CSP 1.1 editor's draft defines the 'form-action' directive as a
mechanism for whitelisting valid targets for form submission from a
protected resource. A web author might desire to restrict form
submissions to the same origin as the protected resource itself via
a Content Security Policy of "form-action 'self'", or ensure that all
submissions were sent over an SSL connection via "form-action https:".

Specification details available at: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#form-action--experimental

This experimental directive is gated on the ENABLE_CSP_NEXT flag, which
is currently only enabled in Chromium.

Tests: http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfFormActionAllowedByCSP):
    Adding a callback to FrameLoader in order to allow the
    MainResourceLoader to check the relevant CSP status without knowing
    anything about CSP.
(WebCore):
* loader/FrameLoader.h:
(FrameLoader):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest):
    Check against the protected resource's Content Security Policy when
    presented with a request that is itself a form submission, or is the
    result of a redirect in response to a form submission. If CSP would
    block the target, cancel the request.
* page/ContentSecurityPolicy.cpp:
(CSPDirectiveList):
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):
    Added explanatory text to the source violation console warning that
    specifically calls out sending form data (as opposed to "connect to"
    or "load the").
(WebCore::CSPDirectiveList::allowFormAction):
    Check a URL against a directive list's the 'form-action' source list.
(WebCore):
(WebCore::CSPDirectiveList::addDirective):
    Recognize the 'form-action' CSP directive.
(WebCore::ContentSecurityPolicy::allowFormAction):
    Public interface to check a form action.
* page/ContentSecurityPolicy.h:

LayoutTests:

* http/tests/navigation/resources/redirection-response.php:
    Allow for the specification of alternate hosts for the redirect. We
    need this capability in order to check that an initial submission
    followed by a blocked redirect results in the correct behavior.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make GraphicsSurface double buffered by default.
https://bugs.webkit.org/show_bug.cgi?id=93252

Create only a single GraphicsSurface per canvas
on both supported platforms Mac/Linux.
The GraphicsSurface on Mac internally uses two IOSurface
to provide a front and a back buffer.
The GLX implementation of GraphicsSurface uses
an XWindow which already provides a front and a back buffer.

Reviewed by Noam Rosenthal.

Source/WebCore:

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(GraphicsContext3DPrivate):
    Remove creation of second GraphicsSurface.
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
(WebCore):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
(WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::create):
    Adjust token type to uint64_t.
(WebCore::GraphicsSurface::exportToken):
    Adjust return type to uint64_t.
(WebCore::GraphicsSurface::frontBuffer):
(WebCore):
(WebCore::GraphicsSurface::swapBuffers):
    Add forwarding function to swap buffers inside GraphicsSurface.
* platform/graphics/surfaces/GraphicsSurface.h:
(GraphicsSurface):
    Add SupportsSingleBuffered flag to allow for single buffered implementations.
    Currently single buffered surfaces are either not implemented or disabled.
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
    Move implementation details into GraphicsSurfacePrivate.
    This way the platform specific code can be hidden in the specific cpp file
    instead of polluting the global GraphicsSurface header.
(WebCore::createTexture):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::token):
(WebCore::GraphicsSurfacePrivate::frontBufferTextureID):
(WebCore::GraphicsSurfacePrivate::backBufferTextureID):
(WebCore::GraphicsSurfacePrivate::frontBuffer):
(WebCore::GraphicsSurfacePrivate::backBuffer):
(WebCore):
(WebCore::GraphicsSurface::platformExport):
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformCopyToGLTexture):
(WebCore::GraphicsSurface::platformCopyFromFramebuffer):
(WebCore::GraphicsSurface::platformFrontBuffer):
(WebCore::GraphicsSurface::platformSwapBuffers):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
(WebCore::ioSurfaceLockOptions):
(WebCore::GraphicsSurface::platformLock):
(WebCore::GraphicsSurface::platformUnlock):
(WebCore::GraphicsSurface::platformDestroy):
* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
(WebCore::OffScreenRootWindow::get):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
    Make sure that framebuffer bindings remain consistent
    after swapping buffers on the XWindow.
(WebCore::GraphicsSurface::platformExport):
    Make sure the GLXPixmap is only bound to the texture once.
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformCopyFromFramebuffer):
(WebCore):
(WebCore::GraphicsSurface::platformFrontBuffer):
    The GLX surface does not know how to destinguish between
    the front and the back buffer by an id. This is not necessary
    for GraphicsSurfaceGLX, because the texture can just be
    read from the XWindow at any time.
(WebCore::GraphicsSurface::platformSwapBuffers):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
* platform/graphics/texmap/TextureMapperBackingStore.cpp:
    Remove code that was used for switching between two GraphicsSurfaces,
    as this is now handled directly inside GraphicsSurface.
(WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
(WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
(WebCore::TextureMapperSurfaceBackingStore::setSurface):
(WebCore):
* platform/graphics/texmap/TextureMapperBackingStore.h:
    Remove GraphicsSurfaceData struct. This class is not needed anymore
    as we do not keep track of more than one GraphicsSurface at the time.
(WebCore):
(TextureMapperSurfaceBackingStore):
(WebCore::TextureMapperSurfaceBackingStore::graphicsSurface):
(WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
* platform/graphics/texmap/TextureMapperPlatformLayer.h:
(WebCore::TextureMapperPlatformLayer::graphicsSurfaceToken):

Source/WebKit2:

* Shared/ShareableSurface.h:
(Handle):
    Change the type of GraphicsSurface token to uint64_t.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
    Add a parameter that denotes the current front buffer of the
    GraphicsSurface.
* 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@125773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Gardening after r125758, r125759
https://bugs.webkit.org/show_bug.cgi?id=94215

Unreviewed, gardening.

Newly added tests: compositing/overflow/overflow-hidden-canvas-layer.html,
fast/forms/file/selected-files-from-history-state.html fail on EFL and need gardening.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-16

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Adding a platform-specific baseline after r125772.

* platform/gtk/http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125775 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Make DRT results more reliable on X11

Reviewed by Jocelyn Turcotte.

Disable desktop setting awareness, to prevent QApplication on X11 from reading palette settings from
the running desktop environment.

* DumpRenderTree/qt/main.cpp:
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Input method hints are not being set.
https://bugs.webkit.org/show_bug.cgi?id=92386

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-08-16
Reviewed by Kenneth Rohde Christiansen.

Input method hints for an editable element must be obtained from a proper
HTML element. If the editable element is a complex one, it will have elements
in the Shadow DOM, and it's one of those that will be returned as the root
editable element. This works for editable DIVs, but not for INPUT elements.
Using Element::shadowHost() on the root editable element will provide the
needed HTML element, and for further clarity a method that does this was added
to FrameSelection.

Source/WebCore:

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::rootEditableElementRespectingShadowTree): Similar to
WebCore::FrameSelection::rootEditableElement, but returns the first ancestor of
the editable element outside the shadow tree.
(WebCore):
* editing/FrameSelection.h:
(FrameSelection):

Source/WebKit2:

Added an API test to the Qt port regarding the correct setting
of input method hints information on INPUT HTML tags.

* UIProcess/API/qt/tests/html/inputmethod.html:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
(tst_QQuickWebView::inputMethodHints):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/blackberry: [BlackBerry] Suppress non DRT JS Console output.
https://bugs.webkit.org/show_bug.cgi?id=94058

Patch by Rob Buis <rbuis@rim.com> on 2012-08-16
Reviewed by Yong Li.
Reviewed internally by Ming Xie.

Some actual test results show JS Console showing up twice, for
instance traversal/moz-bug559526.html. Only print the DRT specific
Console message.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::addMessageToConsole):

Tools: [BlackBerry] Update format of JS console message to keep consistent with other ports.
https://bugs.webkit.org/show_bug.cgi?id=94058

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-08-16
Reviewed by Yong Li.
Reviewed internally by George Staikos.

1. Remove line number if it's zero.
2. Print only file name for "file://" URL.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::addMessageToConsole):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add BB10 User Agent String to Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=94217

Reviewed by George Staikos.

Add the new BlackBerry 10 User Agent String and device metrics for
emulation.

* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.get const):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125780 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Make sure that we don't prematurely force the first layout during loading.
https://bugs.webkit.org/show_bug.cgi?id=94106

Reviewed by Kenneth Rohde Christiansen.

This would have the nasty effect that the frame loader would report the first layout
before loadCommitted was reported. This would resume the rendering engine prematurely,
showing blank content and reporting an empty contents size.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setFixedLayoutSize):

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