Implement pseudoElement attribute on transition DOM events.
https://bugs.webkit.org/show_bug.cgi?id=107986

Reviewed by Julien Chaffraix.

Source/WebCore:

Implement the pseudoElement attribute documented here :
http://dev.w3.org/csswg/css3-transitions/#transition-events.
This add a new attribute to the transition DOM event useful when
animating pseudo elements. As they are not accessible in JS, it's
very useful to get on which pseudo element the transition just ended.
This patch adds the new attribute on the IDLs of DOM transition events as well
as adding it to the C++ classes representing them. The event
dispatching code have been patched to change the target of the event
(we can't send the current target as it is the actual DOM
representation of the pseudo element).

Test: fast/css-generated-content/pseudo-transition-event.html

* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules): Change the target of the
event in the case of a pseudo element. We can't expose them through the
public interface so the target is the node they belong to.
(WebCore::EventDispatcher::ensureEventAncestors):
(WebCore::EventDispatcher::dispatchScopedEvent):
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::dispatchEventPostProcess):
* dom/EventTarget.cpp:
(WebCore::createMatchingPrefixedEvent):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::pseudoElementNameForEvents):
(WebCore):
* dom/PseudoElement.h:
* dom/TransitionEvent.cpp:
(WebCore::TransitionEventInit::TransitionEventInit):
(WebCore::TransitionEvent::TransitionEvent):
(WebCore::TransitionEvent::pseudoElement):
(WebCore):
* dom/TransitionEvent.h:
(TransitionEventInit):
(WebCore::TransitionEvent::create):
(TransitionEvent):
* dom/TransitionEvent.idl:
* dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit):
(WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
(WebCore::WebKitTransitionEvent::pseudoElement):
(WebCore):
* dom/WebKitTransitionEvent.h:
(WebKitTransitionEventInit):
(WebCore::WebKitTransitionEvent::create):
(WebKitTransitionEvent):
* dom/WebKitTransitionEvent.idl:
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Pass
the pseudo element name when creating the Event objects. If the element
is not a pseudo element then the name will be empty which is what the
spec is telling to do. If the element is a pseudo element then the name
will be the pseudo element's name with "::" as a prefix.

LayoutTests:

Add new tests to cover the feature.

* fast/css-generated-content/pseudo-transition-event-expected.txt: Added.
* fast/css-generated-content/pseudo-transition-event.html: Added.
* fast/events/constructors/transition-event-constructor-expected.txt:
* fast/events/constructors/transition-event-constructor.html:
* fast/events/constructors/webkit-transition-event-constructor-expected.txt:
* fast/events/constructors/webkit-transition-event-constructor.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't overlap test for composited scroll DIVs after scroll
https://bugs.webkit.org/show_bug.cgi?id=107471

Patch by Glenn Hartmann <hartmanng@chromium.org> on 2013-01-29
Reviewed by Simon Fraser.

We don't need to test for overlap after scroll when both
usesCompositedScrolling and !hasOutOfFlowPositionedDescendant
because:

a) Since we're using composited-scrolling, the composited region
presented by the composited-scrolling element to other non-descendant
layers doesn't change during composited scrolling (it's always the
entire scroll layer), and

b) Since we have no out of flow positioned descendants, the scrolling
descendants all move together, so their overlap with respect to each
other cannot change.

So no descendants nor any non-descendants can have their overlap
affected, so it's safe to skip testing.

No new tests (no change in behaviour).

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
* rendering/RenderLayerCompositor.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Freetype] Cannot use characters outside the BMP
https://bugs.webkit.org/show_bug.cgi?id=108102

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-29
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test: platform/gtk/fonts/non-bmp-characters.html

Instead of never handling surrogate pairs when dealing with UChar arrays,
abstract way the logic for this into UTF16UChar32Iterator and use it
everywhere in Freetype. This allows the Freetype backend to render
non-BMP characters which are always represented as surrogate pairs in
UTF-16.

