WebKit-https.git
10 years agoBuild fix attempt after r105543.
rniwa@webkit.org [Tue, 24 Jan 2012 16:58:44 +0000 (16:58 +0000)]
Build fix attempt after r105543.

* Scripts/webkitpy/common/net/file_uploader.py:
(FileUploader.upload_as_multipart_form_data):

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 16:22:57 +0000 (16:22 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkValue interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: Added.
(core):
(webkitAccessibleValueInterfaceInit):
(webkitAccessibleValueGetCurrentValue):
(webkitAccessibleValueGetMaximumValue):
(webkitAccessibleValueGetMinimumValue):
(webkitAccessibleValueSetCurrentValue):
(webkitAccessibleValueGetMinimumIncrement):
* accessibility/gtk/WebKitAccessibleInterfaceValue.h: Added.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
related to the implementation of the AtkValue interface.

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceValue.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years agoReduce internal use of CSSStyleDeclaration base class
antti@apple.com [Tue, 24 Jan 2012 16:09:05 +0000 (16:09 +0000)]
Reduce internal use of CSSStyleDeclaration base class
https://bugs.webkit.org/show_bug.cgi?id=76904

Reviewed by Andreas Kling.

Internally WebCore should use the more specific CSSMutableStyleDeclaration and CSSComputedStyleDeclaration types.
The CSSStyleDeclaration base should be used in the DOM API functions only. This will make it easier to separate
internal style sheet implementation from the DOM in the future.

- Switch CSSStyleDeclaration -> CSSMutableStyleDeclaration where feasible
- Use StyledElement::ensureInlineStyleDecl() instead of Element::style() (which is a DOM API function)
- Remove Attribute::style() which looks like a DOM API function but is not exposed.

* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
* dom/Attr.h:
(WebCore::Attr::style):
* dom/Attribute.h:
* editing/EditingStyle.cpp:
(WebCore::HTMLElementEquivalent::propertyExistsInStyle):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
(WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
(WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
* editing/Editor.cpp:
(WebCore::Editor::applyEditingStyleToElement):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
(WebCore::propertyMissingOrEqualToNone):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
* page/PageSerializer.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):

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

10 years agoMake elements that don't have attributes smaller.
kling@webkit.org [Tue, 24 Jan 2012 15:42:07 +0000 (15:42 +0000)]
Make elements that don't have attributes smaller.
<http://webkit.org/b/76876>

Reviewed by Antti Koivisto.

Move the inline style declaration from StyledElement to NamedNodeMap, since having
an inline style declaration also implies having a style attribute on the element.
This saves one CPU word per element that has no attributes.

This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
HTML5 spec at <http://whatwg.org/c>.

* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ensureInlineStyleDecl):
(WebCore::NamedNodeMap::destroyInlineStyleDecl):
(WebCore::NamedNodeMap::createInlineStyleDecl):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::inlineStyleDecl):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::addSubresourceAttributeURLs):
* dom/StyledElement.h:
(WebCore::StyledElement::inlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
(WebCore::StyledElement::destroyInlineStyleDecl):

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

10 years ago[Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
noam.rosenthal@nokia.com [Tue, 24 Jan 2012 15:17:11 +0000 (15:17 +0000)]
[Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
https://bugs.webkit.org/show_bug.cgi?id=76877

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Add BitmapTexture::updateRawContents(), which allows uploading image data to a texture
without changing its format or swizzling RGB. The data has to be in the texture's native
format.

No new tests, this affects performance on all existing tests.

* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::updateRawContents):
* platform/graphics/qt/TextureMapperQt.cpp:
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::updateRawContents):
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::setContentsTileBackBuffer):
* platform/graphics/texmap/TextureMapperNode.h:

Source/WebKit2:

Instead of copying QImages, pass a reference to the ShareableBitmap that was originally
created by the web process. Also, swizzle the image's RGB in the web process, before it's
transferred to the UI process.

Data flow before change:
(Web Process) Render to image -> IPC -> (UI Process) Copy (render queue) -> Copy Swizzled RGB -> Upload

Data flow after change:
(Web Process) Render to image -> swizzle RGB -> IPC -> (UI Process) -> Upload

* Shared/ShareableBitmap.h:
* Shared/qt/ShareableBitmapQt.cpp:
(WebKit::ShareableBitmap::swizzleRGB):
* UIProcess/LayerTreeHostProxy.h:
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::updateTile):
(WebKit::LayerTreeHostProxy::createImage):
(WebKit::LayerTreeHostProxy::syncRemoteContent):
(WebKit::LayerTreeHostProxy::updateTileForLayer):
(WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
(WebKit::LayerTreeHostProxy::purgeGLResources):
* WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
(WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::adoptImageBackingStore):

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

10 years agoUnreviewed, skip WK2 API test timing out on some GTK bots.
mario@webkit.org [Tue, 24 Jan 2012 14:53:31 +0000 (14:53 +0000)]
Unreviewed, skip WK2 API test timing out on some GTK bots.

WebKit2APITests/TestDownloads is consistently timing out on the
32bit release and 64bit debug bots.

* Scripts/run-gtk-tests:
(TestRunner): Skip WebKit2APITests/TestDownloads.

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

10 years agoWeb Inspector: inspector/debugger/dom-breakpoints.html started to fail after r105642
loislo@chromium.org [Tue, 24 Jan 2012 14:35:36 +0000 (14:35 +0000)]
Web Inspector: inspector/debugger/dom-breakpoints.html started to fail after r105642
https://bugs.webkit.org/show_bug.cgi?id=76908

Reviewed by Yury Semikhatsky.

* css/CSSMutableStyleDeclaration.cpp:

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

10 years ago[Refactoring] Make finish() of CodeGeneratorJS.pm empty
ossy@webkit.org [Tue, 24 Jan 2012 13:58:04 +0000 (13:58 +0000)]
[Refactoring] Make finish() of CodeGeneratorJS.pm empty
https://bugs.webkit.org/show_bug.cgi?id=76846

Reviewed by Tor Arne Vestbø.

* bindings/scripts/CodeGeneratorJS.pm: Warning fix after r105683.
(WriteData):

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

10 years ago[Qt] Fix the build with the newes Qt5 hashes
ossy@webkit.org [Tue, 24 Jan 2012 13:32:07 +0000 (13:32 +0000)]
[Qt] Fix the build with the newes Qt5 hashes
https://bugs.webkit.org/show_bug.cgi?id=76657

Patch by Andras Becsi <andras.becsi@nokia.com> on 2012-01-24
Reviewed by Simon Hausmann.

Source/WebCore:

No new tests needed.

* platform/graphics/cairo/OpenGLShims.cpp:
(WebCore::getProcAddress): Adopt API changes.

Tools:

* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::MiniBrowserApplication): Disable the automatic touch->mouse event synthesis
for now to prevent an infinite loop where Qt always creates mouse events out of our touch mock events.

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

