WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
https://bugs.webkit.org/show_bug.cgi?id=90910

Reviewed by Eric Seidel.

Source/WebCore:

We've already removed the code that implements Hixie76 WebSockets. This
patch just removes the WebCore::Setting that used to control which
WebSocket protocol version we'd use.

I've left the WebKit-layer APIs in place, but they now don't do
anything.  I'll remove all the Chromium callers shortly.

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):

Source/WebKit/chromium:

* public/WebSettings.h:
(WebKit::WebSettings::setHixie76WebSocketProtocolEnabled):
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):

Source/WebKit/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setHixie76WebSocketProtocolEnabled:]):
(-[WebPreferences isHixie76WebSocketProtocolEnabled]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit/win:

* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setHixie76WebSocketProtocolEnabled):
(WebPreferences::hixie76WebSocketProtocolEnabled):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetHixie76WebSocketProtocolEnabled):
(WKPreferencesGetHixie76WebSocketProtocolEnabled):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Line directive test in fast/canvas/webgl/glsl-conformance.html is incorrect
https://bugs.webkit.org/show_bug.cgi?id=90897

Reviewed by Adrienne Walker.

Removed an invalid test and adjusted the test expectations.

* fast/canvas/webgl/glsl-conformance-expected.txt:
* fast/canvas/webgl/glsl-conformance.html:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Re-factoring recalcColumn in AutoTableLayout.cpp for readability
https://bugs.webkit.org/show_bug.cgi?id=89636

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-07-10
Reviewed by Julien Chaffraix.

No test case required. Code re-factoring.

* rendering/AutoTableLayout.cpp:
Added a const integer place holder for 32760.

(WebCore::AutoTableLayout::recalcColumn):
 Changes :
 1) Moved the continue statement above the bool cellHasContent for an early return.
 2) Replaced the constant 32760 by a placeholder.
 3) Initialization of columnLayout max and min logical widths is made common for both cells having col span == 1 and span > 1.
 4) Removed redundant check for cell logical width type.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122282 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] REGRESSION(r121909): m_currentInputEvent never set
https://bugs.webkit.org/show_bug.cgi?id=90914

Reviewed by Abhishek Arya.

The always-null m_currentInputEvent causes a regression when
middle-clicking on a link that calls window.open('...', '_blank');
that new tab should open in the background, but instead opens in the
foreground (see code in ChromeClientImpl::getNavigationPolicy()).

Fix usage of TemporaryChange to specify a local variable name so that
m_currentInputEvent is actually set for the duration of handleInputEvent.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleInputEvent): Name the TemporaryChange instance.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Input elements with type=range do not have default touch handlers.
https://bugs.webkit.org/show_bug.cgi?id=88807

Patch by Kevin Ellis <kevers@chromium.org> on 2012-07-10
Reviewed by Antonio Gomes.

Source/WebCore:

This patch adds support for touch event handling on input elements
and dragging a slider with touch start and move events.  Previously,
manipulating a slider on a touch screen required generation of
synthetic mouse events.

Tests: fast/events/touch/touch-slider-no-js-touch-listener.html
       fast/events/touch/touch-slider.html

* dom/Event.cpp:
(WebCore::Event::isTouchEvent):
(WebCore):
* dom/Event.h:
(Event):
* dom/Touch.cpp:
(WebCore::Touch::Touch):
* dom/Touch.h:
(WebCore::Touch::absoluteLocation):
(Touch):
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::isTouchEvent):
(WebCore):
* dom/TouchEvent.h:
(TouchEvent):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore):
(WebCore::InputType::handleTouchEvent):
(WebCore::InputType::hasTouchEventHandler):
* html/InputType.h:
(WebCore):
(ClickHandlingState):
(InputType):
* html/RangeInputType.cpp:
(WebCore):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::hasTouchEventHandler):
* html/RangeInputType.h:
(RangeInputType):
* html/shadow/SliderThumbElement.h:
(SliderThumbElement):

Source/WebKit/chromium:

Adds flag to enable native handling of touch events for input elements
with type=range.

* features.gypi:

LayoutTests:

Add automated test for manipulating an input slider via touch
events.

* fast/events/touch/script-tests/touch-slider-no-js-touch-listener.js: Added.
(checkPosition):
* fast/events/touch/script-tests/touch-slider.js: Added.
(onTouchStart):
(onTouchEnd):
(onKeyDown):
(checkPosition):
* fast/events/touch/touch-slider-expected.txt: Added.
* fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Added.
* fast/events/touch/touch-slider-no-js-touch-listener.html: Added.
* fast/events/touch/touch-slider.html: Added.
* platform/chromium/fast/events/touch/touch-slider-expected.txt: Added.
* platform/chromium/fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EWSTools should be able to build a chromium-ews bot from scratch
https://bugs.webkit.org/show_bug.cgi?id=90912

Reviewed by Eric Seidel.

I've been using this script to kick off the build process for the
chromium-ews bots on Google Compute Engine.

