WebKit-https.git
7 years ago[BlackBerry] Animation & UI lag when rendering
commit-queue@webkit.org [Fri, 24 Aug 2012 17:21:40 +0000 (17:21 +0000)]
[BlackBerry] Animation & UI lag when rendering
https://bugs.webkit.org/show_bug.cgi?id=94943

Patch by Andrew Lo <anlo@rim.com> on 2012-08-24
Reviewed by Rob Buis.

Schedule a backing store blit & composite when commiting root layer.
This results in compositing not having to wait until after a long render
operation, increasing responsiveness & fixing animations which skip to
the last frame due to lag.

This can cause a blit during a "one shot drawing synchronization", which is
a render & commit on the AC layers, which may result in flashing.
However, this can happen in other situations as well, and we feel that
the responsiveness, reduced lag, and smoothness of animations is
more important.

Internal PR194209
Internally reviewed by: George Staikos.

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

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

7 years agobuild-webkit --gtk fails with Can't exec ""
commit-queue@webkit.org [Fri, 24 Aug 2012 17:21:06 +0000 (17:21 +0000)]
build-webkit --gtk fails with Can't exec ""
https://bugs.webkit.org/show_bug.cgi?id=94944

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-08-24
Reviewed by Martin Robinson.

When jhbuild wrapper is not needed, do unshift a blank string to build
arguments.

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary):

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

7 years ago[BlackBerry] Changes resulting from moving application directory methods from platfor...
commit-queue@webkit.org [Fri, 24 Aug 2012 17:12:59 +0000 (17:12 +0000)]
[BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
https://bugs.webkit.org/show_bug.cgi?id=94249

Patch by Parth Patel <parpatel@rim.com> on 2012-08-24
Reviewed by Rob Buis.

Source/WebCore:

PR 170160

Changes in response to Application Directory methods moved from
Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
platform respository since these methods are more appropriate in
class BlackBerryPlatformSettings.

No new tests as there are no logical modifications.

* platform/blackberry/CookieManager.cpp:
(WebCore::CookieManager::CookieManager):
* platform/blackberry/FileSystemBlackBerry.cpp:
(WebCore::homeDirectoryPath):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::load):
* platform/network/blackberry/AutofillBackingStore.cpp:
(WebCore::autofillBackingStore):
* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::credentialBackingStore):
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::sendRequestWithCredentials):
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::isPreferredPluginDirectory):

Source/WebKit/blackberry:

PR# 170160
Changes in response to Application Directory methods moved from
Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
platform respository since these methods are more appropriate in
class BlackBerryPlatformSettings.

* WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
(WebCore::IconDatabaseClientBlackBerry::initIconDatabase):

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

7 years agoWeb Inspector: do not count weak and shortcut edges.
loislo@chromium.org [Fri, 24 Aug 2012 17:10:19 +0000 (17:10 +0000)]
Web Inspector: do not count weak and shortcut edges.
https://bugs.webkit.org/show_bug.cgi?id=94947

Reviewed by Yury Semikhatsky.

When calculating distance from an object to Window in heap profiler we should only
take into account strong real references. This means that shortcuts and weak edges should be ignored.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._bfs):

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

7 years ago[EFL] Add baselines for the tests which are missing expected results
commit-queue@webkit.org [Fri, 24 Aug 2012 16:47:12 +0000 (16:47 +0000)]
[EFL] Add baselines for the tests which are missing expected results
https://bugs.webkit.org/show_bug.cgi?id=94942

Unreviewed EFL gardening. Add platform specific baselines required
after r126343 and r126372.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-24

* platform/efl/fast/overflow/paged-x-div-expected.png: Added.
* platform/efl/fast/overflow/paged-x-div-expected.txt: Added.
* platform/efl/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/efl/fast/overflow/paged-x-on-root-expected.txt: Added.
* platform/efl/fast/overflow/paged-y-div-expected.png: Added.
* platform/efl/fast/overflow/paged-y-div-expected.txt: Added.
* platform/efl/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/efl/fast/overflow/paged-y-on-root-expected.txt: Added.
* platform/efl/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/efl/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/efl/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/efl/media/track/track-cue-rendering-vertical-expected.txt: Added.

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

7 years ago[EFL] fast/dom/navigator-vibration.html is failing after r126562
commit-queue@webkit.org [Fri, 24 Aug 2012 16:42:22 +0000 (16:42 +0000)]
[EFL] fast/dom/navigator-vibration.html is failing after r126562
https://bugs.webkit.org/show_bug.cgi?id=94939

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-24
Reviewed by Kentaro Hara.

Update expected results for fast/dom/navigator-vibration.html now that
NotEnoughArguments is thrown instead of TypeError if the actual argument
count is less than the least mandatory argument count.

* fast/dom/navigator-vibration-expected.txt:

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

7 years agoCrash in RenderTableCell::borderTop() due to custom scrollbars after r124168
jchaffraix@webkit.org [Fri, 24 Aug 2012 16:39:43 +0000 (16:39 +0000)]
Crash in RenderTableCell::borderTop() due to custom scrollbars after r124168
https://bugs.webkit.org/show_bug.cgi?id=93903

Reviewed by Tony Chang.

Source/WebCore:

r124168 changed when we create scrollbars so that it happens (rightly) at style change time.
However the RenderScrollbar code assumes that any overflow: scroll RenderScrollbar would be
created at layout time as it directly tries to layout to scrollbar parts. The big issues with
the move is that the first style change operates on a detached renderer which means that we
could crash in some situation.

Test: scrollbars/custom-scrollbar-table-cell.html

* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::computeScrollbarWidth):
(WebCore::RenderScrollbarPart::computeScrollbarHeight):
Fixed the crash by using style information instead of calling the renderer. This is guaranteed
to be safe but it also means that custom scrollbars sizing is not right on table cells with
collapsing borders. The existing logic was querying layout information at style change so I
wouldn't bet on it working properly anyway.

LayoutTests:

* scrollbars/custom-scrollbar-table-cell-expected.png: Added.
* scrollbars/custom-scrollbar-table-cell-expected.txt: Added.
* scrollbars/custom-scrollbar-table-cell.html: Added.

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

7 years agoRemove RenderTableSection::removeChild
jchaffraix@webkit.org [Fri, 24 Aug 2012 16:37:54 +0000 (16:37 +0000)]
Remove RenderTableSection::removeChild
https://bugs.webkit.org/show_bug.cgi?id=94883

Reviewed by Abhishek Arya.

This change removed removeChild, replaced by willBeRemoved calls in the children
class. This is done to ensure that post-removal invalidations are properly done
in table rows and table cells.

Refactoring covered by existing tests.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::removeChild):
* rendering/RenderTableSection.h:
Removed this function...

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::willBeRemovedFromTree):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::willBeRemovedFromTree):
* rendering/RenderTableRow.h:
... and moved the invalidation into the willBeRemovedFromTree functions.
The willBeRemovedFromTree replaced the willBeDestroyed functions in the
2 classes as the invalidation really represented tree removal updates,
not death updates.

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

7 years agoWeb Inspector: Unreviewed, fix test flakiness due to the recently introduced lazy...
apavlov@chromium.org [Fri, 24 Aug 2012 15:40:53 +0000 (15:40 +0000)]
Web Inspector: Unreviewed, fix test flakiness due to the recently introduced lazy panel loading.

* inspector/debugger/scripts-file-selector.html:
* inspector/debugger/step-through-event-listeners.html:
* inspector/elements/edit-dom-actions.html:
* inspector/elements/edit-style-attribute.html:
* inspector/timeline/timeline-enum-stability.html:

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

7 years ago[BlackBerry] Touch cancel can cause huge and needless invalidations
tonikitoo@webkit.org [Fri, 24 Aug 2012 15:30:39 +0000 (15:30 +0000)]
[BlackBerry] Touch cancel can cause huge and needless invalidations
https://bugs.webkit.org/show_bug.cgi?id=94938
PR #198051

Reviewed by George Staikos.
Patch by Antonio Gomes <agomes@rim.com>
Internally reviewed by Gen Mak.

In order to remove the possible hover effect on touch_cancel, we always
invalidate the node under the fat finger, being the fat finger valid or not.

Point is: having a valid fat finger node does not mean the original touch
position was actually adjust for clicking or that the fat finger is actually
valid. We set the fat finger node to be the result of the point-based hit-test
regardless if it is a click target or not (in order to make our mouse-move
machinery to work).

We should can less aggressively invalidate the fat finger node, since it can
be rather an expensive call (longer than 1s in the worst scenario).

* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::touchEventCancel):

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

7 years ago[BlackBerry] Extend LayerFilterRenderer in preparation for CSS Shaders
commit-queue@webkit.org [Fri, 24 Aug 2012 15:12:53 +0000 (15:12 +0000)]
[BlackBerry] Extend LayerFilterRenderer in preparation for CSS Shaders
https://bugs.webkit.org/show_bug.cgi?id=94724

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-08-24
Reviewed by George Staikos.

LayerFilterRenderer defines a CSS Filter in terms of one or more `Action`s.
A LayerFilterRendererAction holds a vertex shader, a fragment shader, and
zero or more `Parameter`s. A Parameter is a uniform, varying, or other
information which is needed to render a filter.

This patch implements certain new Parameter types, including vertex/element
buffers and vertex attributes which are needed to implement composited
CSS Shaders on BB10. In addition, a new drawing mode is required in order
to draw CSS Shaders meshes from vertex/element buffers.

No new tests, because this patch introduces no new functionality. When
the patch which enables CSS Shaders on BB10 in upstreamed, tests for
CSS Shaders will prove this code to be correct.

* platform/graphics/blackberry/LayerFilterRenderer.cpp:
(WebCore::operationTypeToProgramID):
(WebCore::Uniform::Uniform):
(WebCore::Uniform1f::create):
(WebCore::Uniform1f::Uniform1f):
(WebCore):
(WebCore::Uniform1i::apply):
(WebCore::Uniform1i::create):
(WebCore::Uniform1i::Uniform1i):
(WebCore::Uniform2f::create):
(WebCore::Uniform2f::Uniform2f):
(WebCore::Uniform3f::create):
(WebCore::Uniform3f::Uniform3f):
(WebCore::Uniform4f::apply):
(WebCore::Uniform4f::create):
(WebCore::Uniform4f::Uniform4f):
(WebCore::Matrix4fv::apply):
(WebCore::Matrix4fv::create):
(WebCore::Matrix4fv::Matrix4fv):
(WebCore::Matrix4fv::~Matrix4fv):
(WebCore::Buffer::apply):
(WebCore::Buffer::restoreState):
(WebCore::Buffer::create):
(WebCore::Buffer::Buffer):
(WebCore::VertexAttribf::apply):
(WebCore::VertexAttribf::restoreState):
(WebCore::VertexAttribf::create):
(WebCore::VertexAttribf::VertexAttribf):
(WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
(WebCore::LayerFilterRendererAction::useActionOn):
(WebCore::LayerFilterRendererAction::restoreState):
(WebCore::LayerFilterRenderer::LayerFilterRenderer):
(WebCore::LayerFilterRenderer::actionsForOperations):
(WebCore::LayerFilterRenderer::applyActions):
* platform/graphics/blackberry/LayerFilterRenderer.h:
(Parameter):
(WebCore::Parameter::restoreState):
(WebCore::Parameter::~Parameter):
(WebCore::Parameter::Parameter):
(WebCore):
(Uniform):
(WebCore::Uniform::~Uniform):
(Uniform1f):
(Uniform1i):
(Uniform2f):
(Uniform3f):
(Uniform4f):
(Matrix4fv):
(Buffer):
(VertexAttribf):
(WebCore::LayerFilterRendererAction::appendParameter):
(LayerFilterRendererAction):
(WebCore::LayerFilterRendererAction::drawingMode):
(WebCore::LayerFilterRendererAction::setDrawingMode):
(WebCore::LayerFilterRendererAction::drawingModeParameter):
(WebCore::LayerFilterRendererAction::setDrawingModeParameter):

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

7 years agoMediaStream API: Add readyState functionality to RTCPeerConnection
tommyw@google.com [Fri, 24 Aug 2012 15:10:17 +0000 (15:10 +0000)]
MediaStream API: Add readyState functionality to RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=94813

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebRTCPeerConnectionHandler.h:
(WebRTCPeerConnectionHandler):
* chromium/public/WebRTCPeerConnectionHandlerClient.h:
(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

This patch adds readyState functionality to RTCPeerConnection together with related callbacks and methods.

Test: fast/mediastream/RTCPeerConnection-state.html

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::readyState):
(WebCore):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeReadyState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::stop):
(WebCore):
* platform/mediastream/RTCPeerConnectionHandler.h:
(RTCPeerConnectionHandler):
* platform/mediastream/RTCPeerConnectionHandlerClient.h:
(RTCPeerConnectionHandlerClient):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
(WebCore::RTCPeerConnectionHandlerChromium::stop):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeReadyState):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:

Tools:

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::stop):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
(MockWebRTCPeerConnectionHandler):

LayoutTests:

* fast/mediastream/RTCPeerConnection-state-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-state.html: Added.

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

7 years agoWeb Inspector: [WebGL] A follow up to simplify code with nested closures
commit-queue@webkit.org [Fri, 24 Aug 2012 14:39:02 +0000 (14:39 +0000)]
Web Inspector: [WebGL] A follow up to simplify code with nested closures
https://bugs.webkit.org/show_bug.cgi?id=94931

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-24
Reviewed by Pavel Feldman.

Simplifies the code with nested closures.

* inspector/InjectedScriptWebGLModuleSource.js:
(.):

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

7 years agoWeb Inspector: Get rid of frontendReused logic on front-end.
vsevik@chromium.org [Fri, 24 Aug 2012 14:05:40 +0000 (14:05 +0000)]
Web Inspector: Get rid of frontendReused logic on front-end.
https://bugs.webkit.org/show_bug.cgi?id=94929

Reviewed by Pavel Feldman.

Source/WebCore:

Removed frontendReused method from ResourceTreeModel.

* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
* inspector/front-end/Workspace.js:
(WebInspector.Workspace): workspace doesn't need to listen for CachedResourcesLoaded event anymore.
* inspector/front-end/inspector.js: removed unused method.

LayoutTests:

* http/tests/inspector/resource-tree/resource-tree-events.html:

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

7 years agoShare WebKit-Gtk's Enchant implementation with others WebKit ports.
g.czajkowski@samsung.com [Fri, 24 Aug 2012 14:02:00 +0000 (14:02 +0000)]
Share WebKit-Gtk's Enchant implementation with others WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=94320

Reviewed by Carlos Garcia Campos.

The main reason of this change is to share WebKit-Gtk implementation of spelling
with others ports that use the Enchant library.
This is the first step to enable spelling for WebKit-Efl (https://bugs.webkit.org/show_bug.cgi?id=91854)

Files that implement spelling were moved to platform/text/enchant directory.

This patch stops using Pango backend to find the beginning/end of the word.
Those information are delivered through ICU interface by using TextBreakIterator.

* GNUmakefile.am: Added newly created 'enchant' directory to WebKit-Gtk's sources.
* GNUmakefile.list.am: Updated location of TextCheckerEnchant.{h,cpp} files.

* editing/visible_units.cpp: Removed 'static' modifier for 'isLogicalStartOfWord' and 'islogicalEndOfWord' functions.
(WebCore::isLogicalStartOfWord):
(WebCore::islogicalEndOfWord):
* editing/visible_units.h: Added isLogicalStartOfWord' and 'islogicalEndOfWord' functions to header as they are used by TextCheckerEnchant.cpp

* platform/text/enchant/TextCheckerEnchant.cpp: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp.
(enchantDictDescribeCallback): Added comments.
(TextCheckerEnchant::TextCheckerEnchant):
(TextCheckerEnchant::~TextCheckerEnchant):
(TextCheckerEnchant::ignoreWord):
(TextCheckerEnchant::learnWord):
(TextCheckerEnchant::checkSpellingOfString): Using ICU instead of Pango to find out the beginning/end of the word.
(TextCheckerEnchant::getGuessesForWord): Replaced gchar type to char.
(TextCheckerEnchant::updateSpellCheckingLanguages): Using WebCore::defaulLanguage() instead of Pango backend.
(TextCheckerEnchant::getSpellCheckingLanguages):
(TextCheckerEnchant::freeEnchantBrokerDictionaries):
* platform/text/enchant/TextCheckerEnchant.h: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.h.
(WebCore):
(TextCheckerEnchant):
(WebCore::TextCheckerEnchant::create):

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

7 years ago[Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
abecsi@webkit.org [Fri, 24 Aug 2012 13:50:46 +0000 (13:50 +0000)]
[Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
https://bugs.webkit.org/show_bug.cgi?id=88531

Reviewed by Kenneth Rohde Christiansen.

Defer setting the custom device pixel ratio until the page item has
a valid size to make sure that the scale factor reaches the web process.

QML test based on patch by Alexander Færøy.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
(QQuickWebViewExperimental::devicePixelRatio):
(QQuickWebViewExperimental::setDevicePixelRatio):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
  Test case for the QML device pixel ratio API.

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

7 years ago[EFL] Fix compile warning
commit-queue@webkit.org [Fri, 24 Aug 2012 13:46:37 +0000 (13:46 +0000)]
[EFL] Fix compile warning
https://bugs.webkit.org/show_bug.cgi?id=94930

Patch by Kangil Han <kangil.han@samsung.com> on 2012-08-24
Reviewed by Kenneth Rohde Christiansen.

Fixed compile warning.

* UIProcess/API/efl/ewk_back_forward_list.cpp:
(ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith]
(ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith]

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

7 years agoWeb Inspector: do not send profile headers to the front-end until explicitly requested.
pfeldman@chromium.org [Fri, 24 Aug 2012 13:30:11 +0000 (13:30 +0000)]
Web Inspector: do not send profile headers to the front-end until explicitly requested.
https://bugs.webkit.org/show_bug.cgi?id=94928

Reviewed by Vsevolod Vlasov.

Simple flag is added.

* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::disable):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore):
(WebCore::InspectorProfilerAgent::resetFrontendProfiles):
* inspector/InspectorProfilerAgent.h:
(InspectorProfilerAgent):

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

7 years agoWeb Inspector: make ui component compile
pfeldman@chromium.org [Fri, 24 Aug 2012 13:25:40 +0000 (13:25 +0000)]
Web Inspector: make ui component compile
https://bugs.webkit.org/show_bug.cgi?id=94827

Reviewed by Vsevolod Vlasov.

Moved buildImagePreviewContents into the sdk-aware code.
Drive-by more compilation fixes.

* inspector/compile-front-end.py:
* inspector/front-end/DOMPresentationUtils.js:
(WebInspector.DOMPresentationUtils.buildImagePreviewContents.errorCallback):
(WebInspector.DOMPresentationUtils.buildImagePreviewContents.buildContent):
(WebInspector.DOMPresentationUtils.buildImagePreviewContents):
* inspector/front-end/Database.js:
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype._createLink):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
* inspector/front-end/ParsedURL.js:
(WebInspector.ParsedURL.prototype.get displayName):
* inspector/front-end/ResourceUtils.js:
* inspector/front-end/SourceFrame.js:
(WebInspector.TextEditorDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditorDelegate.prototype.populateTextAreaContextMenu):
(WebInspector.TextEditorDelegate.prototype.createLink):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
* inspector/front-end/UIUtils.js:

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

7 years ago[BlackBerry] Add WebPage API to reset block zoom
anilsson@rim.com [Fri, 24 Aug 2012 13:21:24 +0000 (13:21 +0000)]
[BlackBerry] Add WebPage API to reset block zoom
https://bugs.webkit.org/show_bug.cgi?id=94863

PR 187478
This is an alternative to WebPage::blockZoomAnimationFinished() when
it's desirable to avoid rerendering of the whole web page at the end
of block zoom. This is the case when the planned "incremental zoom
factor" is used instead of zoomAboutPoint and it's relatives.

Ideally, the block zoom algorithm would be clever enough not to need
a reset or any form of callback when the animation finishes, but that
requires the implementation of said incremental zoom factor, which is
not done yet.

Reviewed by Antonio Gomes.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::resetBlockZoom):
(WebKit):
* Api/WebPage.h:

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

7 years agoUnreviewed. Adding myself to committers list.
michaelbruening@gmail.com [Fri, 24 Aug 2012 13:18:25 +0000 (13:18 +0000)]
Unreviewed. Adding myself to committers list.

Also updated email information.

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

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

7 years agoNot reviewed: fixing inspector/elements/iframe-load-event.html broken by r126572.
pfeldman@chromium.org [Fri, 24 Aug 2012 13:14:51 +0000 (13:14 +0000)]
Not reviewed: fixing inspector/elements/iframe-load-event.html broken by r126572.

* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.resolveURL):

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

7 years ago[Qt] Be more explicit about the ICU dependency in the error message
abecsi@webkit.org [Fri, 24 Aug 2012 13:04:06 +0000 (13:04 +0000)]
[Qt] Be more explicit about the ICU dependency in the error message

Rubber-stamped by Simon Hausmann.

When building QtWebKit with a Qt5 which was not configured with libICU support
the error message is somewhat ambiguous about the indirect dependency.

* WTF.pri:

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

7 years agoWeb Inspector: [WebGL] Implement custom wrap functions on GL context
caseq@chromium.org [Fri, 24 Aug 2012 12:23:37 +0000 (12:23 +0000)]
Web Inspector: [WebGL] Implement custom wrap functions on GL context
https://bugs.webkit.org/show_bug.cgi?id=94799

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-24
Reviewed by Pavel Feldman.

Implement custom wrap functions on WebGL rendering context for WebGL instrumentation.

* inspector/InjectedScriptWebGLModuleSource.js:
(.):

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

7 years agoWeb Inspector: three layout tests crashing with assertion failure
pfeldman@chromium.org [Fri, 24 Aug 2012 12:20:30 +0000 (12:20 +0000)]
Web Inspector: three layout tests crashing with assertion failure
https://bugs.webkit.org/show_bug.cgi?id=94829

Not reviewed: updating test expectations.

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: resolve URLs upon creation, get rid of populateHrefContextMenu
pfeldman@chromium.org [Fri, 24 Aug 2012 12:10:49 +0000 (12:10 +0000)]
Web Inspector: resolve URLs upon creation, get rid of populateHrefContextMenu
https://bugs.webkit.org/show_bug.cgi?id=94900

Reviewed by Vsevolod Vlasov.

- This change makes sure we resolve URLs upon adding the to the UI. Then we treat them as absolute links in context menu, etc.
- There is no need to override context menu for links anymore - system menu will do.