10 years ago[Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after...
ossy@webkit.org [Tue, 24 Jan 2012 13:30:53 +0000 (13:30 +0000)]
[Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after its destruction
https://bugs.webkit.org/show_bug.cgi?id=76399

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-01-24
Reviewed by Simon Hausmann.

Due a circular dependency between WebContext and WebProcessProxy, WebContext it not
being destroyed, neither WebIconDatabase. As QtWebIconDatabaseClient's life time is the same
as QtWebContext and this one is being destroyed, the remaining reference to our client
on WebIconDatabase should be cleaned upon its destruction.

* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(QtWebIconDatabaseClient::QtWebIconDatabaseClient):
(QtWebIconDatabaseClient::~QtWebIconDatabaseClient): Clear client pointer on WebIconDatabase.
* UIProcess/qt/QtWebIconDatabaseClient.h: Make this client hold a reference to WebIconDatabase.

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

10 years ago[Qt] Incremental build problem.
ossy@webkit.org [Tue, 24 Jan 2012 13:28:08 +0000 (13:28 +0000)]
[Qt] Incremental build problem.
https://bugs.webkit.org/show_bug.cgi?id=74687

It is necessary to set mathattrs.in dependency for generating MathMLNames.cpp file.

Patch by Ádám Kallai <Kallai.Adam@stud.u-szeged.hu> on 2012-01-24
Reviewed by Csaba Osztrogonác.

* DerivedSources.pri:
I added missing depend.

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

10 years ago[Chromium] Update test expectation
tkent@chromium.org [Tue, 24 Jan 2012 12:55:05 +0000 (12:55 +0000)]
[Chromium] Update test expectation

* platform/chromium/test_expectations.txt:
perf/adding-radio-buttons.html is TEXT on Mac.

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

10 years ago[Qt] Distinguish between Cygwin and cmd.exe in the way we set env variables
vestbo@webkit.org [Tue, 24 Jan 2012 12:31:00 +0000 (12:31 +0000)]
[Qt] Distinguish between Cygwin and cmd.exe in the way we set env variables

We can't use win32-msvc* to decide whether or not to use (set FOO=bar), as
building with MinGW inside cmd.exe will require the same construct. Instead
we assume that when the first character in PWD is a '/' we're running under
Cygwin, and use the normal unix way of setting environment variables.

Reviewed by Simon Hausmann.

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

10 years ago[Qt][WK2] Add test for application URL schemes.
zeno.albisser@nokia.com [Tue, 24 Jan 2012 12:28:31 +0000 (12:28 +0000)]
[Qt][WK2] Add test for application URL schemes.
https://bugs.webkit.org/show_bug.cgi?id=74933

Add a test that checks handling of url strings.
Add a test that verifies replies in case of multiple
available application url schemes.

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 12:25:13 +0000 (12:25 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkSelection interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp: Added.
(core):
(listObjectForSelection):
(optionFromList):
(optionFromSelection):
(webkitAccessibleSelectionInterfaceInit):
(webkitAccessibleSelectionAddSelection):
(webkitAccessibleSelectionClearSelection):
(webkitAccessibleSelectionRefSelection):
(webkitAccessibleSelectionGetSelectionCount):
(webkitAccessibleSelectionIsChildSelected):
(webkitAccessibleSelectionRemoveSelection):
(webkitAccessibleSelectionSelectAllSelection):
* accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Added.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
related to the implementation of the AtkSelection interface.

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceSelection.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 12:04:16 +0000 (12:04 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkImage interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: Added.
(core):
(webkitAccessibleImageInterfaceInit):
(webkitAccessibleImageGetImagePosition):
(webkitAccessibleImageGetImageDescription):
(webkitAccessibleImageGetImageSize):
* accessibility/gtk/WebKitAccessibleInterfaceImage.h: Added.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
related to the implementation of the AtkImage interface.

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceImage.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 11:58:52 +0000 (11:58 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkHypertext interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp: Added.
(core):
(webkitAccessibleHypertextInterfaceInit):
(webkitAccessibleHypertextGetLink):
(webkitAccessibleHypertextGetNLinks):
(webkitAccessibleHypertextGetLinkIndex):
* accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Added.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
related to the implementation of the AtkHypertext interface.

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceHypertext.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 11:55:18 +0000 (11:55 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkHyperlinkImpl interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: Added.
(webkitAccessibleHyperlinkImplInterfaceInit):
(webkitAccessibleHyperlinkImplGetHyperlink):
* accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Added.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
related to the implementation of the AtkHyperlinkImpl interface.
(webkit_accessible_class_init):

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceHyperlinkImpl.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years ago[GTK] Fix /webkit2/WebKitWebView/reload after r105688
carlosgc@webkit.org [Tue, 24 Jan 2012 11:49:47 +0000 (11:49 +0000)]
[GTK] Fix /webkit2/WebKitWebView/reload after r105688
https://bugs.webkit.org/show_bug.cgi?id=76898

Reviewed by Alejandro G. Castro.

* UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
(LoadTrackingTest::reload): Add reload method that clears events
and initializes progress.
* UIProcess/API/gtk/tests/LoadTrackingTest.h:
* UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
(testWebViewReload): Use LoadTrackingTest::reload() instead of
webkit_web_view_reload().

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 11:47:51 +0000 (11:47 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkEditableText interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added.
(core):
(webkitAccessibleEditableTextInterfaceInit):
(webkitAccessibleEditableTextSetRunAttributes):
(webkitAccessibleEditableTextSetTextContents):
(webkitAccessibleEditableTextInsertText):
(webkitAccessibleEditableTextCopyText):
(webkitAccessibleEditableTextCutText):
(webkitAccessibleEditableTextDeleteText):
(webkitAccessibleEditableTextPasteText):
* accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
related to the implementation of the AtkEditableText interface.

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 11:40:44 +0000 (11:40 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkDocument interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp: Added.
(core):
(documentAttributeValue):
(webkitAccessibleDocumentInterfaceInit):
(webkitAccessibleDocumentGetAttributeValue):
(webkitAccessibleDocumentGetAttributes):
(webkitAccessibleDocumentGetLocale):
* accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Added.

Move common function addAttributeToSet() out from the wrapper to
the utility file, used from WebKitAccessibleInterfaceDocument.cpp.

* accessibility/gtk/WebKitAccessibleUtil.cpp:
(addToAtkAttributeSet): Taken from WebKitAccessibleWrapperAtk.cpp.
* accessibility/gtk/WebKitAccessibleUtil.h:
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
implementation of addAttributeToSet, as well as all the code related
to the implementation of the AtkDocument interface.

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceDocument.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years ago[Chromium] Add WebKit API for Pointer Lock
scheib@chromium.org [Tue, 24 Jan 2012 11:29:01 +0000 (11:29 +0000)]
[Chromium] Add WebKit API for Pointer Lock
https://bugs.webkit.org/show_bug.cgi?id=76410

Reviewed by Darin Fisher.

Breaking up https://bugs.webkit.org/show_bug.cgi?id=75762
into a series of patches, this stubs out the API.

* public/WebWidget.h:
(WebKit::WebWidget::didCompletePointerLock):
(WebKit::WebWidget::didNotCompletePointerLock):
(WebKit::WebWidget::didLosePointerLock):
* public/WebWidgetClient.h:
(WebKit::WebWidgetClient::requestPointerLock):
(WebKit::WebWidgetClient::requestPointerUnlock):
(WebKit::WebWidgetClient::isPointerLocked):
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::requestPointerLock):
(WebKit::ChromeClientImpl::requestPointerUnlock):
(WebKit::ChromeClientImpl::isPointerLocked):
* src/ChromeClientImpl.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleInputEvent):
(WebKit::WebViewImpl::didCompletePointerLock):
(WebKit::WebViewImpl::didNotCompletePointerLock):
(WebKit::WebViewImpl::didLosePointerLock):
(WebKit::WebViewImpl::requestPointerLock):
(WebKit::WebViewImpl::requestPointerUnlock):
(WebKit::WebViewImpl::isPointerLocked):
(WebKit::WebViewImpl::pointerLockMouseEvent):
* src/WebViewImpl.h:

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

10 years agoSome qmake build files must include Qt5's "quick" module.
hausmann@webkit.org [Tue, 24 Jan 2012 11:22:26 +0000 (11:22 +0000)]
Some qmake build files must include Qt5's "quick" module.
https://bugs.webkit.org/show_bug.cgi?id=76671

Unreviewed build fix.

.:

* Source/api.pri:

Source/WebKit2:

* UIProcess/API/qt/tests/tests.pri:

Tools:

* MiniBrowser/qt/MiniBrowser.pro:
* WebKitTestRunner/Target.pri:

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

10 years ago[Qt] Fix the event timestamps for touch mocking
abecsi@webkit.org [Tue, 24 Jan 2012 11:19:46 +0000 (11:19 +0000)]
[Qt] Fix the event timestamps for touch mocking

Reviewed by Simon Hausmann.

* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::sendTouchEvent): We should not set QEvent::None as the
timestamp argument in the QWindowSystemInterface::handleTouchEvent call.

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

10 years ago[Chromium] Update test expectation
tkent@chromium.org [Tue, 24 Jan 2012 11:05:13 +0000 (11:05 +0000)]
[Chromium] Update test expectation

* platform/chromium/test_expectations.txt:
perf/adding-radio-buttons.html is MISSING on buildbots.

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

10 years ago[GTK] Refactor GTK's accessibilitity code to be more modular
mario@webkit.org [Tue, 24 Jan 2012 11:03:51 +0000 (11:03 +0000)]
[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkComponent interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

* accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: Added.
(core):
(atkToContents):
(webkitAccessibleComponentInterfaceInit):
(webkitAccessibleComponentRefAccessibleAtPoint):
(webkitAccessibleComponentGetExtents):
(webkitAccessibleComponentGrabFocus):
* accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Added.

Move common function contentsToAtk() out from the wrapper to the
utility file, used from WebKitAccessibleInterfaceComponent.cpp.

* accessibility/gtk/WebKitAccessibleUtil.cpp:
(contentsRelativeToAtkCoordinateType): Taken from WebKitAccessibleWrapperAtk.cpp.
* accessibility/gtk/WebKitAccessibleUtil.h:
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
implementation of contentsToAtk, as well as all the code related
to the implementation of the AtkComponent interface.

Add new files to build files.

* GNUmakefile.list.am: Add WebKitAccessibleInterfaceComponent.[h|cpp].
* WebCore.gypi: Ditto.

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

10 years ago[Qt] Unreviewed gardening. Skip new failing tests to paint the bots green.
ossy@webkit.org [Tue, 24 Jan 2012 10:51:11 +0000 (10:51 +0000)]
[Qt] Unreviewed gardening. Skip new failing tests to paint the bots green.

* platform/qt-5.0/Skipped:
* platform/qt/Skipped:

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

10 years ago[Refactoring] Makes finish() of CodeGeneratorV8.pm empty
haraken@chromium.org [Tue, 24 Jan 2012 10:32:48 +0000 (10:32 +0000)]
[Refactoring] Makes finish() of CodeGeneratorV8.pm empty
https://bugs.webkit.org/show_bug.cgi?id=76841

Reviewed by Adam Barth.

This is one of steps to stop rebuilding .h/.cpp files
generated by unchanged IDLs (bug 76836).

As refactoring, we are planning to remove finish() from
all CodeGenerators. This patch makes finish() of
CodeGeneratorV8.pm empty.

No new tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(finish): Made it empty. We will remove finish() after
making finish() of all CodeGenerators empty.
(GenerateInterface): Modified to call WriteData().
(WriteData): Simple code refactoring.
Removed if(defined $IMPL).
Removed if(defined $HEADER).
$IMPL -> IMPL.
$HEADER -> HEADER.

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

10 years agoUnreviewed build fix for GTK after r105698.
mario@webkit.org [Tue, 24 Jan 2012 10:17:02 +0000 (10:17 +0000)]
Unreviewed build fix for GTK after r105698.

* bindings/js/JSPeerConnectionCustom.cpp:
(WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):

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

10 years agoFix build erros on Mac by r105706.
tkent@chromium.org [Tue, 24 Jan 2012 10:12:20 +0000 (10:12 +0000)]
Fix build erros on Mac by r105706.
https://bugs.webkit.org/show_bug.cgi?id=76763

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::compressedTexImage2D): Removed unused argument names.
(WebCore::WebGLRenderingContext::compressedTexSubImage2D): ditto.

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

10 years ago[Qt][WK2] Application URL schemes cause asserts when using debug.
zeno.albisser@nokia.com [Tue, 24 Jan 2012 10:03:54 +0000 (10:03 +0000)]
[Qt][WK2] Application URL schemes cause asserts when using debug.
https://bugs.webkit.org/show_bug.cgi?id=76700

Instances of QtNetworkRequestData / QtNetworkReplyData are meant
to be used for transfering data over IPC. To allow transferring
instances of these classes over IPC they need to be copyable,
and it must be possible to create such instances on the stack.
Because classes that inherit from RefCounted always need to be
used in connection with RefPtr, QtNetworkRequestData and
QtNetworkReplyData cannot inherit directly from RefCounted.

Deleting an object that inherits from RefCounted, without
the proper sequence of ref()/deref() being called by it's
RefPtr, causes asserts when running a debug version.

Reviewed by Simon Hausmann.

* Shared/qt/QtNetworkReplyData.h:
(WebKit::QtRefCountedNetworkReplyData::data):
* Shared/qt/QtNetworkRequestData.cpp:
(WebKit::QtRefCountedNetworkRequestData::QtRefCountedNetworkRequestData):
* Shared/qt/QtNetworkRequestData.h:
(WebKit::QtRefCountedNetworkRequestData::data):
* Target.pri:
* UIProcess/API/qt/qquicknetworkreply.cpp:
(QQuickNetworkReply::QQuickNetworkReply):
(QQuickNetworkReply::contentType):
(QQuickNetworkReply::setContentType):
(QQuickNetworkReply::operation):
(QQuickNetworkReply::setOperation):
(QQuickNetworkReply::contentDisposition):
(QQuickNetworkReply::setContentDisposition):
(QQuickNetworkReply::location):
(QQuickNetworkReply::setLocation):
(QQuickNetworkReply::lastModified):
(QQuickNetworkReply::setLastModified):
(QQuickNetworkReply::cookie):
(QQuickNetworkReply::setCookie):
(QQuickNetworkReply::userAgent):
(QQuickNetworkReply::setUserAgent):
(QQuickNetworkReply::server):
(QQuickNetworkReply::setServer):
(QQuickNetworkReply::data):
(QQuickNetworkReply::setData):
(QQuickNetworkReply::send):
(QQuickNetworkReply::networkRequestData):
(QQuickNetworkReply::setNetworkRequestData):
(QQuickNetworkReply::networkReplyData):
* UIProcess/API/qt/qquicknetworkreply_p.h:
* UIProcess/API/qt/qquicknetworkrequest.cpp:
(QQuickNetworkRequest::QQuickNetworkRequest):
(QQuickNetworkRequest::setNetworkRequestData):
(QQuickNetworkRequest::url):
* UIProcess/API/qt/qquicknetworkrequest_p.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::invokeApplicationSchemeHandler):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/WebPageProxy.h:
* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::handleApplicationSchemeRequest):
* UIProcess/qt/QtPageClient.h:
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::resolveApplicationSchemeRequest):
(WebKit::WebPageProxy::sendApplicationSchemeReply):
* WebProcess/qt/QtNetworkReply.cpp:
(WebKit::QtNetworkReply::setData):
(WebKit::QtNetworkReply::readData):

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

10 years agoIntroduce RadioButtonGroup class to keep track of the group members and required...
tkent@chromium.org [Tue, 24 Jan 2012 10:02:32 +0000 (10:02 +0000)]
Introduce RadioButtonGroup class to keep track of the group members and required state
https://bugs.webkit.org/show_bug.cgi?id=74909

Reviewed by Darin Adler.

Source/WebCore:

RadioButtonGroup contains a set of member radio buttons in the group,
and "required" status of the group. This helps implementing correct
radio button validity, and improving performance of updating validity
status of radio buttons.

This change fixes the following bugs:
- A radio button should be "required" if one of a member of the same
  group has the "required" attribute.
  https://bugs.webkit.org/show_bug.cgi?id=76365
- :invalid style is not applied when a checked radio button is removed
  from its radio group
  https://bugs.webkit.org/show_bug.cgi?id=74914
- Loading a page with N radio buttons in a group takes O(N^2) time.

Tests: fast/forms/radio/radio-live-validation-style.html
       perf/adding-radio-buttons.html

* dom/CheckedRadioButtons.cpp:
(WebCore::RadioButtonGroup::isEmpty):
(WebCore::RadioButtonGroup::isRequired):
(WebCore::RadioButtonGroup::checkedButton):
(WebCore::RadioButtonGroup::RadioButtonGroup):
(WebCore::RadioButtonGroup::create):
(WebCore::RadioButtonGroup::isValid):
(WebCore::RadioButtonGroup::setCheckedButton):
(WebCore::RadioButtonGroup::add):
(WebCore::RadioButtonGroup::updateCheckedState):
(WebCore::RadioButtonGroup::requiredAttributeChanged):
(WebCore::RadioButtonGroup::remove):
(WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons):
Add RadioButtonGroup class. It keeps track of pointers to member radio
buttons and required status of the group in addition to the checked
radio button pointer.

(WebCore::CheckedRadioButtons::CheckedRadioButtons):
(WebCore::CheckedRadioButtons::~CheckedRadioButtons):
Define empty constructor and destructor in order to avoid exposing
RadioButtonGroup class.

(WebCore::CheckedRadioButtons::addButton):
(WebCore::CheckedRadioButtons::updateCheckedState):
(WebCore::CheckedRadioButtons::requiredAttributeChanged):
(WebCore::CheckedRadioButtons::checkedButtonForGroup):
(WebCore::CheckedRadioButtons::isInRequiredGroup):
(WebCore::CheckedRadioButtons::removeButton):
Change the HashMap member of this class so that it maps a group name to
a RadioButtonGroup object. These functions just get a RadioButtonGroup
object and call a corresponding member function of RadioButtonGroup.

* dom/CheckedRadioButtons.h: Update declarations.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::parseMappedAttribute):
(WebCore::HTMLFormControlElement::requiredAttributeChanged):
Move a part of parseMappedAttribute() into requiredAttributeChanged().
* html/HTMLFormControlElement.h: Add requiredAttributeChanged().
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::valueMissing):
Move required check code to InputType::valueMissing implementations.
RadioInputType needs special handling for checking required state.
readOnly() and disabled() are unnecessary because willValidate() checks them.
(WebCore::HTMLInputElement::setChecked):
Call new function CheckedRadioButtons::updateCheckedState() instead of
removeButton() and updateCheckedRadioButtons().
(WebCore::HTMLInputElement::requiredAttributeChanged):
Override this to call CheckedRadioButtons::requiredAttributeChanged().
* html/HTMLInputElement.h: Add requiredAttributeChanged().
* html/RadioInputType.cpp:
(WebCore::RadioInputType::valueMissing):
Check required state by CheckedRadioButtons::isInRequiredGroup().
* html/RadioInputType.h: Remove attach().