* GNUmakefile.list.am: Added UTF16UChar32Iterator to the source list.
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters): Use the new iterator.
(WebCore::FontCache::getFontDataForCharacters): Ditto.
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill): Ditto. Remove the early return when dealing
with non-BMP data.
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters): Use the new iterator.
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added. An iterator that
extracts UChar32 from UTF-16 UChar arrays.

* GNUmakefile.list.am:
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
(WebCore):
(UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::end):
(WebCore::UTF16UChar32Iterator::next):

* GNUmakefile.list.am:
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
(WebCore):
(UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::end):
(WebCore::UTF16UChar32Iterator::next):

LayoutTests:

Added a pixel test for rendering non-BMP characters.

* platform/gtk/fonts/non-bmp-characters.html: Added.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png: Added.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening. Skip a failing ref html test.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
On HarfbuzzNG ports, Arabic TATWEEL is not joined.
https://bugs.webkit.org/show_bug.cgi?id=108037

Reviewed by Tony Chang.

The tatweel (U+0640) is being split into a separate run, because its script is USCRIPT_COMMON.
It has script extensions for USCRIPT_ARABIC, so I think it shouldn't trigger a new run.

Test: fast/text/international/arabic-tatweel-join.html

* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.

Disable WebFrameTest.pageScaleFactorShrinksViewport (pending investigation after r141053).

* tests/WebFrameTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Missing build flags when building with Harfbuzz
https://bugs.webkit.org/show_bug.cgi?id=108174

Reviewed by Martin Robinson.

Add FREETYPE_CFLAGS and FREETYPE_LIBS to makefiles so -lharfbuzz
parameter will be added to linking lines when needed.

Source/WebKit/gtk:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.

Source/WebKit2:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* UIProcess/API/gtk/tests/GNUmakefile.am: Ditto.

Tools:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* MiniBrowser/gtk/GNUmakefile.am: Ditto.
* TestWebKitAPI/GNUmakefile.am: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Heap-use-after-free in WebCore::RenderTextTrackCue::layout
https://bugs.webkit.org/show_bug.cgi?id=108197

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-cue-rendering-tree-is-removed-properly.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackRemoveCue): Ensure the display tree
is removed when the cue is removed from the list of cues.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::~TextTrackCue): Enfore display tree removal.

LayoutTests:

Added test that triggers the crash. Verified proper removal of the tree.

* media/track/track-cue-rendering-tree-is-removed-properly-expected.txt: Added.
* media/track/track-cue-rendering-tree-is-removed-properly.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] IndexedDB: Let callers specify reason (error) for aborting transaction
https://bugs.webkit.org/show_bug.cgi?id=107851

Reviewed by Tony Chang.

Source/WebCore:

Internal to the back-end, callers are able to abort transactions and specify a reason
as an IDBDatabaseError, e.g. ConstraintError. Expose this to the WebKit/chromium/public
API so that intermediate layers can specify reasons as well, e.g. QuotaExceededError.

Test will land in Chromium as fix for crbug.com/113118

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::abort): Added overload that takes error.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Ditto.
* Modules/indexeddb/IDBDatabaseBackendInterface.h: Ditto.

Source/WebKit/chromium:

Let Chromium call abort() on a transaction and specify a reason, specifically for
QuotaExceededError.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::abort): New overload for abort() that takes an error.
* public/WebIDBDatabaseError.h:
(WebKit::WebIDBDatabaseError::WebIDBDatabaseError): Overloaded constructor/assign that takes error.
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::abort): New overload for abort() that takes an error.
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy): Ditto.
* src/WebIDBDatabaseError.cpp: Implementation of overload ctor/assign.
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::abort): New overload for abort() that takes an error.
* src/WebIDBDatabaseImpl.h: Ditto.
* tests/IDBDatabaseBackendTest.cpp: Overload stubs for Mock class.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
QueueStatusServer needs pages to display historical queue data
https://bugs.webkit.org/show_bug.cgi?id=107659

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-29
Reviewed by Eric Seidel.

Created a /queue-charts/<queue-name> handler to present queue and patch data using Google Chart Tools.