* inspector/front-end/AuditResultView.js:
(WebInspector.AuditResultView):
* inspector/front-end/ConsoleView.js:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.descendantUserPropertyCount):
(WebInspector.DOMNode.prototype.resolveURL):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
(WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
* inspector/front-end/HandlerRegistry.js:
(WebInspector.HandlerRegistry.prototype.appendApplicableItems):
(WebInspector.HandlerRegistry.prototype._appendContentProviderItems):
(WebInspector.HandlerRegistry.prototype._appendHrefItems):
* inspector/front-end/ParsedURL.js:
(WebInspector.ParsedURL.completeURL):
* inspector/front-end/ResourceUtils.js:
(WebInspector.linkifyRequestAsNode):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
* inspector/front-end/UIUtils.js:

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

7 years ago[EFL][WK2] Back-forward list API needs extension
commit-queue@webkit.org [Fri, 24 Aug 2012 11:47:54 +0000 (11:47 +0000)]
[EFL][WK2] Back-forward list API needs extension
https://bugs.webkit.org/show_bug.cgi?id=94582

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-24
Reviewed by Kenneth Rohde Christiansen.

Added several new functions wrapping existing WK2 C back-forward list API
and returning list of items preceding or following the current one.
Corresponding API unit tests are also added.

* UIProcess/API/efl/ewk_back_forward_list.cpp:
(createEinaList):
(ewk_back_forward_list_n_back_items_copy):
(ewk_back_forward_list_n_forward_items_copy):
* UIProcess/API/efl/ewk_back_forward_list.h:
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(freeEinaList):
(TEST_F):

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

7 years ago[Qt][WK2] Make viewport related experimental.test properties encapsulated.
michaelbruening@gmail.com [Fri, 24 Aug 2012 11:27:42 +0000 (11:27 +0000)]
[Qt][WK2] Make viewport related experimental.test properties encapsulated.
https://bugs.webkit.org/show_bug.cgi?id=88320

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Introducing a new viewport attribute to QWebKitTest to group the viewport related
attributes into one QJsonObject. Also adding a static method to convert a QSizeF to
a QJsonObject.

* UIProcess/API/qt/qwebkittest.cpp:
(qSizeFToJsonObject):
(QWebKitTest::viewport):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::contentsScale):
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::viewportAttributesChanged):

Tools:

Changed the access to the viewport attributes to use the viewport object that is introduced by this change.

* MiniBrowser/qt/qml/ViewportInfoItem.qml:

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

7 years ago[GTK] Use the new 'feature_defines' variable to generate DOM bindings
commit-queue@webkit.org [Fri, 24 Aug 2012 11:24:03 +0000 (11:24 +0000)]
[GTK] Use the new 'feature_defines' variable to generate DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=94919

Patch by Xan Lopez <xlopez@igalia.com> on 2012-08-24
Reviewed by Carlos Garcia Campos.

Update to use the new 'feature_defines' variable, otherwise the
bindings will be broken.

* bindings/gobject/GNUmakefile.am: ditto.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 24 Aug 2012 10:19:19 +0000 (10:19 +0000)]
Unreviewed GTK gardening.

Updating baselines for css3/flexbox/flexitem.html after r126503.

* platform/gtk/css3/flexbox: Removed.
* platform/gtk/css3/flexbox/flexitem-expected.txt: Removed.

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

7 years agoRemove RefPtr from HTMLTextAreaElement::m_placeholder
haraken@chromium.org [Fri, 24 Aug 2012 10:08:49 +0000 (10:08 +0000)]
Remove RefPtr from HTMLTextAreaElement::m_placeholder
https://bugs.webkit.org/show_bug.cgi?id=94338

Reviewed by Kent Tamura.

To avoid reference cycles of RefPtr<Node>s, we want to remove
unnecessary RefPtr<Node>s. The rationale is described in bug 94324.

HTMLTextAreaElement::m_placeholder does not need to be a RefPtr<Node>,
because it is guaranteed to point to a shadow DOM tree of the
HTMLTextAreaElement node, which is guaranteed to exist in the subtree
of the HTMLTextAreaElement node.

No tests. No change in behavior.

* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
(WebCore::HTMLTextAreaElement::placeholderElement):
(WebCore::HTMLTextAreaElement::attach):
(WebCore::HTMLTextAreaElement::updatePlaceholderText):
* html/HTMLTextAreaElement.h:
(HTMLTextAreaElement):

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

7 years ago[V8] Refactor away IsolatedWorld
commit-queue@webkit.org [Fri, 24 Aug 2012 09:40:44 +0000 (09:40 +0000)]
[V8] Refactor away IsolatedWorld
https://bugs.webkit.org/show_bug.cgi?id=93971

Patch by Dan Carney <dcarney@google.com> on 2012-08-24
Reviewed by Kentaro Hara.

Source/WebCore:

Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
This paves the way towards a JSC-like use of DOMWrapperWorld.

No new tests. No change in functionality.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore):
(WebCore::DOMWrapperWorld::createUninitializedWorld):
(WebCore::DOMWrapperWorld::createMainWorld):
(WebCore::mainThreadNormalWorld):
(WebCore::isolatedWorldMap):
(WebCore::DOMWrapperWorld::deallocate):
(WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
* bindings/v8/DOMWrapperWorld.h:
(DOMWrapperWorld):
(WebCore::DOMWrapperWorld::isolatedWorldsExist):
(WebCore::DOMWrapperWorld::isMainWorld):
(WebCore::DOMWrapperWorld::worldId):
(WebCore::DOMWrapperWorld::extensionGroup):
(WebCore::DOMWrapperWorld::domDataStore):
(WebCore::DOMWrapperWorld::deref):
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
* bindings/v8/IsolatedWorld.cpp: Removed.
* bindings/v8/IsolatedWorld.h: Removed.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInIsolatedWorld):
* bindings/v8/V8DOMMap.cpp:
(WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
(WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
* bindings/v8/V8DOMMap.h:
(DOMDataStoreHandle):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
(WebCore::V8IsolatedContext::destroy):
* bindings/v8/V8IsolatedContext.h:
(V8IsolatedContext):
(WebCore::V8IsolatedContext::getEntered):
(WebCore::V8IsolatedContext::world):
* bindings/v8/V8PerIsolateData.h:
(WebCore::V8PerIsolateData::registerDOMDataStore):
(WebCore::V8PerIsolateData::unregisterDOMDataStore):

Source/WebKit/chromium:

Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.

* src/WebViewImpl.cpp:
(WebKit::WebView::addUserScript):
(WebKit::WebView::addUserStyleSheet):

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

7 years ago[EFL] Added missing SKIP keyword to platform/efl/TestExpectations
commit-queue@webkit.org [Fri, 24 Aug 2012 09:36:36 +0000 (09:36 +0000)]
[EFL] Added missing SKIP keyword to platform/efl/TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=94781

Unreviewed. Removed unnecessary SKIP keyword.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-24

* platform/efl/TestExpectations:

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

7 years ago[V8] Improve the developer ergonomics of ScopedPersistent
abarth@webkit.org [Fri, 24 Aug 2012 09:27:16 +0000 (09:27 +0000)]
[V8] Improve the developer ergonomics of ScopedPersistent
https://bugs.webkit.org/show_bug.cgi?id=94901

Reviewed by Kentaro Hara.

As requested by haraken, this patch adds some helper functions to
ScopedPersistent so that we don't need to call get() all the time.

* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/ScopedPersistent.h:
(WebCore::ScopedPersistent::get):
(WebCore::ScopedPersistent::operator->):
(ScopedPersistent):
(WebCore::ScopedPersistent::isEmpty):
* bindings/v8/ScriptValue.cpp:
(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toString):
* bindings/v8/ScriptValue.h:
(WebCore::ScriptValue::isFunction):
(WebCore::ScriptValue::isNull):
(WebCore::ScriptValue::isUndefined):
(WebCore::ScriptValue::isObject):
(WebCore::ScriptValue::hasNoValue):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::~V8AbstractEventListener):
(WebCore::V8AbstractEventListener::getReceiverObject):
* bindings/v8/V8AbstractEventListener.h:
(WebCore::V8AbstractEventListener::hasExistingListenerObject):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::isContextInitialized):
(WebCore::V8DOMWindowShell::disposeContextHandles):
(WebCore::V8DOMWindowShell::clearForClose):
(WebCore::V8DOMWindowShell::clearForNavigation):
(WebCore::V8DOMWindowShell::initContextIfNeeded):
(WebCore::V8DOMWindowShell::updateDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
(WebCore::V8DOMWindowShell::setSecurityToken):
(WebCore::V8DOMWindowShell::updateDocument):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
(WebCore::V8DOMWindowShell::updateSecurityOrigin):
* bindings/v8/V8PerContextData.cpp:
(WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
(WebCore::V8PerContextData::constructorForTypeSlowCase):

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

7 years agoWeb Inspector: move ResourceViews to "components" module - it is used from the Resour...
pfeldman@chromium.org [Fri, 24 Aug 2012 09:23:31 +0000 (09:23 +0000)]
Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well.
https://bugs.webkit.org/show_bug.cgi?id=94904

Reviewed by Vsevolod Vlasov.

* WebCore.gypi:
* inspector/compile-front-end.py:
* inspector/front-end/NetworkPanel.js:
* inspector/front-end/inspector.html:

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

7 years agoSource/WebCore: Check argument count in the dispatch function for overloaded functions
commit-queue@webkit.org [Fri, 24 Aug 2012 09:02:58 +0000 (09:02 +0000)]
Source/WebCore: Check argument count in the dispatch function for overloaded functions
https://bugs.webkit.org/show_bug.cgi?id=94790

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-08-24
Reviewed by Kentaro Hara.

Throw NotEnoughArguments exception for overloaded functions if actual argument
count is less than the least mandatory argument count among all overloaded.

Reset JS and V8 binding tests result for the change.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateFunctionParametersCheck):
(GenerateOverloadedFunction):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateFunctionParametersCheck):
(GenerateOverloadedFunctionCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::overloadedMethodCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):

LayoutTests: Remove platform specific expected files after the change
https://bugs.webkit.org/show_bug.cgi?id=94790

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-08-24
Reviewed by Kentaro Hara.

1. Use the cross-platform expected files for the 2 tests in question.
2. Update other tests for overloaded functions and their expected files
affected by the change.

* fast/canvas/canvas-overloads-drawImage-expected.txt:
* fast/canvas/canvas-overloads-setFillColor-expected.txt:
* fast/canvas/canvas-overloads-setShadow-expected.txt:
* fast/canvas/canvas-overloads-setStrokeColor-expected.txt:
* fast/canvas/script-tests/canvas-overloads-drawImage.js:
* fast/canvas/script-tests/canvas-overloads-setFillColor.js:
* fast/canvas/script-tests/canvas-overloads-setShadow.js:
* fast/canvas/script-tests/canvas-overloads-setStrokeColor.js:
* fast/canvas/webgl/texImageTest-expected.txt:
* platform/chromium/fast/files/create-blob-url-crash-expected.txt: Removed.
* platform/chromium/fast/files/url-required-arguments-expected.txt: Removed.
* platform/gtk/fast/files/create-blob-url-crash-expected.txt: Removed.
* platform/gtk/fast/files/url-required-arguments-expected.txt: Removed.
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-storeNames-required-expected.txt:

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

7 years agoMake it possible to build WebKit with Python 3 (and 2)
hausmann@webkit.org [Fri, 24 Aug 2012 08:44:24 +0000 (08:44 +0000)]
Make it possible to build WebKit with Python 3 (and 2)
https://bugs.webkit.org/show_bug.cgi?id=94814

Source/WebCore:

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

* inspector/CodeGeneratorInspector.py:
(EnumConstants.get_enum_constant_code):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Generator.go):
(Generator.process_event):
(Generator.process_command):

Source/WebKit2:

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:

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

7 years agoGet rid of m_useLatchedWheelEventNode
allan.jensen@nokia.com [Fri, 24 Aug 2012 08:40:51 +0000 (08:40 +0000)]
Get rid of m_useLatchedWheelEventNode
https://bugs.webkit.org/show_bug.cgi?id=94684

