INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of month/day field should respect min/max attributes
https://bugs.webkit.org/show_bug.cgi?id=106212

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-01-07
Reviewed by Kent Tamura.

Source/WebCore:

Make step-up/-down of the month and day fields respect the min/max
attributes of the element.
Note that these fields still accept any keyboard inputs (the element
becomes 'invalid' state when out-of-bounds values entered).

Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html
       fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html
       fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html
       fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html

* css/html.css: Add CSS rules for month and day fields.
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitField):
Compute minimum/maximum values of month/day fields from the min/max
parameters of the element. If minimum, maximum, and current value is
the same, makes the field read-only.
* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Ditto.
(WebCore::DateTimeDayFieldElement::create): Ditto.
(WebCore::DateTimeDayFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeMonthFieldElement::create): Ditto.
(WebCore::DateTimeMonthFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicMonthFieldElement::create): Ditto.
* html/shadow/DateTimeFieldElements.h:
(DateTimeDayFieldElement): Add mininum/maximum arguments and declare clampValueForHardLimits.
(DateTimeMonthFieldElement): Ditto.
(DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicFieldElement::maximum): Returns m_maximumIndex + 1 as it assumes 1-origin value.
(WebCore::DateTimeSymbolicFieldElement::minimum): Ditto.
(WebCore::DateTimeSymbolicFieldElement::stepDown): Restrict value to m_minimumIndex-m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::stepUp): Ditto.
* html/shadow/DateTimeSymbolicFieldElement.h:
(DateTimeSymbolicFieldElement): Add m_minimumIndex and m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::isInRange): Added.

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt:
* fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html: Add tests for month and day fields.
* fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use toSize() to convert from Int/FloatPoint to Int/FloatSize
https://bugs.webkit.org/show_bug.cgi?id=105992

Patch by Steve Block <steveblock@chromium.org> on 2013-01-07
Reviewed by Kentaro Hara.

Source/WebCore:

Refactoring only, no change in behavior.

* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::computePath):
* platform/ScrollView.h:
(WebCore::ScrollView::scrollOffset):
* platform/graphics/FloatPoint.h:
(WebCore::toFloatSize):
Add 'inline FloatSize toFloatSize(const FloatPoint&)' to match IntPoint.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit/chromium:

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r137406): Text inside an empty optgroup prevents subsequent options from appearing
https://bugs.webkit.org/show_bug.cgi?id=106298

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/forms/select/select-empty-optgroup.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::recalcListItems):
Traverse to the first element within the 'current' only if it exists.

LayoutTests:

* fast/forms/select/select-empty-optgroup-expected.html: Added.
* fast/forms/select/select-empty-optgroup.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add chromium.org email address for Steve Block.

Unreviewed.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Float block's logical top margin is illegal in vertical writing mode.
https://bugs.webkit.org/show_bug.cgi?id=96597

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-01-08
Reviewed by Hajime Morita.

Source/WebCore:

flipFloatForWritingModeForChild() should use child->renderer()->width() not child->width() like horizontal writing mode.

Test: fast/writing-mode/vertical-float-margin.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::flipFloatForWritingModeForChild):

LayoutTests:

Specify margin to float block in vertical writing mode.

* fast/writing-mode/vertical-float-margin-expected.html: Added.
* fast/writing-mode/vertical-float-margin.html: Added.
* platform/chromium/TestExpectations: Add need rebaseline.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][Win] Unreviewed buildfix, partially revert
r139003, because Qt port still uses these files.

* Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Added.
* Platform/CoreIPC/win/ConnectionWin.cpp: Added.
* Platform/win/SharedMemoryWin.cpp: Added.
* Platform/win/WorkQueueWin.cpp: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HTMLTreeBuilder shouldn't keep a Document pointer
https://bugs.webkit.org/show_bug.cgi?id=106268

Reviewed by Eric Seidel.

The tree builder shouldn't interact with the Document directly.
Instead, the tree builder should use the HTMLConstructionSite to
interact with the document.

