WebKit-https.git
7 years ago[BlackBerry] Add BlendMode parameter to GraphicsContext::setPlatformCompositeOperation
commit-queue@webkit.org [Fri, 8 Mar 2013 15:59:17 +0000 (15:59 +0000)]
[BlackBerry] Add BlendMode parameter to GraphicsContext::setPlatformCompositeOperation
https://bugs.webkit.org/show_bug.cgi?id=111840

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

This parameter was added in r137011.

* platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):

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

7 years ago[BlackBerry] Remove unused GraphicsContext::addInnerRoundedRectClip()
commit-queue@webkit.org [Fri, 8 Mar 2013 15:57:27 +0000 (15:57 +0000)]
[BlackBerry] Remove unused GraphicsContext::addInnerRoundedRectClip()
https://bugs.webkit.org/show_bug.cgi?id=111838

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

This was removed in r139138.

* platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:

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

7 years ago[BlackBerry] GraphicsContext: add fillRule parameter to clip() and canvasClip()
commit-queue@webkit.org [Fri, 8 Mar 2013 15:56:00 +0000 (15:56 +0000)]
[BlackBerry] GraphicsContext: add fillRule parameter to clip() and canvasClip()
https://bugs.webkit.org/show_bug.cgi?id=111836

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

This parameter was added in r139967.

* platform/graphics/blackberry/PathBlackBerry.cpp:
(WebCore):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):

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

7 years ago[Qt] Unreviewed gardening. Unskip now passing compositing tests.
kadam@inf.u-szeged.hu [Fri, 8 Mar 2013 15:51:34 +0000 (15:51 +0000)]
[Qt] Unreviewed gardening. Unskip now passing compositing tests.

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:
* platform/qt/compositing/visibility/visibility-image-layers-dynamic-expected.txt: Added.

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

7 years agoWeb Inspector: Get rid of file system ids and use file pathes as uri for file based...
vsevik@chromium.org [Fri, 8 Mar 2013 15:39:36 +0000 (15:39 +0000)]
Web Inspector: Get rid of file system ids and use file pathes as uri for file based uiSourceCodes.
https://bugs.webkit.org/show_bug.cgi?id=111753

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/FileSystemMapping.js:
(WebInspector.FileSystemMappingImpl):
(WebInspector.FileSystemMappingImpl.prototype._loadFromSettings.get this):
(WebInspector.FileSystemMappingImpl.prototype._loadFromSettings):
(WebInspector.FileSystemMappingImpl.prototype._saveToSettings):
(WebInspector.FileSystemMappingImpl.prototype.set addFileSystemMapping):
(WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
(WebInspector.FileSystemMappingImpl.prototype.fileSystemPaths):
(WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):
* inspector/front-end/FileSystemProjectDelegate.js:
(WebInspector.FileSystemProjectDelegate.projectId):
(WebInspector.FileSystemProjectDelegate.prototype.id):
(WebInspector.FileSystemProjectDelegate.prototype.fileSystemPath):
(WebInspector.FileSystemWorkspaceProvider):
(WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
(WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
(WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):
* inspector/front-end/IsolatedFileSystemManager.js:
(WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
(WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
* inspector/front-end/Workspace.js:
(WebInspector.Workspace.prototype.uiSourceCodeForURL):

LayoutTests:

* inspector/file-system-mapping-expected.txt:
* inspector/file-system-mapping.html:
* inspector/file-system-project-expected.txt:
* inspector/workspace-mapping-expected.txt:
* inspector/workspace-mapping.html:

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

7 years agoWeb Inspector: Polish TabbedEditorContaner and ScriptsNavigator behavior.
vsevik@chromium.org [Fri, 8 Mar 2013 15:25:04 +0000 (15:25 +0000)]
Web Inspector: Polish TabbedEditorContaner and ScriptsNavigator behavior.
https://bugs.webkit.org/show_bug.cgi?id=111732

Reviewed by Pavel Feldman.

Resources matching inspectedPageURL are always expanded in NavigatorView now.
Snippets tab in scripts navigator is not automatically opened anymore.
Cleared saved TabbedEditorContainer history because it might have been corrupted due to errors in earlier versions.
Snippets are not revealed in TabbedEditorContainer anymore unless they were actually selected by user or there is no other tabs opened.

* inspector/front-end/NavigatorView.js:
(WebInspector.NavigatorView):
(WebInspector.NavigatorView.prototype.addUISourceCode):
(WebInspector.NavigatorView.prototype._inspectedURLChanged):
(WebInspector.NavigatorView.prototype.revealUISourceCode):
(WebInspector.NavigatorView.prototype.removeUISourceCode):
(WebInspector.NavigatorFolderTreeElement.prototype.onattach):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.uiSourceCode):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
* inspector/front-end/ScriptsNavigator.js:
(WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._showFile):
* inspector/front-end/Settings.js:
(WebInspector.VersionController.prototype._updateVersionFrom1To2):
* inspector/front-end/TabbedEditorContainer.js:
(WebInspector.TabbedEditorContainer.prototype.addUISourceCode.tabId.this._tabIds.get this):
(WebInspector.TabbedEditorContainer.prototype.addUISourceCode):
(WebInspector.TabbedEditorContainer.History.prototype._rebuildItemIndex):

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

7 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Fri, 8 Mar 2013 15:14:52 +0000 (15:14 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/TestExpectations: Skip test after r145195.

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

7 years agoWeb Inspector: Add shortcut for running a snippet.
vsevik@chromium.org [Fri, 8 Mar 2013 15:11:30 +0000 (15:11 +0000)]
Web Inspector: Add shortcut for running a snippet.
https://bugs.webkit.org/show_bug.cgi?id=111680

Reviewed by Pavel Feldman.

Added Ctrl/Cmd+Enter as a shortcut for running a snippet.

* inspector/front-end/SnippetJavaScriptSourceFrame.js:
(WebInspector.SnippetJavaScriptSourceFrame):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._runSnippet):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):

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

7 years ago[EFL] Memory leak at WKViewClientWebProcessCallbacks API test
mikhail.pozdnyakov@intel.com [Fri, 8 Mar 2013 15:05:26 +0000 (15:05 +0000)]
[EFL] Memory leak at WKViewClientWebProcessCallbacks API test
https://bugs.webkit.org/show_bug.cgi?id=111851

Reviewed by Kenneth Rohde Christiansen.

* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
(TestWebKitAPI::TEST):

    Fixed WKURLRef instance leaking.

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

7 years agoPrevent infinite loop in SVG use cycle detection
pdr@google.com [Fri, 8 Mar 2013 14:37:57 +0000 (14:37 +0000)]
Prevent infinite loop in SVG use cycle detection
https://bugs.webkit.org/show_bug.cgi?id=111822

Reviewed by Stephen Chenney.

Source/WebCore:

SVG use cycle detection depended on idForStyleResolution() which differs from
getIdAttribute() in quirks mode. During use tree cycle detection, this difference
resulted in an infinite loop because idForStyleResolution() used lower-cased id
attributes. This patch removes an existing fixme for this and switches to using
getIdAttribute().

Test: svg/custom/use-cycle-detection.html

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::hasCycleUseReferencing):

LayoutTests:

* svg/custom/use-cycle-detection-expected.html: Added.
* svg/custom/use-cycle-detection.html: Added.

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

7 years agoWhen we set word-wrap: break-word and xml:space="preserve" to svg text element, the...
commit-queue@webkit.org [Fri, 8 Mar 2013 14:32:54 +0000 (14:32 +0000)]
When we set word-wrap: break-word and xml:space="preserve" to svg text element, the text is collapsed.
https://bugs.webkit.org/show_bug.cgi?id=111675

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-03-08
Reviewed by Stephen Chenney.

Source/WebCore:

RenderSVGText define its size when it laid out its first line at SVGRootInlineBox::computePerCharacterLayoutInformation().

In the following spec, SVG don't perform automatic line break or word wrapping.
http://www.w3.org/TR/SVG/text.html#Introduction
> SVG performs no automatic line breaking or word wrapping.
However, when we set word-wrap: break-word and xml:space="preserve" to svg text element, RenderBlock::LineBreaker::nextLineBreak() breaks the text.
This make single character lines and make RenderSVGText narrow.

We must ignore word-wrap property to make the text a single line.

We always disable break words and break all in nextLineBreak() when the object is SVGInlineText.

Test: svg/text/preserve-break-word.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Disable break words and break all when we process SVG Text.

LayoutTests:

Test combination of xml:space="preserve" and word-wrap: break-word to SVG Text.
These text should not be collapsed.

* svg/text/preserve-break-word-expected.html: Added.
* svg/text/preserve-break-word.html: Added.

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

7 years ago[Qt] HTML5 video - sound volume bar out of widget
allan.jensen@digia.com [Fri, 8 Mar 2013 14:23:01 +0000 (14:23 +0000)]
[Qt] HTML5 video - sound volume bar out of widget
https://bugs.webkit.org/show_bug.cgi?id=108213

Reviewed by Jocelyn Turcotte.

Since we use Safari shadow DOM for media controls, follow
the overall layout of Safari media control CSS.

* css/mediaControlsQt.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
(audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
(audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
(audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):

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

7 years ago[WK2][EFL] Remove EwkView::setImageData()
mikhail.pozdnyakov@intel.com [Fri, 8 Mar 2013 14:13:35 +0000 (14:13 +0000)]
[WK2][EFL] Remove EwkView::setImageData()
https://bugs.webkit.org/show_bug.cgi?id=111849

Reviewed by Andreas Kling.

EwkView::setImageData() removed as it is not used at the moment
(it used to be part of eliminated non coord graphics code path).

* UIProcess/API/efl/EwkView.cpp:
* UIProcess/API/efl/EwkView.h:
(EwkView):
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::incorporateUpdate):

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

7 years agoAllow platform-dependent strings for validationMessage property
tkent@chromium.org [Fri, 8 Mar 2013 14:12:56 +0000 (14:12 +0000)]
Allow platform-dependent strings for validationMessage property
https://bugs.webkit.org/show_bug.cgi?id=111846

Reviewed by Kentaro Hara.

Do not check matching with fixed strings in validationMessage.html
test. We print validationMessage values in the test instead.
We'd like to change user-visible strings at our own discretion.

* fast/forms/validationMessage-expected.txt:
Note that many platforms don't have a dedicated message for
badInput and uses the same message as typeMismatch for now.
* fast/forms/validationMessage.html:
* platform/chromium/fast/forms/validationMessage-expected.txt:
Chromium has a dedicated one for badInput.

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

7 years ago[Qt] QWebSettings::clearMemoryCaches should release FastMalloc's free pages to OS
commit-queue@webkit.org [Fri, 8 Mar 2013 13:43:50 +0000 (13:43 +0000)]
[Qt] QWebSettings::clearMemoryCaches should release FastMalloc's free pages to OS
https://bugs.webkit.org/show_bug.cgi?id=111605

Patch by Arunprasad Rajkumar <arunprasadr@nds.com> on 2013-03-08
Reviewed by Jocelyn Turcotte.

* Api/qwebsettings.cpp:
(QWebSettings::clearMemoryCaches):

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

7 years ago[Qt] Doesn't build with QtMultimedia
allan.jensen@digia.com [Fri, 8 Mar 2013 13:24:11 +0000 (13:24 +0000)]
[Qt] Doesn't build with QtMultimedia
https://bugs.webkit.org/show_bug.cgi?id=111847

Reviewed by Jocelyn Turcotte.

Fix include.

* platform/graphics/qt/MediaPlayerPrivateQt.h:

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

7 years ago[EFL] [WK2] Some authentication tests fail in WebKit2
ch.dumez@sisa.samsung.com [Fri, 8 Mar 2013 13:18:57 +0000 (13:18 +0000)]
[EFL] [WK2] Some authentication tests fail in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=106407

Reviewed by Kenneth Rohde Christiansen.

Tools:

Add patch from upstream for libsoup 2.40 to fix several authentication
test cases.

* efl/jhbuild.modules:
* efl/patches/libsoup-2.40-auth-fix.patch: Added.

LayoutTests:

Unskip several authentication test cases now that we cherry-picked
the needed libsoup fix from upstream.

* platform/efl-wk2/TestExpectations:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 8 Mar 2013 12:12:07 +0000 (12:12 +0000)]
Unreviewed GTK gardening.

* platform/gtk/fast/js/global-constructors-expected.txt: Rebaselining after r145200.

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

7 years ago[EFL][Qt] REGRESSION(r144787): A fixed element lags when scrolling and wheeling.
commit-queue@webkit.org [Fri, 8 Mar 2013 11:25:47 +0000 (11:25 +0000)]
[EFL][Qt] REGRESSION(r144787): A fixed element lags when scrolling and wheeling.
https://bugs.webkit.org/show_bug.cgi?id=111829

Patch by Huang Dongsung <luxtella@company100.net> on 2013-03-08
Reviewed by Noam Rosenthal.

Currently, flagsChanged deals with all boolean flags. It introduces this bug
because when another flag (i.e. preserves3D) is changed, fixedToViewport is set
to false. So this patch updates all flags when at least one flag is changed.

In addition, this patch amends isScrollable code to match other flags.

This patch can only be tested manually since there is no automated
testing facilities for in-motion touch.
Test: ManualTests/fixed-position.html
      ManualTests/nested-fixed-position.html

* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setScrollableArea):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::setLayerState):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
(WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):

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