* html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::valueMissing):
  Move required check from HTMLInputElement::valueMissing().
* html/FileInputType.cpp:
(WebCore::FileInputType::valueMissing): ditto.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::valueMissing): ditto.

LayoutTests:

* fast/forms/radio/radio-live-validation-style-expected.txt: Added.
* fast/forms/radio/radio-live-validation-style.html: Added.

* fast/forms/script-tests/ValidityState-valueMissing-radio.js:
- Update the expectation for the behavior change of
  https://bugs.webkit.org/show_bug.cgi?id=76365
- Add test cases for radio buttons not in a radio button group.
* fast/forms/ValidityState-valueMissing-radio-expected.txt: ditto.

* perf/adding-radio-buttons-expected.txt: Added.
* perf/adding-radio-buttons.html: Added.

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

10 years ago[chromium] PNG image with CMYK ICC color profile renders color-inverted and squashed
noel.gordon@gmail.com [Tue, 24 Jan 2012 09:56:46 +0000 (09:56 +0000)]
[chromium] PNG image with CMYK ICC color profile renders color-inverted and squashed
https://bugs.webkit.org/show_bug.cgi?id=76804

Reviewed by Adam Barth.

Source/WebCore:

Use color profiles for PNG images only if their embedded color profile is from an RGB
color space input device.

Test: fast/images/rgb-png-with-cmyk-color-profile.html

* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::rgbColorProfile): Return true if the profile has an RGB color space.
(WebCore::ImageDecoder::inputDeviceColorProfile): Return true if the profile is from an input device.
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::readColorProfile): Ignore PNG image embedded color profile unless the profile
comes from an RGB color space input device.
(WebCore::PNGImageDecoder::headerAvailable): Minor white-space removals courtesy Xcode.

LayoutTests:

* fast/images/resources/rgb-png-with-cmyk-color-profile.png: Added.
* fast/images/rgb-png-with-cmyk-color-profile-expected.txt: Added.
* fast/images/rgb-png-with-cmyk-color-profile.html: Added.
* platform/mac/fast/images/rgb-png-with-cmyk-color-profile-expected.png: Added.

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

10 years ago[GTK] Implement DownloadClient in WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 24 Jan 2012 09:45:28 +0000 (09:45 +0000)]
[GTK] Implement DownloadClient in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=72952

Reviewed by Martin Robinson.

Source/WebKit2:

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitDownloadClient.cpp: Added.
(didStart): Call webkitWebContextDownloadStarted().
(didReceiveResponse): Call webkitDownloadSetResponse() with the
received response.
(didReceiveData): Call webkitDownloadNotifyProgress().
(decideDestinationWithSuggestedFilename): Call
webkitDownloadDecideDestinationWithSuggestedFilename().
(didCreateDestination): Call webkitDownloadDestinationCreated().
(didFail): Call webkitDownloadFailed() or
webkitDownloadCancelled() if the download was cancelled before
failing.
(didCancel): Call webkitDownloadCancelled().
(didFinish): Call webkitDownloadFinished().
(attachDownloadClientToContext): Add
implementation for download client callbacks.
* UIProcess/API/gtk/WebKitDownloadClient.h: Added.
* UIProcess/API/gtk/WebKitError.cpp:
(webkit_download_error_quark): Add quark for download errors.
* UIProcess/API/gtk/WebKitError.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_class_init): Add download-started signal.
(createDefaultWebContext): Initialize the download client.
(downloadsMap): HashMap containing download objects for all
ongoing download operations.
(webkit_web_context_download_uri): Start a new download for the
given URI.
(webkitWebContextGetOrCreateDownload): Helper function to create a
new download object or return the existing one from the downloads map.
(webkitWebContextRemoveDownload): Remove the download object from
the downloads map.
(webkitWebContextDownloadStarted): Emit
WebKitWebContext::download-started for the given download object.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for downloads.
* UIProcess/API/gtk/tests/TestDownloads.cpp: Added.
(getWebKit1TestResoucesDir):
(testDownloadLocalFile):
(testDownloadLocalFileError):
(serverCallback):
(testDownloadRemoteFile):
(testDownloadRemoteFileError):
(beforeAll):
(afterAll):

Tools:

* gtk/generate-gtkdoc:
(get_webkit2_options): Ignore WebKitDownloadClient.

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

10 years agoWeb Inspector: fix sticky DOM breakpoints.
podivilov@chromium.org [Tue, 24 Jan 2012 09:25:38 +0000 (09:25 +0000)]
Web Inspector: fix sticky DOM breakpoints.
https://bugs.webkit.org/show_bug.cgi?id=64437

Reviewed by Yury Semikhatsky.

* inspector/front-end/DOMBreakpointsSidebarPane.js:
(WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):

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

10 years agoExpose WebGL texture compression methods on WebGLRenderingContext
commit-queue@webkit.org [Tue, 24 Jan 2012 09:19:50 +0000 (09:19 +0000)]
Expose WebGL texture compression methods on WebGLRenderingContext
https://bugs.webkit.org/show_bug.cgi?id=76763

Patch by Gregg Tavares <gman@google.com> on 2012-01-24
Reviewed by Kenneth Russell.

Source/WebCore:

Test: fast/canvas/webgl/compressed-tex-image.html

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::compressedTexImage2D):
(WebCore::WebGLRenderingContext::compressedTexSubImage2D):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/compressed-tex-image-expected.txt: Added.
* fast/canvas/webgl/compressed-tex-image.html: Added.

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

10 years ago[V8] Add Uint8ClampedArray support
bashi@chromium.org [Tue, 24 Jan 2012 08:54:47 +0000 (08:54 +0000)]
[V8] Add Uint8ClampedArray support
https://bugs.webkit.org/show_bug.cgi?id=76803

Reviewed by Kenneth Russell.

Source/JavaScriptCore:

* wtf/ArrayBufferView.h:
(WTF::ArrayBufferView::isUnsignedByteClampedArray): Added.
* wtf/Uint8ClampedArray.h:
(WTF::Uint8ClampedArray::isUnsignedByteClampedArray): Overridden to return true.

Source/WebCore:

No new tests. fast/js/script-tests/dfg-uint8clampedarray.js should pass on chromium port.

* WebCore.gypi: Added required files.
* bindings/scripts/CodeGeneratorV8.pm:
(IsTypedArrayType): Added Uint8ClampedArray.
* bindings/v8/SerializedScriptValue.cpp: Added the tag for Uint8ClampedArray.
(WebCore::V8ObjectMap::Writer::writeArrayBufferView): Appends the tag when buffer is Uint8ClampedArray.
(WebCore::V8ObjectMap::Reader::readArrayBufferView): Creates Uint8ClampedArray instance when the tag represents Uint8ClampedArray.
* bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
* bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Added.
(WebCore::V8Uint8ClampedArray::constructorCallback):
(WebCore::V8Uint8ClampedArray::setCallback):
(WebCore::toV8):
* page/Crypto.cpp: Added isUnsignedByteClampedArray() call to isIntegerArray().
* page/DOMWindow.idl: Removed ifdefs.
* workers/WorkerContext.idl: Added Uint8ArrayConstructor.

LayoutTests:

* platform/chromium/fast/canvas/webgl/array-unit-tests-expected.txt: Removed.
* platform/chromium/test_expectations.txt: Removed fast/js/dfg-uint8clampedarray.html.

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

10 years ago[GTK] Add WebKitDownload to WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 24 Jan 2012 08:49:47 +0000 (08:49 +0000)]
[GTK] Add WebKitDownload to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=72949

Reviewed by Martin Robinson.

Source/JavaScriptCore:

* wtf/gobject/GOwnPtr.cpp:
(WTF::GTimer): Use g_timer_destroy() to free a GTimer.
* wtf/gobject/GOwnPtr.h: Add GTimer template.
* wtf/gobject/GTypedefs.h: Add GTimer forward declaration.

Source/WebKit2:

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitDownload.cpp: Added.
(webkitDownloadFinalize):
(webkitDownloadGetProperty):
(webkitDownloadDecideDestination):
(webkit_download_init):
(webkit_download_class_init):
(webkitDownloadCreate): Create a new WebKitDownload for a given
WKDownloadRef.
(webkitDownloadSetResponse): Set the network response of the
download.
(webkitDownloadIsCancelled): Whether the download has been
cancelled by the user.
(webkitDownloadNotifyProgress): Emit notify::estimated-progress if
needed.
(webkitDownloadFailed): Emit WebKitDownload::failed with the given
error.
(webkitDownloadCancelled): Emit WebKitDownload::failed with
cancelled error.
(webkitDownloadFinished): Emit WebKitDownload::finished.
(webkitDownloadDecideDestinationWithSuggestedFilename): Emit
WebKitDownload::decide-destination.
(webkitDownloadDestinationCreated): Emit
WebKitDownload::created-destination.
(webkit_download_get_destination): Return the destination URI of
the download.
(webkit_download_set_destination): Set the destination URI of the
download.
(webkit_download_get_response): Return the response received by
the server.
(webkit_download_cancel): Cancel the download.
(webkit_download_get_estimated_progress): Return the estimated
progress.
(webkit_download_get_elapsed_time): Return the time elapsed since
the download started.
* UIProcess/API/gtk/WebKitDownload.h: Added.
* UIProcess/API/gtk/WebKitDownloadPrivate.h: Added.
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkitURIResponseGetResourceResponse):
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add
webkit_download_get_type().
* UIProcess/API/gtk/webkit2.h: Include WebKitDownload.h.
* UIProcess/API/gtk/webkit2marshal.list:

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

