Windows build fix.

* win/WebKit2Generated.make: Export WKNotificationManager.h.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WTR build fixes.

* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/GNUmakefile.am:
* WebKitTestRunner/Target.pri:
* WebKitTestRunner/WebNotificationProvider.cpp:
(WTR::WebNotificationProvider::showWebNotification): Make ML happier.
* WebKitTestRunner/win/WebKitTestRunner.vcproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added missing exports for Windows.

* win/WebKit2Generated.make:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build patch for Qt.

* Target.pri: Export WKArray and WKMutableArray for Qt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Refactor InspectorFrontendClientLocal to remove ScriptState as member
https://bugs.webkit.org/show_bug.cgi?id=95343

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-08-29
Reviewed by Yury Semikhatsky.

The ScriptState is not required to be stored as a member to
InspectorFrontendClientLocal hence removing it as member.

No new tests due to code refactoring.

* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::windowObjectCleared):
* inspector/InspectorFrontendClientLocal.h:
(WebCore):
(InspectorFrontendClientLocal):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-bindings-tests failing on Apple Mountain Lion Testers.
https://bugs.webkit.org/show_bug.cgi?id=95354

Reviewed by Eric Seidel.

The binding tests were expecting incorrect results on Mac. The versions using the @property
syntax are correct for Leopard and above. CodeGeneratorObjC.pm was determining which syntax
to use based on the value of MACOSX_DEPLOYMENT_TARGET, which might not be set in the
environment the tests get run in but is correctly set by xcodebuild.

* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader):
Remove the code to support Tiger and earlier and the reliance on MACOSX_DEPLOYMENT_TARGET.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
Update the expectations to expect the @property syntax (done with --reset-results).
* bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
Ditto.
* bindings/scripts/test/ObjC/DOMTestException.h:
Ditto.
* bindings/scripts/test/ObjC/DOMTestInterface.h:
Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.h:
Ditto.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, chromium test expectations cleanup.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ExecutableAllocator should be destructed after Heap
https://bugs.webkit.org/show_bug.cgi?id=95244

Reviewed by Rob Buis.

RIM PR# 199364.
Make ExecutableAllocator the first member in JSGlobalData.
Existing Web Worker tests can show the issue.

* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Create a toggle button for closed captions.
https://bugs.webkit.org/show_bug.cgi?id=94395

Reviewed by Eric Carlson.

This patch will create a button that toggles any captions or subtitles on or off.

Source/WebCore:

Test: media/video-controls-captions.html

* css/mediaControlsChromium.css:
(audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
New style for new button.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
Initialize new variable for keeping track of user (button) disabled captions.

(WebCore::HTMLMediaElement::loadTimerFired):
Rename configureNewTextTracks() to configureTextTracks().

(WebCore::HTMLMediaElement::prepareForLoad):
Do not set closedCaptionsVisible to false, we should instead honor the
checks for default out-of-band tracks.

(WebCore::HTMLMediaElement::textTrackModeChanged):
Rename configureNewTextTracks() to configureTextTracks().

(WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind):
Add checks for when user has requested to see or not see captions.

(WebCore::HTMLMediaElement::configureTextTracks):
Rename configureNewTextTracks() to configureTextTracks().

(WebCore::HTMLMediaElement::hasClosedCaptions):
Return true if we have any caption or subtitle text tracks.

(WebCore::HTMLMediaElement::setClosedCaptionsVisible):
Update the text track display and the closed captions button when the
closed captions button is toggled.

(WebCore::HTMLMediaElement::configureTextTrackDisplay):
If the visibility of any text tracks has changed, update the display and
the controls.

(WebCore::HTMLMediaElement::updateClosedCaptionsControls):
New function that updates both the text track display and the closed
captions button.

* html/HTMLMediaElement.h:
(HTMLMediaElement):
New function updateClosedCaptionsControls()

Adding the button:
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
(WebCore::MediaControlRootElementChromium::initializeControls):
(WebCore::MediaControlRootElementChromium::setMediaController):
(WebCore::MediaControlRootElementChromium::reset):
(WebCore::MediaControlRootElementChromium::reportedError):
(WebCore::MediaControlRootElementChromium::changedClosedCaptionsVisibility):
(WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
* html/shadow/MediaControlRootElementChromium.h:
(WebCore):
(MediaControlRootElementChromium):

Ensure that Linux and Windows render themes will support closed captions:
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore):
(WebCore::supportsClosedCaptioning):
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia):