7 years ago[GTK] Memory leak in webkit_web_view_load_request() in WebKit2 API
commit-queue@webkit.org [Fri, 8 Mar 2013 10:40:10 +0000 (10:40 +0000)]
[GTK] Memory leak in webkit_web_view_load_request() in WebKit2 API
https://bugs.webkit.org/show_bug.cgi?id=111160

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Benjamin Poulain.

leakRef() is used for the returned PassRefPtr without taking the
ownership of the leaked ref.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_load_request): Use RefPtr local variable.

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

7 years ago[Autotools] Remove definitions of unnecessary Automake conditionals
zandobersek@gmail.com [Fri, 8 Mar 2013 10:29:30 +0000 (10:29 +0000)]
[Autotools] Remove definitions of unnecessary Automake conditionals
https://bugs.webkit.org/show_bug.cgi?id=111830

Reviewed by Philippe Normand.

The following Automake conditionals are not used anywhere and should have their
definitions in SetupAutomake.m4 removed:
ENABLE_GAMEPAD, ENABLE_XSLT, ENABLE_GEOLOCATION, ENABLE_SVG_FONTS,
ENABLE_OPCODE_STATS, ENABLE_CSS_FILTERS, ENABLE_CSS_SHADERS.

* Source/autotools/SetupAutomake.m4:

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

7 years ago[GTK] Enable Web Audio in development builds
zandobersek@gmail.com [Fri, 8 Mar 2013 10:08:05 +0000 (10:08 +0000)]
[GTK] Enable Web Audio in development builds
https://bugs.webkit.org/show_bug.cgi?id=111831

Reviewed by Philippe Normand.

Web Audio is already quite well supported on the GTK port but still has a few issues
that must be addressed before it is enabled by default. Despite that it should be enabled
in development builds just so we are up-to-date with future feature infrastructure changes.
The Web Audio-related layout tests are not run yet due to missing support in DRT/WKTR, but
that's an obvious goal before enabling the feature in release builds.

* Scripts/webkitperl/FeatureList.pm:

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

7 years ago[GTK] Remove media stream support from the configuration options
zandobersek@gmail.com [Fri, 8 Mar 2013 10:06:35 +0000 (10:06 +0000)]
[GTK] Remove media stream support from the configuration options
https://bugs.webkit.org/show_bug.cgi?id=111813

Reviewed by Philippe Normand.

Remove the media-stream configuration flag. The feature is incomplete and
thus unsupported, so it really shouldn't be possible to enable it.

* Source/autotools/PrintBuildConfiguration.m4:
* Source/autotools/ReadCommandLineArguments.m4:
* Source/autotools/SetupAutomake.m4:
* Source/autotools/SetupWebKitFeatures.m4:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 8 Mar 2013 10:04:28 +0000 (10:04 +0000)]
Unreviewed GTK gardening.

Skipping the tests in inspector-protocol/layers as they rely on compositing support
which is not available on the GTK builders.
Adding failure expectations for tests that regressed with r145100.

* platform/gtk/TestExpectations:

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

7 years agoRemove dead label code in snapshotted plugin
dino@apple.com [Fri, 8 Mar 2013 10:01:42 +0000 (10:01 +0000)]
Remove dead label code in snapshotted plugin
https://bugs.webkit.org/show_bug.cgi?id=111781

Reviewed by Tim Horton.

Since ports can use the shadow tree to do label display,
there is no need for the hardcoded timers in RenderSnapshottedPlugin.

* rendering/RenderSnapshottedPlugIn.cpp: Remove label flags and timers.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::updateSnapshot):
(WebCore::RenderSnapshottedPlugIn::handleEvent):
* rendering/RenderSnapshottedPlugIn.h:
(RenderSnapshottedPlugIn):

Conflicts:
Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp

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

7 years agoImplement a custom appearance for the snapshotted plugin background
dino@apple.com [Fri, 8 Mar 2013 10:01:21 +0000 (10:01 +0000)]
Implement a custom appearance for the snapshotted plugin background
https://bugs.webkit.org/show_bug.cgi?id=108368

Reviewed by NOBODY (OOPS!).

Source/WebCore:

After https://bugs.webkit.org/show_bug.cgi?id=108284 (r142507), a
snapshotted plugin was no longer drawing the background of the
label blurred. Since the snapshot content was now a shadow tree,
it wasn't feasible to pre-blur a region of the snapshot: the label
could be any size and in any location, with ports being able to
override the appearance through their UA style sheet.

Instead we now use one of the elements in the tree, the snapshot-overlay,
as a hook where ports can add any effect they want. This could be simply
a border, or a transparent mask, or even a CSS filter. We introduce a custom
CSS appearance "snapshotted-plugin-overlay", which could be added to the
element in the injected UA stylesheet. This calls into RenderTheme in
the same way that custom controls do.

Meanwhile, in RenderThemeMac, we implement the appearance by drawing the
content of the plugin snapshot into the background of the element. That
way we can add effects in CSS.

Test: plugins/snapshot-appearance.html

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle SnapshottedPluginOverlayPart.
* css/CSSValueKeywords.in: New appearance value snapshotted-plugin-overlay.
* platform/ThemeTypes.h: New value SnapshottedPluginOverlayPart.
* html/HTMLPlugInElement.h:
(WebCore::toHTMLPlugInElement): Add safer casting helpers.
* html/HTMLPlugInImageElement.h:
(WebCore::toHTMLPlugInImageElement): Ditto.
* rendering/RenderSnapshottedPlugIn.cpp: Remove the code for handling
    the blur directly in the renderer.
(WebCore::RenderSnapshottedPlugIn::paint): Simplify the paint logic since we're
    no longer trying to blur here.
(WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
* rendering/RenderSnapshottedPlugIn.h: Remove the methods that were trying
    to blur the image directly.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint): Call paintSnapshottedPluginOverlay.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintSnapshottedPluginOverlay): New virtual method with default implementation.
* rendering/RenderThemeMacShared.h:
(RenderThemeMacShared): Override paintSnapshottedPluginOverlay.
* rendering/RenderThemeMacShared.mm:
(WebCore::RenderThemeMacShared::paintSnapshottedPluginOverlay): Implement a custom render path
    that takes the snapshot image from the node's parent, and draws it into the background.
    Along the way make sure we're actually using the right type of element (an HTMLPlugInImageElement).

LayoutTests:

Toggles our new snapshotted-plugin-overlay appearance, to make sure it
isn't getting applied to non-plugins.

* plugins/snapshot-appearance-expected.html: Added.
* plugins/snapshot-appearance.html: Added.

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

7 years agoImprove drag&drop of list items in contentEditable divs
sergio@webkit.org [Fri, 8 Mar 2013 09:58:28 +0000 (09:58 +0000)]
Improve drag&drop of list items in contentEditable divs
https://bugs.webkit.org/show_bug.cgi?id=111556

Reviewed by Ryosuke Niwa.

Source/WebCore:

A single fully selected <li> should generate the same markup as if
we were selecting some of them, i.e., we should preserve the list
structure and appearance.

Test: editing/selection/drag-list-item.html

* editing/htmlediting.cpp:
(WebCore::isListItem): modified constness.
* editing/htmlediting.h:
(WebCore): ditto.
* editing/markup.cpp:
(WebCore::highestAncestorToWrapMarkup):

LayoutTests:

Added a new test case. The test performs 2 drag&drops, first of
all a selection of a single list item, and secondly a selection of
two list items. It checks that both behave the same way, i.e, the
whole <li> is moved and not only the text.

* editing/selection/drag-list-item-expected.txt: Added.
* editing/selection/drag-list-item.html: Added.

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

7 years agoCache flush problem on ARMv7 JSC
rgabor@webkit.org [Fri, 8 Mar 2013 09:27:38 +0000 (09:27 +0000)]
Cache flush problem on ARMv7 JSC
https://bugs.webkit.org/show_bug.cgi?id=111441

Reviewed by Zoltan Herczeg.

Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests.
The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712.
Change the cache fulsh mechanism similar to ARM traditinal and revert the
temporary fix.

Source/JavaScriptCore:

* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::cacheFlush):

Source/WTF:

* wtf/OSAllocatorPosix.cpp:
(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::decommit):

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

7 years ago[BlackBerry] LayerTiler: rename currentFrameHasAlpha as currentFrameKnownToBeOpaque
commit-queue@webkit.org [Fri, 8 Mar 2013 09:21:24 +0000 (09:21 +0000)]
[BlackBerry] LayerTiler: rename currentFrameHasAlpha as currentFrameKnownToBeOpaque
https://bugs.webkit.org/show_bug.cgi?id=111828

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Carlos Garcia Campos.