* EWSTools/GoogleComputeEngine: Added.
* EWSTools/GoogleComputeEngine/build-chromium-ews.sh: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122287 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Enable antialiasing for TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=90915

Reviewed by Martin Robinson.

Enable the new antialiasing functionality for WebLayerTreeRendering.
This will make one-tile layers antialiased when using UI_SIDE_COMPOSITING.

* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::ensureRootLayer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add --no-build option to perf test runner
https://bugs.webkit.org/show_bug.cgi?id=90916

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
    Support --no-build option to perf tests, as in layout tests.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r112113): absolutely positioned INPUT boxes with a table cell containing block have a 0px height
https://bugs.webkit.org/show_bug.cgi?id=89209

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/forms/input-in-table-cell-no-value.html

The issue comes from the layout code not properly resetting the overriden heigth between layouts.

The test case relies on a table cell as it requires a 2 pass layout. Between the 2 passes, different
code paths would be taken, leading to previous values being used to over-constrain the inner content.

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
Ensure consistent layout by resetting any overriden conditional height.

LayoutTests:

The 2 tests are very close and differ by the use of min-height. This forces some content to be visible in the expected result
but not in the original test case.

* fast/forms/input-in-table-cell-no-value-expected.html: Added.
* fast/forms/input-in-table-cell-no-value.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Ensure transaction abort events are deterministic in multiprocess ports
https://bugs.webkit.org/show_bug.cgi?id=90412

Reviewed by Tony Chang.

In multi-process ports (e.g. Chromium), transaction aborts triggered on the front-end could
be initiated while a "success" event was in-flight from the back end. This would lead to
apparently flaky behavior when requests would sometimes report success and sometimes report
an error. Address this by having front-end triggered aborts do the abort steps immediately,
then send the async abort request to the back end.

No new tests - behavior in single process ports (and DRT) covered by existing
tests. Will enable currently disabled Chromium tests to be enabled (crbug.com/83226).

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest): Initialize a new m_requestAborted flag, used to prevent
dispatching if an in-flight request comes in after the abort.
(WebCore::IDBRequest::abort): Set flag to prevent double dispatching.
(WebCore::IDBRequest::onError): Handle aborted-then-received-event case.
(WebCore::IDBRequest::onSuccess): Ditto.
(WebCore::IDBRequest::onSuccessWithContinuation): Ditto.
(WebCore::IDBRequest::dispatchEvent): On uncaught error, trigger abort on transaction front-end.
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abort): Do abort steps locally first, then notify back-end.
(WebCore::IDBTransaction::onAbort): If abort wasn't triggered locally, clean up is still necessary.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium-Android] Add apk test targets for webkit_unit_tests and TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=90918

Reviewed by Tony Chang.

The rules are similar to what we have added for DumpRenderTree apk.
All references to gtest_target_type can be removed once we enable APK
tests on the all bots.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in nextLinePosition() due to accessing a removed root line box.
https://bugs.webkit.org/show_bug.cgi?id=90484

Reviewed by Abhishek Arya.

Source/WebCore:

When <object> element is reattached, the 'content' style is compared to the old style.
If it is not the same, a flag to recalc style is enabled. Because of this, the recalc style flag
is not cleared in updateLayoutIgnorePendingStyleSheets() in nextLinePosition(), and it causes
the second layout in isEditablePosition(p). Then 'RootInlineBox root' is invalidated, but
it's used after that.

When the content of the same <object> elements are compared, they should be the same.
However, operator== for ContentData is not implemented correctly (it compares a pointer instead of
content). So operator== does not hold for the content of the same <object> elements.

Test: editing/execCommand/crash-extend-selection-forward.html

* rendering/style/ContentData.cpp:
(WebCore::operator==): Compares the instance of data instead of pointer.

LayoutTests:

This testcase should not be triggered in ASAN.

* editing/execCommand/crash-extend-selection-forward-expected.txt: Added.
* editing/execCommand/crash-extend-selection-forward.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Make full texture updates explicit
https://bugs.webkit.org/show_bug.cgi?id=90507

Patch by Brian Anderson <brianderson@chromium.org> on 2012-07-10
Reviewed by Adrienne Walker.

Covered by existing tests.

* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::updatePart):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTiles):
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::appendFullUpdate):
(WebCore::CCTextureUpdater::hasMoreUpdates):
(WebCore::CCTextureUpdater::update):
(WebCore::CCTextureUpdater::clear):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
(CCTextureUpdater):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add missing binding type String for IndexedDB.
https://bugs.webkit.org/show_bug.cgi?id=90351

Reviewed by Nikolas Zimmermann.

No new tests because it's already covered by IDB tests.

* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12012-07-10  Hayato Ito  <hayato@chromium.org>

Unreviewed gardening.

* platform/chromium/fast/css/deprecated-flexbox-auto-min-size-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/css/deprecated-flexbox-auto-min-size-expected.txt.

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