10 years agoUnreviewed build fix for GTK Debug build after r105698.
loislo@chromium.org [Tue, 24 Jan 2012 08:35:21 +0000 (08:35 +0000)]
Unreviewed build fix for GTK Debug build after r105698.

* bindings/js/JSNavigatorCustom.cpp:
(WebCore::JSNavigator::webkitGetUserMedia):

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

10 years agoUnreviewed build fix for Qt LinuxSH4 build after r105698.
loislo@chromium.org [Tue, 24 Jan 2012 08:26:02 +0000 (08:26 +0000)]
Unreviewed build fix for Qt LinuxSH4 build after r105698.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):

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

10 years ago[Qt][WK2] http/tests/navigation/anchor-frames-gbk.html fails
ossy@webkit.org [Tue, 24 Jan 2012 07:47:47 +0000 (07:47 +0000)]
[Qt][WK2] http/tests/navigation/anchor-frames-gbk.html fails
https://bugs.webkit.org/show_bug.cgi?id=76896

* platform/qt-wk2/Skipped: Skip the failing test.

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

10 years agoAvoid spurious rebuilds on vs2010 due to DerivedSources not existing
commit-queue@webkit.org [Tue, 24 Jan 2012 07:38:32 +0000 (07:38 +0000)]
Avoid spurious rebuilds on vs2010 due to DerivedSources not existing
https://bugs.webkit.org/show_bug.cgi?id=76873

Patch by Scott Graham <scottmg@chromium.org> on 2012-01-23
Reviewed by Adam Barth.

* WebCore.gyp/WebCore.gyp:

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

10 years ago[Qt] Unreviewed gardening after r105647.
ossy@webkit.org [Tue, 24 Jan 2012 07:37:31 +0000 (07:37 +0000)]
[Qt] Unreviewed gardening after r105647.

* platform/qt/css3/calc/getComputedStyle-margin-percentage-expected.png: Added.
* platform/qt/css3/calc/getComputedStyle-margin-percentage-expected.txt: Added.

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

10 years agoJSValue::toString() should return a JSString* instead of a UString
ggaren@apple.com [Tue, 24 Jan 2012 07:34:10 +0000 (07:34 +0000)]
JSValue::toString() should return a JSString* instead of a UString
https://bugs.webkit.org/show_bug.cgi?id=76861

../JavaScriptCore:

Reviewed by Gavin Barraclough.

This makes the common case -- toString() on a string -- faster and
inline-able. (Not a measureable speedup, but we can now remove a bunch
of duplicate hand-rolled code for this optimization.)

This also clarifies the boundary between "C++ strings" and "JS strings".

In all cases other than true, false, null, undefined, and multi-digit
numbers, the JS runtime was just retrieving a UString from a JSString,
so returning a JSString* is strictly better. In the other cases, we can
optimize to avoid creating a new JSString if we care to, but it doesn't
seem to be a big deal.

* JavaScriptCore.exp: Export!

* jsc.cpp:
(functionPrint):
(functionDebug):
(functionRun):
(functionLoad):
(functionCheckSyntax):
(runWithScripts):
(runInteractive):
* API/JSValueRef.cpp:
(JSValueToStringCopy):
* bytecode/CodeBlock.cpp:
(JSC::valueToSourceString): Call value() after calling toString(), to
convert from "JS string" (JSString*) to "C++ string" (UString), since
toString() no longer returns a "C++ string".

* dfg/DFGOperations.cpp:
(JSC::DFG::operationValueAddNotNumber):
* jit/JITStubs.cpp:
(op_add): Updated for removal of toPrimitiveString():
all '+' operands can use toString(), except for object operands, which
need to take a slow path to call toPrimitive().

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPush):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):
* runtime/DateConstructor.cpp:
(JSC::dateParse):
* runtime/DatePrototype.cpp:
(JSC::formatLocaleDate): Call value() after calling toString(), as above.

* runtime/ErrorInstance.h:
(JSC::ErrorInstance::create): Simplified down to one canonical create()
function, to make string handling easier.

* runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
* runtime/ExceptionHelpers.cpp:
(JSC::createInvalidParamError):
(JSC::createNotAConstructorError):
(JSC::createNotAFunctionError):
(JSC::createNotAnObjectError):
* runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncBind):
* runtime/JSArray.cpp:
(JSC::JSArray::sort): Call value() after calling toString(), as above.

* runtime/JSCell.cpp:
* runtime/JSCell.h: Removed JSCell::toString() because JSValue does this
job now. Doing it in JSCell is slower (requires extra type checking), and
creates the misimpression that language-defined toString() behavior is
an implementation detail of JSCell.

* runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
(JSC::decode):
(JSC::globalFuncEval):
(JSC::globalFuncParseInt):
(JSC::globalFuncParseFloat):
(JSC::globalFuncEscape):
(JSC::globalFuncUnescape): Call value() after calling toString(), as above.

* runtime/JSONObject.cpp:
(JSC::unwrapBoxedPrimitive):
(JSC::Stringifier::Stringifier):
(JSC::JSONProtoFuncParse): Removed some manual optimization that toString()
takes care of.

* runtime/JSObject.cpp:
(JSC::JSObject::toString):
* runtime/JSObject.h: Updated to return JSString*.

* runtime/JSString.cpp:
* runtime/JSString.h:
(JSC::JSValue::toString): Removed, since I removed JSCell::toString().

* runtime/JSValue.cpp:
(JSC::JSValue::toStringSlowCase): Removed toPrimitiveString(), and re-
spawned toStringSlowCase() from its zombie corpse, since toPrimitiveString()
basically did what we want all the time. (Note that the toPrimitive()
preference changes from NoPreference to PreferString, because that's
how ToString is defined in the language. op_add does not want this behavior.)

* runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString): A little simpler, now that toString()
returns a JSString*.

* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable): More calls to value(), as above.

* runtime/Operations.cpp:
(JSC::jsAddSlowCase): Need to check for object before taking the toString()
fast path becuase adding an object to a string requires calling toPrimitive()
on the object, not toString(). (They differ in their preferred conversion
type.)

* runtime/Operations.h:
(JSC::jsString):
(JSC::jsStringFromArguments): This code gets simpler, now that toString()
does the right thing.

(JSC::jsAdd): Now checks for object, just like jsAddSlowCase().

* runtime/RegExpConstructor.cpp:
(JSC::setRegExpConstructorInput):
(JSC::constructRegExp):
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::match):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString): More calls to value(), as above.

* runtime/StringConstructor.cpp:
(JSC::constructWithStringConstructor):
(JSC::callStringConstructor): This code gets simpler, now that toString()
does the right thing.

* runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::replaceUsingStringSearch):
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString): Some of this code gets simpler, now that toString()
does the right thing. More calls to value(), as above.

../JavaScriptGlue:

Reviewed by Gavin Barraclough.

* JSUtils.cpp:
(KJSValueToCFTypeInternal):

../WebCore:

Reviewed by Gavin Barraclough.

Mechanical changes to call value() after calling toString(), to
convert from "JS string" (JSString*) to "C++ string" (UString), since
toString() no longer returns a "C++ string".

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::clearData):
(WebCore::JSClipboard::getData):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSDOMBinding.cpp:
(WebCore::valueToStringWithNullCheck):
(WebCore::valueToStringWithUndefinedOrNullCheck):
(WebCore::reportException):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::JSDOMFormData::append):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::putDelegate):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::setLocation):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):
(WebCore::JSHTMLAllCollection::namedItem):
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::item):
(WebCore::JSHTMLCollection::namedItem):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::documentWrite):
* bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::setSelectionDirection):
(WebCore::JSHTMLInputElement::setSelectionRange):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::showContextMenu):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::evaluate):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::setHref):
(WebCore::JSLocation::setProtocol):
(WebCore::JSLocation::setHost):
(WebCore::JSLocation::setHostname):
(WebCore::JSLocation::setPort):
(WebCore::JSLocation::setPathname):
(WebCore::JSLocation::setSearch):
(WebCore::JSLocation::setHash):
(WebCore::JSLocation::replace):
(WebCore::JSLocation::assign):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
* bindings/js/JSSQLTransactionSyncCustom.cpp:
(WebCore::JSSQLTransactionSync::executeSql):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::putDelegate):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::getExtension):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocketConstructor::constructJSWebSocket):
(WebCore::JSWebSocket::send):
(WebCore::JSWebSocket::close):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::importScripts):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorkerConstructor::constructJSWorker):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
(WebCore::JSXMLHttpRequest::send):
* bindings/js/JSXSLTProcessorCustom.cpp:
(WebCore::JSXSLTProcessor::setParameter):
(WebCore::JSXSLTProcessor::getParameter):
(WebCore::JSXSLTProcessor::removeParameter):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerBody):
* bindings/js/ScriptValue.cpp:
(WebCore::ScriptValue::toString):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateEventListenerCall):
(JSValueToNative):
(GenerateConstructorDefinition):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::convertValueToJObject):
* bridge/jni/jsc/JNIUtilityPrivate.cpp:
(JSC::Bindings::convertArrayInstanceToJavaArray):
(JSC::Bindings::convertValueToJValue):
* bridge/jni/jsc/JavaFieldJSC.cpp:
(JavaField::dispatchValueFromInstance):
(JavaField::valueFromInstance):
(JavaField::dispatchSetValueToInstance):
(JavaField::setValueToInstance):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* testing/js/JSInternalsCustom.cpp:
(WebCore::JSInternals::setUserPreferredLanguages):

../WebKit/mac:

Reviewed by Gavin Barraclough.

Mechanical changes to call value() after calling toString(), to
convert from "JS string" (JSString*) to "C++ string" (UString), since
toString() no longer returns a "C++ string".

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

../WebKit2:

Reviewed by Gavin Barraclough.

Mechanical changes to call value() after calling toString(), to
convert from "JS string" (JSString*) to "C++ string" (UString), since
toString() no longer returns a "C++ string".

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):

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

10 years agoIn CodeGeneratorObjC.pm, overwrite the output .h/.mm
haraken@chromium.org [Tue, 24 Jan 2012 07:09:47 +0000 (07:09 +0000)]
In CodeGeneratorObjC.pm, overwrite the output .h/.mm
only if the bytes differ
https://bugs.webkit.org/show_bug.cgi?id=76874

Reviewed by Adam Barth.

This is one of steps to stop rebuilding .h/.cpp/.mm files
generated by unchanged IDLs (bug 76836).
This patch makes a change on CodeGeneratorObjC.pm so that
it overwrites the output .h/.mm only if the bytes differ.

No tests. No change in behavior.
I manually confirmed that when I add a new attribute to Element.idl,
the time-stamps of unrelated DOM*.h and DOM*.mm do not change.

* bindings/scripts/CodeGenerator.pm:
(UpdateFileIfChanged): Added. This method writes data to a file
only if the data is different from the data in the current file.
* bindings/scripts/CodeGeneratorObjC.pm:
(WriteData): Used UpdateFileIfChanged().

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