This changed in r141637.

* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::updateTextureContentsIfNeeded):

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

7 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Fri, 8 Mar 2013 09:17:18 +0000 (09:17 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/TestExpectations: Skip failing test after r145100.
* platform/qt/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Rebaselining after r145067.

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

7 years agoFix a couple of typos, unreviewed.
graouts@apple.com [Fri, 8 Mar 2013 08:56:45 +0000 (08:56 +0000)]
Fix a couple of typos, unreviewed.

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

7 years ago[BlackBerry] Use OwnPtr for CredentialBackingStore members
commit-queue@webkit.org [Fri, 8 Mar 2013 08:29:02 +0000 (08:29 +0000)]
[BlackBerry] Use OwnPtr for CredentialBackingStore members
https://bugs.webkit.org/show_bug.cgi?id=111737

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

It simplifies the code a bit.

* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::CredentialBackingStore::~CredentialBackingStore):
(WebCore::CredentialBackingStore::open):
(WebCore::CredentialBackingStore::certMgrWrapper):
* platform/network/blackberry/CredentialBackingStore.h:
(CredentialBackingStore):

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

7 years ago[chromium] delay clearing the TestRunners until the main view was deleted
jochen@chromium.org [Fri, 8 Mar 2013 08:00:54 +0000 (08:00 +0000)]
[chromium] delay clearing the TestRunners until the main view was deleted
https://bugs.webkit.org/show_bug.cgi?id=111823

Reviewed by Eric Seidel.

During WebViewHost::shutdown, we navigate the WebView to about:blank.
This may call into the test runners which assume that the delegate is
always non-NULL.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::~TestShell):

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

7 years agoMemoryPressureHandler should fully flush the WebCore & NS URL caches
barraclough@apple.com [Fri, 8 Mar 2013 07:57:01 +0000 (07:57 +0000)]
MemoryPressureHandler should fully flush the WebCore & NS URL caches
https://bugs.webkit.org/show_bug.cgi?id=111827

Rubber Stamped by Geoff Garen

When the handler is fired we should free as much memory as possible.

* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::releaseMemory):
    - fully flush the WebCore & NS URL caches

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

7 years agoSheriffbot whois command can't search by full name
commit-queue@webkit.org [Fri, 8 Mar 2013 07:55:38 +0000 (07:55 +0000)]
Sheriffbot whois command can't search by full name
https://bugs.webkit.org/show_bug.cgi?id=111825

Patch by Alan Cutter <alancutter@chromium.org> on 2013-03-07
Reviewed by Eric Seidel.

Allowed multiple arguments to Sheriffbot's whois command.
Updated test expectations.

* Scripts/webkitpy/tool/bot/irc_command.py:
(Whois.execute):
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
(IRCCommandTest.test_whois):

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

7 years agoUpdate calendar picker UI
keishi@webkit.org [Fri, 8 Mar 2013 07:37:00 +0000 (07:37 +0000)]
Update calendar picker UI
https://bugs.webkit.org/show_bug.cgi?id=109439

Reviewed by Kent Tamura.

.:

* ManualTests/forms/calendar-picker.html: New test file with more options.
* ManualTests/forms/date-suggestion-picker.html: Copied from ManualTests/forms/calendar-picker.html. Old one kept for dat/time suggestion picker testing.

Source/WebCore:

This patch changes the calendar picker UI.

Added tests to existing calendar picker tests.
Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup.html

* Resources/pagepopups/calendarPicker.css:
(body):
(.rtl):
(.scroll-view):
(.scroll-view-content):
(.list-cell):
(.list-cell.hidden):
(.day-cell):
(.week-number-cell):
(.day-cell.today):
(.day-cell.highlighted):
(.day-cell.highlighted.disabled):
(.day-cell.selected):
(.day-cell.disabled):
(.day-cell.current-month):
(.calendar-table-view):
(.preparing .calendar-table-view:focus):
(.week-day-label):
(.week-number-label):
(.calendar-table-header-view):
(.calendar-picker):
(.calendar-header-view):
(.calendar-title):
(.rtl .calendar-title):
(.month-popup-button:disabled):
(.month-popup-button):
(.month-popup-button .disclosure-triangle):
(.month-popup-button .disclosure-triangle svg):
(.today-button::after):
(.calendar-navigation-button):
(.year-list-view):
(.year-list-cell):
(.year-list-cell .label):
(.year-list-cell .month-chooser):
(.month-buttons-row):
(.month-button):
(.month-button.highlighted):
(.scrubby-scroll-bar):
(.scrubby-scroll-thumb):
(.month-popup-view):
(.year-list-view .scrubby-scroll-bar):
(.rtl .year-list-view .scrubby-scroll-bar):
* Resources/pagepopups/calendarPicker.js:
(setGlobalParams): Sets the global params.
(initialize):
(openCalendarPicker):
(CalendarHeaderView.prototype.onNavigationButtonClick): Fix typo.
(CalendarPicker):
(CalendarPicker.prototype.onWindowResize): We want to have the "preparing" class applied
to cancel css transitions while setting up the calendar picker so we can avoid flaky pixel tests.
(CalendarPicker.prototype.onYearListViewDidHide): The user clicked on a month so hide the month popup.
(CalendarPicker.prototype.onYearListViewDidSelectMonth): Change the current month in response to the month popup.
(CalendarPicker.prototype.attachTo): We want the calendar table focused when the calendar picker first opens.
(CalendarPicker.prototype.cleanup): Clean up any event listeners or elements attached to nodes outside of this.element.
(CalendarPicker.prototype.onMonthPopupButtonClick): Open the month popup in response to the month popup button being clicked.
(CalendarPicker.prototype._setConfig): Configures the calendar picker.
(CalendarPicker.prototype.currentMonth): The currently shown month.
(CalendarPicker.prototype.setCurrentMonth): Scrolls the calendar table to the given month. Use the navigation behavior param to specify if you want a transition animation.
(CalendarPicker.prototype.adjustHeight): Adjusts the height so its just tall enough to fit the current month. If the month picker is open, fit that.
(CalendarPicker.prototype.selection): Currently selected date range.
(CalendarPicker.prototype.highlight): Currently highlighted date range.
(CalendarPicker.prototype.firstVisibleDay): Returns the first visible day ignoring scroll animation (i.e. this is the first visible day when the scroll animation is done).
(CalendarPicker.prototype.lastVisibleDay): Returns the last visible day ignoring scroll animation.
(CalendarPicker.prototype.selectRangeContainingDay): Sets the selection to the date range containing the given day.
(CalendarPicker.prototype.highlightRangeContainingDay): Sets the highlight to the date range containing the given day.
(CalendarPicker.prototype.setSelection): Sets the selection to the given date range.
(CalendarPicker.prototype._setHighlight): Sets the highlight to the given date range.
(CalendarPicker.prototype._stepMismatch): Just moving.
(CalendarPicker.prototype._outOfRange): Ditto.
(CalendarPicker.prototype.isValid): Returns true if the given date range is a valid selection.
(CalendarPicker.prototype.isValidDay): Returns true if the day is part of a valid selection.
(CalendarPicker.prototype._moveHighlight): Moves the highlight to the given date range if possible. Returns true if it succeeds.
(CalendarPicker.prototype.onCalendarTableKeyDown): Handles the arrow keys, etc.
(CalendarPicker.prototype.width):
(CalendarPicker.prototype.height):
(CalendarPicker.prototype.setHeight):
(CalendarPicker.prototype.onBodyKeyDown): Handles esc/m/y/d.
* Resources/pagepopups/chromium/calendarPickerChromium.css:
(.calendar-table-view:focus):
(.preparing .calendar-table-view:focus):

Source/WebKit/chromium:

* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument): Adding shortMonthLabels property.

LayoutTests:

* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-key-operations-expected.txt: Removed.
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt: Removed.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations-expected.txt:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-datetimelocal-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-datetimelocal.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step.html:
* platform/chromium/fast/forms/calendar-picker/date-picker-events-expected.txt:
* platform/chromium/fast/forms/calendar-picker/date-picker-events.html:
* platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events-expected.txt:
* platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events.html:
* platform/chromium/fast/forms/calendar-picker/month-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/month-picker-key-operations.html:
* platform/chromium/fast/forms/calendar-picker/month-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/month-picker-mouse-operations.html:
* platform/chromium/fast/forms/calendar-picker/month-picker-with-step-expected.txt:
* platform/chromium/fast/forms/calendar-picker/month-picker-with-step.html:
* platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js:
(currentMonth):
(highlightedValue):
(selectedValue):
(skipAnimation):
(hoverOverDayCellAt):
(clickDayCellAt):
* platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html:
* platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations.html:
* platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html:
* platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html:
* platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations.html:

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

7 years ago[EFL] EwkView should keep css position instead of scroll position in device pixel.
commit-queue@webkit.org [Fri, 8 Mar 2013 07:30:02 +0000 (07:30 +0000)]
[EFL] EwkView should keep css position instead of scroll position in device pixel.
https://bugs.webkit.org/show_bug.cgi?id=110847

Patch by Huang Dongsung <luxtella@company100.net> on 2013-03-07
Reviewed by Kenneth Rohde Christiansen.

Signed off for WebKit2 by Benjamin Poulain.

There are bugs that some code expect that EwkView::pagePosition() returns css
position while others expect that it returns scroll position in device pixel.
In addition, some code call EwkView::setPagePosition() with css position while
others call it with scroll position in device pixel.

This patch makes all code use setPagePosition() and pagePosition() with
UI pixels (a.k.a Density Independent Pixel).

* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
* UIProcess/efl/WebView.cpp:
(WebKit::WebView::paintToCairoSurface):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::transformToScene):
(WebKit::WebView::pageDidRequestScroll):

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

7 years ago https://bugs.webkit.org/show_bug.cgi?id=111801
ap@apple.com [Fri, 8 Mar 2013 07:17:30 +0000 (07:17 +0000)]
    https://bugs.webkit.org/show_bug.cgi?id=111801
        https://bugs.webkit.org/show_bug.cgi?id=111801

        Reviewed by Geoff Garen.

        Move unnecessary includes out of headers.

        * NetworkProcess/HostRecord.h:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        * NetworkProcess/NetworkProcess.cpp:
        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
        * NetworkProcess/NetworkResourceLoadScheduler.h:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/SchedulableLoader.cpp:
        * NetworkProcess/SchedulableLoader.h:
        * NetworkProcess/SyncNetworkResourceLoader.cpp:

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

7 years agoWeb Inspector: Remove unused return value after r122962
commit-queue@webkit.org [Fri, 8 Mar 2013 07:10:52 +0000 (07:10 +0000)]
Web Inspector: Remove unused return value after r122962
https://bugs.webkit.org/show_bug.cgi?id=111821

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-03-07
Reviewed by Pavel Feldman.

No new tests.

* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Fri, 8 Mar 2013 07:02:49 +0000 (07:02 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: compositing/rtl/rtl-iframe-absolute-overflow.html

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Fri, 8 Mar 2013 06:29:22 +0000 (06:29 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: fast/js/exception-sequencing-binops2.html

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

7 years agoUnreviewed, rolling out r145166.
commit-queue@webkit.org [Fri, 8 Mar 2013 05:51:31 +0000 (05:51 +0000)]
Unreviewed, rolling out r145166.
http://trac.webkit.org/changeset/145166
https://bugs.webkit.org/show_bug.cgi?id=111819

build break - no symbol
webkit_support::CreateScopedTempDirectory() (Requested by
hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

Source/WebCore:

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::IDBBackingStore):
(WebCore::IDBBackingStore::~IDBBackingStore):
(WebCore::IDBBackingStore::open):
* Modules/indexeddb/IDBBackingStore.h:
(WebCore):
(IDBBackingStore):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
(WebCore):
(WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
(WebCore::IDBFactoryBackendImpl::openBackingStore):
* Modules/indexeddb/IDBFactoryBackendImpl.h:
(IDBFactoryBackendImpl):

Source/WebKit/chromium:

* tests/IDBBackingStoreTest.cpp:
(WebCore::IDBBackingStoreTest::SetUp):
(IDBBackingStoreTest):
* tests/IDBCleanupOnIOErrorTest.cpp:
(WebCore::TEST):

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

7 years agoSource/ThirdParty: Replace Mersenne Twister RNG with a simple but fast RNG
commit-queue@webkit.org [Fri, 8 Mar 2013 05:49:46 +0000 (05:49 +0000)]
Source/ThirdParty: Replace Mersenne Twister RNG with a simple but fast RNG
https://bugs.webkit.org/show_bug.cgi?id=111533

Patch by Andrew Bortz <andrew@abortz.net> on 2013-03-07
Reviewed by Adam Barth.

This code is no longer used.

* mt19937ar.c: Removed.

Source/WTF: Replace Mersenne Twister random number generator with a simpler one.
https://bugs.webkit.org/show_bug.cgi?id=111533

Patch by Andrew Bortz <andrew@abortz.net> on 2013-03-07
Reviewed by Adam Barth.

The new generator is only a single line long, but passes all the Diehard
statistical tests and runs ~3x faster than the Mersenne Twister, with a
guaranteed cycle length of 2^64 and only 8 bytes of state.

* wtf/Platform.h: Mersenne Twister defines are no longer needed
* wtf/RandomNumber.cpp:
(WTF::Internal::initializeRandomNumber): State initialization
(WTF::Internal::randomNumber): Actual implementation
(WTF::randomNumber): We don't need to fall back on rand()-based generator anymore,
so this code is greatly simplified.
* wtf/RandomNumber.h:
* wtf/RandomNumberSeed.h:
(WTF::initializeRandomNumberGenerator): This code is no longer needed.
Additionally, the code had an error, since rand() returns 32-bits, so each
initializationBuffer's upper 16-bits has more bits set than random.

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

7 years agoAdd Mac WebKit2 test expectations per bugs 111814 and 111815.
hayato@chromium.org [Fri, 8 Mar 2013 04:48:24 +0000 (04:48 +0000)]
Add Mac WebKit2 test expectations per bugs 111814 and 111815.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2013-03-07

* platform/mac-wk2/TestExpectations:

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

7 years agoAdd Mac WebKit2 test expectations per bugs 111814 and 111815.
rniwa@webkit.org [Fri, 8 Mar 2013 04:31:29 +0000 (04:31 +0000)]
Add Mac WebKit2 test expectations per bugs 111814 and 111815.

* platform/mac-wk2/TestExpectations:

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

7 years agoAdd Nils Barth and Koji Hara to committers.py
commit-queue@webkit.org [Fri, 8 Mar 2013 04:29:37 +0000 (04:29 +0000)]
Add Nils Barth and Koji Hara to committers.py
https://bugs.webkit.org/show_bug.cgi?id=111806

Patch by Nils Barth <nbarth@chromium.org> on 2013-03-07
Reviewed by Eric Seidel.

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

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

7 years agoCustom Elements: CustomElement constructor shouldn't share function instance
morrita@google.com [Fri, 8 Mar 2013 04:25:52 +0000 (04:25 +0000)]
Custom Elements: CustomElement constructor shouldn't share function instance
https://bugs.webkit.org/show_bug.cgi?id=111807

Reviewed by Kentaro Hara.

Source/WebCore:

Adaptor functions of custom elements unintentionally share the instance.
This fix gives new one for each.

Test: Updated fast/dom/custom/document-register-basic.html

* bindings/v8/V8AdaptorFunction.cpp:
(WebCore::V8AdaptorFunction::wrap):

LayoutTests:

* fast/dom/custom/document-register-basic-expected.txt:
* fast/dom/custom/document-register-basic.html:

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Fri, 8 Mar 2013 04:24:23 +0000 (04:24 +0000)]
Unreviewed gardening.

* platform/win/TestExpectations: Remove duplication of svg/custom/foreign-object-skew.svg.

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

7 years agorun-pert-tests should have a --test-runner-count option
glenn@skynav.com [Fri, 8 Mar 2013 04:11:54 +0000 (04:11 +0000)]
run-pert-tests should have a --test-runner-count option
https://bugs.webkit.org/show_bug.cgi?id=111726

Reviewed by Ryosuke Niwa.

Add --test-runner-count option to run-perf-tests, with default value of 4.
This option allows command line configuration of the number of times to invoke
the test runner (serially, not in parallel) when running a specific test in
a test set.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest): Add DEFAULT_TEST_RUNNER_COUNT constant.
(PerfTest.__init__): Rename process_run_count to test_runner_count (throughout).
(PerfTest.run): Rename process_run_count to test_runner_count.
(SingleProcessPerfTest.__init__): Add test_runner_count optional argument.
(ChromiumStylePerfTest.__init__): Add test_runner_count optional argument.
(ReplayPerfTest.__init__): Add test_runner_count optional argument.
(PerfTestFactory.create_perf_test): Add test_runner_count optional argument.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args): Add '--test-runner-count' option.
(PerfTestsRunner._collect_tests): Use test_runner_count when creating PerfTest.
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest._test_run_with_json_output): Add optional compare_logs argument.
(MainTest.test_run_with_repeat):
(MainTest.test_run_with_test_runner_count): Add new test for test-runner-count option semantics.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_default_args): Add test for default option argument values.
(MainTest.test_parse_args): Add test for test-runner-count option parsing.

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

7 years agoReading border radius from style property returns in wrong order.
commit-queue@webkit.org [Fri, 8 Mar 2013 03:52:08 +0000 (03:52 +0000)]
Reading border radius from style property returns in wrong order.
https://bugs.webkit.org/show_bug.cgi?id=110853

Source/WebCore:

Patch by Jared Wyles <wyles@adobe.com> on 2013-03-07
Reviewed by Ryosuke Niwa

Updating the order of border-radius to return in the order specified
in http://www.w3.org/TR/css3-background/#the-border-radius

Tests updated in LayoutTests/fast/borders/border-radius-parsing.html
Changed the expectations in LayoutTests/inspector/elements/elements-panel-styles-expected.txt

Compat information -
jQuery's css function favours using getComputedStyle for elements so that should not be impacted.
Zepto does check for the element on style first so may be a slight concern there.

* css/StylePropertyShorthand.cpp:
(WebCore::borderRadiusShorthand):

LayoutTests:

Patch by Jared Wyles <wyles@adobe.com> on 2013-03-07
Reviewed by Ryosuke Niwa

* fast/borders/border-radius-parsing-expected.txt:
* fast/borders/border-radius-parsing.html:
* inspector/elements/elements-panel-styles-expected.txt:

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

7 years agoREGRESSION (r143759): 40% JSBench regression, 20% Octane/closure regression, 40%...
ggaren@apple.com [Fri, 8 Mar 2013 03:01:27 +0000 (03:01 +0000)]
REGRESSION (r143759): 40% JSBench regression, 20% Octane/closure regression, 40% Octane/jquery regression, 2% Octane regression
https://bugs.webkit.org/show_bug.cgi?id=111797

Reviewed by Oliver Hunt.

The bot's testing configuration stresses the cache's starting guess
of 1MB.

This patch removes any starting guess, and just uses wall clock time
to discover the initial working set size of an app, in code size.

* runtime/CodeCache.cpp:
(JSC::CodeCacheMap::pruneSlowCase): Update our timer as we go.

Also fixed a bug where pruning from 0 to 0 would hang -- that case is
a possibility now that we start with a capacity of 0.

* runtime/CodeCache.h:
(CodeCacheMap):
(JSC::CodeCacheMap::CodeCacheMap):
(JSC::CodeCacheMap::add):
(JSC::CodeCacheMap::prune): Don't prune if we're in the middle of
discovering the working set size of an app, in code size.

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

7 years agoAdd didFocusTextField:inFrame to WebFormDelegate
andersca@apple.com [Fri, 8 Mar 2013 02:29:48 +0000 (02:29 +0000)]
Add didFocusTextField:inFrame to WebFormDelegate
https://bugs.webkit.org/show_bug.cgi?id=111804

Reviewed by Dan Bernstein.

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedNodeChanged):
* WebView/WebFormDelegate.h:
* WebView/WebFormDelegate.m:
(-[WebFormDelegate didFocusTextField:inFrame:]):

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

7 years agoResizing Cappuccino is very laggy on WebKit since Safari 5.1
akling@apple.com [Fri, 8 Mar 2013 02:24:34 +0000 (02:24 +0000)]
Resizing Cappuccino is very laggy on WebKit since Safari 5.1
<http://webkit.org/b/71354>
<rdar://problem/10565998>

Reviewed by Anders Carlsson.

Source/WebCore:

* WebCore.exp.in: Export FloatPoint(const NSPoint&)

Source/WebKit2:

On Mac, we already cache the window rect through the WindowAndViewFramesChanged
message, so simply return that in WebChromeClient::windowRect() instead of
sending a synchronous query to the UIProcess.

If a programmatic resize is requested, we bypass the cache until we've received
a new WindowAndViewFramesChanged message. This compromise allows us to return
cached rects in the common case, and handles creating a new window and immediately
resizing it gracefully.

Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
IntRect/IntPoint to match the ChromeClient::windowRect() return type.

* UIProcess/API/mac/WKView.mm:
(-[WKView _updateWindowAndViewFrames]):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::windowAndViewFramesChanged):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::windowAndViewFramesChanged):
* WebProcess/Plugins/PluginView.h:
(PluginView):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::setWindowRect):
(WebKit::WebChromeClient::windowRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::sendSetWindowFrame):
(WebKit::WebPage::windowAndViewFramesChanged):
* WebProcess/WebPage/WebPage.h:
(WebPage):
(WebKit::WebPage::windowFrameInScreenCoordinates):
(WebKit::WebPage::viewFrameInWindowCoordinates):
(WebKit::WebPage::hasCachedWindowFrame):
(WebKit::WebPage::accessibilityPosition):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

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