LayoutTests:

* media/video-controls-captions-expected.txt: Added.
* media/video-controls-captions.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stylechecker warns about comparison to zero when comparing to 0.5
https://bugs.webkit.org/show_bug.cgi?id=94913

Reviewed by Dirk Pranke.

According to the python documentation, \W is the character group with all
non-alphanumeric characters, equivalent to [^a-zA-Z0-9_], which is equal to
to [^\w]. We need to exclude the dot "." as well, so that floating point
values do not trigger this warning. Adding a unit test that shows the problem.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_for_comparisons_to_zero): Modifying the regex to not get triggered by comparing to floats.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_null_false_zero): Unit test exposing this issue.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[New Multicolumn] Implement hit testing for columns.
https://bugs.webkit.org/show_bug.cgi?id=95367

Reviewed by Simon Fraser.

Add an implementation of nodeAtPoint for RenderMultiColumnSet that works similarly to painting.
Multiple calls get made as you walk through the columns to hitTestFlowThreadPortionInRegion.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::nodeAtPoint):
(WebCore):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::nodeAtPoint):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update cygwin-downloader.zip to match modified downloader script.
https://bugs.webkit.org/show_bug.cgi?id=76936

Rubber Stamped by Jon Honeycutt.

cygwin-downloader.py was modified in http://trac.webkit.org/changeset/126948.
Updating zip to reflect changes.

* CygwinDownloader/cygwin-downloader.zip:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Timeline: avoid "IPC message too big" on save/load
https://bugs.webkit.org/show_bug.cgi?id=91991

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-08-29
Reviewed by Alexander Pavlov.

Source/WebCore:

Motivation: Now timeline tries to save all data with one chunk.
Sometimes this causes "IPC message too big" error.

Solution: Reuse Profiles/Heap save/load code.

* inspector/front-end/FileUtils.js:
(WebInspector.OutputStream): Moved from HeapSnapshotView.js
(WebInspector.findBalancedCurlyBrackets): Moved from HeapSnapshotLoader.js
(WebInspector.ChunkedXHRReader): Added.
(WebInspector.ChunkedFileWriter): Moved from HeapSnapshotView.js
* inspector/front-end/HeapSnapshotLoader.js: Utility method moved to FileUtils.js
* inspector/front-end/HeapSnapshotView.js: IO specific classes moved to FileUtils.js
* inspector/front-end/HeapSnapshotWorker.js: Added dependency to FileUtils.js
* inspector/front-end/TimelineModel.js: Adopted chunked IO API.
(WebInspector.TimelineModelLoader): Class for chunked deserialization.
(WebInspector.TimelineModelWriteToFileDelegate): Chunked serializer.

LayoutTests:

Refactored to adopt workflow.

* inspector/timeline/timeline-load.html: Turned into test suite to avoid code
duplication. Added "malformed input" case.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Adjust wtf include header style
https://bugs.webkit.org/show_bug.cgi?id=95368

Reviewed by Yong Li.

Switch to #include <wtf/...> like the other ports.

Source/WebCore:

* platform/graphics/blackberry/LayerFilterRenderer.h:

Source/WebKit/blackberry:

* Api/BlackBerryGlobal.cpp:
* Api/WebPage.cpp:
* WebCoreSupport/ChromeClientBlackBerry.cpp:
* WebCoreSupport/GeolocationControllerClientBlackBerry.h:
* WebCoreSupport/SelectPopupClient.h:
* WebKitSupport/AboutData.cpp:
* WebKitSupport/DOMSupport.cpp:
* WebKitSupport/GLES2Context.cpp:
* WebKitSupport/InPageSearchManager.h:
* WebKitSupport/InputHandler.cpp:

Tools:

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
* DumpRenderTree/blackberry/PNGImageEncoder.cpp:
* DumpRenderTree/blackberry/PNGImageEncoder.h:
* DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp:
* DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.h:
* DumpRenderTree/blackberry/WorkQueueItemBlackBerry.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build patch for Qt

* Target.pri: Missing WKMutableArray.cpp.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Basic DRT support for web notifications
https://bugs.webkit.org/show_bug.cgi?id=79492
<rdar://problem/10357639>

Reviewed by Alexey Proskuryakov.

This patch implements the stubs for web notification support on DRT. Assume that when
Notification.requestPermission() is called, the user always chooses to allow it. This can be easily
overridden in layout tests with testRunner.denyWebNotificationPermission() when needed.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Add MockWebNotificationProvider.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow): Set MockWebNotificationProvider singleton as the provider for the
web view.
(resetWebViewToConsistentStateBeforeTesting): Make sure to reset the provider's state between each test.

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::grantWebNotificationPermission): Set permission to granted for specified origin.
(TestRunner::denyWebNotificationPermission): Set permission to denied for specified origin.
(TestRunner::removeAllWebNotificationPermissions):
(TestRunner::simulateWebNotificationClick): Retrieve the notification ID from the JS notification object, and
simulate the click. This is similar to how WTR performs the click.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:decidePolicyForNotificationRequestFromOrigin:listener:]): Assume when asked, the
user allows web notifications.

* DumpRenderTree/mac/MockWebNotificationProvider.h: Added. Maintains a list of registered web views, known permissions,
a map of notification IDs to WebNotification instances, and a map of the WebViews from which the notifications were dispatched.
* DumpRenderTree/mac/MockWebNotificationProvider.mm: Added.
(+[MockWebNotificationProvider shared]): The provider is a singleton.
(-[MockWebNotificationProvider init]): Instantiate the permissions map.
(-[MockWebNotificationProvider registerWebView:]):
(-[MockWebNotificationProvider unregisterWebView:]):
(-[MockWebNotificationProvider showNotification:fromWebView:]): Add the notification to the maps. Tell the web view that the
notification did show.
(-[MockWebNotificationProvider cancelNotification:]): Tell the web view the notification did close.
(-[MockWebNotificationProvider notificationDestroyed:]): Remove the notification from the maps. Here we don't make a callback.
(-[MockWebNotificationProvider clearNotifications:]): Remove the specified notifications from the maps. Here we don't make a callback.
(-[MockWebNotificationProvider webView:didShowNotification:]): Delegate callback. Dispatch the show event.
(-[MockWebNotificationProvider webView:didClickNotification:]): Delegate callback. Dispatch the click event.
(-[MockWebNotificationProvider webView:didCloseNotifications:]): Delegate callback. Dispatch the close event.
(-[MockWebNotificationProvider simulateWebNotificationClick:]): Tell the web view we clicked the notification.
(-[MockWebNotificationProvider policyForOrigin:]): Look in the permission dictionary.
(-[MockWebNotificationProvider setWebNotificationOrigin:permission:]): Set the permission for the origin in the dictionary.
(-[MockWebNotificationProvider removeAllWebNotificationPermissions]): Clear the permission map.
(-[MockWebNotificationProvider reset]): Remove all mappings and permissions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Implement CompositeDifference
https://bugs.webkit.org/show_bug.cgi?id=77355

Patch by Martin Leutelt <martin.leutelt@basyskom.com> on 2012-08-29
Reviewed by Noam Rosenthal.

Add mapping for difference composite mode for
future use.

* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::toQtCompositionMode):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[TexMap][cairo] Add GC3D::RenderToCurrentGLContext support
https://bugs.webkit.org/show_bug.cgi?id=92441

Reviewed by Noam Rosenthal.

Add a RenderToCurrentGLContext for the Cairo GraphicsContext3D. This will allow
TextureMapperGL to be rewritten on top of GraphicsContext3D by exposing the GC3D
interface for the widget's GL context.