* QueueStatusServer/app.yaml:
* QueueStatusServer/config/charts.py: Copied from Tools/QueueStatusServer/model/queuelog.py.
(get_time_unit):
* QueueStatusServer/filters/webkit_extras.py:
(webkit_linkify):
(webkit_bug_id):
(webkit_attachment_id):
(results_link):
(queue_status_link):
(queue_charts_link):
* QueueStatusServer/handlers/queuecharts.py: Added.
(QueueCharts):
(QueueCharts.get):
(QueueCharts._get_min_med_max):
(QueueCharts._get_patch_data):
(QueueCharts._get_patch_logs):
(QueueCharts._get_queue_data):
(QueueCharts._get_queue_logs):
(QueueCharts._get_time_unit):
(QueueCharts._get_timestamp):
(QueueCharts._get_view_range):
* QueueStatusServer/handlers/queuestatus.py:
(QueueStatus.get):
* QueueStatusServer/index.yaml:
* QueueStatusServer/main.py:
* QueueStatusServer/model/queuelog.py:
(QueueLog):
(QueueLog.create_key):
(QueueLog.get_at):
(QueueLog.get_current):
(QueueLog.get_or_create):
(QueueLog._get_or_create_txn):
* QueueStatusServer/stylesheets/charts.css: Added.
(.chart):
(.choices):
* QueueStatusServer/templates/queuecharts.html: Added.
* QueueStatusServer/templates/queuestatus.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141129 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed DEPS roll.

Roll Chromium DEPS to 179332.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed build fix.

Revert my revert at 141033 which can cause deadlock.

* platform/graphics/chromium/DiscardablePixelRef.cpp:
(WebCore::DiscardablePixelRefAllocator::allocPixelRef):
(WebCore::DiscardablePixelRef::DiscardablePixelRef):
* platform/graphics/chromium/DiscardablePixelRef.h:
(DiscardablePixelRef):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141131 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move ElementShadow creation to ElementRareData
https://bugs.webkit.org/show_bug.cgi?id=108195

Reviewed by Dimitri Glazkov.

Move the creation of ElementShadow to ElementRareData
for better encapsulation, and get rid of ElementRareData::setShadow.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::~Element): Use clearShadow() instead of setShadow which is removed.
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow): Use ElementRareData::ensureShadow().
* dom/ElementRareData.h:
(WebCore::ElementRareData::clearShadow): Added.
(WebCore::ElementRareData::ensureShadow): Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add back test expectations that got erroneously removed in r140981.

* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Fix contents size calculation for page scale initialization
https://bugs.webkit.org/show_bug.cgi?id=108204

Reviewed by enne.

My previous patch http://webk.it/107424 had a few issues that are
blocking WebKit roll.

- We still need the layout in resize() given that
http://webk.it/107922 was reverted.

- I deleted code used only for the old page-scale mode in
contentsSize(), but this needs to wait until WebKit roll since it's
making bots fail in this short term.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize):
(WebKit::WebViewImpl::contentsSize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix a problem that deferred image decoding is enabled for multiframe images
https://bugs.webkit.org/show_bug.cgi?id=108152

Patch by Min Qin <qinmin@chromium.org> on 2013-01-29
Reviewed by Stephen White.

Deferred image decoding should only work for single frame images now.
However, using ImageDecoder::repetitionCount() does not capture all the cases.
Enforce the rule using ImageDecoder::frameCount()==1.
Fixing a failing layout test: platform/chromium/virtual/deferred/fast/images/icon-0colors.html

* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::frameBufferAtIndex):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
.: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Adam Barth.

* Source/autotools/symbols.filter: Expose MemoryCache::resourceForURL().

Source/WebCore: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Adam Barth.

Test: http/tests/cache/cached-main-resource.html

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
(WebCore):
* dom/Document.h:
(Document):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
    MainResourceLoader will take care of it.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
    ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