7 years agoRemove desktop version of -webkit-text-size-adjust property.
akling@apple.com [Fri, 8 Mar 2013 02:08:41 +0000 (02:08 +0000)]
Remove desktop version of -webkit-text-size-adjust property.
<http://webkit.org/b/56543>
<rdar://problem/9150203>

Reviewed by Simon Fraser.

Source/WebCore:

This property existed to support a number of Apple-internal clients of WebKit.
We no longer need this property, and since it's clashing with a mobile version of the
same property with different meaning, let's remove it altogether from the desktop build.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthDouble):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/StyleBuilder.cpp:
(WebCore::ApplyPropertyLineHeight::applyValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::updateFont):
(WebCore::StyleResolver::applyProperties):
(WebCore::StyleResolver::applyProperty):
* css/StyleResolver.h:
(StyleResolver):
* css/svg.css:
* editing/EditingStyle.cpp:
* inspector/front-end/inspector.css:
(#console-messages):
* inspector/front-end/resourcesPanel.css:
(.storage-view.query):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):

LayoutTests:

* editing/pasteboard/5078739.html:
* editing/pasteboard/data-transfer-items-expected.txt:
* editing/pasteboard/onpaste-text-html-expected.txt:
* fast/css/font-size-nan.svg:
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
* fast/css/ignore-text-zoom.html: Removed.
* fast/css/text-rendering-priority.html:
* fast/events/ondrop-text-html-expected.txt:
* platform/chromium-linux/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/chromium-mac-lion/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/chromium-mac/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/chromium-win/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/chromium-win/fast/css/ignore-text-zoom-expected.txt: Removed.
* platform/chromium/fast/css/ignore-text-zoom-expected.txt: Removed.
* platform/efl/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/efl/fast/css/ignore-text-zoom-expected.txt: Removed.
* platform/gtk/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/gtk/fast/css/ignore-text-zoom-expected.txt: Removed.
* platform/mac/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/mac/fast/css/ignore-text-zoom-expected.txt: Removed.
* platform/qt/fast/css/ignore-text-zoom-expected.png: Removed.
* platform/qt/fast/css/ignore-text-zoom-expected.txt: Removed.

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

7 years agoDon't try to create a sandbox extension when path is empty
ap@apple.com [Fri, 8 Mar 2013 01:47:56 +0000 (01:47 +0000)]
Don't try to create a sandbox extension when path is empty
https://bugs.webkit.org/show_bug.cgi?id=111788

Reviewed by Anders Carlsson.

* Shared/FileAPI/BlobRegistrationData.cpp:
(WebKit::BlobRegistrationData::BlobRegistrationData): Skip File objects with empty
paths to avoid logging an error to console.

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

7 years agoIndexedDB: Use WeakPtr for Factory-to-BackingStore reference
jsbell@chromium.org [Fri, 8 Mar 2013 01:42:17 +0000 (01:42 +0000)]
IndexedDB: Use WeakPtr for Factory-to-BackingStore reference
https://bugs.webkit.org/show_bug.cgi?id=111459

Reviewed by Adam Barth.

Source/WebCore:

IDBFactoryBackendImpl maintains a map of backing stores - if another database in the same
origin is opened, the backing store instance must be re-used). This was a map to raw
pointers so that the backing store can be collected when all database references are
dropped. The map was maintained manually by passing the factory to the IDBBackingStore which
would add/remove itself on creation/destruction.

Replace this with a HashMap<WeakPtr<>>. This simplifies the plumbing; map entries
"leak" but are purged on subsequent opens.

Added webkit_unit_test (Chromium port) to verify refcounts.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::IDBBackingStore): No need to notify factory of lifetime.
(WebCore::IDBBackingStore::~IDBBackingStore): Ditto.
(WebCore::IDBBackingStore::open): Ditto.
* Modules/indexeddb/IDBBackingStore.h: No reference to the factory, but...
(WebCore::IDBBackingStore::createWeakPtr): Do need to expose weak pointers for the factory to hold.
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::cleanWeakMap): Helper function to scrub a HashMap<WeakPtr<T>> of empty pointers.
May move to WTF when we've learned how general it is, or come up with a dedicated WeakPtrHashMap type.
(WebCore::IDBFactoryBackendImpl::openBackingStore): WeakPtr fu.
* Modules/indexeddb/IDBFactoryBackendImpl.h:
(IDBFactoryBackendImpl): Remove plumbing methods.

Source/WebKit/chromium:

Added tests to verify refcounts on backing stores, update method signatures.

* tests/IDBBackingStoreTest.cpp:
(WebCore::IDBBackingStoreTest::SetUp): No dummy factory needed.
(MockIDBFactoryBackend): Expose protected method to tests.
(WebCore::TEST): Added BackingStoreLifetime test.
* tests/IDBCleanupOnIOErrorTest.cpp: No dummy factory needed.

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

7 years agoFix commented out code in LayoutTests/http/tests/misc/delete-frame-during-readystatec...
acolwell@chromium.org [Fri, 8 Mar 2013 01:36:42 +0000 (01:36 +0000)]
Fix commented out code in LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
https://bugs.webkit.org/show_bug.cgi?id=111800

Unreviewed.

* http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html:

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

7 years agoWebPageProxy::exceededDatabaseQuota() needs to be serialized.
mark.lam@apple.com [Fri, 8 Mar 2013 01:31:19 +0000 (01:31 +0000)]
WebPageProxy::exceededDatabaseQuota() needs to be serialized.
https://bugs.webkit.org/show_bug.cgi?id=111631.

Reviewed by Geoffrey Garen.

Previously, WebPageProxy::exceededDatabaseQuota() is called synchronously
with script execution in the WebProcess. Hence, it is never called in a
recursive manner.

In webkit2, we can have multiple WebProcesses concurrently triggering a
call to this function. While the function is waiting on feedback from a
UI dialog, the wait loop may re-enter the function to service a second
request to call this function from another WebProcess. This results in
problems where some of the WebProcesses will not get a proper reply, and
therefore hangs perpetually waiting for a non-forthcoming reply.

This changeset changes the function to queue the requests and ensure
that we do not recursively callback to the UI client.

* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::callMemberFunction):
* UIProcess/WebPageProxy.cpp:
(ExceededDatabaseQuotaRecords):
(Record):
(WebKit::ExceededDatabaseQuotaRecords::areBeingProcessed):
(WebKit::ExceededDatabaseQuotaRecords::ExceededDatabaseQuotaRecords):
(WebKit::ExceededDatabaseQuotaRecords::~ExceededDatabaseQuotaRecords):
(WebKit::ExceededDatabaseQuotaRecords::shared):
(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::ExceededDatabaseQuotaRecords::add):
(WebKit::ExceededDatabaseQuotaRecords::next):
(WebKit::WebPageProxy::exceededDatabaseQuota):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

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

7 years ago[BlackBerry] RefCounting ParsedCookie to avoid SegFaults
commit-queue@webkit.org [Fri, 8 Mar 2013 01:31:02 +0000 (01:31 +0000)]
[BlackBerry] RefCounting ParsedCookie to avoid SegFaults
https://bugs.webkit.org/show_bug.cgi?id=111761

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-03-07
Reviewed by Rob Buis.

Source/WebCore:

Making necessary changes to ref count the ParsedCookie object.

Tested using the opera cookie test suite and the BB Browser cookie test suite.
Tested using the browser, visiting popular sites such as facebook, reddit, google etc
to ensure cookie functionality isn't changed.

* loader/blackberry/CookieJarBlackBerry.cpp:
(WebCore::getRawCookies):
* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
(WebCore::CookieDatabaseBackingStore::insert):
(WebCore::CookieDatabaseBackingStore::update):
(WebCore::CookieDatabaseBackingStore::remove):
(WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase):
(WebCore::CookieDatabaseBackingStore::invokeGetCookiesWithLimit):
(WebCore::CookieDatabaseBackingStore::invokeSendChangesToDatabase):
(WebCore::CookieDatabaseBackingStore::addToChangeQueue):
* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
(CookieDatabaseBackingStore):
* platform/blackberry/CookieManager.cpp:
(WebCore::cookieSorter):
(WebCore::CookieManager::setCookies):
(WebCore::CookieManager::getCookie):
(WebCore::CookieManager::generateHtmlFragmentForCookies):
(WebCore::CookieManager::getRawCookies):
(WebCore::CookieManager::checkAndTreatCookie):
(WebCore::CookieManager::addCookieToMap):
(WebCore::CookieManager::getBackingStoreCookies):
(WebCore::CookieManager::findOrCreateCookieMap):
(WebCore::CookieManager::removeCookieWithName):
(WebCore::CookieManager::cookieLimitCleanUp):
* platform/blackberry/CookieManager.h:
* platform/blackberry/CookieMap.cpp:
(WebCore::CookieMap::addOrReplaceCookie):
(WebCore::CookieMap::removeCookieAtIndex):
(WebCore::CookieMap::removeCookie):
(WebCore::CookieMap::getAllCookies):
(WebCore::CookieMap::removeOldestCookie):
(WebCore::CookieMap::deleteAllCookiesAndDomains):
(WebCore::CookieMap::getAllChildCookies):
* platform/blackberry/CookieMap.h:
(CookieMap):
* platform/blackberry/CookieParser.cpp:
(WebCore):
(WebCore::CookieParser::parse):
(WebCore::CookieParser::parseOneCookie):
* platform/blackberry/CookieParser.h:
(CookieParser):
* platform/blackberry/ParsedCookie.cpp:
* platform/blackberry/ParsedCookie.h:
(ParsedCookie):
(WebCore::ParsedCookie::create):

Source/WebKit/blackberry:

Making necessary changes to ref-count the ParsedCookie object.

* Api/WebCookieJar.cpp:
(BlackBerry::WebKit::WebCookieJar::cookies):

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

7 years agoHeap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
acolwell@chromium.org [Fri, 8 Mar 2013 01:12:44 +0000 (01:12 +0000)]
Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=110623

Reviewed by Kentaro Hara.

Source/WebCore:

Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html

* bindings/v8/V8GCController.cpp: Fix MinorGCWrapperVisitor so it doesn't collect ActiveDOMObjects
                                  that have pending activity.
* html/HTMLAudioElement.h:
(HTMLAudioElement): Removed hasPendingActivity() now that this is handled by the base class.
* html/HTMLAudioElement.idl: Removed ActiveDOMObject annotation since HTMLMediaElement now has it.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::hasPendingActivity): Update implementation to return true if the media
                                                 has audio and is playing. This brings the code into
                                                 compliance with the detached element behavior outlined
                                                 in the HTML5 spec.
* html/HTMLMediaElement.idl: Added ActiveDOMObject annotation so that all derived classes are
                             considered ActiveDOMObjects.

LayoutTests:

* http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal-expected.txt: Added.
* http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html: Added.
* http/tests/misc/resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html: Added.

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

7 years agoCFNetwork cache partitioning does not work properly on subdomains
jpfau@apple.com [Fri, 8 Mar 2013 01:10:54 +0000 (01:10 +0000)]
CFNetwork cache partitioning does not work properly on subdomains
https://bugs.webkit.org/show_bug.cgi?id=111772