Reviewed by Ryosuke Niwa.

Moves the setting of m_useLatchedWheelEventNode into PlatformWheelEvent.

* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::EventHandler::handleGestureScrollCore):
* page/EventHandler.h:
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
(WebCore::PlatformWheelEvent::setUseLatchedEventNode):
(PlatformWheelEvent):
(WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
(WebCore::PlatformWheelEvent::useLatchedEventNode):

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

7 years ago[Forms] Multiple fields time input UI should handle Delete key as Backspace key
yosin@chromium.org [Fri, 24 Aug 2012 08:39:03 +0000 (08:39 +0000)]
[Forms] Multiple fields time input UI should handle Delete key as Backspace key
https://bugs.webkit.org/show_bug.cgi?id=94902

Reviewed by Kent Tamura.

Source/WebCore:

This patch adds treating "Delete" key as same as "Backspace" key for
multiple fields time input UI. This patch affects ports which enable
both ENABLE_INPUT_TYPE_TIME and ENABLES_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

No new tests. This patch adds a test case for "Delete" key to
fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html

* html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed
condition expression to check both Backspace(U+0008) key and
Delete(U+007F) key.

LayoutTests:

This patch adds a new test case for "Delete" key behavior for multiple
fields time input UI.

* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt: Updated expectation.
* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html: Added "Delete" key test case.

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

7 years ago[Qt] Gardening after r126442. Skip a test because of missing shadow feature.
ossy@webkit.org [Fri, 24 Aug 2012 08:29:09 +0000 (08:29 +0000)]
[Qt] Gardening after r126442. Skip a test because of missing shadow feature.

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-08-24
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped:

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

7 years agoUnreviewed, rolling out r126546.
commit-queue@webkit.org [Fri, 24 Aug 2012 07:57:05 +0000 (07:57 +0000)]
Unreviewed, rolling out r126546.
http://trac.webkit.org/changeset/126546
https://bugs.webkit.org/show_bug.cgi?id=94911

Caused inspector tests to timeout (Requested by dominicc on
#webkit).

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

* WebCore.gypi:
* inspector/compile-front-end.py:
* inspector/front-end/NetworkPanel.js:
* inspector/front-end/inspector.html:

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

7 years ago[GTK] Purge unused favicons from IconDatabase after 30 days
sergio@webkit.org [Fri, 24 Aug 2012 07:45:50 +0000 (07:45 +0000)]
[GTK] Purge unused favicons from IconDatabase after 30 days
https://bugs.webkit.org/show_bug.cgi?id=82346

Reviewed by Gustavo Noronha Silva.

Favicons will be removed from the icon database after not being used
for more than 30 days. This will keep the database size under
control.

* loader/icon/IconDatabase.cpp:
(WebCore):
(WebCore::IconDatabase::performURLImport): filter icons older than
30 days.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Fri, 24 Aug 2012 07:40:44 +0000 (07:40 +0000)]
[Chromium] Unreviewed gardening.

Narrow expected failures to Linux.

* platform/chromium/TestExpectations:

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

7 years ago<http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framewor...
mrowe@apple.com [Fri, 24 Aug 2012 07:38:06 +0000 (07:38 +0000)]
<webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper.

Reviewed by Dan Bernstein.

This will allow relative imports within the webkit2 module to be removed in the future without
requiring future changes to clients of the module.

* WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back
as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders
directory. We also need to add a script phase to clean up any .pyc files that may be present in
the module.

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

7 years agoUnreviewed, rolling out r126542.
commit-queue@webkit.org [Fri, 24 Aug 2012 06:43:36 +0000 (06:43 +0000)]
Unreviewed, rolling out r126542.
http://trac.webkit.org/changeset/126542
https://bugs.webkit.org/show_bug.cgi?id=94907

Broke WK2 build on OS X (Requested by tronical_ on #webkit).

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

Source/WebCore:

* inspector/CodeGeneratorInspector.py:
(EnumConstants.get_enum_constant_code):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Generator.go):
(Generator.process_event):
(Generator.process_command):

Source/WebKit2:

* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:

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

7 years ago[V8] StringCache should not return already disposed strings
haraken@chromium.org [Fri, 24 Aug 2012 06:41:47 +0000 (06:41 +0000)]
[V8] StringCache should not return already disposed strings
https://bugs.webkit.org/show_bug.cgi?id=94899

Reviewed by Adam Barth.

See this Chromium bug (http://code.google.com/p/chromium/issues/detail?id=143937)
for details.

I investigated the crash and found that v8ExternalString() can return
already disposed strings:

  class StringCache {
    v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...)
    {
        if (m_lastStringImpl.get() == stringImpl) {
            ASSERT(!m_lastV8String.IsNearDeath());
            ASSERT(!m_lastV8String.IsEmpty());
            return v8::Local<v8::String>::New(m_lastV8String); // m_lastV8String might be already disposed.
        }
        return v8ExternalStringSlow(stringImpl, ...);
    }
  }

I couldn't find why m_lastV8String can be prematurely disposed, but the
following fix solves the crash:

  class StringCache {
    v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...)
    {
        if (m_lastStringImpl.get() == stringImpl && m_lastV8String.IsWeak())
            return v8::Local<v8::String>::New(m_lastV8String);
        return v8ExternalStringSlow(stringImpl, ...);
    }
  }

Although the ideal fix might be to fix the root cause of the premature disposal,
I think that the proposed fix is reasonable for safety. In fact, we've so far
encountered crashes caused by premature disposals (e.g. r123500). The proposed fix
will prevent future crashes caused by premature disposals.

No tests. The crash depends on GC behavior and I couldn't write a test that
reproduces the crash. Open http://lore.com/testdrive/Navigating-the-Universe
and confirm that Chromium doesn't crash.

* bindings/v8/V8ValueCache.cpp:
(WebCore::StringCache::v8ExternalStringSlow):
* bindings/v8/V8ValueCache.h:
(WebCore::StringCache::v8ExternalString):

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

7 years agoWeb Inspector: move ResourceViews to "components" module - it is used from the Resour...
pfeldman@chromium.org [Fri, 24 Aug 2012 06:26:26 +0000 (06:26 +0000)]
Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well.
https://bugs.webkit.org/show_bug.cgi?id=94904

Reviewed by Vsevolod Vlasov.

* WebCore.gypi:
* inspector/compile-front-end.py:
* inspector/front-end/NetworkPanel.js:
* inspector/front-end/inspector.html:

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

7 years ago[Chromium] REGRESSION(r126534) time-multiple-fields-appearance-pseudo-elements.html...
yosin@chromium.org [Fri, 24 Aug 2012 06:10:20 +0000 (06:10 +0000)]
[Chromium] REGRESSION(r126534) time-multiple-fields-appearance-pseudo-elements.html failing on Win7
https://bugs.webkit.org/show_bug.cgi?id=94898

This patch changes parameters to test expectation generator to make
actual result and test expectation to be matched.

Root cause of this regression is the test expectation generator for
Chromium-Win generates second field with value "56" instead of "00".

On Chromium-Linux and Chromium-Mac, the test expectation generator
doesn't generate second field.

* fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.html: Changes parameters to have hour and minute only.

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

7 years ago[V8] V8DOMWindowShell should use ScopedPersistent
abarth@webkit.org [Fri, 24 Aug 2012 05:59:40 +0000 (05:59 +0000)]
[V8] V8DOMWindowShell should use ScopedPersistent
https://bugs.webkit.org/show_bug.cgi?id=94882

Reviewed by Kentaro Hara.

This patch updates V8DOMWindowShell to use ScopedPersistent rather than
manually managing v8::Persistent handles. I've also fixed some style
issues in code I needed to edit for this patch. This class could use
more touchup, but I'm going to hold off until the next patch.

* bindings/v8/ScopedPersistent.h:
(WebCore::ScopedPersistent::adopt):
(ScopedPersistent):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::initializeV8IfNeeded):
(WebCore):
(WebCore::V8DOMWindowShell::isContextInitialized):
(WebCore::V8DOMWindowShell::disposeContextHandles):
(WebCore::V8DOMWindowShell::destroyGlobal):
(WebCore::V8DOMWindowShell::clearForClose):
(WebCore::V8DOMWindowShell::clearForNavigation):
(WebCore::V8DOMWindowShell::initContextIfNeeded):
(WebCore::V8DOMWindowShell::setContext):
(WebCore::V8DOMWindowShell::updateDocumentWrapper):
(WebCore::V8DOMWindowShell::clearDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
(WebCore::V8DOMWindowShell::setSecurityToken):
(WebCore::V8DOMWindowShell::updateDocument):
(WebCore::getter):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
(WebCore::V8DOMWindowShell::updateSecurityOrigin):
* bindings/v8/V8DOMWindowShell.h:
(WebCore::V8DOMWindowShell::context):
(V8DOMWindowShell):

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

7 years agoUnreviewed, rolling out r126496.
commit-queue@webkit.org [Fri, 24 Aug 2012 05:49:19 +0000 (05:49 +0000)]
Unreviewed, rolling out r126496.
http://trac.webkit.org/changeset/126496
https://bugs.webkit.org/show_bug.cgi?id=94895

Broke TestNotificationActiveDescendantChanged (Requested by
dominicc on #webkit).

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

Source/WebCore:

* accessibility/AccessibilityNodeObject.cpp:
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
* accessibility/AccessibilityObject.cpp:
* accessibility/AccessibilityObject.h:
(AccessibilityObject):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::isDescendantOfElementType):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):

LayoutTests:

* accessibility/editable-webarea-context-menu-point.html:
* accessibility/focusable-div-expected.txt: Removed.
* accessibility/focusable-div.html: Removed.
* accessibility/table-detection.html:
* platform/mac/accessibility/listbox-hit-test.html:

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

7 years agoMake it possible to build WebKit with Python 3 (and 2)
hausmann@webkit.org [Fri, 24 Aug 2012 05:28:54 +0000 (05:28 +0000)]
Make it possible to build WebKit with Python 3 (and 2)
https://bugs.webkit.org/show_bug.cgi?id=94814

Source/WebCore:

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

* inspector/CodeGeneratorInspector.py:
(EnumConstants.get_enum_constant_code):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Generator.go):
(Generator.process_event):
(Generator.process_command):

Source/WebKit2:

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:

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

7 years ago[EFL] Skip the tests which have wrong pixel expectations in fast/forms/
commit-queue@webkit.org [Fri, 24 Aug 2012 05:28:27 +0000 (05:28 +0000)]
[EFL] Skip the tests which have wrong pixel expectations in fast/forms/
https://bugs.webkit.org/show_bug.cgi?id=94798

Unreviewed. Some tests in fast/forms seem to fail. Removed wrong expectations
and marked the tests MISSING.

fast/forms/listbox-hit-test-zoomed.html
Test 2 in this test seems to fail.

fast/forms/menulist-restrict-line-height.html
The text in the popup button is clipped.

fast/forms/search-cancel-button-style-sharing.html
fast/forms/search-rtl.html
Cancel mark in search field is not displayed.

fast/forms/menulist-narrow-width.html
fast/forms/select-baseline.html
fast/forms/menulist-style-color.html
fast/forms/select-style.html
These tests seem to have style error.

fast/forms/textarea-scroll-height.html
fast/forms/textarea-scrolled-type.html
Scroll bar isn't being fully rendered.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-23