(WebCore::MainResourceLoader::identifier):
* loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
    to better describe when it is used.
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
(WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
(WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
* loader/cache/CachedRawResource.h:
(CachedRawResource):
(RedirectPair):
(WebCore::CachedRawResource::RedirectPair::RedirectPair):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::addClientToSet): Don't return cached data for a main resource synchronously
* loader/cache/CachedResource.h:
(WebCore::CachedResource::canReuse):
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource): Leave cahce reuse of main resources off for chromium for now.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
* testing/Internals.cpp:
(WebCore::Internals::isPreloaded):
(WebCore):
(WebCore::Internals::isLoadingFromMemoryCache):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/win: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Adam Barth.

* WebKit.vcproj/WebKitExports.def.in: Expose some MemoryCache symbols for use in Internals.

LayoutTests: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667.

Reviewed by Adam Barth.

* http/tests/cache/cached-main-resource-expected.txt: Added.
* http/tests/cache/cached-main-resource.html: Added.
* http/tests/cache/resources/cacheable-iframe.php: Added.
* http/tests/inspector/resource-har-pages-expected.txt:
* http/tests/loading/redirect-methods-expected.txt:
* http/tests/misc/favicon-loads-with-images-disabled-expected.txt:
* http/tests/misc/link-rel-icon-beforeload-expected.txt:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Use offical Windows CE support
https://bugs.webkit.org/show_bug.cgi?id=108061

Reviewed by Laszlo Gombos.

Recent version of CMake has added Windows CE support, but uses a
slightly different interface than the patched version used before.
Change the command line parameters to use the offical CMake binaries.

* Scripts/webkitdirs.pm:
(cmakeBasedPortArguments):

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

Rebaselining after r141122.
Removing a few duplicate test expectations.

* platform/gtk/TestExpectations:
* platform/gtk/fast/text/midword-break-before-surrogate-pair-expected.txt:
* platform/gtk/fonts/complex-text-shadows-expected.txt: Replaced with LayoutTests/platform/gtk/platform/gtk/fonts/complex-text-shadows-expected.txt.
* platform/gtk/fonts/font-face-with-complex-text-expected.txt: Replaced with LayoutTests/platform/gtk/platform/gtk/fonts/font-face-with-complex-text-expected.txt.
* platform/gtk/fonts/non-bmp-characters-expected.png: Copied from LayoutTests/platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png.
* platform/gtk/fonts/non-bmp-characters-expected.txt: Copied from LayoutTests/platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt.
* platform/gtk/platform/gtk/fonts/complex-text-shadows-expected.txt: Removed.
* platform/gtk/platform/gtk/fonts/font-face-with-complex-text-expected.txt: Removed.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png: Removed.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt: Removed.
* platform/gtk/svg/text/non-bmp-positioning-lists-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Canvas support for isPointInStroke
https://bugs.webkit.org/show_bug.cgi?id=108185

Reviewed by Dean Jackson.

Source/WebCore:

isPointInStroke(x,y) returns true if a point hits the stroke
with applied stroke styles like dashArray, lineCap, lineJoin, lineWidth.
The syntax is similar to isPointInPath, which returns true if a point hits
the fill area of a path.
Firefox implemented isPointInStroke originally and unprefixed it recently:

https://bugzilla.mozilla.org/show_bug.cgi?id=803124

Test: fast/canvas/canvas-isPointInStroke.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasStrokeStyleApplier::strokeStyle): Take dashArray and lineDashOffset into account.
(WebCore):
(WebCore::CanvasRenderingContext2D::isPointInStroke): The implementation of the function.
* html/canvas/CanvasRenderingContext2D.h:
(CanvasRenderingContext2D):
* html/canvas/CanvasRenderingContext2D.idl: Added operation to interface.

LayoutTests:

Test the implementation of isPointOfStroke with all stroke style
properties in Canvas.

* fast/canvas/canvas-isPointInStroke-expected.txt: Added.
* fast/canvas/canvas-isPointInStroke.html: Added.
* fast/canvas/script-tests/canvas-isPointInStroke.js: Added.

* fast/canvas/canvas-isPointInStroke-expected.txt: Added.
* fast/canvas/canvas-isPointInStroke.html: Added.
* fast/canvas/script-tests/canvas-isPointInStroke.js: Added.
* inspector/profiler/canvas2d/canvas2d-api-changes.html: Added property for isPointInStroke.

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