10 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 24 Jan 2012 06:46:00 +0000 (06:46 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-23

* DEPS:

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

10 years agoREGRESSION: Downloaded file name fallback encodings are not set correctly
ap@apple.com [Tue, 24 Jan 2012 06:43:26 +0000 (06:43 +0000)]
REGRESSION: Downloaded file name fallback encodings are not set correctly
https://bugs.webkit.org/show_bug.cgi?id=76862

Reviewed by Adam Barth.

Source/WebCore:

Tests: http/tests/download/default-encoding.html
       http/tests/download/form-submission-result.html
       http/tests/download/inherited-encoding.html
       http/tests/download/literal-utf-8.html

* loader/DocumentWriter.cpp:
* loader/DocumentWriter.h:
Removed deprecatedFrameEncoding. Due to changes in Document::encoding behavior, it can now
be used in its place.

* loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Instead of hunting
down a correct loader (and active one is not always correct any more), just use opening document's
encoding.

LayoutTests:

* http/tests/download/default-encoding-expected.txt: Added.
* http/tests/download/default-encoding.html: Added.
* http/tests/download/inherited-encoding-expected.txt: Added.
* http/tests/download/inherited-encoding.html: Added.
* http/tests/download/literal-utf-8-expected.txt: Added.
* http/tests/download/literal-utf-8.html: Added.
* http/tests/download/resources/literal-koi8-r.php: Added.
* http/tests/download/resources/literal-utf-8.php: Added.
* http/tests/download/inherited-encoding-form-submission-result-expected.txt: Added.
* http/tests/download/inherited-encoding-form-submission-result.html: Added.

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

10 years agoImplement flex-pack:distribute
ojan@chromium.org [Tue, 24 Jan 2012 06:26:54 +0000 (06:26 +0000)]
Implement flex-pack:distribute
https://bugs.webkit.org/show_bug.cgi?id=76864

Reviewed by Tony Chang.

Source/WebCore:

See http://dev.w3.org/csswg/css3-flexbox/#flex-pack.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFlexPack):
* css/CSSValueKeywords.in:
* rendering/RenderFlexibleBox.cpp:
(WebCore::initialPackingOffset):
(WebCore::packingSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleFlexibleBoxData.h:

LayoutTests:

* css3/flexbox/004-expected.txt:
* css3/flexbox/004.html:

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

10 years agoImplement CSS clip property in CSSStyleApplyProperty.
macpherson@chromium.org [Tue, 24 Jan 2012 05:44:22 +0000 (05:44 +0000)]
Implement CSS clip property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74913

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSPrimitiveValue.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertToLength):
This new function aims to provide a single call for converting many CSSPrimitiveValue
values to Lengths. It is templated to allow the caller to specify which conversions
are appropriate depending on the context in which the value is used.
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyClip::applyInheritValue):
(WebCore::ApplyPropertyClip::applyInitialValue):
(WebCore::ApplyPropertyClip::applyValue):
(WebCore::ApplyPropertyClip::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):

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

10 years agodecodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
tsepez@chromium.org [Tue, 24 Jan 2012 05:08:14 +0000 (05:08 +0000)]
decodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
https://bugs.webkit.org/show_bug.cgi?id=71316

Reviewed by Daniel Bates.

Source/WebCore:

Pass trailing unescaped bytes into the character set decoder to get correct
results in the presence of encodings which re-use ASCII values in sequences.

Tests: http/tests/navigation/anchor-frames-gbk.html
       http/tests/security/xssAuditor/iframe-onload-GBK-char.html
       http/tests/security/xssAuditor/img-onerror-GBK-char.html
       http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html
       http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html
       http/tests/security/xssAuditor/script-tag-Big5-char.html
       http/tests/security/xssAuditor/script-tag-Big5-char2.html

* platform/text/DecodeEscapeSequences.h:
(WebCore::Unicode16BitEscapeSequence::findInString):
(WebCore::Unicode16BitEscapeSequence::findEndOfRun):
(WebCore::Unicode16BitEscapeSequence::decodeRun):
(WebCore::URLEscapeSequence::findInString):
(WebCore::URLEscapeSequence::findEndOfRun):
(WebCore::URLEscapeSequence::decodeRun):
(WebCore::decodeEscapeSequences):

LayoutTests:

* http/tests/navigation/anchor-frames-gbk-expected.txt: Added.
* http/tests/navigation/anchor-frames-gbk.html: Added.
* http/tests/navigation/resources/frame-with-anchor-gbk.html: Added.
* http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt: Added.
* http/tests/security/xssAuditor/iframe-onload-GBK-char.html: Added.
* http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt: Added.
* http/tests/security/xssAuditor/img-onerror-GBK-char.html: Added.
* http/tests/security/xssAuditor/resources/echo-intertag-decode-16bit-unicode.pl:
* http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: Added.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: Added.
* http/tests/security/xssAuditor/script-tag-Big5-char.html: Added.
* http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-Big5-char2.html: Added.
* platform/chromium/test_expectations.txt:

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

10 years agoFix a build break in a clean compile of the Chromium port (at least
abarth@webkit.org [Tue, 24 Jan 2012 05:04:53 +0000 (05:04 +0000)]
Fix a build break in a clean compile of the Chromium port (at least
reported by tbreisacher).

* css/CSSStyleDeclaration.cpp:

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

10 years ago[Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed
commit-queue@webkit.org [Tue, 24 Jan 2012 04:53:22 +0000 (04:53 +0000)]
[Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed
https://bugs.webkit.org/show_bug.cgi?id=76859

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-01-23
Reviewed by Kenneth Rohde Christiansen.

Removing d->initializeTouch() from QQuickWebView::QQuickWebView()
since in QQuickWebViewPrivate::initialize() there is a call for
setUseTraditionalDesktopBehaviour(false), which will call initializeTouch.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::QQuickWebView):

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

10 years ago[GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible
mrobinson@webkit.org [Tue, 24 Jan 2012 04:40:30 +0000 (04:40 +0000)]
[GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible
https://bugs.webkit.org/show_bug.cgi?id=76755

Reviewed by Alejandro G. Castro.

Always clear the loading events when loading new content in the load tracking
test. In the WebView test correctly handle loading HTML with a URL that isn't
"about:blank."

* UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
(LoadTrackingTest::loadURI): Reset the class state when starting a new load.
(LoadTrackingTest::loadHtml): Ditto.
(LoadTrackingTest::loadPlainText): Ditto.
(LoadTrackingTest::loadRequest): Ditto.
* UIProcess/API/gtk/tests/LoadTrackingTest.h: Added new method definitions.
* UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
(assertNormalLoadHappened): No longer clear loading events. The fixture handles that now.
(testLoadHtml): Update to reflect new method name.
(testLoadPlainText): Ditto.
(testLoadRequest): Ditto.
(testWebViewReload): Ditto.
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::loadHtml): Properly interpret the baseURL parameter.
* UIProcess/API/gtk/tests/WebViewTest.h: Make loading methods virtual.

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

10 years ago[chromium] Clean up old WebSharedWorker::startWorkerContext() method.
tsepez@chromium.org [Tue, 24 Jan 2012 04:38:29 +0000 (04:38 +0000)]
[chromium] Clean up old WebSharedWorker::startWorkerContext() method.
https://bugs.webkit.org/show_bug.cgi?id=76853

Reviewed by Darin Fisher.

* public/WebSharedWorker.h:
* src/WebSharedWorkerImpl.cpp:
* src/WebSharedWorkerImpl.h:

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

10 years ago[GTK] editing/deleting/5408255.html results are incorrect
commit-queue@webkit.org [Tue, 24 Jan 2012 04:23:41 +0000 (04:23 +0000)]
[GTK] editing/deleting/5408255.html results are incorrect
https://bugs.webkit.org/show_bug.cgi?id=53644

Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-01-23
Reviewed by Martin Robinson.

Source/WebCore:

When the WEBKIT_TOP_LEVEL environment variable is set, resources
should be loaded from the source tree to which the variable is
pointing. This approach is used when performing testing on the
Gtk port.

No new tests, changes cause one test to pass.

* platform/graphics/gtk/ImageGtk.cpp:
(getPathToImageResource): Also make changes to the resource path
construction code on Windows.
(WebCore::Image::loadPlatformResource):

Tools:

WEBKIT_TOP_LEVEL environment variable is now set directly in either
WebKitTestRunner or DumpRenderTree through usage of a compilation-time
macro. This way both tools can be run outside the test harness without
the need to manually set the environment variable.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(getTopLevelPath):
* GNUmakefile.am:
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.setup_environ_for_server):
* WebKitTestRunner/GNUmakefile.am:
* WebKitTestRunner/InjectedBundle/gtk/InjectedBundleGtk.cpp:
(WTR::InjectedBundle::platformInitialize):

LayoutTests:

Unskip newly-passing editing test.

* platform/gtk/Skipped:

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

10 years agoCrash in WebCore::RenderTableSection::rowLogicalHeightChanged
jchaffraix@webkit.org [Tue, 24 Jan 2012 04:15:06 +0000 (04:15 +0000)]
Crash in WebCore::RenderTableSection::rowLogicalHeightChanged
https://webkit.org/b/76842

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/table/crash-section-logical-height-changed-needsCellRecalc.html

The issue was that we would access our section's structure when it was dirty.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::rowLogicalHeightChanged):
Bail out if we need cells recalculation as our internal structure is not up-to-date
and we will recompute all the rows' heights as part of the recomputation anyway.

LayoutTests:

* fast/table/crash-section-logical-height-changed-needsCellRecalc-expected.txt: Added.
* fast/table/crash-section-logical-height-changed-needsCellRecalc.html: Added.

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

10 years agoSource/WebKit/chromium: [Chromium] Implement layoutTestController.workerThreadCount...
dslomov@google.com [Tue, 24 Jan 2012 04:07:56 +0000 (04:07 +0000)]
Source/WebKit/chromium: [Chromium] Implement layoutTestController.workerThreadCount in DRT
https://bugs.webkit.org/show_bug.cgi?id=74653.
Expose WebCore::WorkerThread::workerThreadCount() in API layer
for DumpRenderTree.

Reviewed by Darin Fisher.

* WebKit.gyp:
* public/WebWorkerInfo.h: Copied from Source/WebKit/chromium/public/WebCommonWorkerClient.h.
* src/WebWorkerInfo.cpp: Copied from Source/WebKit/chromium/public/WebCommonWorkerClient.h.
(WebKit::WebWorkerInfo::dedicatedWorkerCount):

Tools: [Chromium] Implement layoutTestController.workerThreadCount in DRT
https://bugs.webkit.org/show_bug.cgi?id=74653.

Reviewed by Darin Fisher.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::workerThreadCount):
* DumpRenderTree/chromium/LayoutTestController.h:

LayoutTests: [Chromium] Implement layoutTestController.workerThreadCount in DRT
https://bugs.webkit.org/show_bug.cgi?id=74653.

Reviewed by Darin Fisher.

* platform/chromium/test_expectations.txt:

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

10 years ago[Refactoring] Make finish() of CodeGeneratorJS.pm empty
haraken@chromium.org [Tue, 24 Jan 2012 03:59:55 +0000 (03:59 +0000)]
[Refactoring] Make finish() of CodeGeneratorJS.pm empty
https://bugs.webkit.org/show_bug.cgi?id=76846

Reviewed by Adam Barth.

This is one of steps to stop rebuilding .h/.cpp files generated
by unchanged IDLs (bug 76836).

As a refactoring, we are planning to remove finish() from all
CodeGenerators. In this bug, we make finish() of CodeGeneratorJS.pm
empty.

No new tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(finish): Made it empty. We will remove finish() after
making finish() of all CodeGenerators empty.
(GenerateInterface): Modified to call WriteData().
(WriteData): Simple code refactoring.
Removed if(defined $IMPL).
Removed if(defined $HEADER).
Removed if(defined $DEPS).
$IMPL -> IMPL.
$HEADER -> HEADER.
$DEPS -> DEPS.

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

10 years agoUnreviewed, rolling out r105676.
macpherson@chromium.org [Tue, 24 Jan 2012 03:55:17 +0000 (03:55 +0000)]
Unreviewed, rolling out r105676.
http://trac.webkit.org/changeset/105676
https://bugs.webkit.org/show_bug.cgi?id=76665

Breaks build on max due to compile warnings.

* runtime/JSObject.cpp:
(JSC::JSObject::finalize):
(JSC::JSObject::visitChildren):
(JSC::JSObject::allocatePropertyStorage):
* runtime/JSObject.h:

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

10 years agoFine tune Web Intents Chromium API
commit-queue@webkit.org [Tue, 24 Jan 2012 03:20:08 +0000 (03:20 +0000)]
Fine tune Web Intents Chromium API
https://bugs.webkit.org/show_bug.cgi?id=76754

Patch by Greg Billock <gbillock@google.com> on 2012-01-23
Reviewed by Darin Fisher.

* public/WebIntent.h:
* public/WebIntentServiceInfo.h:
* src/WebIntent.cpp:
* src/WebIntentServiceInfo.cpp:
(WebKit::WebIntentServiceInfo::WebIntentServiceInfo):

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

10 years ago[chromium] updateRect is incorrect when contentBounds != bounds
shawnsingh@chromium.org [Tue, 24 Jan 2012 02:45:03 +0000 (02:45 +0000)]
[chromium] updateRect is incorrect when contentBounds != bounds
https://bugs.webkit.org/show_bug.cgi?id=72919

Reviewed by James Robinson.

Source/WebCore:

Unit test added to TiledLayerChromiumTest.cpp

The m_updateRect member in LayerChromium types is used to track
what was painted for that layer. For tiled layers (especially
image layers), the updateRect was being given with respect to the
size of the content, rather than the size of the layer. This patch
adds a conversion so that updateRect is always with respect to the
layer size, so that damage tracking will work correctly in those
cases.

* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):