Unfortunately, the HTMLTreeBuilder does need to read back one bit of
information (the quirks mode) from the Document. Currently the
HTMLConstructionSite reads the information directly from the Document.
If/when we move the parser onto its own thread, we'll need to keep
track of this bit on the parser thread. (We should be able to
encapsulate all that logic in the HTMLConstructionSite.)

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
(WebCore):
(WebCore::HTMLConstructionSite::finishedParsing):
(WebCore::HTMLConstructionSite::inQuirksMode):
* html/parser/HTMLConstructionSite.h:
(HTMLConstructionSite):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::detach):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::defaultForInitial):
(WebCore::HTMLTreeBuilder::finished):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r139036): 'WebCore::DateTimeSymbolicFieldElement::isInRange' hides overloaded virtual function
https://bugs.webkit.org/show_bug.cgi?id=106311

Unreviewed build fix.

* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::stepDown):
(WebCore::DateTimeSymbolicFieldElement::stepUp):
* html/shadow/DateTimeSymbolicFieldElement.h:
(WebCore::DateTimeSymbolicFieldElement::indexIsInRange): renamed method to avoid hiding Element::isInRange

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Dragging over an element with scrollbars should scroll the element when dragging near edges
https://bugs.webkit.org/show_bug.cgi?id=39725

Reviewed by Hajime Morita.

Source/WebCore:

This patch introduces auto scrolling functionality during drag-and-drop
when drop source is near edge of scrollable element.

When drop source is inside 20px of scrollable element more than 200ms,
scrollable element is automatically scrolled every 50ms toward drop
source position, e.g. vertically scroll up when drop source is in top
edge.

Test: fast/events/drag-and-drop-autoscroll.html

* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::AutoscrollController): Changed to initialize m_dragAndDropAutoscrollStartTime.
(WebCore::AutoscrollController::updateDragAndDrop): Added for start/stop autoscroll during drag-and-drop.
(WebCore::AutoscrollController::autoscrollTimerFired): Changed to add autoscroll for drag-and-drop, and to pass last know position to RenderBox::autoscroll().
* page/AutoscrollController.h:
(AutoscrollController): Changed to add updateDragAndDrop() and m_dragAndDropAutoscrollReferencePosition and m_dragAndDropAutoscrollStartTime.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop): Changed to call AutoscrollController::updateDragAndDrop().
* rendering/RenderBox.cpp:
(WebCore::RenderBox::autoscroll): Changed for new parameter position.
(WebCore::RenderBox::calculateAutoscrollDirection): Added for autoscroll.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):  Changed for new parameter position and move updateSelectionForMouseDrag() to AutoscrollController.
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::autoscroll):  Changed for new parameter position.
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::autoscroll):  Changed for new parameter position.
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):

Source/WebKit/chromium:

This patch removes DragScrollTimer used for automatic scrolling of main
frame drag-and-drop which is now implemented in EventHandler.

Another patch will remove DragScrollTimer.{cpp,h} and update GYP files to
make patch size small.

No tests. Existing test covers this change.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl): Changed to remove m_dragScrollTimer.
(WebKit::WebViewImpl::dragSourceEndedAt): ditto
(WebKit::WebViewImpl::dragSourceMovedTo): ditto
(WebKit::WebViewImpl::dragTargetDrop): ditto
(WebKit::WebViewImpl::dragTargetDragEnterOrOver): ditto
* src/WebViewImpl.h:
(WebKit): Chagned to remove DragScrollTimer.

LayoutTests:

This patch adds new test for autoscroll during drag-and-drop.

* fast/events/drag-and-drop-autoscroll-expected.txt: Added.
* fast/events/drag-and-drop-autoscroll.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
https://bugs.webkit.org/show_bug.cgi?id=106307

This matches other method names which distinguish between sizes and
points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.

Patch by Steve Block <steveblock@chromium.org> on 2013-01-08
Reviewed by Kentaro Hara.

Source/WebCore:

Refactoring only, no functional change.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::scrollTo):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* platform/ScrollView.h:
(WebCore::ScrollView::scrollOffset):
* platform/graphics/IntPoint.h:
(WebCore::toIntSize):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::positionNewlyCreatedOverflowControls):
(WebCore::RenderLayer::paintOverflowControls):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit/blackberry:

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add WebP image support
https://bugs.webkit.org/show_bug.cgi?id=105915

Reviewed by Martin Robinson.

.:

WebP is from now on a dependency for WebKitGtk+.

* configure.ac: added WebP library detection.

Source/WebCore:

* GNUmakefile.am: add WTF_USE_WEBP definition.
* GNUmakefile.list.am: properly sort image decoders in the sources list.

Source/WebKit/gtk:

* GNUmakefile.am: link against WebP library.

Source/WebKit2:

* GNUmakefile.am: link against WebP library.

LayoutTests:

* platform/gtk/TestExpectations: unskipped two tests passing now
that we have WebP support.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] Unreviewed gardening after r138932.

* platform/qt-5.0-wk2/fast/ruby/ruby-beforeafter-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-beforeafter-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-empty-rt-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-empty-rt-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-length-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-length-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-run-break-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-run-break-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-spans-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-spans-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-rp-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-rp-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-trailing-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-trailing-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Make Tools/gtk/generate-gtkdoc compatible with Python 3
https://bugs.webkit.org/show_bug.cgi?id=106195

Reviewed by Philippe Normand.

Perform changes in the generate-gtkdoc script and common and gtkdoc modules
to make the Python code compatible with Python 3. This includes modifying
print statements, exception handling, dictionary iteration and
byte-sequence-to-string conversion.

* gtk/common.py:
(get_build_path):
(pkg_config_file_variable):
(gtk_version_of_pkg_config_file):
* gtk/generate-gtkdoc:
(print_missing_api):
* gtk/gtkdoc.py:
(GTKDoc.__init__):
(GTKDoc._run_command):


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

Adding failure expectation for an a11y test added in r139002.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add DeviceProximityController to support Device Proximity Events.
https://bugs.webkit.org/show_bug.cgi?id=97630

Reviewed by Hajime Morita.

Source/WebCore:

Implement DeviceProximityController which is inherited from DeviceController to support Device Proximity Events.
DeviceProximityController has two major functionalities.
- When listener is added, DeviceProximityController stores DOMWindow pointer to m_listeners
  and start gathering proximity event.
- When DeviceProximityController receives a proximity event from client, fire an event using m_listeners.
In addition, setDeviceProximity function is added to Internals for layout test.

Tests: proximity/add-listener-from-callback.html
       proximity/basic-operation.html
       proximity/create-event.html
       proximity/event-after-navigation.html
       proximity/multiple-frames.html
       proximity/no-page-cache.html
       proximity/optional-event-properties.html
       proximity/updates.html
       proximity/window-property.html

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/proximity/DeviceProximityClient.h: Added.
(WebCore):
(DeviceProximityClient):
(WebCore::DeviceProximityClient::~DeviceProximityClient):
* Modules/proximity/DeviceProximityController.cpp: Added.
(WebCore):
(WebCore::DeviceProximityController::DeviceProximityController):
(WebCore::DeviceProximityController::create):
(WebCore::DeviceProximityController::didChangeDeviceProximity):
(WebCore::DeviceProximityController::deviceProximityClient):
(WebCore::DeviceProximityController::hasLastData):
(WebCore::DeviceProximityController::getLastEvent):
(WebCore::DeviceProximityController::supplementName):
(WebCore::DeviceProximityController::from):
(WebCore::DeviceProximityController::isActiveAt):
(WebCore::provideDeviceProximityTo):
* Modules/proximity/DeviceProximityController.h: Added.
(WebCore):
(DeviceProximityController):
(WebCore::DeviceProximityController::~DeviceProximityController):
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.xcodeproj/project.pbxproj:
* history/PageCache.cpp:
When a page has Device Proximity Event Listener, it has not to be cached like Device Orientation.
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* testing/Internals.cpp:
(WebCore::Internals::setDeviceProximity):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit2:

Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
But startUpdating and stopUpdating need to be implemented.