Reviewed by David Kilzer.

Source/WebCore:

Ensure that the cache partitioning is done over the top privately-controlled domain for the NSURLRequest.

Not possible to test with current automated test tools, must be tested manually.

* loader/cache/MemoryCache.cpp: Remove extraneous calls to partitionName
(WebCore):
(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequest):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::removeResourcesWithOrigin):
* platform/network/cf/ResourceRequest.h: Put top privately-controlled domain reduction code into ResourceRequest::partitionName
(ResourceRequest):
(WebCore::ResourceRequest::cachePartition):
(WebCore::ResourceRequest::setCachePartition): Pre-process the partition name
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore):
(WebCore::ResourceRequest::partitionName):
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdatePlatformRequest): Use a UTF-8 version of the cache partition name

Source/WebKit2:

Ensure that the CFString is UTF-8 so that WKCFURLCacheCopyAllHostNamesInPersistentStoreForPartition will always work.

* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
(WebKit::partitionName): Create a UTF-8 CFString explicitly

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

7 years ago Roll out an accidentally committed change I made for local testing.
ap@apple.com [Fri, 8 Mar 2013 01:06:58 +0000 (01:06 +0000)]
    Roll out an accidentally committed change I made for local testing.

        * http/tests/misc/empty-file-formdata.html:

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

7 years agoCompute WebGL context attributes from DrawingBuffer when it is used
kbr@google.com [Fri, 8 Mar 2013 01:06:47 +0000 (01:06 +0000)]
Compute WebGL context attributes from DrawingBuffer when it is used
https://bugs.webkit.org/show_bug.cgi?id=111666

Reviewed by James Robinson.

Fixed computation of antialias flag when DrawingBuffer is used.

No new tests; covered by existing tests. Ran WebGL conformance
tests on desktop Linux and Android to test.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::getContextAttributes):
    Query DrawingBuffer, when used, for antialias flag.

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

7 years agoAdd myself to reviewers.py
commit-queue@webkit.org [Fri, 8 Mar 2013 00:59:21 +0000 (00:59 +0000)]
Add myself to reviewers.py
https://bugs.webkit.org/show_bug.cgi?id=111757

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-07
Reviewed by Eric Seidel.

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

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Fri, 8 Mar 2013 00:59:15 +0000 (00:59 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: fast/events/before-unload-adopt-subframe-to-outside.html

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

7 years agoNeed API to draw custom overhang area
bdakin@apple.com [Fri, 8 Mar 2013 00:57:00 +0000 (00:57 +0000)]
Need API to draw custom overhang area
https://bugs.webkit.org/show_bug.cgi?id=111679
-and corresponding-
<rdar://problem/13291415>

Reviewed by Simon Fraser.

Source/WebCore:

This will allow clients to put custom images into the top or bottom overhang area.

New FrameView API takes a bool indicating whether the client wants a top/bottom
overhang layer. If the bool is true, the overhang layer will be returned.
* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::setWantsLayerForTopOverHangArea):
(WebCore::FrameView::setWantsLayerForBottomOverHangArea):
* page/FrameView.h:
(FrameView):

Keep member variables for the top and bottom overhang layers. Create them if
necessary, and update them if the root layer changes.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::reportMemoryUsage):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

Source/WebKit2:

The new API is WKBundlePageSetTopOverhangImage() and
WKBundlePageSetBottomOverhangImage(). When the API is called, WebPage will get
GraphicsLayers for the appropriate area from FrameView, and then set the image as
the contents of the layer.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetTopOverhangImage):
(WKBundlePageSetBottomOverhangImage):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::setTopOverhangImage):
(WebKit):
(WebKit::WebPage::setBottomOverhangImage):

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Fri, 8 Mar 2013 00:54:35 +0000 (00:54 +0000)]
Unreviewed gardening.

* platform/chromium-linux/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.

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

7 years agoReduce page cache size on Mac
barraclough@apple.com [Fri, 8 Mar 2013 00:53:42 +0000 (00:53 +0000)]
Reduce page cache size on Mac
https://bugs.webkit.org/show_bug.cgi?id=111795

Rubber stamped by Geoff Garen

5 entries is unnecessarily large; research show 3 should suffice.
On a low memory warning we should clear this completely.

Source/WebCore:

* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::releaseMemory):
    - clear the page cache completely

Source/WebKit2:

* Shared/CacheModel.cpp:
(WebKit::calculateCacheSizes):
    - reduce maximum to 3.

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

7 years agoAdding id attribute test for MediaStream
li.yin@intel.com [Fri, 8 Mar 2013 00:44:04 +0000 (00:44 +0000)]
Adding id attribute test for MediaStream
https://bugs.webkit.org/show_bug.cgi?id=111526

Reviewed by Kentaro Hara.

Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStream-id
The id strings must only use characters in the ranges U+0021, U+0023 to U+0027,
U+002A to U+002B, U+002D to U+002E, U+0030 to U+0039, U+0041 to U+005A,
U+005E to U+007E, and must be 36 characters long.

* fast/mediastream/MediaStreamConstructor-expected.txt:
* fast/mediastream/MediaStreamConstructor.html:

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

7 years agorun-perf-tests should have a --repeat option
glenn@skynav.com [Fri, 8 Mar 2013 00:38:45 +0000 (00:38 +0000)]
run-perf-tests should have a --repeat option
https://bugs.webkit.org/show_bug.cgi?id=100030

Reviewed by Ryosuke Niwa.

Add --repeat option to run-perf-tests, with default value of 1. When greater
than 1, runs test set specified number of times. Note that multiple runs are
not aggregated for statistical purposes.

Incidentally fixed typo: s/suceeds/succeeds/.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args): Add repeat option.
(PerfTestsRunner.run): Add outer repeat loop.
(PerfTestsRunner._generate_results): Split from original _generate_and_show_results.
(PerfTestsRunner._upload_and_show_results): Split from original _generate_and_show_results.
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest._test_run_with_json_output): Add repeat optional argument for generating expected logs. Fix typo.
(MainTest._test_run_with_json_output.mock_upload_json): Fix typo.
(MainTest.test_run_with_json_output): Fix typo.
(MainTest.test_run_with_description): Fix typo.
(MainTest.test_run_respects_no_results): Fix typo.
(MainTest.test_run_with_slave_config_json): Fix typo.
(MainTest.test_run_with_multiple_repositories): Fix typo.
(MainTest.test_run_with_upload_json): Fix typo.
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json): Fix typo.
(MainTest.test_run_with_repeat): Added new test for repeat count semantics.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_parse_args): Add test for repeat option parsing.

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

7 years agoborder-fit should happen at layout time rather than paint time
dino@apple.com [Fri, 8 Mar 2013 00:26:06 +0000 (00:26 +0000)]
border-fit should happen at layout time rather than paint time
https://bugs.webkit.org/show_bug.cgi?id=111606

Unreviewed. Skipping some broken tests.

* platform/mac/TestExpectations:

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

7 years agoCrash when updating predictions below JSC::arrayProtoFuncForEach on tuaw.com article
msaboff@apple.com [Fri, 8 Mar 2013 00:19:39 +0000 (00:19 +0000)]
Crash when updating predictions below JSC::arrayProtoFuncForEach on tuaw.com article
https://bugs.webkit.org/show_bug.cgi?id=111777

Reviewed by Filip Pizlo.

Moved register allocations to be above any generated control flow so that any
resulting spill would be visible to all subsequently generated code.

* 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):

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

7 years agoRename Mac's TileCache to TileController, and WebTileCacheLayer to WebTiledBackingLayer
simon.fraser@apple.com [Thu, 7 Mar 2013 23:54:13 +0000 (23:54 +0000)]
Rename Mac's TileCache to TileController, and WebTileCacheLayer to WebTiledBackingLayer
https://bugs.webkit.org/show_bug.cgi?id=111779

Reviewed by Tim Horton.

"TileCache" was a name conflict in downstream code, so rename it to TileController.
The layer that has a TileController is now a WebTiledBackingLayer (which fits with
the TiledBacking API that TileController exposes).

Also renamed the flags in PlatformCALayer to match.

Rename only, no behavior change.

* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::shouldUseTiledBacking):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
(WebCore::GraphicsLayerCA::updateVisibleRect):
(WebCore::GraphicsLayerCA::getDebugBorderInfo):
(WebCore::GraphicsLayerCA::requiresTiledLayer):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::usesTiledBackingLayer):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::~PlatformCALayer):
(PlatformCALayer::tiledBacking):
* platform/graphics/ca/mac/TileController.h: Renamed from Source/WebCore/platform/graphics/ca/mac/TileCache.h.
* platform/graphics/ca/mac/WebTileLayer.h:
(TileController):
* platform/graphics/ca/mac/WebTileLayer.mm:
(-[WebTileLayer drawInContext:]):
(-[WebTileLayer setTileController:WebCore::]):
(-[WebTileLayer logFilledFreshTile]):
* platform/graphics/ca/mac/WebTiledBackingLayer.h: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h.
* platform/graphics/ca/mac/WebTiledBackingLayer.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm.
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::shouldUseTiledBacking):
(WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::usingTiledBacking):
(RenderLayerBacking):
(WebCore::RenderLayerBacking::hasTiledBackingFlatteningLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidLayout):
(WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):
(WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing):

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

7 years agoshowAllRuns checkbox no longer works on the stats dashboard
jparent@chromium.org [Thu, 7 Mar 2013 23:48:40 +0000 (23:48 +0000)]
showAllRuns checkbox no longer works on the stats dashboard
https://bugs.webkit.org/show_bug.cgi?id=111673

Reviewed by Ojan Vafai.

Stats dashboard does not have any DB_SPECIFIC_INVALIDATING_PARAMETERS,
so we were trying to index into an undefined object.

* TestResultServer/static-dashboards/dashboard_base.js:
(invalidateQueryParameters):

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

7 years agoDFG should not get corrupted IR in the case of code that is dead, unreachable, and...
fpizlo@apple.com [Thu, 7 Mar 2013 23:45:27 +0000 (23:45 +0000)]
DFG should not get corrupted IR in the case of code that is dead, unreachable, and contains a chain of nodes that use each other in an untyped way
https://bugs.webkit.org/show_bug.cgi?id=111783

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Unreachable code is not touched by CFA and so thinks that even untyped uses are checked.
But dead untyped uses don't need checks and hence don't need to be Phantom'd. The DCE knew
this in findTypeCheckRoot() but not in eliminateIrrelevantPhantomChildren(), leading to a
Phantom node that had another Phantom node as one of its kids.

* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::eliminateIrrelevantPhantomChildren):

LayoutTests:

Reviewed by Mark Hahnenberg.

* fast/js/dfg-dead-unreachable-code-with-chain-of-dead-unchecked-nodes-expected.txt: Added.
* fast/js/dfg-dead-unreachable-code-with-chain-of-dead-unchecked-nodes.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-dead-unreachable-code-with-chain-of-dead-unchecked-nodes.js: Added.
(foo.bar):
(foo):

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