Source/WebKit/chromium:

* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds):
(WTF::FakeTiledLayerWithScaledBounds::setContentBounds):
(WTF::FakeTiledLayerWithScaledBounds::contentBounds):
(WTF::FakeTiledLayerWithScaledBounds::updateRect):
(WTF::TEST):

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

10 years agoWeb Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
commit-queue@webkit.org [Tue, 24 Jan 2012 02:39:00 +0000 (02:39 +0000)]
Web Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
https://bugs.webkit.org/show_bug.cgi?id=76706

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-01-23
Reviewed by Pavel Feldman.

Changed DOMAgent.copyNode to call getOuterHTML and use the callback function to
return the text to InspectorFrontendHost.copyText.  This will make all copy
functions use the same code path.

Not testable.

* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.copyNode.copy):
(WebInspector.DOMNode.prototype.copyNode):

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

10 years agoMake zoom multiplier float instead of double to match RenderStyle::effectiveZoom...
macpherson@chromium.org [Tue, 24 Jan 2012 02:36:19 +0000 (02:36 +0000)]
Make zoom multiplier float instead of double to match RenderStyle::effectiveZoom etc. and thus avoid unnecessary precision conversions.
https://bugs.webkit.org/show_bug.cgi?id=69490

Reviewed by Andreas Kling.

Covered by existing tests.

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLength):
Use float multiplier instead of double.
(WebCore::CSSPrimitiveValue::computeLengthDouble):
Use float multiplier instead of double.
* css/CSSPrimitiveValue.h:
Change type signatures of computeLength template prototype.

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

10 years agoUse copying collector for out-of-line JSObject property storage
mhahnenberg@apple.com [Tue, 24 Jan 2012 02:29:38 +0000 (02:29 +0000)]
Use copying collector for out-of-line JSObject property storage
https://bugs.webkit.org/show_bug.cgi?id=76665

Reviewed by Geoffrey Garen.

* runtime/JSObject.cpp:
(JSC::JSObject::visitChildren): Changed to use copyAndAppend whenever the property storage is out-of-line.
(JSC::JSObject::allocatePropertyStorage): Changed to use tryAllocateStorage/tryReallocateStorage as opposed to
operator new.
* runtime/JSObject.h:

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

10 years ago[Chromium][WebSocket] Remove binary communication using WebData in WebKit API
toyoshim@chromium.org [Tue, 24 Jan 2012 02:18:55 +0000 (02:18 +0000)]
[Chromium][WebSocket] Remove binary communication using WebData in WebKit API
https://bugs.webkit.org/show_bug.cgi?id=76608

Reviewed by Darin Fisher.

* public/WebSocket.h: Remove BinaryTypeData definition and sendBinary(const WebData&).
* public/WebSocketClient.h: Remove didReceiveBinaryData(const WebData&).
* src/WebSocketImpl.cpp: Remove WebData related code and set default binary type as BinaryTypeBlob.
(WebKit::WebSocketImpl::WebSocketImpl): Remove sendBinary(const WebData&).
(WebKit::WebSocketImpl::didReceiveBinaryData): Remove WebData supporting code.
* src/WebSocketImpl.h: Remove sendBinary(const WebData&).

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

10 years agonrwt: make --chromium work like --qt
dpranke@chromium.org [Tue, 24 Jan 2012 02:09:36 +0000 (02:09 +0000)]
nrwt: make --chromium work like --qt
https://bugs.webkit.org/show_bug.cgi?id=76875

Reviewed by Adam Barth.

--chromium used to have to be handled differently from --qt
due to the way the PortFactory was implemented; there's not
really a good reason for that any more so this patch makes
things slightly more consistent and eliminates the
options.chromium flag (--chromium is now truly a synonym for
--platform chromium).

* Scripts/webkitpy/layout_tests/port/factory.py:
(PortFactory._default_port):
(PortFactory.get):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(FactoryTest.setUp):
(FactoryTest.test_chromium_mac):
(FactoryTest.test_chromium_linux):
(FactoryTest.test_chromium_win):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):

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

10 years agorun-webkit-tests needs to propagate --chromium
dpranke@chromium.org [Tue, 24 Jan 2012 02:05:17 +0000 (02:05 +0000)]
run-webkit-tests needs to propagate --chromium
https://bugs.webkit.org/show_bug.cgi?id=76870

Reviewed by Eric Seidel.

run-webkit-tests removes '--chromium' argument from @ARGV when
determining which port to run, which means that that doesn't
propagate to new-run-webkit-tests. That's bad (and is handled
for the other ports by re-adding the flag, but apparently we're
just now noticing for Chromium).

* Scripts/run-webkit-tests:

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

10 years agoUnreviewed test expectations fixes for a couple of window/frame tests.
eae@chromium.org [Tue, 24 Jan 2012 02:00:48 +0000 (02:00 +0000)]
Unreviewed test expectations fixes for a couple of window/frame tests.

* http/tests/security/cross-frame-access-put-expected.txt:
Updated expectations to reflect that window.frameElement now has the type
HTMLIFrameElement. The test itself has already been updated.

* platform/mac/fast/dom/Window/window-properties-expected.txt:
Added window.applicationCache.abort method.

* platform/mac/fast/dom/prototype-inheritance-2-expected.txt:
Added DOMURL class.

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

10 years ago[GTK][PATCH] More build silencing with (AM_V_...)
commit-queue@webkit.org [Tue, 24 Jan 2012 01:59:58 +0000 (01:59 +0000)]
[GTK][PATCH] More build silencing with (AM_V_...)
https://bugs.webkit.org/show_bug.cgi?id=76791

Patch by Priit Laes <plaes@plaes.org> on 2012-01-23
Reviewed by Gustavo Noronha Silva.

* GNUmakefile.am: Silence is golden...

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

10 years ago[Qt] Implement SSL error handling QML API.
commit-queue@webkit.org [Tue, 24 Jan 2012 01:54:37 +0000 (01:54 +0000)]
[Qt] Implement SSL error handling QML API.
https://bugs.webkit.org/show_bug.cgi?id=76793

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-23
Reviewed by Simon Hausmann.

This patch implements support for accepting or rejecting invalid SSL
certificates from the QML API.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::handleCertificateVerificationRequest):
(QQuickWebViewExperimental::certificateVerificationDialog):
(QQuickWebViewExperimental::setCertificateVerificationDialog):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::certificateVerificationRequest):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/qt/QtDialogRunner.cpp:
(CertificateVerificationDialogContextObject::CertificateVerificationDialogContextObject):
(CertificateVerificationDialogContextObject::hostname):
(CertificateVerificationDialogContextObject::accept):
(CertificateVerificationDialogContextObject::reject):
(QtDialogRunner::initForCertificateVerification):
* UIProcess/qt/QtDialogRunner.h:
* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::handleCertificateVerificationRequest):
* UIProcess/qt/QtPageClient.h:
* WebProcess/qt/QtNetworkAccessManager.cpp:
(WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
(WebKit::QtNetworkAccessManager::onSslErrors):
* WebProcess/qt/QtNetworkAccessManager.h:

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

10 years agoMore build fixing after r105646.
bweinstein@apple.com [Tue, 24 Jan 2012 01:47:29 +0000 (01:47 +0000)]
More build fixing after r105646.

Source/JavaScriptCore:

* JavaScriptCore.exp:

Tools:

* TestWebKitAPI/Tests/WTF/RedBlackTree.cpp:
(TestWebKitAPI::TestNode::key):

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

10 years agoMicroData: Remove ExceptionCode& from setAttribute() call.
commit-queue@webkit.org [Tue, 24 Jan 2012 01:36:56 +0000 (01:36 +0000)]
MicroData: Remove ExceptionCode& from setAttribute() call.
https://bugs.webkit.org/show_bug.cgi?id=76695

Patch by Arko Saha <nghq36@motorola.com> on 2012-01-23
Reviewed by Hajime Morita.

Changeset http://trac.webkit.org/changeset/103296 removed unused
ExceptionCode& argument from Element::setAttribute(QualifiedName).
Hence updating all calls to setAttribute() method in MicroData code.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setItemValueText):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::setItemValueText):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::setItemValueText):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::setItemValueText):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::setItemValueText):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setItemValueText):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setItemValueText):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::setItemValueText):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::setItemValueText):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::setItemValueText):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::setItemValueText):

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

10 years ago[windows] Convert usages of GetDC to HWndDC Part 2.
levin@chromium.org [Tue, 24 Jan 2012 01:31:05 +0000 (01:31 +0000)]
[windows] Convert usages of GetDC to HWndDC Part 2.
https://bugs.webkit.org/show_bug.cgi?id=76750

Reviewed by Adam Roben.

Source/WebKit/win:

* FullscreenVideoController.cpp:
(createCompatibleDCForWindow): Moved out the code which creates a DC for a window
to keep the same scope for the DC lifetime.
(FullscreenVideoController::draw):  Switch to using OwnPtr<HDC>
since createCompatibleDCForWindow returns a PassOwnPtr.
* WebNodeHighlight.cpp:
(WebNodeHighlight::update):
  Cleaned up leaks from calling GetDC without release.
  Note that there is a potential leak of hdc that previously existed
  and still does in an early exit scenario. (This could be easily fixed
  by using OwnPtr<HDC> but I was trying to keep this patch focused.)
* WebView.cpp:
(WebView::scrollBackingStore): Typical conversion.
(WebView::updateBackingStore): Reduced the scope of windowDC to be
right where it is being used.
(WebView::performLayeredWindowUpdate): Typical conversion.
(WebView::paintIntoBackingStore): Ditto.

Source/WebKit2:

* Shared/win/ShareableBitmapWin.cpp:
(WebKit::ShareableBitmap::windowsContext): Fix incorrect usage of OwnPtr<HDC> which
would do a DeleteDC instead of a ReleaseDC.

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