* platform/efl/TestExpectations:
* platform/efl/fast/forms/listbox-hit-test-zoomed-expected.png: Removed.
* platform/efl/fast/forms/listbox-hit-test-zoomed-expected.txt: Removed.
* platform/efl/fast/forms/menulist-narrow-width-expected.png: Removed.
* platform/efl/fast/forms/menulist-narrow-width-expected.txt: Removed.
* platform/efl/fast/forms/menulist-restrict-line-height-expected.png: Removed.
* platform/efl/fast/forms/menulist-restrict-line-height-expected.txt: Removed.
* platform/efl/fast/forms/menulist-style-color-expected.png: Removed.
* platform/efl/fast/forms/menulist-style-color-expected.txt: Removed.
* platform/efl/fast/forms/search-cancel-button-style-sharing-expected.png: Removed.
* platform/efl/fast/forms/search-cancel-button-style-sharing-expected.txt: Removed.
* platform/efl/fast/forms/search-rtl-expected.png: Removed.
* platform/efl/fast/forms/search-rtl-expected.txt: Removed.
* platform/efl/fast/forms/select-baseline-expected.png: Removed.
* platform/efl/fast/forms/select-baseline-expected.txt: Removed.
* platform/efl/fast/forms/select-style-expected.png: Removed.
* platform/efl/fast/forms/select-style-expected.txt: Removed.
* platform/efl/fast/forms/textarea-scroll-height-expected.png: Removed.
* platform/efl/fast/forms/textarea-scroll-height-expected.txt: Removed.
* platform/efl/fast/forms/textarea-scrolled-type-expected.png: Removed.
* platform/efl/fast/forms/textarea-scrolled-type-expected.txt: Removed.

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

7 years ago[chromium] Fix lost context when textures are evicted
piman@chromium.org [Fri, 24 Aug 2012 05:00:01 +0000 (05:00 +0000)]
[chromium] Fix lost context when textures are evicted
https://bugs.webkit.org/show_bug.cgi?id=94892

Reviewed by James Robinson.

After eviction, the CCPrioritizedTextureManager is in a limbo state
where all its resources are invalid. If we try to release them we will
double-destroy them.

New test: CCLayerTreeHostTestLostContextAfterEvictTextures.

Source/WebCore:

* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::recreateContextOnImplThread):

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(CCLayerTreeHostTestLostContextAfterEvictTextures):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::CCLayerTreeHostTestLostContextAfterEvictTextures):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::beginTest):
(EvictTexturesAndLoseContextTask):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::EvictTexturesAndLoseContextTask::EvictTexturesAndLoseContextTask):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::EvictTexturesAndLoseContextTask::~EvictTexturesAndLoseContextTask):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::EvictTexturesAndLoseContextTask::run):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::postEvictTexturesAndLoseContext):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::didRecreateOutputSurface):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::afterTest):
(WTF):
(WTF::TEST_F):

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

7 years agoREGRESSION(r126132): thumb doesn't match click position for rtl input type=range
keishi@webkit.org [Fri, 24 Aug 2012 04:55:37 +0000 (04:55 +0000)]
REGRESSION(r126132): thumb doesn't match click position for rtl input type=range
https://bugs.webkit.org/show_bug.cgi?id=94890

Reviewed by Kent Tamura.

Source/WebCore:

r126132 broke rtl input type=range so the thumb doesn't match click position.

Added new tests to range-hit-test-with-padding.html.

* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):

LayoutTests:

* fast/forms/range/range-hit-test-with-padding-expected.txt:
* fast/forms/range/range-hit-test-with-padding.html:

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Fri, 24 Aug 2012 04:50:01 +0000 (04:50 +0000)]
[Chromium] Unreviewed gardening.

Rebaseline meter element tests on Mac. These grew a DIV in
r125659.
https://bugs.webkit.org/show_bug.cgi?id=94666

* platform/chromium-mac/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt:
* platform/chromium-mac/fast/dom/HTMLMeterElement/meter-styles-expected.txt:

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

7 years ago[chromium] Add OVERRIDEs in test code
piman@chromium.org [Fri, 24 Aug 2012 04:46:48 +0000 (04:46 +0000)]
[chromium] Add OVERRIDEs in test code
https://bugs.webkit.org/show_bug.cgi?id=94894

Reviewed by James Robinson.

* tests/CCLayerTreeHostTest.cpp:

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Fri, 24 Aug 2012 04:38:28 +0000 (04:38 +0000)]
[Chromium] Unreviewed gardening.

Revert a few test expectations tightened in r126529 to green
builders.

These differ by whether zero width blocks appear in the dumped
render tree.

* platform/chromium/TestExpectations:

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

7 years agoAdd OVERRIDE and deinline virtual getters on *PlatformGestureCurve
commit-queue@webkit.org [Fri, 24 Aug 2012 04:31:34 +0000 (04:31 +0000)]
Add OVERRIDE and deinline virtual getters on *PlatformGestureCurve
https://bugs.webkit.org/show_bug.cgi?id=94887

Patch by James Robinson <jamesr@chromium.org> on 2012-08-23
Reviewed by Dirk Pranke.

This makes clang happy. Clang makes me happy. By induction, this makes me happy.

* platform/TouchpadFlingPlatformGestureCurve.cpp:
(WebCore::TouchpadFlingPlatformGestureCurve::debugName):
(WebCore):
* platform/TouchpadFlingPlatformGestureCurve.h:
(TouchpadFlingPlatformGestureCurve):
* platform/WheelFlingPlatformGestureCurve.cpp:
(WebCore::WheelFlingPlatformGestureCurve::debugName):
(WebCore):
* platform/WheelFlingPlatformGestureCurve.h:
(WheelFlingPlatformGestureCurve):

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

7 years ago[Forms] Step mismatched value should be editable in multiple field time UI.
yosin@chromium.org [Fri, 24 Aug 2012 04:23:10 +0000 (04:23 +0000)]
[Forms] Step mismatched value should be editable in multiple field time UI.
https://bugs.webkit.org/show_bug.cgi?id=94664

Reviewed by Kent Tamura.

Source/WebCore:

This patch changes layout method of multiple field time input UI to
check value of the "input" element in addition to step and range to
allow users to change step mismatched value from UI.

Tests: fast/forms/time-multiple-fields/time-multiple-fields-change-layout-by-value.html: for changing layout by value change.
This patch also adds new test case into fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html.

* html/TimeInputType.cpp:
(WebCore::TimeInputType::createShadowSubtree): Changed for DateTimeEditElement::create signature change.
(WebCore::TimeInputType::minOrMaxAttributeChanged): Changed to call updateInnerTextValue instead of removed updateEditElementLayout()
(WebCore::TimeInputType::stepAttributeChanged): ditto.
(WebCore::TimeInputType::updateInnerTextValue): Changed for DateTimeEditElement::setValueAsDate() and setEmptyValue() signature change.
* html/TimeInputType.h:
(TimeInputType): Removed updateEditElementLayout() declaration.
* html/shadow/DateTimeEditElement.cpp:
(DateTimeEditBuilder):
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Added a new parameter date value to constructor to use it for layout decision.
(WebCore::DateTimeEditBuilder::needMillisecondField): Changed to check date value too.
(WebCore::DateTimeEditBuilder::needMinuteField): ditto
(WebCore::DateTimeEditBuilder::needSecondField): ditto
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly): ditto
(WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly): ditto
(WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly): ditto
(WebCore::DateTimeEditElement::create): Changed for removing stepRange parameter.
(WebCore::DateTimeEditElement::layout): Changed to keep focus field for new layout.
(WebCore::DateTimeEditElement::setValueAsDate): Changed to call layout() with StepRange and date value.
(WebCore::DateTimeEditElement::setEmptyValue): ditto
* html/shadow/DateTimeEditElement.h:
(DateTimeEditElement):

LayoutTests:

This patch adds new test case for step mismatched value case and
updates test cases to avoid step mismatched value, and a test file
for dynamic layout change casued by input element's value change.

Note: We need to do rebaseline for Chromium-Mac and Chromium-Win.

* fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic-expected.html: Updated for new test case and behavior change.
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html: ditto
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html: Updated for behavior change.
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html: ditto
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html: ditto
* fast/forms/time-multiple-fields/time-multiple-fields-change-layout-by-value-expected.txt: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-change-layout-by-value.html: Added for dynamic layout change from value change.
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.png: ditto
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.txt: ditto
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png: ditto
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.txt: ditto

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

7 years agoleak detection broken after r126247 on mac
dpranke@chromium.org [Fri, 24 Aug 2012 04:03:31 +0000 (04:03 +0000)]
leak detection broken after r126247 on mac
https://bugs.webkit.org/show_bug.cgi?id=94893

Unreviewed, build fix.

Adds is_snowleopard(), is_lion back() in for the mac port. We'll
probably need an is_mountainlion() or equivalent at some point,
I'm guessing (but I've deleted the leopard code).

* Scripts/webkitpy/layout_tests/port/leakdetector.py:
(LeakDetector._callstacks_to_exclude_from_leaks):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort):
(MacPort.is_snowleopard):
(MacPort.is_lion):

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

7 years agoVersioning.
mrowe@apple.com [Fri, 24 Aug 2012 03:40:35 +0000 (03:40 +0000)]
Versioning.

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

7 years ago[Chromium] Enable AtomicString && CString && WTFString && StringImpl unit tests
jchaffraix@webkit.org [Fri, 24 Aug 2012 03:03:10 +0000 (03:03 +0000)]
[Chromium] Enable AtomicString && CString && WTFString && StringImpl unit tests
https://bugs.webkit.org/show_bug.cgi?id=94871

Reviewed by Benjamin Poulain.

Source/WTF:

* wtf/PassRefPtr.h:
We need to include Assertions.h due to the COMPILE_ASSERT added in r89283.
This matches other files in WTF though I am not sure why Chromium is the only
platform complaining about that.

Tools:

* TestWebKitAPI/TestWebKitAPI.gypi:
Added the missing files to Chromium's build system.

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

7 years ago[Chromium] LayoutTests: css3/selector3/xml tests are flaky / have wrong expectations...
kbr@google.com [Fri, 24 Aug 2012 03:01:40 +0000 (03:01 +0000)]
[Chromium] LayoutTests: css3/selector3/xml tests are flaky / have wrong expectations on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=82122

Unreviewed Chromium gardening. Tightened majority of test
expectations to only expect failures on debug bots.

* platform/chromium/TestExpectations:

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

7 years ago[watchlist] Unreviewed, subscribe to WebKit2-EFL bugs.
rakuco@webkit.org [Fri, 24 Aug 2012 02:59:56 +0000 (02:59 +0000)]
[watchlist] Unreviewed, subscribe to WebKit2-EFL bugs.

* Scripts/webkitpy/common/config/watchlist:

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

7 years ago[EFL] Remove ewk_tile_matrix_tile_update.
ryuan.choi@samsung.com [Fri, 24 Aug 2012 02:45:13 +0000 (02:45 +0000)]
[EFL] Remove ewk_tile_matrix_tile_update.
https://bugs.webkit.org/show_bug.cgi?id=63437

Reviewed by Gyuyoung Kim.

* ewk/ewk_tiled_matrix.cpp:
Removed ewk_tile_matrix_tile_update and ewk_tile_matrix_tile_update_full
which are dead code.
* ewk/ewk_tiled_matrix_private.h: Ditto.

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

7 years agoUnreviewed, rolling out r126505.
ggaren@apple.com [Fri, 24 Aug 2012 02:28:24 +0000 (02:28 +0000)]
Unreviewed, rolling out r126505.
http://trac.webkit.org/changeset/126505
https://bugs.webkit.org/show_bug.cgi?id=94840

Caused testapi to crash on launch