No new tests. This will be covered by the existing AC tests after the patch on
bug 78672 lands.

* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D): Only create the offscreen
rendering buffers if we are rendering offscreen. Pass the rendering style to
the private data factory.
(WebCore::GraphicsContext3D::~GraphicsContext3D): Only destroy the offscreen
rendering buffers if we are rendering offscreen.
* platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::create): Pass the rendering style through.
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): If we are using
a "current GL context" rendering style, we don't need to create a GL context.
We'll always just use the one that's currently active.
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Assert that we only
do this with the offscreen rendering style.
* platform/graphics/cairo/GraphicsContext3DPrivate.h: Update method definitions
and expose the rendering style member GraphicsContext3D.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use Animation::IterationCountInfinite instead of -1 when setting iteration count
https://bugs.webkit.org/show_bug.cgi?id=95339

Reviewed by Andreas Kling.

* css/CSSToStyleMap.cpp: Replace -1 for the proper enum.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Use CSS transform parsing code within CSS Shader
https://bugs.webkit.org/show_bug.cgi?id=71401

Reviewed by Dean Jackson.

Source/WebCore:

Added computed style for the transform parameters of the custom() filter function.
Implemented the FECustomFilter bindings needed to push the value to an actual matrix for the CSS Shader.

Note that transform parameters animations support will come in a different patch:
https://bugs.webkit.org/show_bug.cgi?id=94980.

Test: css3/filters/custom/effect-custom-transform-parameters.html

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::matrixTransformValue): Extracted code from computedTransform into a function, so that we
can reuse it.
(WebCore):
(WebCore::computedTransform):
(WebCore::valueForCustomFilterNumberParameter): Made all the custom filter related functions static to match
most of the other functions in this file.
(WebCore::valueForCustomFilterTransformParameter):
(WebCore::valueForCustomFilterParameter):
(WebCore::CSSComputedStyleDeclaration::valueForFilter): Needed the object size to compute the transform.
(WebCore::CSSComputedStyleDeclaration::valueForShadow): Added the const keyword.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Passed in the object to the valueForFilter.
* css/CSSComputedStyleDeclaration.h:
(WebCore):
(CSSComputedStyleDeclaration):
* css/StyleResolver.cpp:
(StyleResolver::parseCustomFilterTransformParameter):
(StyleResolver::parseCustomFilterParameter):
(StyleResolver::parseCustomFilterParameterList):
* css/StyleResolver.h:
(StyleResolver):
* platform/graphics/filters/CustomFilterParameter.h:
* platform/graphics/filters/CustomFilterTransformParameter.h: Filter parameter wrapper for the FilterOperations.
(WebCore):
(CustomFilterTransformParameter):
(WebCore::CustomFilterTransformParameter::create):
(WebCore::CustomFilterTransformParameter::blend): Animations will come in future patch.
(WebCore::CustomFilterTransformParameter::operator==):
(WebCore::CustomFilterTransformParameter::applyTransform):
(WebCore::CustomFilterTransformParameter::operations):
(WebCore::CustomFilterTransformParameter::setOperations):
(WebCore::CustomFilterTransformParameter::CustomFilterTransformParameter):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::bindProgramTransformParameter):
(WebCore):
(WebCore::FECustomFilter::bindProgramParameters):
* platform/graphics/filters/FECustomFilter.h:
(WebCore):
(FECustomFilter):

LayoutTests:

Added test to check for the computed style of the transform parameters of the
custom() function. Also, added a test file to compare the result of applying the transform
using CSS Custom Filters and using CSS 3D Transforms.

* css3/filters/custom/custom-filter-property-computed-style-expected.txt:
* css3/filters/custom/effect-custom-transform-parameters-expected.html: Added.
* css3/filters/custom/effect-custom-transform-parameters.html: Added.
* css3/filters/resources/vertex-transform-parameter.vs: Added.
* css3/filters/script-tests/custom-filter-property-computed-style.js:
(description):
* platform/chromium/css3/filters/custom/custom-filter-property-computed-style-expected.txt:

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