10 years agoUnreviewed build fix - r105646 broke this.
barraclough@apple.com [Tue, 24 Jan 2012 01:21:51 +0000 (01:21 +0000)]
Unreviewed build fix - r105646 broke this.

* TestWebKitAPI/Tests/WTF/RedBlackTree.cpp:
(TestWebKitAPI::TestNode::TestNode):
(TestWebKitAPI::TestNode::key):
(TestWebKitAPI::RedBlackTreeTest::assertEqual):
(TestWebKitAPI::RedBlackTreeTest::assertSameValuesForKey):
(TestWebKitAPI::RedBlackTreeTest::testDriver):

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

10 years agoFix crash when a focused node is removed while in processing focusin event.
hayato@chromium.org [Tue, 24 Jan 2012 01:21:42 +0000 (01:21 +0000)]
Fix crash when a focused node is removed while in processing focusin event.
https://bugs.webkit.org/show_bug.cgi?id=76656

Reviewed by Dimitri Glazkov.

Source/WebCore:

Test: fast/events/focus-remove-focuesed-node.html

* dom/Document.cpp:
(WebCore::Document::setFocusedNode):

LayoutTests:

* fast/events/focus-remove-focuesed-node-expected.txt: Added.
* fast/events/focus-remove-focuesed-node.html: Added.

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

10 years agoSwitch media/audio-data-url.html layout test to base64-encoded WAV data.
scherkus@chromium.org [Tue, 24 Jan 2012 01:16:15 +0000 (01:16 +0000)]
Switch media/audio-data-url.html layout test to base64-encoded WAV data.
https://bugs.webkit.org/show_bug.cgi?id=76759

Reviewed by Eric Carlson.

* media/audio-data-url-expected.txt:
* media/audio-data-url.html:
* platform/chromium/test_expectations.txt:

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

10 years agoUnreviewed, rolling out r105658.
abarth@webkit.org [Tue, 24 Jan 2012 01:10:59 +0000 (01:10 +0000)]
Unreviewed, rolling out r105658.
http://trac.webkit.org/changeset/105658
https://bugs.webkit.org/show_bug.cgi?id=76883

We want this eventually, but not right at this moment
(Requested by abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-23

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:

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

10 years ago[chromium] Add <(SHARED_INTERMEDIATE_DIR)/webkit to include path of targets that...
jamesr@google.com [Tue, 24 Jan 2012 01:09:29 +0000 (01:09 +0000)]
[chromium] Add <(SHARED_INTERMEDIATE_DIR)/webkit to include path of targets that depend on WebKit API so they pick up the copied headers in an onion build
https://bugs.webkit.org/show_bug.cgi?id=76879

Reviewed by Dirk Pranke.

* WebKit.gyp:

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

10 years ago[windows] Convert usages of GetDC to HWndDC Part 1.
levin@chromium.org [Tue, 24 Jan 2012 01:07:41 +0000 (01:07 +0000)]
[windows] Convert usages of GetDC to HWndDC Part 1.
https://bugs.webkit.org/show_bug.cgi?id=76744

Reviewed by Adam Roben.

Source/WebCore:

No new functionality so no new tests.

* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters): Changed GetDC to HWndDC
and removed ReleaseDC.
(WebCore::createGDIFont): Ditto.
(WebCore::FontCache::getTraitsInFamily): Ditto.
* platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::FontPlatformData): Ditto.
* platform/graphics/win/SimpleFontDataCGWin.cpp:
(WebCore::SimpleFontData::platformInit): Ditto.
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::initGDIFont): Ditto.
(WebCore::SimpleFontData::containsCharacters): Ditto.
(WebCore::SimpleFontData::determinePitch): Ditto.
(WebCore::SimpleFontData::boundsForGDIGlyph): Ditto.
(WebCore::SimpleFontData::widthForGDIGlyph): Ditto.
(WebCore::SimpleFontData::scriptFontProperties): Ditto.
* platform/win/CursorWin.cpp:
(WebCore::createSharedCursor): Ditto.
* platform/win/DragImageCGWin.cpp:
(WebCore::scaleDragImage): Ditto.
(WebCore::createDragImageFromImage): Ditto.
* platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink): Ditto.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImage): Ditto.

Source/WebKit/win:

* WebIconDatabase.cpp:
(createDIB): Changed GetDC to HWndDC and removed ReleaseDC.

Source/WebKit2:

* UIProcess/win/WebView.cpp:
(WebKit::WebView::flashBackingStoreUpdates): Typical conversion.

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

10 years ago[GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper...
commit-queue@webkit.org [Tue, 24 Jan 2012 00:54:05 +0000 (00:54 +0000)]
[GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper properties
https://bugs.webkit.org/show_bug.cgi?id=76747

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-01-23
Reviewed by Gustavo Noronha Silva.

No new tests. Regressions are covered by existing tests, but testing
different GTK+ theme configurations is not possible yet.

* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::backButtonRect): If there is no back stepper, return an empty rect.
(WebCore::ScrollbarThemeGtk::forwardButtonRect): If there is no forward stepper, return an empty rect.
(WebCore::ScrollbarThemeGtk::trackRect): Adjust track rect calculation to account for when there is
no steppers.
* platform/gtk/ScrollbarThemeGtk.h: New members describing whether there are primary steppers.
* platform/gtk/ScrollbarThemeGtk2.cpp:
(WebCore::ScrollbarThemeGtk::updateThemeProperties): Look at the theme to determine if there
are primary foward and back steppers.
* platform/gtk/ScrollbarThemeGtk3.cpp:
(WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.

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

10 years agoREGRESSION(r105396): drag state is not cleared after each drag
rniwa@webkit.org [Tue, 24 Jan 2012 00:47:28 +0000 (00:47 +0000)]
REGRESSION(r105396): drag state is not cleared after each drag
https://bugs.webkit.org/show_bug.cgi?id=76878

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Revert a part of r105396 that made performDragAndDrop not call clearDragState
when the default action was not prevented since it caused a regression.

I'm pretty certain always calling clearDragState in performDragAndDrop is wrong
but I can't think of a test case where this becomes a problem at the moment.
Since this area is not well tested, revert the change instead of making further
changes to the code base.

Tests: fast/events/clear-drag-state.html
       fast/events/clear-edit-drag-state.html

* page/EventHandler.cpp:
(WebCore::EventHandler::performDragAndDrop):

LayoutTests:

Add a regression test to ensure we don't fire extra dragenter event
on the second drag at an element that contains the dragged content.

* fast/events/clear-drag-state-expected.txt: Added.
* fast/events/clear-drag-state.html: Added.
* fast/events/clear-edit-drag-state-expected.txt: Added.
* fast/events/clear-edit-drag-state.html: Added.

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

10 years agogarden-o-matic should support Chromium Mac Lion
abarth@webkit.org [Tue, 24 Jan 2012 00:41:01 +0000 (00:41 +0000)]
garden-o-matic should support Chromium Mac Lion
https://bugs.webkit.org/show_bug.cgi?id=76880

Reviewed by Eric Seidel.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:

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

10 years agoFixed typo in exception messages
commit-queue@webkit.org [Tue, 24 Jan 2012 00:40:11 +0000 (00:40 +0000)]
Fixed typo in exception messages
https://bugs.webkit.org/show_bug.cgi?id=76710

Patch by Thiago Marcos P. Santos <tmpsantos@gmail.com> on 2012-01-23
Reviewed by Alexey Proskuryakov.

* dom/DOMCoreException.cpp:
* fileapi/FileException.cpp:
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::postflightAndCommit):
* xml/XMLHttpRequestException.cpp:

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

10 years agoAllow delayed DC allocation in HWndDC.
levin@chromium.org [Tue, 24 Jan 2012 00:35:29 +0000 (00:35 +0000)]
Allow delayed DC allocation in HWndDC.
https://bugs.webkit.org/show_bug.cgi?id=76737

Reviewed by Adam Roben.

No new functionality exposed so no new tests.

* platform/win/HWndDC.h: Changed this slightly to allow
for allocating a window DC after the initial creation since
this pattern occurrs in several places so this makes it easy to
replace them in an upcoming change.
(WebCore::HWndDC::HWndDC):
(WebCore::HWndDC::~HWndDC):
(WebCore::HWndDC::setHWnd):
(WebCore::HWndDC::clear):

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

10 years agoMicroData: Compilation error while building Webkit with --microdata.
commit-queue@webkit.org [Tue, 24 Jan 2012 00:26:40 +0000 (00:26 +0000)]
MicroData: Compilation error while building Webkit with --microdata.
https://bugs.webkit.org/show_bug.cgi?id=76703

Patch by Arko Saha <nghq36@motorola.com> on 2012-01-23
Reviewed by Hajime Morita.

* dom/MicroDataItemList.cpp:
(WebCore::MicroDataItemList::MicroDataItemList):
(WebCore::MicroDataItemList::~MicroDataItemList):
* dom/MicroDataItemList.h:
* dom/NodeRareData.h:
(WebCore::NodeRareData::properties):
* html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::create):
(WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
* html/HTMLPropertiesCollection.h:

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

10 years ago[chromium] Convert uses of GetDC to HWndDC.
levin@chromium.org [Tue, 24 Jan 2012 00:22:38 +0000 (00:22 +0000)]
[chromium] Convert uses of GetDC to HWndDC.
https://bugs.webkit.org/show_bug.cgi?id=76290

Reviewed by Dmitry Titov.

* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::createFontIndirectAndGetWinName):
(WebCore::fontContainsCharacter):
(WebCore::FontCache::getLastResortFallbackFont):
(WebCore::FontCache::getTraitsInFamily):
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::FontPlatformData::scriptFontProperties):
* platform/graphics/chromium/FontUtilsChromiumWin.cpp:
(WebCore::FontMap::getAscent):
(WebCore::FontMap::getSpaceGlyph):
* platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
(WebCore::fillBMPGlyphs):
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::platformWidthForGlyph):
* platform/graphics/chromium/UniscribeHelper.cpp:
(WebCore::UniscribeHelper::EnsureCachedDCCreated):
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::systemFontSize):
(WebCore::pointsToPixels):

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

10 years agowebsite: Reword WEBKITOUTPUTDIR documentation on Building WebKit page
commit-queue@webkit.org [Tue, 24 Jan 2012 00:13:19 +0000 (00:13 +0000)]
website: Reword WEBKITOUTPUTDIR documentation on Building WebKit page
https://bugs.webkit.org/show_bug.cgi?id=76544

Patch by Seo Sanghyeon <sh4.seo@samsung.com> on 2012-01-23
Reviewed by Darin Adler.

WEBKITOUTPUTDIR is not only for Windows.

* building/build.html:

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

10 years agocheck-webkit-style whitespace/operators triggers on overloaded division operator
eae@chromium.org [Tue, 24 Jan 2012 00:01:23 +0000 (00:01 +0000)]
check-webkit-style whitespace/operators triggers on overloaded division operator
https://bugs.webkit.org/show_bug.cgi?id=76650

Reviewed by Darin Adler.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_operator_methods):

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

10 years agoReduce throttling on video-buffering-repaints-controls test to prevent timeout.
commit-queue@webkit.org [Tue, 24 Jan 2012 00:00:55 +0000 (00:00 +0000)]
Reduce throttling on video-buffering-repaints-controls test to prevent timeout.
https://bugs.webkit.org/show_bug.cgi?id=76113

Also reduces flakiness by checking for a repaint between progress and
suspend events versus just between progress events.

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-01-23
Reviewed by Adam Barth.