* DerivedSources.make:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/OpcodeDefinitions.h: Removed.
* bytecode/opcodes: Removed.
* opcode_definition_generator.py: Removed.
* opcode_generator.py: Removed.
* opcode_parser.py: Removed.

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

7 years agoNeeds update tests of Shadow DOM for keygen
shinyak@chromium.org [Fri, 24 Aug 2012 01:53:54 +0000 (01:53 +0000)]
Needs update tests of Shadow DOM for keygen
https://bugs.webkit.org/show_bug.cgi?id=94765

Reviewed by Dimitri Glazkov.

Now that the HTMLKeygenElement was AuthroShadowDOM-ready, it's time to update the previous
failing tests for AuthroShadowDOM for keygen elements.

I've updated the failing tests to follow the current implementation and updated the test expectations.

* fast/dom/shadow/shadowdom-for-keygen-complex-shadow-expected.html:
* fast/dom/shadow/shadowdom-for-keygen-complex-shadow.html:
* fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html:
* fast/dom/shadow/shadowdom-for-keygen-only-shadow.html:
* fast/dom/shadow/shadowdom-for-keygen-without-shadow-expected.html:
* fast/dom/shadow/shadowdom-for-keygen-without-shadow.html:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:

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

7 years agoUse immutable StylePropertySets for element inline style declarations.
kling@webkit.org [Fri, 24 Aug 2012 01:25:21 +0000 (01:25 +0000)]
Use immutable StylePropertySets for element inline style declarations.
<http://webkit.org/b/94714>

Reviewed by Antti Koivisto.

Construct the inline styles as immutable StylePropertySets initially (until they are
modified through CSSOM APIs), reducing their memory footprint and enabling us to do
sharing optimizations in the future.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseInlineStyleDeclaration):
(WebCore::CSSParser::parseDeclaration):
* css/CSSParser.h:
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):

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

7 years agoUpdate Skipped list and TestExpectations in preparation for making
jhoneycutt@apple.com [Fri, 24 Aug 2012 01:19:50 +0000 (01:19 +0000)]
Update Skipped list and TestExpectations in preparation for making
Mountain Lion the default Mac builder.

Rubber-stamped by Jessie Berlin.

* platform/mac-lion/TestExpectations: Added.
Moved/added test expectations from platform/mac/TestExpectations to
here.

* platform/mac/Skipped:
Added some known failures from internal testers.

* platform/mac/TestExpectations:
Ditto.

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

7 years agoVersioning.
mrowe@apple.com [Fri, 24 Aug 2012 01:08:11 +0000 (01:08 +0000)]
Versioning.

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

7 years ago[V8] V8AbstractEventListener re-implements ScopedPersistent by hand
abarth@webkit.org [Fri, 24 Aug 2012 01:02:28 +0000 (01:02 +0000)]
[V8] V8AbstractEventListener re-implements ScopedPersistent by hand
https://bugs.webkit.org/show_bug.cgi?id=94873

Reviewed by Eric Seidel.

Rather than calling New/Dispose manually, this patch changes
V8AbstractEventListener to use ScopedPersistent.

* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::weakEventListenerCallback):
(WebCore::V8AbstractEventListener::~V8AbstractEventListener):
(WebCore::V8AbstractEventListener::setListenerObject):
(WebCore::V8AbstractEventListener::getReceiverObject):
* bindings/v8/V8AbstractEventListener.h:
(WebCore::V8AbstractEventListener::getListenerObject):
(WebCore::V8AbstractEventListener::getExistingListenerObject):
(WebCore::V8AbstractEventListener::existingListenerObjectPersistentHandle):
(WebCore::V8AbstractEventListener::hasExistingListenerObject):
(V8AbstractEventListener):

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

7 years agoPrep work for: Implement sticky positioning
simon.fraser@apple.com [Fri, 24 Aug 2012 00:52:53 +0000 (00:52 +0000)]
Prep work for: Implement sticky positioning
https://bugs.webkit.org/show_bug.cgi?id=90046

Reviewed by Dave Hyatt.

Do some method renaming in preparation for adding a new kind
of in-flow positioning: sticky positioning.

Rename RenderStyle::isOutOfFlowPositioned() to hasOutOfFlowPosition().
Add RenderStyle::hasInFlowPosition().

Use RenderObject::isInFlowPositioned() in places where it will apply
for both relative and sticky positioning.

Add RenderBoxModelObject::offsetForInFlowPosition(), which currently
applies just to relative positioning, but will also apply to sticky.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getPositionOffsetValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* editing/TextIterator.cpp:
(WebCore::ignoresContainerClip):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::blockSelectionGaps):
(WebCore::positionForPointRespectingEditingBoundaries):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::updateBoxModelInfoFromStyle):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::accumulateInFlowPositionOffsets):
(WebCore::RenderBoxModelObject::relativePositionOffset):
(WebCore::RenderBoxModelObject::offsetForInFlowPosition):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
(WebCore::RenderBoxModelObject::stickyPositionLogicalOffset):
(WebCore::RenderBoxModelObject::requiresLayer):
* rendering/RenderInline.cpp:
(WebCore::inFlowPositionedInlineAncestor): We need to actually return
the ancestor, since we will need to copy its position type once there
is more than one kind of in-flow position.
(WebCore::updateStyleOfAnonymousBlockContinuations):
(WebCore::RenderInline::styleDidChange):
(WebCore::RenderInline::addChildIgnoringContinuation):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::offsetForInFlowPositionedInline):
* rendering/RenderInline.h:
(WebCore::RenderInline::requiresLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::isPositionedContainer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::offsetForInFlowPosition):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
(WebCore::RenderObject::containingBlock):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRelPositioned):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent):
* rendering/style/RenderStyle.h:

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

7 years agoEFL build fix attempt after r126494. Try touching the IDL file.
rniwa@webkit.org [Fri, 24 Aug 2012 00:52:08 +0000 (00:52 +0000)]
EFL build fix attempt after r126494. Try touching the IDL file.

* Modules/battery/BatteryManager.idl:

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

7 years agoRemove FIXMEs from css3/flexbox/flexitem.html
commit-queue@webkit.org [Fri, 24 Aug 2012 00:50:01 +0000 (00:50 +0000)]
Remove FIXMEs from css3/flexbox/flexitem.html
https://bugs.webkit.org/show_bug.cgi?id=94872

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-08-23
Reviewed by Ojan Vafai.

Remove FIXMEs that were fixed in bug 94604.

* css3/flexbox/flexitem.html:

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

7 years agoUnreviewed attempt to fix build failure in Debug.
abarth@webkit.org [Fri, 24 Aug 2012 00:42:50 +0000 (00:42 +0000)]
Unreviewed attempt to fix build failure in Debug.

* bindings/v8/ScriptValue.h:

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

7 years agoIndexedDB: Expose mechanism for database to force a connection to close
jsbell@chromium.org [Fri, 24 Aug 2012 00:41:38 +0000 (00:41 +0000)]
IndexedDB: Expose mechanism for database to force a connection to close
https://bugs.webkit.org/show_bug.cgi?id=91010

Reviewed by Tony Chang.

Source/WebCore:

In response to user action (e.g. "delete my browsing data") a connection may
need to be forcibly terminated. This allows an event to be sent to a connection
from the back end via IDBDatabaseCallbacks to initiate closing the connection.

Test: [chromium] webkit_unit_test --gtest_filter='IDBDatabaseBackendTest.ForcedClose'

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::forceClose): Abort all transactions and close.
(WebCore):
* Modules/indexeddb/IDBDatabase.h:
(IDBDatabase): Entry point.
* Modules/indexeddb/IDBDatabaseCallbacks.h:
(IDBDatabaseCallbacks): Event plumbing from back end.
* Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
(WebCore::IDBDatabaseCallbacksImpl::onForcedClose): Ditto.
(WebCore):
* Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
(IDBDatabaseCallbacksImpl): Ditto.
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore): Method stub.

Source/WebKit/chromium:

In Chromium, the browsing data deleter has a WebIDBDatabase handle which
it can use to terminate a connection. This handles forcefully closing
the front end connections and the back end, to unblock disk cleanup.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::forceClose): Entry point.
* public/WebIDBDatabaseCallbacks.h:
(WebKit::WebIDBDatabaseCallbacks::onForcedClose): Plumbing back to front.
* src/IDBDatabaseCallbacksProxy.cpp:
(WebKit::IDBDatabaseCallbacksProxy::onForcedClose): Plumbing back to front.
(WebKit):
* src/IDBDatabaseCallbacksProxy.h:
(IDBDatabaseCallbacksProxy): Plumbing.
* src/WebIDBDatabaseCallbacksImpl.cpp:
(WebKit::WebIDBDatabaseCallbacksImpl::onForcedClose): Plumbing back to front.
(WebKit):
* src/WebIDBDatabaseCallbacksImpl.h:
(WebIDBDatabaseCallbacksImpl): Plumbing back to front.
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::close): Tidy up dropping the callback reference.
(WebKit):
(WebKit::WebIDBDatabaseImpl::forceClose): Terminate the connection by notifying
the back end and the front end, while avoid re-entrant badness.
* src/WebIDBDatabaseImpl.h: Header tweak for unit test.
(WebIDBDatabaseImpl):
* tests/IDBDatabaseBackendTest.cpp: Added unit test to exercise connections.

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

7 years agoBuild fix for old, old versions of Clang.
mrowe@apple.com [Fri, 24 Aug 2012 00:40:33 +0000 (00:40 +0000)]
Build fix for old, old versions of Clang.

* wtf/FastMalloc.cpp:
(WTF): Rejigger things so that they parse correctly if __has_warning isn't defined.

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

7 years ago[BlackBerry] Obsolete the in-region scroll codepath prior to BB10's
tonikitoo@webkit.org [Fri, 24 Aug 2012 00:39:42 +0000 (00:39 +0000)]
[BlackBerry] Obsolete the in-region scroll codepath prior to BB10's
https://bugs.webkit.org/show_bug.cgi?id=94839
PR #197775

Reviewed by George Staikos.
Patch by Antonio Gomes <agomes@rim.com>

This codepath is not needed anymore, so lets let it RIP.

The only code addition is due to some code I've moved from WebPagePrivate::scrollNodeRecursively
and WebPagePrivate::scrollBy to InRegionScrollerPrivate::setLayerScrollPosition.
Rest is code removal ...

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
* Api/InRegionScroller_p.h:
(InRegionScrollerPrivate):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::scrollBy):
(BlackBerry::WebKit::WebPage::scrollBy):
* Api/WebPage.h:
* Api/WebPage_p.h:
(WebPagePrivate):

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

7 years ago[chromium] Convert WebAnimationCurve subtypes into pure virtual
jamesr@google.com [Fri, 24 Aug 2012 00:36:04 +0000 (00:36 +0000)]
[chromium] Convert WebAnimationCurve subtypes into pure virtual
https://bugs.webkit.org/show_bug.cgi?id=94068

Reviewed by Adrienne Walker.

Source/Platform:

This makes the Web*AnimationCurve interfaces pure virtual to provide better insulation from the implementation
details of the classes.

* chromium/public/WebAnimation.h:
(WebKit::WebAnimation::WebAnimation):
(WebAnimation):
* chromium/public/WebAnimationCurve.h:
* chromium/public/WebFloatAnimationCurve.h:
(WebFloatAnimationCurve):
(WebKit::WebFloatAnimationCurve::~WebFloatAnimationCurve):
* chromium/public/WebTransformAnimationCurve.h:
(WebTransformAnimationCurve):
(WebKit::WebTransformAnimationCurve::~WebTransformAnimationCurve):

Source/WebCore:

Updates users of the Web*AnimationCurve interface for its new pointery goodness.

* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::appendKeyframeWithStandardTimingFunction):
(WebCore::appendKeyframeWithCustomBezierTimingFunction):
(WebCore::WebTransformAnimationCurve):
(WebCore::createWebAnimation):

Source/WebKit/chromium:

Updates the implementations, some callers and tests of Web*AnimationCurve to its new interface.

* WebKit.gyp:
* src/WebAnimation.cpp:
(WebKit::WebAnimation::initialize):
* src/WebFloatAnimationCurveImpl.cpp: Renamed from Source/WebKit/chromium/src/WebFloatAnimationCurve.cpp.
(WebKit):
(WebKit::WebFloatAnimationCurve::create):
(WebKit::WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl):
(WebKit::WebFloatAnimationCurveImpl::~WebFloatAnimationCurveImpl):
(WebKit::WebFloatAnimationCurveImpl::type):
(WebKit::WebFloatAnimationCurveImpl::add):
(WebKit::WebFloatAnimationCurveImpl::getValue):
(WebKit::WebFloatAnimationCurveImpl::cloneToCCAnimationCurve):
* src/WebTransformAnimationCurve.cpp: Removed.
* tests/WebAnimationTest.cpp:
(WebKit::TEST):
* tests/WebFloatAnimationCurveTest.cpp:
(WebKit::TEST):
* tests/WebTransformAnimationCurveTest.cpp:
(WebKit::TEST):

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

7 years agoReplay tests take forever to load
rniwa@webkit.org [Fri, 24 Aug 2012 00:31:36 +0000 (00:31 +0000)]
Replay tests take forever to load
https://bugs.webkit.org/show_bug.cgi?id=94764

Reviewed by Adam Barth.

Don't load about:blank at the beginning. This appears to clog the DRT.

* Scripts/webkitpy/performance_tests/perftest.py:
(ReplayPerfTest.run_single):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestReplayPerfTest.test_run_single):
(TestReplayPerfTest.test_run_single_fails_when_output_has_error):

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

7 years agoRoll back in the part of r126475 that I had rolled out.
mrowe@apple.com [Fri, 24 Aug 2012 00:22:24 +0000 (00:22 +0000)]
Roll back in the part of r126475 that I had rolled out.

* wtf/FastMalloc.cpp:
(WTF): Disable the -Wunused-private-field warning around the declaration of
TCMalloc_Central_FreeListPadded since the padding is intentionally unused.
Only disable the warning if we detect it is enabled, since the warning may not
be supported by the version of Clang that is being used.

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

7 years agoUnreviewed, rolling out r126497.
kbr@google.com [Fri, 24 Aug 2012 00:17:53 +0000 (00:17 +0000)]
Unreviewed, rolling out r126497.
http://trac.webkit.org/changeset/126497
https://bugs.webkit.org/show_bug.cgi?id=94764

Caused webkitpy-test step to start failing.

* Scripts/webkitpy/performance_tests/perftest.py:
(ReplayPerfTest.run_single):

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

7 years agoAdd saturation arithmetic support to FractionalLayoutUnit
eae@chromium.org [Fri, 24 Aug 2012 00:14:00 +0000 (00:14 +0000)]
Add saturation arithmetic support to FractionalLayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=94364

Reviewed by Benjamin Poulain.

Source/WebCore:

Add experimental saturation arithmetic support to FractionalLayoutUnit,
guarded by a flag.
The idea here is to saturate (or clamp) rather than overflow when
computing positions and sizes.

No new tests for WebCore, not enabled by default.

* platform/FractionalLayoutUnit.h:
(WebCore::FractionalLayoutUnit::intMinForLayoutUnit):
Use INT_MIN instead of -INT_MAX to compute minimum value as the two are
not the same.

(WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
(WebCore::FractionalLayoutUnit::fromFloatCeil):
(WebCore::FractionalLayoutUnit::fromFloatFloor):
(WebCore::FractionalLayoutUnit::fromFloatRound):
(WebCore::FractionalLayoutUnit::setValue):
Add range checks.

(WebCore::operator*):
(WebCore::operator+):
(WebCore::operator-):
(WebCore::operator+=):
(WebCore::operator-=):
Use the saturatedAddition and saturatedSubtraction functions, which have
been optimized to reduce branching, instead of range checks for the most
common operators.

Source/WTF:

Add support functions for saturated addition and subtraction.

Test: TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* WTF/wtf/CMakeLists.txt:
Add SaturatedArithmetic.h to build files.

* wtf/SaturatedArithmetic.h: Added.
(saturatedAddition):
(saturatedSubtraction):
Support functions for saturated addition/subtraction. Compares the signed
bit of the values instead of using range checks to reduce branching.

* wtf/Platform.h:
Add ENABLE_SATURATED_LAYOUT_ARITHMETIC flag.

Tools:

Add test for new saturatedArithmetic functions.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/GNUmakefile.am:
* TestWebKitAPI/TestWebKitAPI.gypi:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp: Added.
(TestWebKitAPI):
(TestWebKitAPI::TEST):
* TestWebKitAPI/win/TestWebKitAPI.vcproj:

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

7 years agoUnreviewed. Just added comments I forgot to add in r126506.
haraken@chromium.org [Fri, 24 Aug 2012 00:11:13 +0000 (00:11 +0000)]
Unreviewed. Just added comments I forgot to add in r126506.

* bindings/v8/ScriptController.h:
(WebCore):
(ScriptController):

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

7 years agoUnreviewed, rolling out r126483.
kbr@google.com [Fri, 24 Aug 2012 00:09:29 +0000 (00:09 +0000)]
Unreviewed, rolling out r126483.
http://trac.webkit.org/changeset/126483
https://bugs.webkit.org/show_bug.cgi?id=92272

Caused two Chromium browser_tests to time out 100% reliably.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::detachFromParent):
* loader/FrameLoader.h:
(FrameLoader):

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

7 years ago[V8] Remove V8Proxy.{h,cpp}
haraken@chromium.org [Thu, 23 Aug 2012 23:59:06 +0000 (23:59 +0000)]
[V8] Remove V8Proxy.{h,cpp}
https://bugs.webkit.org/show_bug.cgi?id=94794

Reviewed by Dimitri Glazkov.

Now V8Proxy is no longer used. We can completely remove V8Proxy from the codebase.

No tests. No change in behavior.

Source/WebCore:

* UseV8.cmake:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
(GenerateCallbackImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
* bindings/scripts/test/V8/V8TestCallback.cpp:
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
* bindings/scripts/test/V8/V8TestException.cpp:
* bindings/scripts/test/V8/V8TestInterface.cpp:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
* bindings/scripts/test/V8/V8TestNode.cpp:
* bindings/scripts/test/V8/V8TestObj.cpp:
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::callFunction):
(WebCore::ScriptController::clearWindowShell):
* bindings/v8/ScriptController.h:
(WebCore):
(ScriptController):
* bindings/v8/V8AbstractEventListener.h:
(WebCore):
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::reportFatalErrorInV8):
* bindings/v8/V8DOMWrapper.h:
(WebCore):
* bindings/v8/V8ObjectConstructor.cpp:
(WebCore::V8ObjectConstructor::newInstanceInDocument):
* bindings/v8/V8Proxy.cpp: Removed.
* bindings/v8/V8Proxy.h: Removed.
* bindings/v8/V8RecursionScope.h:
(WebCore):
* bindings/v8/V8Utilities.cpp:
* bindings/v8/custom/V8CustomXPathNSResolver.h:

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
* src/WebBindings.cpp:
* src/WebDOMMessageEvent.cpp:
* src/WebDevToolsAgentImpl.cpp:
* src/WebMediaPlayerClientImpl.cpp:

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

7 years agoAutogenerate Opcode definitions
oliver@apple.com [Thu, 23 Aug 2012 23:49:48 +0000 (23:49 +0000)]
Autogenerate Opcode definitions
https://bugs.webkit.org/show_bug.cgi?id=94840

Reviewed by Gavin Barraclough.

Start the process of autogenerating the code emission for the bytecode.
We'll just start with automatic generation of the list of Opcodes as that
requires the actual definition of the opcodes, and the logic for parsing
them.

Due to some rather annoying dependency cycles, this initial version has
the OpcodeDefinitions.h file checked into the tree, although with some
work I hope to be able to fix that.

* DerivedSources.make:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/Opcode.h:
  Include OpcodeDefinitions.h as our definitive source of info
  about the opcodes.
* bytecode/OpcodeDefinitions.h: Added.
  Autogenerated file
* bytecode/opcodes: Added.
  The new opcode definition file
* opcode_definition_generator.py: Added.
(generateOpcodeDefinition):
(generate):
  Module that generates the content for OpcodeDefinitions.h
* opcode_generator.py: Added.
(printUsage):
(main):
  Driver script
* opcode_parser.py: Added.
  Simple parser for the opcode definitions.

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

7 years ago[BlackBerry] Add a check to filter out cookies that tries to set the domain to a...
commit-queue@webkit.org [Thu, 23 Aug 2012 23:48:49 +0000 (23:48 +0000)]
[BlackBerry] Add a check to filter out cookies that tries to set the domain to a top level domain
https://bugs.webkit.org/show_bug.cgi?id=94722

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-08-23
Reviewed by Rob Buis.

Changing the topleveldomain method name for better readability.

Also renaming the TopLevelDomain.h in platform to DomainTools
because there exists other tests that should belong in the same file.

Only changing method names and include file names.

* platform/blackberry/CookieParser.cpp:
(WebCore::CookieParser::parseOneCookie):

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

7 years agoFix cross-direction stretch for replaced elements in column flexbox
commit-queue@webkit.org [Thu, 23 Aug 2012 23:41:09 +0000 (23:41 +0000)]
Fix cross-direction stretch for replaced elements in column flexbox
https://bugs.webkit.org/show_bug.cgi?id=94604

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-08-23
Reviewed by Ojan Vafai.

Source/WebCore:

Moved the logic that constrains logical width by MinSize and MaxSize to
a new helper function called constrainLogicalWidthInRegionByMinMax.
This helper function is used from both computeLogicalWidthInRegion and
RenderFlexibleBox::applyStretchAlignmentToChild.

RenderFlexibleBox no longer checks for isMultiline when stretching
elements in a column flexbox. Instead, we now constrain the available
width by the child's min-width and max-width, and set the override
width only if that constrained width is different from the child's
current logicalWidth.

No new tests. The existing css3/flexbox/flexitem.html test was extended
to exercise the new code.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax): New helper
method to constrain logical width by min-width and max-width.
(WebCore):
(WebCore::RenderBox::computeLogicalWidthInRegion): Changed to use the
new constrainLogicalWidthInRegionByMinMax helper method.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Changed to
use constrainLogicalWidthInRegionByMinMax to determine the override
width for the child.

LayoutTests:

Fixed failing test cases. Add tests for min/max width/height.

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

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

7 years ago[V8] ScriptState is using stone knifes and bear skins
abarth@webkit.org [Thu, 23 Aug 2012 23:30:09 +0000 (23:30 +0000)]
[V8] ScriptState is using stone knifes and bear skins
https://bugs.webkit.org/show_bug.cgi?id=94846

Reviewed by Eric Seidel.

This patch just modernizes ScriptState to use some of the newer tools
available in the V8 bindings. There shouldn't be any behavior changes.