7 years ago[Chromium] Update #include for WebStorageNamespace.h
pilgrim@chromium.org [Thu, 7 Mar 2013 23:42:31 +0000 (23:42 +0000)]
[Chromium] Update #include for WebStorageNamespace.h
https://bugs.webkit.org/show_bug.cgi?id=111748

Reviewed by Adam Barth.

In anticipation of removing
WK/chromium/public/WebStorageNamespace.h (once downstream
references have been updated)

* DumpRenderTree/chromium/WebViewHost.cpp:

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

7 years agoThe DFG fixpoint is not strictly profitable, and should be straight-lined
fpizlo@apple.com [Thu, 7 Mar 2013 23:11:22 +0000 (23:11 +0000)]
The DFG fixpoint is not strictly profitable, and should be straight-lined
https://bugs.webkit.org/show_bug.cgi?id=111764

Reviewed by Oliver Hunt and Geoffrey Garen.

The DFG previously ran optimizations to fixpoint because there exists a circular dependency:

CSE depends on CFG simplification: CFG simplification merges blocks, and CSE is block-local.

CFG simplification depends on CFA and constant folding: constant folding reveals branches on
constants.

CFA depends on CSE: CSE reveals must-alias relationships by proving that two operations
always produce identical values.

Arguments simplification also depends on CSE, but it ought not depend on anything else.

Hence we get a cycle like: CFA -> folding -> CFG -> CSE -> CFA.

Note that before we had sparse conditional CFA, we also had CFA depending on CFG. This ought
not be the case anymore: CFG simplification should not by itself lead to better CFA results.

My guess is that the weakest link in this cycle is CFG -> CSE. CSE cuts both ways: if you
CSE too much then you increase register pressure. Hence it's not clear that you always want
to CSE after simplifying control flow. This leads to an order of optimization as follows:

CSE -> arguments -> CFA -> folding -> CFG

This is a 2.5% speed-up on SunSpider, a 4% speed-up on V8Spider, a possible 0.3% slow-down
on V8v7, nothing on Kraken, and 1.2% speed-up in the JSRegress geomean. I'll take a 2.5%
speed-up over a 0.3% V8v7 speed-up.

* dfg/DFGDriver.cpp:
(JSC::DFG::compile):

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

7 years ago FormData should allow setting filename to empty
ap@apple.com [Thu, 7 Mar 2013 22:52:59 +0000 (22:52 +0000)]
    FormData should allow setting filename to empty
        https://bugs.webkit.org/show_bug.cgi?id=111687

        Reviewed by Brady Eidson.

        Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html
               http/tests/local/formdata/send-form-data-with-empty-file-filename.html

        * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems):
        Missing value is a null string. If the string is empty, we should treat is as
        authoritative.

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

7 years agorun-perf-tests fails due to svn_revision not working on a pure git clone
dpranke@chromium.org [Thu, 7 Mar 2013 22:40:05 +0000 (22:40 +0000)]
run-perf-tests fails due to svn_revision not working on a pure git clone
https://bugs.webkit.org/show_bug.cgi?id=110839

Reviewed by Ryosuke Niwa.

Previously we would call git svn find-rev to look up the commit for
a given revision, and that'll hang in a pure git checkout.

This patch changes the way we look up svn revisions in a git
repository to use git log --grep 'git-svn-id', which is much faster
than grepping ourselves. It also renames timestamp_of_latest_commit()
to timestamp_of_revision() in order to accurately reflect what
the method is doing. Note that this patch only changes the logic
inside latest_revision() and svn_revision(). I'll file a separate
bug to change git_commit_from_svn_revision().

This patch also contains some fixes to unit tests that had bit-rotted
or were otherwise fragile, so that test-webkitpy --all would pass
cleanly, and a fix to outputcapture so that
test-webkitpy -p would work correctly again.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.svn_revision):
(Git.timestamp_of_revision):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.svn_revision):
(SCM.timestamp_of_revision):
* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
(MockSCM.timestamp_of_revision):
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(_shared_test_commit_with_message):
(test_commit_without_authorization):
(test_timestamp_of_revision):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.timestamp_of_revision):
* Scripts/webkitpy/common/system/outputcapture.py:
  Importing unittest2 directly may not be safe if this module is
  imported before the autoinstaller gets a chance to set things up
  properly. We don't actually need unittest2 here.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._generate_results_dict):

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

7 years agoUnreviewed gardening AppleWin port.
roger_fong@apple.com [Thu, 7 Mar 2013 22:37:02 +0000 (22:37 +0000)]
Unreviewed gardening AppleWin port.

* platform/win/TestExpectations:

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

7 years agoREGRESSION: fast/border/border-fit-2.html needs updating
hyatt@apple.com [Thu, 7 Mar 2013 22:33:25 +0000 (22:33 +0000)]
REGRESSION: fast/border/border-fit-2.html needs updating
https://bugs.webkit.org/show_bug.cgi?id=111776

Reviewed by Simon Fraser.

Source/WebCore:

This test is incorrectly shrinking the border image now.
We need to apply some clamping to the border-fit like the
old code did. The pixel results *are* still changing though,
since a layout-time shrinkage will not result in right-aligned
boxes in an LTR block when the left edge gets chopped. We'll
have to see if this behavioral change ends up being a problem,
but for now we'll rebaseline and assume it will be ok.

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

LayoutTests:

* platform/mac/fast/borders/border-fit-2-expected.png:
* platform/mac/fast/borders/border-fit-2-expected.txt:

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

7 years agoWeb Inspector: provide reasons why a layer was composited in the LayerTreeAgent
graouts@apple.com [Thu, 7 Mar 2013 22:21:43 +0000 (22:21 +0000)]
Web Inspector: provide reasons why a layer was composited in the LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=111703

Source/WebCore:

Introduce a new LayerTree.reasonsForCompositingLayer(layerId) method which returns
the list of reasons why the provided layer was composited as an object with an
optional property for each possible reason. The RenderLayerCompositor already knows
how to provide this information via its own reasonsForCompositing() method, and we
process the returned bitmask to populate the object sent to the front-end.

Reviewed by Timothy Hatcher.

Test: inspector-protocol/layers/layers-compositing-reasons.html

* inspector/Inspector.json:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
(WebCore):
* inspector/InspectorLayerTreeAgent.h:
(InspectorLayerTreeAgent):

LayoutTests:

New test for LayerTree.reasonsForCompositingLayer(layerId).

Reviewed by Timothy Hatcher.

* inspector-protocol/layers/layers-compositing-reasons-expected.txt: Added.
* inspector-protocol/layers/layers-compositing-reasons.html: Added.

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 22:13:54 +0000 (22:13 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: http/tests/security/cross-origin-css.html

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 22:07:29 +0000 (22:07 +0000)]
Unreviewed gardening.

* platform/chromium-mac/fast/repaint/border-fit-lines-expected.txt: Renamed from LayoutTests/platform/chromium/fast/repaint/border-fit-lines-expected.txt.
* platform/chromium-win/fast/repaint/border-fit-lines-expected.txt:

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

7 years agoAdd a didFocusTextField callback to the injected bundle form client
andersca@apple.com [Thu, 7 Mar 2013 22:02:48 +0000 (22:02 +0000)]
Add a didFocusTextField callback to the injected bundle form client
https://bugs.webkit.org/show_bug.cgi?id=111771

Reviewed by Andreas Kling.

Source/WebCore:

Export a symbol needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

Add a new client callback that's invoked whenever a text input field is focused.

* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didFocusTextField):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
(InjectedBundlePageFormClient):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedNodeChanged):

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 22:01:38 +0000 (22:01 +0000)]
Unreviewed gardening.

* fast/borders/border-fit-expected.txt: Renamed from LayoutTests/platform/chromium/fast/borders/border-fit-expected.txt.
* platform/chromium-mac/fast/borders/border-fit-expected.txt: Renamed from LayoutTests/platform/mac/fast/borders/border-fit-expected.txt.
* platform/chromium-win/fast/borders/border-fit-expected.txt:
* platform/efl/fast/borders/border-fit-expected.txt: Removed.
* platform/gtk/fast/borders/border-fit-expected.txt: Removed.

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

7 years ago[chromium] Stop using WebTransformationMatrix on WebLayer
jamesr@google.com [Thu, 7 Mar 2013 21:53:48 +0000 (21:53 +0000)]
[chromium] Stop using WebTransformationMatrix on WebLayer
https://bugs.webkit.org/show_bug.cgi?id=111635

Reviewed by Adrienne Walker.

Source/Platform:

WebLayer supports setting transforms by using either SkMatrix44 or WebTransformationMatrix,
both of which are wrappers around 16 doubles. There's no need to have both.

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

Source/WebCore:

Switches over to the SkMatrix44 transform setters.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::transformToSkMatrix44):
  Utility for convering a WebCore::TransformationMatrix to an SkMatrix44.
  Will move to a more common location once it gets more callers.
(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):

Source/WebKit/chromium:

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::computeEnclosingCompositingLayer):
* tests/GraphicsLayerChromiumTest.cpp:
(GraphicsLayerChromiumTest):

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

7 years ago[EFL] Bump libsoup dependency to 2.40.3 to fix regressions
ch.dumez@sisa.samsung.com [Thu, 7 Mar 2013 21:50:51 +0000 (21:50 +0000)]
[EFL] Bump libsoup dependency to 2.40.3 to fix regressions
https://bugs.webkit.org/show_bug.cgi?id=111756

Reviewed by Kenneth Rohde Christiansen.

.:

Update libsoup required version to v2.40.3 for EFL port.

* Source/cmake/OptionsEfl.cmake:

Tools:

Bump libsoup to v2.40.3 to fix the regressions introduced by
previous v2.40.0 bump.

* efl/jhbuild.modules:

LayoutTests:

Unskip several tests that are passing after the libsoup dependency
bump to 2.40.3.

* platform/efl/TestExpectations:

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

7 years agoBuild fix for AppleWin VS2010.
roger_fong@apple.com [Thu, 7 Mar 2013 21:40:09 +0000 (21:40 +0000)]
Build fix for AppleWin VS2010.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

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

7 years agoRe-enable Win EWS tests.
roger_fong@apple.com [Thu, 7 Mar 2013 21:29:30 +0000 (21:29 +0000)]
Re-enable Win EWS tests.

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):

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

7 years ago[Mac] allow iOS to use CaptionUserPreferencesMac
eric.carlson@apple.com [Thu, 7 Mar 2013 21:27:42 +0000 (21:27 +0000)]
[Mac] allow iOS to use CaptionUserPreferencesMac
https://bugs.webkit.org/show_bug.cgi?id=111770

Reviewed by Dean Jackson.

No new tests, covered by existing tests.

* page/CaptionUserPreferencesMac.h:
* page/CaptionUserPreferencesMac.mm:
(WebCore::userCaptionPreferencesChangedNotificationCallback): Respond to notifications on
    the web thread.

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

