Convert ScrollableArea ASSERT_NOT_REACHED virtuals
https://bugs.webkit.org/show_bug.cgi?id=93306

Reviewed by Darin Adler.

Source/WebCore:

ASSERT_NOT_REACHED is a bad way to make sure that a virtual function
gets an override, because it only fails at run-time in debug builds.

To fix this, convert the virtuals in ScrollableArea that have
ASSERT_NOT_REACHED to be either pure virtual or implemented directly
in ScrollableArea. Add implementations where necessary to make derived
classes concrete.

Additionally, consistently add OVERRIDE for virtual functions in
derived classes that override ScrollableArea methods.

* WebCore.exp.in:
* page/FrameView.h:
(FrameView):
* platform/ScrollView.h:
(ScrollView):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollPosition):
(WebCore):
(WebCore::ScrollableArea::minimumScrollPosition):
(WebCore::ScrollableArea::maximumScrollPosition):
(WebCore::ScrollableArea::visibleContentRect):
* platform/ScrollableArea.h:
(ScrollableArea):
(WebCore::ScrollableArea::overhangAmount):
* platform/chromium/FramelessScrollView.cpp:
(WebCore::FramelessScrollView::isOnActivePage):
(WebCore):
(WebCore::FramelessScrollView::scrollableAreaBoundingBox):
* platform/chromium/FramelessScrollView.h:
(FramelessScrollView):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::visibleHeight):
(WebCore):
(WebCore::PopupMenuWin::visibleWidth):
(WebCore::PopupMenuWin::contentsSize):
(WebCore::PopupMenuWin::isOnActivePage):
(WebCore::PopupMenuWin::scrollableAreaBoundingBox):
* platform/win/PopupMenuWin.h:
(PopupMenuWin):
* rendering/RenderListBox.cpp:
* rendering/RenderListBox.h:
(RenderListBox):

Source/WebKit/chromium:

Add implementations where necessary to make derived classes concrete.
Add OVERRIDE for ScrollableArea functions.

* src/ScrollbarGroup.h:
(ScrollbarGroup):
(WebKit::ScrollbarGroup::scrollCornerRect):
* tests/ScrollAnimatorNoneTest.cpp:
(MockScrollableArea):

Source/WebKit/win:

Add implementations where necessary to make derived classes concrete.
Add OVERRIDE for ScrollableArea functions.

* WebScrollBar.cpp:
(WebScrollBar::visibleHeight):
(WebScrollBar::visibleWidth):
(WebScrollBar::contentsSize):
(WebScrollBar::isOnActivePage):
(WebScrollBar::scrollableAreaBoundingBox):
* WebScrollBar.h:
(WebScrollBar):

Source/WebKit2:

Add implementations where necessary to make derived classes concrete.
Add OVERRIDE for ScrollableArea functions.

* UIProcess/win/WebPopupMenuProxyWin.cpp:
(WebKit::WebPopupMenuProxyWin::visibleHeight):
(WebKit):
(WebKit::WebPopupMenuProxyWin::visibleWidth):
(WebKit::WebPopupMenuProxyWin::contentsSize):
(WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox):
* UIProcess/win/WebPopupMenuProxyWin.h:
(WebPopupMenuProxyWin):
* WebProcess/Plugins/PDF/BuiltInPDFView.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: dblclick on Timeline overview no longer selects entire timeline range
https://bugs.webkit.org/show_bug.cgi?id=94826

Reviewed by Vsevolod Vlasov.

Only install a glass pane for drag-n-drop upon first mouseout event -- otherwise, glass pane
will interfere with double clicks.

* inspector/front-end/UIUtils.js:
(WebInspector._elementDragStart.onMouseOut):
(WebInspector._elementDragStart):
(WebInspector._elementDragEnd):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] ScheduledAction is ugly and needs a cleanup
https://bugs.webkit.org/show_bug.cgi?id=94784

Reviewed by Eric Seidel.

This patch updates ScheduledAction to use modern WebKit machinery, like
OwnHandle and Vector.

* bindings/v8/OwnHandle.h:
(OwnHandle):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::~ScheduledAction):
(WebCore::ScheduledAction::execute):
* bindings/v8/ScheduledAction.h:
(WebCore):
(ScheduledAction):
(WebCore::ScheduledAction::ScheduledAction):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed a fastMallocForbid/Allow compile error for some compilers
https://bugs.webkit.org/show_bug.cgi?id=94775

Reviewed by Gavin Barraclough.

* wtf/FastMalloc.h:
(WTF::fastMallocForbid()):
(WTF::fastMallocAllow()): Export, since these are called by JavaScriptCore.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Free ewk context data on program exit.
https://bugs.webkit.org/show_bug.cgi?id=94808

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

Make sure the default Ewk_Context gets freed
on program exit.

The patch also fixes leaking of WKContextRef
inside Ewk_Context which should have been
adopted.

* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
(ewk_context_default_get):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Gtk] Move feature defines processing into a GNUmakefile that's simple to autogenerate
https://bugs.webkit.org/show_bug.cgi?id=87127

Reviewed by Martin Robinson.

.: 

Add 'feature_defines_defaults' and 'feature_defines_overrides' variables
and define them, along with 'feature_defines' (changed from the all-caps version),
before webcore_cppflags.

* GNUmakefile.am:

Source/WebCore: 

List all the feature defines with their default value in
GNUmakefile.features.am and append them to the 'feature_defines_defaults'.
variable.

In GNUmakefile.am, include the GNUmakefile.features.am. When checking the
AM conditionals for feature-enabling, append the appropriate define to
'feature_defines_overrides'.

After all such overrides are performed, append the proper define (of which
value was possibly overridden) for each feature to the 'feature_defines'
variable. Finally, append all these defines to webcore_cppflags in the form
of macros for preprocessing.

No new tests - no new functionality.

* GNUmakefile.am:
* GNUmakefile.features.am: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: three layout tests crashing with assertion failure
https://bugs.webkit.org/show_bug.cgi?id=94829

Unreviewed Chromium gardening. Suppressed failing tests.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove redundant check for negative values when using WebCore::Color::alpha()
https://bugs.webkit.org/show_bug.cgi?id=94811

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-23
Reviewed by Eric Seidel.

Though alpha() returns a signed value (int), its value is stored on an unsigned
typedef (RGBA32) and is safeguarded by alphaChannel() that its value never goes
beyond 255, so no integer overflow, thus we can safely remove redundant check
for negative values while using it.

This change does not affect behavior, so no new tests needed.

* platform/graphics/Image.cpp:
(WebCore::Image::fillWithSolidColor):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Using hasAlpha() for readibility.
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
* rendering/style/RenderStyle.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Use WTF_USE_SOUP instead BUILDING_SOUP__
https://bugs.webkit.org/show_bug.cgi?id=94744

Reviewed by Gustavo Noronha Silva.

.:

There is no need to define BUILDING_SOUP__ if only WTF_USE_SOUP
is used.

* GNUmakefile.am:
* Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

Use #if defined(WTF_USE_SOUP) instead of #if defined(BUILDING_SOUP__)
since the former is used everywhere.

* Shared/API/c/WKBase.h:

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