* bindings/v8/ScriptState.cpp:
(WebCore::ScriptState::ScriptState):
(WebCore::ScriptState::~ScriptState):
(WebCore::ScriptState::domWindow):
(WebCore::ScriptState::scriptExecutionContext):
(WebCore::ScriptState::forContext):
(WebCore::ScriptState::current):
* bindings/v8/ScriptState.h:
(WebCore):
(WebCore::ScriptState::context):
(ScriptState):
(WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
(ScriptStateProtectedPtr):
* bindings/v8/V8Binding.cpp:
(WebCore::toScriptExecutionContext):
(WebCore):
* bindings/v8/V8Binding.h:
(WebCore):

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

7 years ago[chromium] Don't require a RenderSurface* in order to create a RenderPass
danakj@chromium.org [Thu, 23 Aug 2012 23:23:28 +0000 (23:23 +0000)]
[chromium] Don't require a RenderSurface* in order to create a RenderPass
https://bugs.webkit.org/show_bug.cgi?id=94862

Reviewed by Adrienne Walker.

Source/WebCore:

If a test wants to create a RenderPass, they are required to create a
Layer, and a RenderSurface. This is not ideal, we should let tests
create RenderPasses more simply by giving the information that it needs.

This also helps us recreate the RenderPasses after receiving a copy
via IPC.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::create):
(WebCore::CCRenderPass::CCRenderPass):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCRendererGLTest.cpp:
(FakeCCRendererClient::FakeCCRendererClient):

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

7 years ago[V8] ScriptValue should use ScopedPresistent rather than calling New/Dispose directly
abarth@webkit.org [Thu, 23 Aug 2012 23:21:25 +0000 (23:21 +0000)]
[V8] ScriptValue should use ScopedPresistent rather than calling New/Dispose directly
https://bugs.webkit.org/show_bug.cgi?id=94864

Reviewed by Eric Seidel.

ScriptValue was created before ScopedPersistent existed and therefore
calls New/Dispose manually. Instead, it should use the less error-prone
approach of having ScopedPersistent balance those calls.

* bindings/v8/ScriptValue.cpp:
(WebCore::ScriptValue::serialize):
(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toString):
(WebCore::ScriptValue::toInspectorValue):
* bindings/v8/ScriptValue.h:
(WebCore::ScriptValue::ScriptValue):
(WebCore::ScriptValue::operator=):
(WebCore::ScriptValue::operator==):
(WebCore::ScriptValue::isEqual):
(WebCore::ScriptValue::isFunction):
(WebCore::ScriptValue::isNull):
(WebCore::ScriptValue::isUndefined):
(WebCore::ScriptValue::isObject):
(WebCore::ScriptValue::hasNoValue):
(WebCore::ScriptValue::clear):
(WebCore::ScriptValue::v8Value):
(ScriptValue):

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

7 years agoUnreviewed Chromium gardening. Generalized a few Snow Leopard-only
kbr@google.com [Thu, 23 Aug 2012 23:17:35 +0000 (23:17 +0000)]
Unreviewed Chromium gardening. Generalized a few Snow Leopard-only
expectations to Mac in order to get the new Lion bot green.

* platform/chromium/TestExpectations:

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

7 years ago[chromium] Remove WebLayer::setChildren API
jamesr@google.com [Thu, 23 Aug 2012 23:14:21 +0000 (23:14 +0000)]
[chromium] Remove WebLayer::setChildren API
https://bugs.webkit.org/show_bug.cgi?id=94749

Reviewed by Adrienne Walker.

Source/Platform:

This is redundant with removeAllChildren() / addChild() and less efficient.

* chromium/public/WebLayer.h:
(WebLayer):

Source/WebCore:

Sets up the child list directly instead of building an intermediate buffer. Covered by compositing/*

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateChildList):

Source/WebKit/chromium:

* src/WebLayer.cpp:

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

7 years agoReplay tests take forever to load
rniwa@webkit.org [Thu, 23 Aug 2012 23:12:47 +0000 (23:12 +0000)]
Replay tests take forever to load
https://bugs.webkit.org/show_bug.cgi?id=94764

Reviewed by Adam Barth.

Don't load about:blank at the beginning. This appears to clog the DRT.

* Scripts/webkitpy/performance_tests/perftest.py:
(ReplayPerfTest.run_single):

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

7 years agoAX: Focusable elements without a role should not be ignored
dmazzoni@google.com [Thu, 23 Aug 2012 23:05:18 +0000 (23:05 +0000)]
AX: Focusable elements without a role should not be ignored
https://bugs.webkit.org/show_bug.cgi?id=94302

Reviewed by Chris Fleizach.

Source/WebCore:

Changes the accessibility logic so that a generic element that's focusable is
not ignored for accessibility, and returns its inner text as its title. That way
if you Tab to the element, a reasonable accessibility notification is generated.

One exception is the body element, because focusing the body is equivalent to
blurring the current focused element and does not result in a "focus" accessibility
notification.

Also fixes logic that determined if an element was contentEditable by making
sure it catches the case with no attribute value (e.g. <div contentEditable>),
which also implies contentEditable=true according to the spec.

Test: accessibility/focusable-div.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore):
(WebCore::nodeHasContentEditableAttributeSet):
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

LayoutTests:

Adds a new test to make sure that a generic focusable element (like a div with tabindex=0)
can get focus and return an appropriate title, just like a form control or element with
an ARIA role.

Modifies three existing tests that were previously assuming that a focusable node
with no role would be ignored for accessibility ("accessibilityIsIgnored").

* accessibility/editable-webarea-context-menu-point.html:
* accessibility/focusable-div-expected.txt: Added.
* accessibility/focusable-div.html: Added.
* accessibility/table-detection.html:
* platform/mac/accessibility/listbox-hit-test.html:

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

7 years agoRemove RenderTable::removeChild
jchaffraix@webkit.org [Thu, 23 Aug 2012 23:02:19 +0000 (23:02 +0000)]
Remove RenderTable::removeChild
https://bugs.webkit.org/show_bug.cgi?id=94842

Reviewed by Abhishek Arya.

This change removed removeChild, replaced by willBeRemovedFromTree calls. The upside is that
the invalidations are now guaranteed to run if we split a table (which is not guaranteed when
using removeChild). This change also shows that our code may be doing too much work in some
of the child's removal, in which case the code was marked as needed.

Covered by existing tests.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::removeCaption):
Helper function used to remove the caption from our Vector. The invalidation are very likely
unneeded so added a comment about that.

* rendering/RenderTable.h:
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::willBeRemovedFromTree):
(WebCore::RenderTableCaption::table):
* rendering/RenderTableCaption.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::willBeRemovedFromTree):
* rendering/RenderTableCol.h:
Added the following functions to do the invalidation.

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

7 years agoChange behavior of MasqueradesAsUndefined to better accommodate DFG changes
mhahnenberg@apple.com [Thu, 23 Aug 2012 23:00:31 +0000 (23:00 +0000)]
Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
https://bugs.webkit.org/show_bug.cgi?id=93884

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
masquerade as undefined within frame B, but it will continue to masquerade in frame A.

There are two primary changes that are taking place here. One is to thread the ExecState* through
JSValue::toBoolean and JSCell::toBoolean so that JSCell::toBoolean can check the object's
JSGlobalObject to compare it to the lexical JSGlobalObject of the currently running code. If the two
are distinct, then the object cannot MasqueradeAsUndefined.

The other change is to perform this comparison of JSGlobalObjects everywhere where the MasqueradesAsUndefined
flag in the Structure is checked. For C++ code, this check has been factored into its own function in
Structure::masqueradesAsUndefined. We only perform this check in the DFG if the current JSGlobalObject has
had a MasqueradesAsUndefined object allocated within its context. This conditional compilation is managed
through the use of a WatchpointSet in each JSGlobalObject and alternate create() functions for JS DOM wrappers
that are MasqueradesAsUndefined.

* API/JSValueRef.cpp:
(JSValueToBoolean):
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* bytecode/Watchpoint.h:
(WatchpointSet):
* debugger/DebuggerCallFrame.h:
(JSC::DebuggerCallFrame::callFrame):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncSome):
* runtime/BooleanConstructor.cpp:
(JSC::constructBoolean):
(JSC::callBooleanConstructor):
* runtime/JSCell.h:
(JSCell):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::masqueradesAsUndefinedWatchpoint):
* runtime/JSString.h:
(JSC::JSCell::toBoolean):
(JSC::JSValue::toBoolean):
* runtime/JSValue.h:
* runtime/ObjectConstructor.cpp:
(JSC::toPropertyDescriptor):
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC::jsIsObjectType):
* runtime/Operations.h:
(JSC):
(JSC::JSValue::equalSlowCaseInline):
* runtime/RegExpConstructor.cpp:
(JSC::setRegExpConstructorMultiline):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncToString):
* runtime/Structure.h:
(Structure):
(JSC::Structure::globalObjectOffset):
(JSC::Structure::masqueradesAsUndefined):
(JSC):

Source/WebCore:

With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
masquerade as undefined within frame B, but it will continue to masquerade in frame A.

Test: fast/js/document-all-between-frames.html

All of the changes in WebCore are simply passing the additional ExecState argument to JSValue::toBoolean.

* bindings/js/JSCustomSQLStatementErrorCallback.cpp:
(WebCore::JSSQLStatementErrorCallback::handleEvent):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
* bindings/js/JSDataViewCustom.cpp:
(WebCore::getDataViewMember):
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::populateContextMenuItems):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::dataFunctionMatrix):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
* bindings/js/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::exec):
(WebCore):
* bindings/js/JavaScriptCallFrame.h:
(JavaScriptCallFrame):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::hasBreakpoint):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
* bindings/scripts/CodeGeneratorJS.pm: Also add the custom create function for MasqueradesAsUndefined JS DOM wrappers.
(GenerateEventListenerCall):
(GenerateHeader):
(JSValueToNative):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
* bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::create):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::convertValueToJObject):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):

Source/WebKit/mac:

With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
masquerade as undefined within frame B, but it will continue to masquerade in frame A.

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray): Passing ExecState to toBoolean call.

Source/WebKit2:

With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
masquerade as undefined within frame B, but it will continue to masquerade in frame A.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.

LayoutTests:

Added a test that uses a variety of ways of checking whether something is correctly
masquerading as undefined (or not) in a subframe.

* fast/js/document-all-between-frames-expected.txt: Added.
* fast/js/document-all-between-frames.html: Added.
* fast/js/resources/document-all-between-frames-subframe.html: Added.
* platform/chromium/TestExpectations: Chromium treats document.all differently, so skip our new test.

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

7 years agoCSSParser: Move enumeration to a common place (StylePropertyShorthand)
commit-queue@webkit.org [Thu, 23 Aug 2012 22:52:30 +0000 (22:52 +0000)]
CSSParser: Move enumeration to a common place (StylePropertyShorthand)
https://bugs.webkit.org/show_bug.cgi?id=93210

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2012-08-23
Reviewed by Dean Jackson.

CSSParser::parseAnimationShorthand() uses an enumeration with the same
elements as another enumeration present in StylePropertyShorthand, but
with different ordering of values. This patch puts both enums in the same place.

No new tests. No change in behavior.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationShorthand):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitAnimationShorthandForParsing):
(WebCore):
* css/StylePropertyShorthand.h:
(WebCore):

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

7 years agoREGRESSION (r124815): PDF in frame does not display any more
beidson@apple.com [Thu, 23 Aug 2012 22:50:26 +0000 (22:50 +0000)]
REGRESSION (r124815): PDF in frame does not display any more
<rdar://problem/12063306> and https://bugs.webkit.org/show_bug.cgi?id=94869

Reviewed by Alexey Proskuryakov.

* WebProcess/Plugins/PDF/BuiltInPDFView.mm:
(WebKit::BuiltInPDFView::initialize): Tell the controller that initialization was successful.

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