* CMakeLists.txt:
* WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.
(WebKit):
(WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::startUpdating):
(WebKit::WebDeviceProximityClient::stopUpdating):
(WebKit::WebDeviceProximityClient::hasLastData):
* WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.
(WebKit):
(WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

LayoutTests:

Add layout test cases for the DeviceProximityController.

* proximity/add-listener-from-callback-expected.txt: Added.
* proximity/add-listener-from-callback.html: Added.
* proximity/basic-operation-expected.txt: Added.
* proximity/basic-operation.html: Added.
* proximity/create-event-expected.txt: Added.
* proximity/create-event.html: Added.
* proximity/event-after-navigation-expected.txt: Added.
* proximity/event-after-navigation.html: Added.
* proximity/multiple-frames-expected.txt: Added.
* proximity/multiple-frames.html: Added.
* proximity/no-page-cache-expected.txt: Added.
* proximity/no-page-cache.html: Added.
* proximity/optional-event-properties-expected.txt: Added.
* proximity/optional-event-properties.html: Added.
* proximity/resources/cached-page-1.html: Added.
* proximity/resources/cached-page-2.html: Added.
* proximity/resources/event-after-navigation-new.html: Added.
* proximity/updates-expected.txt: Added.
* proximity/updates.html: Added.
* proximity/window-property-expected.txt: Added.
* proximity/window-property.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening, skip a new failing test.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Fix libxml2 config test
https://bugs.webkit.org/show_bug.cgi?id=106317

Patch by Heikki Paajanen <heikki.paajanen@palm.com> on 2013-01-08
Reviewed by Simon Hausmann.

Don't assume standard include/libxml2, libxml-2.0.pc should know
where it's headers are.

* qmake/config.tests/libxml2/libxml2.cpp: Fix include

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce a compositing trigger for scrollable frames
https://bugs.webkit.org/show_bug.cgi?id=105573

Reviewed by James Robinson.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Source/WebCore:

Make requiresCompositingForScrollableFrame to check the
newly added compositing trigger instead of the associated setting.

It introduces no have behavior change, so no new tests. Patch basically
does some preparation work for adding support to composite scrollable inner
frames independently from "force compositing mode" bit.

* page/ChromeClient.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):

Source/WebKit/chromium:

Set the newly added scrollable-inner-frames bit to compositing-trigger
bitset in accordance to the respective setting value.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::allowedCompositingTriggers):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make RenderLayer::updateNeedsCompositedScrolling scrollbars agnostic
https://bugs.webkit.org/show_bug.cgi?id=95494

Reviewed by James Robinson.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Some ports (including Qt-wk1 and BlackBerry) allow disabling
scrollbars at FrameView creation level. That said, cheking for the
scrollbars presence in order to determine if we should promote a
RenderLayer to use composited scrolling is not ideal, as done in
RenderLayerCompositor::updateNeedsCompositedScrolling()

Instead, this patch makes the RenderLayer class to query its FrameView
if it has been cached as scrollable by the later.

Least, patch also takes this opportunity to remove RenderLayer::allowsScrolling,
which became unused.

No new tests added, since there is no *practical* behavior change: ports
like Chromium and others who currently check for the scrollbars presence
in order to determine either to promote or not layers to benefit of composited
scrolling should not be affected.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNeedsCompositedScrolling):
* rendering/RenderLayer.h:
(RenderLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Don't confine page popups to root view on Mac
https://bugs.webkit.org/show_bug.cgi?id=106315

Reviewed by Kent Tamura.

Source/WebCore:

No new tests.

* Resources/pagepopups/pickerCommon.js:
(adjustWindowRect): Remove code to confine to root view.

Source/WebKit/chromium:

Page popups on Mac no longer get clipped to the web view so we can
remove the code to confine to root view.

* src/ColorChooserPopupUIController.cpp:
(WebKit::ColorChooserPopupUIController::writeDocument): Removing parameters confineToRootView and rootViewRectInScreen.
* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument): Ditto.

LayoutTests:

* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html: Remove setting parameters confineToRootView and rootViewRectInScreen.


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