7 years agoMove side-effects on hover/active state out of hit-testing
mkwst@chromium.org [Thu, 7 Mar 2013 21:24:18 +0000 (21:24 +0000)]
Move side-effects on hover/active state out of hit-testing
https://bugs.webkit.org/show_bug.cgi?id=98168

Reviewed by Julien Chaffraix.

Original patch by Allan Sandfeld Jensen; I'm just tweaking things.

Document::updateHoverActiveState is currently called during hit testing
to update the hover and active states of elements effected by mouse
movements (or their keyboard equivalents). This conflates the hit test
algorithm itself with side-effects associated with specific use-cases.

This conflation makes it very difficult to reuse the hover/active logic
for things other than hit testing. 'mouseenter'/'mouseleave' events[1]
are one example of a feature that would be simple to implement on top of
this existing logic if we split it out from the hit testing path, and
instead call it explicitly when necessary. An explicit split between
hit testing and its side-effects will also enable us to simplify the
logic in future patches with well-named parameters, rather than relying
on stuffing properties into HitTestRequest.

This patch drops the call to Document::updateHoverActiveState from
RenderView::hitTest, and adjusts the three call-sites in EventHandler
to explicitly call out to it rather than Document::updateStyleIfNeeded.
The latter call is still necessary but has been folded into
updateHoverActiveState, as the former is never called without calling
the latter.

[1]: http://wkbug.com/18930

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
    First, this function must now only be called from contexts that were
    performing a read/write hit-test: the code asserts this
    precondition.

    Second, rather than accepting a HitTestResult, the function accepts
    an Element* from which to begin the hover/active chain changes.

    Third, we have to explicitly update the hover/active states for
    documents between the updated element and the top-level document.
    The hit-testing logic was taking care of this for us, now we need to
    take care of it ourselves.

    Fourth, call out to updateStyleIfNeeded rather than making our
    caller do so. The calls were always paired; now that's explicit.
(WebCore::Document::prepareMouseEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::hoverTimerFired):
    Call out to updateHoverActiveState rather than updateStyleIfNeeded.
* rendering/RenderView.cpp:
(WebCore::RenderView::hitTest):
    Drop the call to updateHoverActiveState.

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

7 years ago[Chromium] Update some #includes for WebMessagePortChannel.h
pilgrim@chromium.org [Thu, 7 Mar 2013 21:18:53 +0000 (21:18 +0000)]
[Chromium] Update some #includes for WebMessagePortChannel.h
https://bugs.webkit.org/show_bug.cgi?id=111752

Reviewed by James Robinson.

In anticipation of removing
WK/chromium/public/WebMessagePortChannel.h (once all downstream
references have been updated)

* public/WebDOMMessageEvent.h:
* public/WebFrame.h:
* public/WebSharedWorkerClient.h:

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 21:08:21 +0000 (21:08 +0000)]
Unreviewed gardening.

* platform/chromium/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.

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

7 years agoUnreviewed, rolling out r145097.
commit-queue@webkit.org [Thu, 7 Mar 2013 20:59:42 +0000 (20:59 +0000)]
Unreviewed, rolling out r145097.
http://trac.webkit.org/changeset/145097
https://bugs.webkit.org/show_bug.cgi?id=111765

Triggers an ASSERT in the Chromium port (Requested by abarth
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

Source/WebCore:

* html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData):
* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):

LayoutTests:

* http/tests/local/formdata/send-form-data-with-empty-blob-filename-expected.txt: Removed.
* http/tests/local/formdata/send-form-data-with-empty-blob-filename.html: Removed.
* http/tests/local/formdata/send-form-data-with-empty-file-filename-expected.txt: Removed.
* http/tests/local/formdata/send-form-data-with-empty-file-filename.html: Removed.
* http/tests/xmlhttprequest/resources/multipart-post-echo-filenames.php: Removed.
* platform/wk2/TestExpectations:

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

7 years ago[nrwt] handle corrupt http server pid files cleanly
dpranke@chromium.org [Thu, 7 Mar 2013 20:58:57 +0000 (20:58 +0000)]
[nrwt] handle corrupt http server pid files cleanly
https://bugs.webkit.org/show_bug.cgi?id=111628

Reviewed by Eric Seidel.

If the pid file from a previous http server is corrupt for some
reason, NRWT will just raise errors and not clean it up or recover.
This patch fixes that to at least delete the pid file and
not throw; not that we may still have stale http servers left on
the system, since there's no way to know which pid to kill if
the file was corrupted.

* Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase.start):
(HttpServerBase.stop):
(HttpServerBase._remove_pid_file):
* Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py: Added.
(TestHttpServerBase):
(TestHttpServerBase.test_corrupt_pid_file):

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

7 years ago[BlackBerry] Prevent text selection inside Colour and Date/Time input fields
mifenton@rim.com [Thu, 7 Mar 2013 20:55:29 +0000 (20:55 +0000)]
[BlackBerry] Prevent text selection inside Colour and Date/Time input fields
https://bugs.webkit.org/show_bug.cgi?id=111733

Reviewed by Rob Buis.

PR 305194.

Prevent selection for popup input fields as they are buttons.

Informally Reviewed Gen Mak.

* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):

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

7 years agoObjective-C API: Need a good way to reference event handlers without causing cycles
mhahnenberg@apple.com [Thu, 7 Mar 2013 20:43:05 +0000 (20:43 +0000)]
Objective-C API: Need a good way to reference event handlers without causing cycles
https://bugs.webkit.org/show_bug.cgi?id=111088

Reviewed by Geoffrey Garen.

JSManagedValue is like a special kind of weak value. When you create a JSManagedValue, you can
supply an Objective-C object as its "owner". As long as the Objective-C owner object remains
alive and its wrapper remains accessible to the JSC garbage collector (e.g. by being marked by
the global object), the reference to the JavaScript value is strong. As soon as the Objective-C
owner is deallocated or its wrapper becomes inaccessible to the garbage collector, the reference
becomes weak.

If you do not supply an owner or you use the weakValueWithValue: convenience class method, the
returned JSManagedValue behaves as a normal weak reference.

This new class allows clients to maintain references to JavaScript values in the Objective-C
heap without creating reference cycles/leaking memory.

* API/JSAPIWrapperObject.cpp: Added.
(JSC):
(JSC::::createStructure):
(JSC::JSAPIWrapperObject::JSAPIWrapperObject): This is a special JSObject for the Objective-C API that knows
for the purposes of garbage collection/marking that it wraps an opaque Objective-C object.
(JSC::JSAPIWrapperObject::visitChildren): We add the pointer to the wrapped Objective-C object to the set of
opaque roots so that the weak handle owner for JSManagedValues can find it later.
* API/JSAPIWrapperObject.h: Added.
(JSC):
(JSAPIWrapperObject):
(JSC::JSAPIWrapperObject::wrappedObject):
(JSC::JSAPIWrapperObject::setWrappedObject):
* API/JSBase.cpp:
(JSSynchronousGarbageCollect):
* API/JSBasePrivate.h:
* API/JSCallbackObject.cpp:
(JSC):
* API/JSCallbackObject.h:
(JSC::JSCallbackObject::destroy): Moved this to the header so that we don't get link errors with JSAPIWrapperObject.
* API/JSContext.mm:
(-[JSContext initWithVirtualMachine:]): We weren't adding manually allocated/initialized JSVirtualMachine objects to
the global cache of virtual machines. The init methods handle this now rather than contextWithGlobalContextRef, since
not everyone is guaranteed to use the latter.
(-[JSContext initWithGlobalContextRef:]):
(+[JSContext contextWithGlobalContextRef:]):
* API/JSManagedValue.h: Added.
* API/JSManagedValue.mm: Added.
(JSManagedValueHandleOwner):
(managedValueHandleOwner):
(+[JSManagedValue weakValueWithValue:]):
(+[JSManagedValue managedValueWithValue:owner:]):
(-[JSManagedValue init]): We explicitly call the ARC entrypoints to initialize/get the weak owner field since we don't
use ARC when building our framework.
(-[JSManagedValue initWithValue:]):
(-[JSManagedValue initWithValue:owner:]):
(-[JSManagedValue dealloc]):
(-[JSManagedValue value]):
(-[JSManagedValue weakOwner]):
(JSManagedValueHandleOwner::isReachableFromOpaqueRoots): If the Objective-C owner is still alive (i.e. loading the weak field
returns non-nil) and that value was added to the set of opaque roots by the wrapper for that Objective-C owner, then the the
JSObject to which the JSManagedObject refers is still alive.
* API/JSObjectRef.cpp: We have to add explicit checks for the JSAPIWrapperObject, just like the other types of JSCallbackObjects.
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
* API/JSValue.mm:
(objectToValueWithoutCopy):
* API/JSValueRef.cpp:
(JSValueIsObjectOfClass):
* API/JSVirtualMachine.mm:
(-[JSVirtualMachine initWithContextGroupRef:]):
(+[JSVirtualMachine virtualMachineWithContextGroupRef:]):
* API/JSWrapperMap.mm:
(wrapperFinalize):
(makeWrapper): This is our own internal version of JSObjectMake which creates JSAPIWrapperObjects, the Obj-C API
version of JSCallbackObjects.
(createObjectWithCustomBrand):
(-[JSObjCClassInfo wrapperForObject:]):
(tryUnwrapObjcObject):
* API/JavaScriptCore.h:
* API/tests/testapi.mm: Added new tests for the strong and weak uses of JSManagedValue in the context of an
onclick handler for an Objective-C object inserted into a JSContext.
(-[TextXYZ setWeakOnclick:]):
(-[TextXYZ setOnclick:]):
(-[TextXYZ weakOnclick]):
(-[TextXYZ onclick]):
(-[TextXYZ click]):
* CMakeLists.txt: Various build system additions.
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/JSGlobalObject.cpp: Added the new canonical Structure for the JSAPIWrapperObject class.
(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::objcWrapperObjectStructure):

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

7 years agoImage rebaselines after r145104.
ojan@chromium.org [Thu, 7 Mar 2013 20:08:31 +0000 (20:08 +0000)]
Image rebaselines after r145104.

* platform/chromium-mac/fast/table/border-collapsing/cached-change-row-border-width-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.png:

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

7 years agoAX: Can't activate links with VoiceOver in Safari
cfleizach@apple.com [Thu, 7 Mar 2013 20:04:22 +0000 (20:04 +0000)]
AX: Can't activate links with VoiceOver in Safari
https://bugs.webkit.org/show_bug.cgi?id=111755

Reviewed by Tim Horton.

Source/WebCore:

VoiceOver is relying on the press action being the first action in the list. We changed
that order inadvertently recently, which confuses VoiceOver.

Test: platform/mac/accessibility/press-action-is-first.html

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityActionNames]):

Tools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(supportedActionsCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
(AccessibilityUIElement):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::supportedActions):

LayoutTests:

* platform/mac/accessibility/press-action-is-first-expected.txt: Added.
* platform/mac/accessibility/press-action-is-first.html: Added.

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