* http/tests/media/video-buffering-repaints-controls-expected.txt: Added.
* http/tests/media/video-buffering-repaints-controls.html:
* platform/chromium-linux/http/tests/media/video-buffering-repaints-controls-expected.png:
* platform/chromium-mac-snowleopard/http/tests/media/video-buffering-repaints-controls-expected.txt: Removed.
* platform/chromium-win/http/tests/media/video-buffering-repaints-controls-expected.txt: Removed.
* platform/chromium/test_expectations.txt:
* platform/gtk/http/tests/media/video-buffering-repaints-controls-expected.txt: Removed.

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

10 years agorun-perf-tests should report server-side errors
rniwa@webkit.org [Mon, 23 Jan 2012 23:49:00 +0000 (23:49 +0000)]
run-perf-tests should report server-side errors
https://bugs.webkit.org/show_bug.cgi?id=76802

Reviewed by Tony Chang.

Report errors whenever server's response doesn't match "OK".

* Scripts/webkitpy/common/net/file_uploader.py:
(FileUploader.upload_single_text_file):
(FileUploader.upload_as_multipart_form_data):
(FileUploader._upload_data.callback):
(FileUploader):
(FileUploader._upload_data):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._upload_json):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_upload_json):
(test_upload_json.MockFileUploader.upload_single_text_file):

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

10 years agohttps://bugs.webkit.org/show_bug.cgi?id=75799
commit-queue@webkit.org [Mon, 23 Jan 2012 23:46:15 +0000 (23:46 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=75799
Calling intersectsNode on a detached range should throw.

Source/WebCore:

INVALID_STATE_ERR exception should be thrown if intersectsNode is called on a detached Range.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-23
Reviewed by Darin Adler.

Test: fast/dom/Range/range-intersectsNode-exception.html

* dom/Range.cpp:
(WebCore::Range::intersectsNode): Throwing INVALID_STATE_ERR exception if the range is detached.

LayoutTests:

Added test case to verify the exception thrown while calling intersectsNode on a detached range.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-23
Reviewed by Darin Adler.

* fast/dom/Range/range-intersectsNode-exception-expected.txt: Added.
* fast/dom/Range/range-intersectsNode-exception.html: Added.
* fast/dom/Range/range-intersectsNode-expected.txt:
* fast/dom/Range/resources/intersectsNode.js:  Modified the test case to catch the exception.

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

10 years agoConvert DataTransferItem/DataTransferItemList back into an interface class
dcheng@chromium.org [Mon, 23 Jan 2012 23:35:44 +0000 (23:35 +0000)]
Convert DataTransferItem/DataTransferItemList back into an interface class
https://bugs.webkit.org/show_bug.cgi?id=76856

When Qt implemented the DataTransferItemList, a lot of logic was moved into the shared
classes since Chromium/Qt happened to implement it the same way. Now that I want to do some
refactoring/cleanup work to better implement DataTransferItemList in Chromium, we won't
share the same data anymore so it doesn't make sense to keep that code in a common location.

Reviewed by David Levin.

Covered by existing tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DataTransferItem.cpp:
* dom/DataTransferItem.h:
* dom/DataTransferItemList.cpp: Removed.
* dom/DataTransferItemList.h:
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::mayUpdateItems):
* platform/chromium/DataTransferItemChromium.cpp:
(WebCore::DataTransferItemChromium::create):
(WebCore::DataTransferItemChromium::DataTransferItemChromium):
(WebCore::DataTransferItemChromium::getAsString):
(WebCore::DataTransferItemChromium::getAsFile):
(WebCore::DataTransferItemChromium::clipboardChromium):
* platform/chromium/DataTransferItemChromium.h:
(WebCore::DataTransferItemChromium::kind):
(WebCore::DataTransferItemChromium::type):
* platform/chromium/DataTransferItemListChromium.cpp:
(WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
* platform/chromium/DataTransferItemListChromium.h:
* platform/qt/DataTransferItemListQt.cpp:
(WebCore::DataTransferItemListQt::DataTransferItemListQt):
(WebCore::DataTransferItemListQt::length):
(WebCore::DataTransferItemListQt::item):
(WebCore::DataTransferItemListQt::deleteItem):
(WebCore::DataTransferItemListQt::clear):
(WebCore::DataTransferItemListQt::add):
* platform/qt/DataTransferItemListQt.h:
* platform/qt/DataTransferItemQt.cpp:
(WebCore::DataTransferItemQt::create):
(WebCore::DataTransferItemQt::DataTransferItemQt):
(WebCore::DataTransferItemQt::getAsString):
(WebCore::DataTransferItemQt::getAsFile):
* platform/qt/DataTransferItemQt.h:
(WebCore::DataTransferItemQt::kind):
(WebCore::DataTransferItemQt::type):

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

10 years agogetComputedStyle margin percentage test for CSS calc
mikelawther@chromium.org [Mon, 23 Jan 2012 23:32:40 +0000 (23:32 +0000)]
getComputedStyle margin percentage test for CSS calc
https://bugs.webkit.org/show_bug.cgi?id=76130

Reviewed by Darin Adler.

Tests for future implementation of CSS3 calc() (see http://webkit.org/b/16662)

These tests are expected to 'fail', and will pass once calc() functionality is landed.
For now, they serve to demonstrate that the current code doesn't crash on these tests.

* css3/calc/getComputedStyle-margin-percentage-expected.txt: Added.
* css3/calc/getComputedStyle-margin-percentage.html: Added.

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

10 years agohttps://bugs.webkit.org/show_bug.cgi?id=76855
barraclough@apple.com [Mon, 23 Jan 2012 23:30:57 +0000 (23:30 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=76855
Implement a JIT-code aware sampling profiler for JSC

Reviewed by Geoff Garen.

Step 2: generalize RedBlackTree. The profiler is going to want tio use
a RedBlackTree, allow this class to work with subclasses of
RedBlackTree::Node, Node should not need to know the names of the m_key
and m_value fields (the subclass can provide a key() accessor), and
RedBlackTree does not need to know anything about ValueType.

* JavaScriptCore.exp:
* wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::findAndRemoveFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):
(WTF::MetaAllocator::addFreeSpace):
* wtf/MetaAllocator.h:
(WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode):
(WTF::MetaAllocator::FreeSpaceNode::key):
* wtf/MetaAllocatorHandle.h:
(WTF::MetaAllocatorHandle::key):
* wtf/RedBlackTree.h:
(WTF::RedBlackTree::Node::successor):
(WTF::RedBlackTree::Node::predecessor):
(WTF::RedBlackTree::Node::parent):
(WTF::RedBlackTree::Node::setParent):
(WTF::RedBlackTree::Node::left):
(WTF::RedBlackTree::Node::setLeft):
(WTF::RedBlackTree::Node::right):
(WTF::RedBlackTree::Node::setRight):
(WTF::RedBlackTree::insert):
(WTF::RedBlackTree::remove):
(WTF::RedBlackTree::findExact):
(WTF::RedBlackTree::findLeastGreaterThanOrEqual):
(WTF::RedBlackTree::findGreatestLessThanOrEqual):
(WTF::RedBlackTree::first):
(WTF::RedBlackTree::last):
(WTF::RedBlackTree::size):
(WTF::RedBlackTree::treeMinimum):
(WTF::RedBlackTree::treeMaximum):
(WTF::RedBlackTree::treeInsert):
(WTF::RedBlackTree::leftRotate):
(WTF::RedBlackTree::rightRotate):
(WTF::RedBlackTree::removeFixup):

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

10 years agoUnreviewed buildfix for ENABLE(MUTATION_OBSERVERS) following r105642.
kling@webkit.org [Mon, 23 Jan 2012 23:01:20 +0000 (23:01 +0000)]
Unreviewed buildfix for ENABLE(MUTATION_OBSERVERS) following r105642.

* css/CSSMutableStyleDeclaration.cpp:

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

10 years agorun-perf-tests ignore Skipped list on chromium
rniwa@webkit.org [Mon, 23 Jan 2012 22:42:09 +0000 (22:42 +0000)]
run-perf-tests ignore Skipped list on chromium
https://bugs.webkit.org/show_bug.cgi?id=76764

Reviewed by Dirk Pranke.

Move skipped_perf_tests from WebKit port to Base port so that Chromium port
can also find skipped list. Chromium port only uses test_expectations.txt for
layout tests but performacne tests don't use test_expectations.txt so Chromium port
also needs to use Skipped list.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port._tests_from_skipped_file_contents):
(Port):
(Port._expectations_from_skipped_files):
(Port.skipped_perf_tests):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_skipped_perf_tests):
(PortTest.test_skipped_perf_tests.add_text_file):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._skipped_tests_for_unsupported_features):
(WebKitPort._skipped_file_search_paths):
(WebKitPort.skipped_layout_tests):

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

10 years agoUpdate uniteIfNonZero to use isZero.
commit-queue@webkit.org [Mon, 23 Jan 2012 22:37:54 +0000 (22:37 +0000)]
Update uniteIfNonZero to use isZero.
https://bugs.webkit.org/show_bug.cgi?id=76637

Patch by Philip Rogers <pdr@google.com> on 2012-01-23
Reviewed by Darin Adler.

No new tests. (I found no existing codepath that would be affected by
this change but I think this change is still valuable in preventing
future bugs.)

* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::uniteIfNonZero):

The following change is a minor followup to
https://bugs.webkit.org/show_bug.cgi?id=76177#c12 and is not directly
related to the rest of this patch.
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):

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

10 years agoEliminate CSSElementStyleDeclaration
antti@apple.com [Mon, 23 Jan 2012 22:26:21 +0000 (22:26 +0000)]
Eliminate CSSElementStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=76848

Reviewed by Andreas Kling.

CSSElementStyleDeclaration has little functionality. It can merge with CSSMutableStyleDeclaration simplifying the code.

Having an element parent is mutually exclusive with having a css rule parent. We can keep them in a union. This also
shrinks all inline style declarations by one pointer.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.h:
(WebCore::root):
* css/CSSAllInOne.cpp:
* css/CSSElementStyleDeclaration.cpp: Removed.
* css/CSSElementStyleDeclaration.h: Removed.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSMutableStyleDeclaration::createInline):
(WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
(WebCore::CSSStyleDeclaration::parentStyleSheet):

    Merge the CSSElementStyleDeclaration::styleSheet() logic here.

* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::parentRule):
(WebCore::CSSStyleDeclaration::clearParentRule):
(WebCore::CSSStyleDeclaration::parentElement):
(WebCore::CSSStyleDeclaration::clearParentElement):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):

    CSSStyleRule's style declaration can't have isElementStyleDeclaration set, the dead code can be removed.
    This is asserted in setDeclaration() and again implicitly in the destructor (by clearParentRule()).

* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
(WebCore::StyledElement::copyNonAttributeProperties):
* dom/StyledElement.h:
(WebCore::StyledElement::inlineStyleDecl):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI):
* html/ValidationMessage.cpp:
(WebCore::adjustBubblePosition):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::resetPosition):
(WebCore::MediaControlPanelElement::makeOpaque):
(WebCore::MediaControlPanelElement::makeTransparent):
* html/shadow/SliderThumbElement.cpp:
(WebCore::TrackLimiterElement::create):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):

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

10 years agoUnreviewed, rolling out r105640.
senorblanco@chromium.org [Mon, 23 Jan 2012 22:07:16 +0000 (22:07 +0000)]
Unreviewed, rolling out r105640.
http://trac.webkit.org/changeset/105640
https://bugs.webkit.org/show_bug.cgi?id=76849

Broke the chromium build.

* DEPS:

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

10 years agorolling chromium DEPS to r118713
senorblanco@chromium.org [Mon, 23 Jan 2012 21:41:51 +0000 (21:41 +0000)]
rolling chromium DEPS to r118713
https://bugs.webkit.org/show_bug.cgi?id=76849

Patch by Justin Novosad <junov@chromium.org> on 2012-01-23
Reviewed by Stephen White.

This is to pick up a change to skia build configuration

* DEPS:

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