Apply OVERRIDE and FINAL to Image subclasses and clean them up
https://bugs.webkit.org/show_bug.cgi?id=121086

Reviewed by Alexey Proskuryakov.

Everything other than the copious application of OVERRIDE and FINAL
is explicitly called out below.

* WebCore.exp.in:
Export the correct version of getCGImageRef for use by WebKit2.

* platform/graphics/BitmapImage.cpp:
* platform/graphics/BitmapImage.h:
Drive-by inline isBitmapImage.
Move create(HBITMAP) to be near the other create() functions.
Move all of the members and quite a few functions from protected to private.
Devirtualize frameCount().
Move notSolidColor() near the other solid color functions.

* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
(WebCore::CrossfadeGeneratedImage::drawPattern):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):
(WebCore::GeneratorGeneratedImage::drawPattern):
Use size() and setContainerSize() instead of directly accessing a
superclass' (now private, previously protected) members.

* platform/graphics/CrossfadeGeneratedImage.h:
* platform/graphics/GeneratedImage.h:
Make m_size private, I don't think we do protected members.

* platform/graphics/GeneratorGeneratedImage.h:
Make all the members private.

* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderWidget elements are always HTMLFrameOwnerElement subclasses.
<https://webkit.org/b/121217>

Reviewed by Antti Koivisto.

Make RenderWidget constructor take HTMLFrameOwnerElement* and update subclasses
with even tighter types where possible.

Also added RenderWidget::frameOwnerElement() and deleted element().
Removed a handful of unnecessary type checks that were exposed by this.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r154781): accessibility/notification-listeners.html is failing
https://bugs.webkit.org/show_bug.cgi?id=120669

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-12
Reviewed by Chris Fleizach.

Tools:

Fixed 4 problems that were causing notification-listeners.html to fail.

Notifications for AXFocusedUIElementChanged and AXValueChanged had to be
implemented in axObjectEventListener().

A notification for AXFocusedUIElementChanged was incorrectly sent when
the element lost focus.

Global notification was not dispatched if an element notification was
present in the HashMap.

connectAccessibilityCallbacks() was connecting signals to callbacks
multiple times because it was not checking if
disconnectAccessibilityCallbacks() had an early return if there were
active handlers.

* DumpRenderTree/atk/AccessibilityCallbacks.h: Modified
disconnectAccessibilityCallbacks() to inform if the callbacks were
successfully disconnected.
* DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:
(axObjectEventListener): Implemented notifications for
AXFocusedUIElementChanged and AXValueChanged. Fixed the global
notification, which was not dispatched if an element notification
existed. Fixed the notification for AXFocusedUIElementChanged that was
incorrectly sent when the element lost focus. In addition, fixed a typo
where TRUE should be true.
(connectAccessibilityCallbacks): Added early return if
disconnectAccessibilityCallbacks() did not disconnect the callbacks.
(disconnectAccessibilityCallbacks): Added a return value to inform if
callbacks were successfully disconnected.

LayoutTests:

Updated the expectation for notification-listeners.html, which was
failing before this fix.

* platform/gtk/TestExpectations: Removed notification-listeners.html.
* platform/gtk/accessibility/notification-listeners-expected.txt:
Updated the expectation for notification-listeners.html. There is one
difference from the results on the Mac port, which was used as
reference. The element role for <select> is AXComboBox while on Mac
is AXPopUpButton.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r155597.
http://trac.webkit.org/changeset/155597
https://bugs.webkit.org/show_bug.cgi?id=121220

broke windows build because there's no ews :( (Requested by
thorton on #webkit).

* WebCore.exp.in:
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::isBitmapImage):
* platform/graphics/BitmapImage.h:
(WebCore::BitmapImage::create):
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
(WebCore::CrossfadeGeneratedImage::drawPattern):
* platform/graphics/CrossfadeGeneratedImage.h:
(WebCore::CrossfadeGeneratedImage::setContainerSize):
(WebCore::CrossfadeGeneratedImage::usesContainerSize):
(WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
(WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
(WebCore::CrossfadeGeneratedImage::size):
* platform/graphics/GeneratedImage.h:
(WebCore::GeneratedImage::hasSingleSecurityOrigin):
(WebCore::GeneratedImage::setContainerSize):
(WebCore::GeneratedImage::usesContainerSize):
(WebCore::GeneratedImage::hasRelativeWidth):
(WebCore::GeneratedImage::hasRelativeHeight):
(WebCore::GeneratedImage::size):
(WebCore::GeneratedImage::destroyDecodedData):
(WebCore::GeneratedImage::decodedSize):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):
(WebCore::GeneratorGeneratedImage::drawPattern):
* platform/graphics/GeneratorGeneratedImage.h:
(WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
* svg/graphics/SVGImage.h:
(WebCore::SVGImage::isSVGImage):
(WebCore::SVGImage::usesContainerSize):
(WebCore::SVGImage::destroyDecodedData):
(WebCore::SVGImage::decodedSize):
* svg/graphics/SVGImageForContainer.h:
(WebCore::SVGImageForContainer::destroyDecodedData):
(WebCore::SVGImageForContainer::decodedSize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Self-referencing aria-labelledby only uses contents.
https://bugs.webkit.org/show_bug.cgi?id=120814

Patch by Samuel White <samuel_white@apple.com> on 2013-09-12
Reviewed by Mario Sanchez Prada.

Source/WebCore:

Implemented additional 'Text Alternative Computation' steps documented at:
http://www.w3.org/WAI/PF/aria/complete#textalternativecomputation. This allows us to remove
our raw text node iteration that was previously forcing us to do our computation incorrectly.
Element content is now sourced using textUnderElement (step 2C of the computation).

Test: accessibility/self-referencing-aria-labelledby.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):

LayoutTests:

Test to verify that self-referencing aria-labelledby behavior works as expected.

* accessibility/self-referencing-aria-labelledby-expected.txt: Added.
* accessibility/self-referencing-aria-labelledby.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
class WeekInputType invokes wrong constructor
https://bugs.webkit.org/show_bug.cgi?id=120768

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-09-12
Reviewed by Andreas Kling.

Correcting wrong constuctor invocation.

* html/WeekInputType.h:
(WebCore::WeekInputType::WeekInputType):

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