commit-queue@webkit.org [Tue, 27 Mar 2012 18:00:50 +0000 (18:00 +0000)]
Frame flattening: childframe in FrameView::layout() needs protector.
https://bugs.webkit.org/show_bug.cgi?id=82345
Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-03-27
Reviewed by Kenneth Rohde Christiansen.
RefPtr<FrameView> protector(this) is supposed to protect the current frameview in
FrameView::layout() from being destroyed by recalcStyle().
However, when frame flattening is on and a child frame is re-starting layout from
the topmost parent, the protection is missing and parent's recalcStyle()
can destroy the child frame.
Moving the protector before the layout re-starting is initiated makes the child frame
safe.
No new tests. Unable to create a test case, where this scenario is reproducible.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112283
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 27 Mar 2012 17:47:39 +0000 (17:47 +0000)]
[Qt] Make debug build work on 32 bit
https://bugs.webkit.org/show_bug.cgi?id=82331
Use --no-keep-memory option of ld not to cache the symbol tables of input files in
memory to avoid memory exhaustion during the linking phase for x86-debug builds.
Reviewed by Tor Arne Vestbø.
* qmake/mkspecs/features/unix/default_post.prf:
* qmake/mkspecs/features/unix/default_pre.prf:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 27 Mar 2012 17:46:59 +0000 (17:46 +0000)]
Construct CSSCharsetRule on CSSOM API access only
https://bugs.webkit.org/show_bug.cgi?id=82332
Reviewed by Andreas Kling.
Charset is just a string. There is usually no need to construct CSSCharsetRule at all.
- Make CSS parser to return encoding string instead of CSSCharsetRule object. This
string is used for constructing CSSCharsetRule if it is needed (and nothing else,
@charset has no effect after string decoding).
- Remove internal interface for adding and removing rules. It has no clients.
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore):
* css/CSSParser.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::~CSSStyleSheet):
(WebCore::CSSStyleSheet::parserAppendRule):
(WebCore::CSSStyleSheet::ensureCharsetRule):
(WebCore):
(WebCore::CSSStyleSheet::length):
(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::clearCharsetRule):
(WebCore::CSSStyleSheet::clearRules):
(WebCore::CSSStyleSheet::parserSetEncodingFromCharsetRule):
(WebCore::CSSStyleSheet::rules):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::addRule):
(WebCore::CSSStyleSheet::deleteRule):
* css/CSSStyleSheet.h:
(WebCore):
(CSSStyleSheet):
(WebCore::CSSStyleSheet::ruleVector):
(WebCore::CSSStyleSheet::hasCharsetRule):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Tue, 27 Mar 2012 17:44:28 +0000 (17:44 +0000)]
Unreviewed, skip fast/events/dropzone-005.html on mac-wk1.
It has been failing since its introduction and is skipped for every
port but chromium.
* platform/mac/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Tue, 27 Mar 2012 17:02:51 +0000 (17:02 +0000)]
Source/WebCore: [chromium] Fix filter context creation to be more conservative.
https://bugs.webkit.org/show_bug.cgi?id=82349
Reviewed by James Robinson.
Covered by webkit_unit_tests, and css3/filters layout tests.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setFilters):
Only request a filter context if the filter lists is non-empty.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setNeedsFilterContext):
Add a bool param, so tests can cancel a request for filter contexts.
Source/WebKit/chromium: [chromium] Fix filter context usage in webkit_unit_tests.
https://bugs.webkit.org/show_bug.cgi?id=82349
Reviewed by James Robinson.
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
Cancel request for filter context after test run.
(WTF::TEST_F):
* tests/CCOcclusionTrackerTest.cpp:
Re-enable CCLayerTreeHostTestSetSingleLostContext.runMultiThread.
(WebCore::CCOcclusionTrackerTest::TearDown):
Cancel request for filter context after test run.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
schenney@chromium.org [Tue, 27 Mar 2012 15:58:03 +0000 (15:58 +0000)]
<svg:use> elements in the parser can create elements not marked as created by the parser
https://bugs.webkit.org/show_bug.cgi?id=81985
Reviewed by Adam Barth.
The SVGUseElement was creating its shadow tree immediately upon
demand. This resulted in nodes being created that were not marked as
"createdByParser", even during parsing. As it happens, there is
already code in there to track "createdByParser" in the SVGUseElement,
it was just being ignored all the time. This may even have been
inefficient. Now we delay creating the shadow dom tree until children
are finished, which is the standard time to handle the createdByParser
flag.
I also verified that other SVG classes that derived from core DOM
classes that use the createdByParser flag do correctly pass this flag
on.
No new tests as this is covered by existing tests and does not have new behavior.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::insertedIntoDocument):
(WebCore::SVGUseElement::svgAttributeChanged):
(WebCore::SVGUseElement::willRecalcStyle):
(WebCore::SVGUseElement::finishParsingChildren):
* xml/XMLErrors.cpp:
(WebCore::XMLErrors::insertErrorMessageBlock):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 15:44:16 +0000 (15:44 +0000)]
[BlackBerry] Disable DisallowCType.h usage
https://bugs.webkit.org/show_bug.cgi?id=82211
Patch by Ming Xie <mxie@rim.com> on 2012-03-27
Reviewed by Rob Buis.
Build fix: QNX port does use ctype.h, so we should not
include <wtf/DisallowCType.h> in WebCore/config.h
No new tests - Build Fix
* config.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
podivilov@chromium.org [Tue, 27 Mar 2012 15:41:04 +0000 (15:41 +0000)]
Web Inspector: testSourceMapCouldNotBeLoaded logs different error messages on different platforms.
https://bugs.webkit.org/show_bug.cgi?id=82314
Reviewed by Vsevolod Vlasov.
* http/tests/inspector/compiler-script-mapping.html:
* platform/gtk/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 27 Mar 2012 15:22:56 +0000 (15:22 +0000)]
Implement WebFrameNetworkingContext for soup in WebKit2
[SOUP] Implement WebFrameNetworkingContext for soup in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=82081
Reviewed by Martin Robinson.
* GNUmakefile.am: Add new files to compilation
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
(WebKit::WebFrameNetworkingContext::soupSession): Return the
default SoupSession.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
(WebKit):
(WebFrameNetworkingContext):
(WebKit::WebFrameNetworkingContext::create): Create a new
WebFrameNetworkingContext().
(WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 15:17:42 +0000 (15:17 +0000)]
Change default position attribute of media control panel to relative for Android.
https://bugs.webkit.org/show_bug.cgi?id=82303
Patch by Hao Zheng <zhenghao@chromium.org> on 2012-03-27
Reviewed by Eric Carlson.
Follow up https://bugs.webkit.org/show_bug.cgi?id=79746 .
* css/mediaControlsChromiumAndroid.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Tue, 27 Mar 2012 15:15:18 +0000 (15:15 +0000)]
Web Inspector: Speed up snapshot parsing.
https://bugs.webkit.org/show_bug.cgi?id=82325
Replacing the iterators with raw nodes/edges access speeds up
some phases phasses up to 10 times, taking down the whole init
time to less than 6 sec.
Patch by Alexei Filippov <alexeif@chromium.org> on 2012-03-27
Reviewed by Yury Semikhatsky.
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._buildNodeIndex):
(WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kkristof@inf.u-szeged.hu [Tue, 27 Mar 2012 15:03:44 +0000 (15:03 +0000)]
Add png checking to check-webkit-style
https://bugs.webkit.org/show_bug.cgi?id=75824
Reviewed by NOBODY Tony Chang.
* Scripts/webkitpy/style/checker.py:
(_all_categories):
(FileType):
(CheckerDispatcher._should_skip_file_path):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):
* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherDispatchTest.test_none_paths):
* Scripts/webkitpy/style/checkers/png.py: Added.
(PNGChecker):
(PNGChecker.__init__):
(PNGChecker.check):
(PNGChecker._config_file_path):
* Scripts/webkitpy/style/checkers/png_unittest.py: Added.
(MockSCMDetector):
(MockSCMDetector.__init__):
(MockSCMDetector.display_name):
(MockSCMDetector.propget):
(PNGCheckerTest):
(PNGCheckerTest.test_init):
(PNGCheckerTest.test_init.mock_handle_style_error):
(PNGCheckerTest.test_check):
(PNGCheckerTest.test_check.mock_handle_style_error):
* Scripts/webkitpy/style/patchreader.py:
(PatchReader.check):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112270
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 27 Mar 2012 15:01:00 +0000 (15:01 +0000)]
Assertion failure in acid2.
Rubber-stamped by Andreas Kling.
Remove assert added in http://trac.webkit.org/changeset/112258. It seems insertedInto/removedFromDocument
don't always pair.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Tue, 27 Mar 2012 14:55:27 +0000 (14:55 +0000)]
Web Inspector: simplify heap profiler front-end
https://bugs.webkit.org/show_bug.cgi?id=82338
Source/WebCore:
Simplify constructors of WebInspector.HeapSnapshotArraySlice and
WebInspector.HeapSnapshotEdgesProvider.
Reviewed by Pavel Feldman.
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotArraySlice):
(WebInspector.HeapSnapshotArraySlice.prototype.item):
(WebInspector.HeapSnapshotArraySlice.prototype.slice):
(WebInspector.HeapSnapshotNode.prototype.get rawEdges):
(WebInspector.HeapSnapshot.prototype._retainersForNode):
(WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
(WebInspector.HeapSnapshot.prototype.createEdgesProvider):
(WebInspector.HeapSnapshotEdgesProvider):
LayoutTests:
Reviewed by Pavel Feldman.
* inspector/profiler/heap-snapshot.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112268
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 27 Mar 2012 14:51:03 +0000 (14:51 +0000)]
Web Inspector: Tabbed pane should set focus on its contents on tab click.
https://bugs.webkit.org/show_bug.cgi?id=82323
Reviewed by Pavel Feldman.
Otherwise selected tab does not have focus.
Also added tabIndex on tabElements to prevent pasting on closing middle click.
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane):
(WebInspector.TabbedPane.prototype.focus):
(WebInspector.TabbedPane.prototype.selectTab):
(WebInspector.TabbedPaneTab.prototype._createTabElement):
(WebInspector.TabbedPaneTab.prototype._tabClicked):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
podivilov@chromium.org [Tue, 27 Mar 2012 14:43:46 +0000 (14:43 +0000)]
Web Inspector: dispatch breakpoint-added and breakpoint-removed events on UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=82318
Reviewed by Vsevolod Vlasov.
Source/WebCore:
Breakpoint-added and breakpoint-removed events are always related to specific UISourceCode.
See bug 82224 for more details.
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype._addBreakpointToUI):
(WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
(WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._addBreakpointListeners):
(WebInspector.ScriptsPanel.prototype._removeBreakpointListeners):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
* inspector/front-end/UISourceCode.js:
LayoutTests:
* inspector/debugger/breakpoint-manager.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Tue, 27 Mar 2012 14:42:47 +0000 (14:42 +0000)]
[Qt][WK2] Merge setVisibleContentsRect with setFixedVisibleContentRect
https://bugs.webkit.org/show_bug.cgi?id=82289
Reviewed by Kenneth Rohde Christiansen.
As we scroll, we constantly send 2 messages. Those 2 messages can be merged into one.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
* UIProcess/WebPageProxy.cpp:
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::setVisibleContentsRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 14:32:49 +0000 (14:32 +0000)]
[BlackBerry]Cleanup WTF string in platform/network/blackberry
https://bugs.webkit.org/show_bug.cgi?id=82005
Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-03-27
Reviewed by Rob Buis.
No new tests. Just replace WTF::String with String.
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyDataReceived):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Tue, 27 Mar 2012 14:30:29 +0000 (14:30 +0000)]
Web Inspector: Enable "number" parameters in the web inspector protocol methods
https://bugs.webkit.org/show_bug.cgi?id=82334
The generated protocol dispatcher does not understand protocol method parameters of type "number"
(mapped to "double" in the native code.)
Reviewed by Vsevolod Vlasov.
* inspector/CodeGeneratorInspector.py:
(RawTypes.Number.get_getter_name):
(RawTypes.Number.get_c_initializer):
(RawTypes.Number.get_js_bind_type):
(RawTypes.Number.get_validate_method_params.ValidateMethodParams):
(RawTypes.Number.get_validate_method_params):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Tue, 27 Mar 2012 14:23:22 +0000 (14:23 +0000)]
Web Inspector: Fix missing objects in the dominators view.
https://bugs.webkit.org/show_bug.cgi?id=82194
Due to the nature of dominators tree it is not possible to hide internal
objects there because they may happen to contain user objects that can't
be hidden.
Besides that it fixes a small bug in HeapSnapshotArraySlice.slice
function.
Patch by Alexei Filippov <alexeif@chromium.org> on 2012-03-27
Reviewed by Yury Semikhatsky.
Source/WebCore:
* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotArraySlice.prototype.slice):
LayoutTests:
* inspector/profiler/heap-snapshot-expected.txt:
* inspector/profiler/heap-snapshot.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 27 Mar 2012 13:37:43 +0000 (13:37 +0000)]
Unreviewed. Skip GTK+ unit tests that fail in the bots
* Scripts/run-gtk-tests:
(TestRunner): Add failing tests to the skipped list.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112261
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 27 Mar 2012 12:45:46 +0000 (12:45 +0000)]
Fix Kling's name.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112259
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 27 Mar 2012 12:40:38 +0000 (12:40 +0000)]
Remove Document::mappedElementSheet()
https://bugs.webkit.org/show_bug.cgi?id=82242
Reviewed by Anreas Kling and Nikolas Zimmermann.
The only thing this is used for anymore is SVGFontFaceElement. That can be handled without
the confusing extra stylesheet.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
* css/CSSStyleSelector.h:
(CSSStyleSelector):
- Add font face rules from registered SVGFontFaceElements.
- Simplify the constructor signature. Stylesheets are part of the document.
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::createStyleSelector):
(WebCore):
(WebCore::Document::updateBaseURL):
* dom/Document.h:
(WebCore):
(WebCore::Document::documentUserSheets):
(Document):
- Remove mappedElementSheet
- Adapt to the CSSStyleSelector constructor signature changes.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::svgFontFaceElements):
(WebCore):
(WebCore::SVGDocumentExtensions::registerSVGFontFaceElement):
(WebCore::SVGDocumentExtensions::unregisterSVGFontFaceElement):
* svg/SVGDocumentExtensions.h:
(WebCore):
(SVGDocumentExtensions):
- Add map for SVGFontFaceElements
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::insertedIntoDocument):
(WebCore::SVGFontFaceElement::removedFromDocument):
(WebCore):
* svg/SVGFontFaceElement.h:
(SVGFontFaceElement):
(WebCore::SVGFontFaceElement::fontFaceRule):
- Switch to updating svgFontFaceElements map.
- Use elementSheet as the parent sheet (nothing is ever added to the elementSheet, it is used for
resolving relative URLs only).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 27 Mar 2012 12:32:06 +0000 (12:32 +0000)]
Web Inspector: startEditing should remove tabIndex attribute from the element if it was not set before.
https://bugs.webkit.org/show_bug.cgi?id=82322
Reviewed by Pavel Feldman.
This patch removes tabIndex attribute from the element after editing if it was not present before.
Otherwise tabIndex becomes set unexpectedly after exiting edit mode.
* inspector/front-end/UIUtils.js:
(WebInspector.startEditing.cleanUpAfterEditing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112257
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 27 Mar 2012 12:22:42 +0000 (12:22 +0000)]
Web Inspector: Tree outline should not start search on key press if it is being edited.
https://bugs.webkit.org/show_bug.cgi?id=82327
Reviewed by Pavel Feldman.
This is needed for snippet renaming support.
* inspector/front-end/treeoutline.js:
(TreeOutline):
(TreeOutline.prototype._treeKeyPress):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 27 Mar 2012 12:13:17 +0000 (12:13 +0000)]
Revert RenderApplet::intrinsicSize to integers
https://bugs.webkit.org/show_bug.cgi?id=82206
Reviewed by Eric Seidel.
Intrinsic sizes originate either outside of WebCore, or from their initial values,
which are always integers. Reverting RenderApplet::intrinsicSize to integers, the
last spot improperly using LayoutUnits
No new tests. No change in behavior.
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::intrinsicSize):
* rendering/RenderApplet.h:
(RenderApplet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112255
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Tue, 27 Mar 2012 12:00:52 +0000 (12:00 +0000)]
Increase code sharing between CSSComputedStyleDeclaration and CSSPropertyLonghand.
https://bugs.webkit.org/show_bug.cgi?id=82261
Reviewed by Ryosuke Niwa.
Source/WebCore:
Use longhands declaration from CSSPropertyLonghand in CSSComputedStyleDeclaration to avoid
code duplication.
No new tests : refactoring only, we shouldn't have any behavior difference.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
* css/CSSComputedStyleDeclaration.h:
(WebCore):
(CSSComputedStyleDeclaration):
* css/CSSPropertyLonghand.cpp:
(WebCore::outlineLonghand):
Re-order to match the spec default order and also remove outline-offset as it is not part
of the shorthand (http://www.w3.org/TR/css3-ui/#outline). Luckily this was cover by a layout test.
LayoutTests:
Update expectation as it was relying on inaccurate order. All other outline related tests
are expecting the same order (e.g. fast/getComputedStyle/getComputedStyle-outline-shorthand) as well
as Opera.
* fast/css/cssText-shorthand-expected.txt:
* fast/css/cssText-shorthand.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112254
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Tue, 27 Mar 2012 11:57:05 +0000 (11:57 +0000)]
Add a perf test which updates the value of an already declared CSS property.
https://bugs.webkit.org/show_bug.cgi?id=82321
Reviewed by Andreas Kling.
This benchmark update CSS existing properties of the style from JS.
* CSS/CSSPropertyUpdateValue.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112253
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 11:53:15 +0000 (11:53 +0000)]
A page containing multiparts with "multipart/x-mixed-replace" should not be cached.
https://bugs.webkit.org/show_bug.cgi?id=82291
Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-03-27
Reviewed by Rob Buis.
If we have a multiPart reponse with multipart/x-mixed-replace,
the current page should not be cached. I use isMultipartPayload()
API which was supposed to be set in NetworkJob to decide to
cache page or not.
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::canCachePage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112252
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 27 Mar 2012 11:40:29 +0000 (11:40 +0000)]
Web Inspector: Editable TextViewer should show cursor when it is focused.
https://bugs.webkit.org/show_bug.cgi?id=82320
Reviewed by Pavel Feldman.
TextViewer now focuses editable inner container unless read-only flag is set.
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype.focus):
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype._handleElementFocus):
(WebInspector.TextEditorMainPanel.prototype.focus):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112251
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 27 Mar 2012 11:08:49 +0000 (11:08 +0000)]
Unreviewed. Unskip all GTK+ unit test.
Currently, skipped tests contains the list of unit tests that have
failed in one or more bots. In this moment it's not possible to
skip just the test cases that fail, so the complete unit test is
skipped when a single test case fails. For that reason, we don't
know which test cases are actually failing for every skipped
test. We are planning to land a patch to allow skipping individual
test cases, but first we need to know which test cases are
currently failing in the bots to skip them. So, this patch simply
unskips all unit tests in order to watch the bots and get the list
of test cases failing. Failing tests will be skipped again as soon
as we have the new list of failing test cases.
* Scripts/run-gtk-tests:
(TestRunner): Reset the list of skipped tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112250
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 27 Mar 2012 11:03:08 +0000 (11:03 +0000)]
Unreviewed. Removing change markers from ChangeLog.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112249
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 27 Mar 2012 10:52:49 +0000 (10:52 +0000)]
Convert RenderSelectionInfo::rect to LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=82213
Reviewed by Eric Seidel.
RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates local to
renderers should be stored in LayoutUnits.
No new tests. No change in behavior.
* rendering/RenderSelectionInfo.h:
(WebCore::RenderSelectionInfo::rect):
(RenderSelectionInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112248
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 27 Mar 2012 10:47:05 +0000 (10:47 +0000)]
Enable animVal support for SVGAnimatedRect
https://bugs.webkit.org/show_bug.cgi?id=82317
Reviewed by Zoltan Herczeg.
Source/WebCore:
Enable animVal support for SVGAnimatedRect. Very simple now that everything is prepared.
All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedRectAnimator.
Extended existing tests to cover this.
* svg/SVGAnimatedRect.cpp:
(WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedRectAnimator::animValWillChange):
(WebCore::SVGAnimatedRectAnimator::animValDidChange):
* svg/SVGAnimatedRect.h:
(SVGAnimatedRectAnimator):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::supportsAnimVal):
LayoutTests:
Extend SVGAnimatedRect tests to cover animVal support.
* svg/animations/script-tests/svgrect-animation-1.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgrect-animation-2.js:
(sample1):
(sample2):
(sample3):
* svg/animations/svgrect-animation-1-expected.txt:
* svg/animations/svgrect-animation-2-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112247
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 27 Mar 2012 10:44:12 +0000 (10:44 +0000)]
2012-03-27 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Use shouldBe() instead of shouldBeCloseEnough() when testing the baseVal in the SVGAngle tests.
It doesn't get animated, and thus isn't timing dependant. All other tests are correct.
* svg/animations/script-tests/svgangle-animation-deg-to-grad.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-deg-to-rad.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-grad-to-deg.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-grad-to-rad.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-rad-to-deg.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-rad-to-grad.js:
(sample1):
(sample2):
(sample3):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112246
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 10:43:36 +0000 (10:43 +0000)]
Unreviewed, rolling out r112201.
http://trac.webkit.org/changeset/112201
https://bugs.webkit.org/show_bug.cgi?id=82302
Breaks chromium's WebPageSerializerTest.HTMLNodes test
(Requested by pfeldman on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-27
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::error):
(WebCore):
* loader/cache/CachedCSSStyleSheet.h:
(CachedCSSStyleSheet):
* loader/cache/CachedFont.cpp:
(WebCore):
(WebCore::CachedFont::error):
* loader/cache/CachedFont.h:
(CachedFont):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::error):
* loader/cache/CachedResource.h:
(CachedResource):
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::error):
(WebCore):
* loader/cache/CachedScript.h:
(CachedScript):
* loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::error):
(WebCore):
* loader/cache/CachedXSLStyleSheet.h:
(CachedXSLStyleSheet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112245
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 27 Mar 2012 10:40:59 +0000 (10:40 +0000)]
[Qt] Unreviewed gardening. Skip accidentally unskipped tests again.
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112244
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 27 Mar 2012 10:35:27 +0000 (10:35 +0000)]
LayoutRepainter: Remove unused constructor parameter and update to LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=82185
Reviewed by Eric Seidel.
Removing an optional parameter for old bounds in LayoutRepainter's constructor that
is no longer used. The old bounds are instead always gleaned from the renderer's
clippedOverflowRectForRepaint.
The renderer's bounds and outline rect also are stored in LayoutUnits to properly
detect sub-pixel changes during layout. Eventually, we'll pixel snap these values
when telling the embedder to invalidate. Adding a comment to that effect.
No new tests. No change in behavior.
* rendering/LayoutRepainter.cpp:
(WebCore::LayoutRepainter::LayoutRepainter):
* rendering/LayoutRepainter.h:
(LayoutRepainter):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112243
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 27 Mar 2012 10:29:52 +0000 (10:29 +0000)]
Not reviewed: chromium baselines updated.
* platform/chromium-mac-snowleopard/fast/forms/textfield-overflow-expected.png: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112242
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 27 Mar 2012 10:23:28 +0000 (10:23 +0000)]
[Qt] Unreviewed gardening after r112229.
* platform/qt/fast/repaint/block-layout-inline-children-replaced-expected.png:
* platform/qt/fast/repaint/block-layout-inline-children-replaced-expected.txt:
* platform/qt/fast/table/quote-text-around-iframe-expected.png:
* platform/qt/fast/table/quote-text-around-iframe-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112241
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 27 Mar 2012 10:22:35 +0000 (10:22 +0000)]
Enable animVal support for SVGAnimatedString
https://bugs.webkit.org/show_bug.cgi?id=82316
Reviewed by Zoltan Herczeg.
Source/WebCore:
Enable animVal support for SVGAnimatedString. Very simple now that everything is prepared.
All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedStringAnimator.
Test: svg/animations/svgstring-animation-1.html
* svg/SVGAnimatedString.cpp:
(WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedStringAnimator::animValWillChange):
(WebCore::SVGAnimatedStringAnimator::animValDidChange):
* svg/SVGAnimatedString.h:
(SVGAnimatedStringAnimator):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::supportsAnimVal):
LayoutTests:
Add new test covering animVal+SVGAnimatedString.
* svg/animations/script-tests/svgstring-animation-1.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/svgstring-animation-1-expected.txt: Added.
* svg/animations/svgstring-animation-1.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112240
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 27 Mar 2012 10:18:41 +0000 (10:18 +0000)]
Unreviewed, GTK rebaseline after r112229.
* platform/gtk/fast/repaint/block-layout-inline-children-replaced-expected.txt:
* platform/gtk/fast/table/quote-text-around-iframe-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112239
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 27 Mar 2012 10:08:50 +0000 (10:08 +0000)]
Update usage of LayoutUnits in RenderListMarker
https://bugs.webkit.org/show_bug.cgi?id=81921
Reviewed by Eric Seidel.
Implementing proper pixel snapping in list marker painting, and correcting usage of integers
for local coordinates/margins that should be sub-pixel.
No new tests. No change in behavior.
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::localSelectionRect): Changed to LayoutUnits since this represents
a rect in local coordinates.
(WebCore::RenderListMarker::paint): Doing proper pixel snapping, and using integers for
results from text measurement.
(WebCore::RenderListMarker::computePreferredLogicalWidths): Using integers for results
from text measurement.
(WebCore::RenderListMarker::updateMargins): Fixing to be LayoutUnits.
* rendering/RenderListMarker.h:
(RenderListMarker):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112238
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 27 Mar 2012 10:06:49 +0000 (10:06 +0000)]
Revert linesBoundingBox to integers
https://bugs.webkit.org/show_bug.cgi?id=82182
Reviewed by Eric Seidel.
LayoutRects are intended to be pixel snapped to determine the ultimate screen
coordinates, but the Inline Box tree is laid out using floats, and pixel snapping
the resulting box from linesBoundingBox would produce a potentially incorrect
rectangle. Keeping this using enclosingIntRect retains the previous accuracy and
prevents misuse.
No new tests. No change in behavior.
* rendering/RenderInline.cpp:
(WebCore::RenderInline::linesBoundingBox):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
* rendering/RenderText.cpp:
(WebCore::RenderText::linesBoundingBox):
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::linesBoundingBox):
* rendering/svg/RenderSVGInlineText.h:
(RenderSVGInlineText):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112237
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
podivilov@chromium.org [Tue, 27 Mar 2012 09:55:18 +0000 (09:55 +0000)]
Web Inspector: store UIBreakpoints on UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=82214
Source/WebCore:
This change will allow us to make breakpoint-added and breakpoint-removed events a part of UISourceCode interface.
See bug 82224 for more details.
Reviewed by Vsevolod Vlasov.
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype.removeBreakpoint):
(WebInspector.BreakpointManager.prototype._addBreakpointToUI):
(WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
(WebInspector.BreakpointManager.prototype.debuggerReset):
* inspector/front-end/CompilerScriptMapping.js:
(WebInspector.CompilerScriptMapping.prototype.addScript):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
(WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
(WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
(WebInspector.UISourceCodeImpl):
(WebInspector.UISourceCodeImpl.prototype.breakpoints):
(WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
(WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createUISourceCode):
* inspector/front-end/SnippetsModel.js:
(WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
(WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype.get domain):
(WebInspector.UISourceCode.prototype.get folderName):
(WebInspector.UISourceCode.prototype.get fileName):
(WebInspector.UISourceCode.prototype.get displayName):
(WebInspector.UISourceCode.prototype._parseURL):
(WebInspector.UISourceCode.prototype._didRequestContent):
(WebInspector.UISourceCode.prototype.breakpoints):
* inspector/front-end/inspector.html:
LayoutTests:
Reviewed by Vsevolod Vlasov.
* inspector/debugger/breakpoint-manager.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112236
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nduca@chromium.org [Tue, 27 Mar 2012 09:48:21 +0000 (09:48 +0000)]
[chromium] Fix crash with fling with tracing enabled
https://bugs.webkit.org/show_bug.cgi?id=82306
The TRACE_EVENT_START instrumentation was deferencing a PassOwnPtr
after it had been passed into another OwnPtr. This caused frequent
crashes when tracing was enabled.
Reviewed by Adam Barth.
* platform/ActivePlatformGestureAnimation.cpp:
(WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
* platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
(WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112235
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 27 Mar 2012 09:42:59 +0000 (09:42 +0000)]
[SOUP] Implement missing methods in CookieJarSoup
https://bugs.webkit.org/show_bug.cgi?id=82082
Reviewed by Martin Robinson.
Source/WebCore:
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::defaultCookieJar): Return a global GRefPtr to store the
default cookie jar.
(WebCore::soupCookieJar): Return the current cookie jar or create
a new one.
(WebCore::setSoupCookieJar): Set the current cookie jar.
(WebCore::setCookies): Fix coding style.
(WebCore::cookiesForDocument): Helper function to get the list of
cookies as a string.
(WebCore::cookies): Use cookiesForDocument().
(WebCore::cookieRequestHeaderFieldValue): Ditto.
(WebCore::getRawCookies): Get the list of cookies for the given
document and url.
(WebCore::deleteCookie): Delete the given cookie.
(WebCore::getHostnamesWithCookies): Use GOwnPtr.
(WebCore::deleteCookiesForHostname): Use GOwnPtr and
soup_cookie_domain_matches() instead of comparing the domain
directly with the given hostname.
(WebCore::deleteAllCookies): Use GOwnPtr.
* platform/network/soup/CookieJarSoup.h:
* platform/network/soup/GOwnPtrSoup.cpp:
(WTF::SoupCookie): Add GOwnPtr template for SoupCookie.
* platform/network/soup/GOwnPtrSoup.h:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ensureSessionIsInitialized): Use soupCookieJar() instead
of defaultCookieJar().
Source/WebKit/efl:
* ewk/ewk_cookies.cpp:
(ewk_cookies_clear): Use soupCookieJar() instead of
defaultCookieJar().
(ewk_cookies_get_all): Ditto.
(ewk_cookies_cookie_del): Ditto.
(ewk_cookies_policy_set): Ditto.
(ewk_cookies_policy_get): Ditto.
Source/WebKit2:
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use
soupCookieJar() instead of defaultCookieJar().
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112234
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 27 Mar 2012 09:34:09 +0000 (09:34 +0000)]
[Qt] Unskipped 5 passing tests.
Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-03-27
Reviewed by Csaba Osztrogonác.
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112233
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 27 Mar 2012 09:32:52 +0000 (09:32 +0000)]
[Qt] Unreviewed gardening, skip a failing test.
* platform/qt-5.0-wk2/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112232
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 27 Mar 2012 09:29:18 +0000 (09:29 +0000)]
Enable animVal support for SVGAnimatedBoolean
https://bugs.webkit.org/show_bug.cgi?id=82311
Reviewed by Antti Koivisto.
Source/WebCore:
Enable animVal support for SVGAnimatedBoolean. Very simple now that everything is prepared.
All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedBooleanAnimator.
Extended existing tests to cover this.
* svg/SVGAnimatedBoolean.cpp:
(WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedBooleanAnimator::animValWillChange):
(WebCore::SVGAnimatedBooleanAnimator::animValDidChange):
* svg/SVGAnimatedBoolean.h:
(SVGAnimatedBooleanAnimator):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::setValueAsString):
(WebCore::SVGAnimatedType::supportsAnimVal):
LayoutTests:
Extend SVGAnimatedBoolean tests to cover animVal support.
* svg/animations/script-tests/svgboolean-animation-1.js:
(sample1):
(sample2):
(sample3):
* svg/animations/svgboolean-animation-1-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112231
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 27 Mar 2012 09:27:44 +0000 (09:27 +0000)]
Unreviewed, skip an inspector test failing on 64-bit Debug GTK bot.
* platform/gtk/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112230
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 27 Mar 2012 09:24:46 +0000 (09:24 +0000)]
<img style='width: 100%' src='foo.svg'> gets pixellated when stretched
https://bugs.webkit.org/show_bug.cgi?id=81631
Reviewed by Antti Koivisto.
Source/WebCore:
Final cleanup of RenderReplaced after the intrinsic size negotiation patch series from some weeks/months ago.
Stop tracking whether a RenderReplaced has an intrinsic size or not with an extra-bool, instead assume each
RenderReplaced derived class has an intrinsic size. If not, the class should override
computeIntrinsicRatioInformation() for any custom logic - currently only done by RenderImage.
Remove all logic depending on m_hasIntrinsicSize from computeReplacedLogicalWidth/Height, which was used
to support different sizing models depending on if the replaced element is a RenderImage or a RenderPart.
Unify all of this in computeIntrinsicRatioInformation right in RenderReplaced. This allows to remove
a hack from RenderImage::computeReplacedLogicalWidth(), which forced the synchroniziation of the intrinsicSize()
before calling the base classes RenderReplaced::computeReplacedLogicalWidth().
Now RenderImage just overrides the layout() method, calls RenderReplaced::layout() and then sets the container
size of the image resources to [contentWidth(), contentHeight()] - reflecting the actual result of the layout.
Furthermore this now allows us to unify CachedImage::imageSizeForRenderer() again for both SVG and non-SVG images.
Propagating the right container size to the image resource fixes the actual bug, that the SVGImage got pixellated.
Adding new tests covering percentage width or height set on an <img> embedding an external SVG, no more pixelation.
Tests: svg/as-image/img-relative-height-expected.html
svg/as-image/img-relative-height.html
svg/as-image/img-relative-width-expected.html
svg/as-image/img-relative-width.html
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::layout):
(WebCore::RenderImage::computeIntrinsicRatioInformation):
* rendering/RenderImage.h:
(RenderImage):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
(WebCore::rendererHasAspectRatio):
(WebCore):
(WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
(WebCore::RenderReplaced::computeIntrinsicRatioInformation):
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
* rendering/RenderReplaced.h:
(WebCore::RenderReplaced::intrinsicSize):
(RenderReplaced):
(WebCore::RenderReplaced::setIntrinsicSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
* svg/graphics/SVGImage.h:
(WebCore::SVGImage::usesContainerSize):
LayoutTests:
Add new tests covering setting only one of width/height to a percentage when embedding SVGs into <img>s.
* platform/chromium/test_expectations.txt: Update expectations.
* platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.txt: Update changed result - slight rounding difference.
* platform/mac/fast/table/quote-text-around-iframe-expected.png: Update changed result, now the default intrinsic size respects scaling.
* platform/mac/fast/table/quote-text-around-iframe-expected.txt: Ditto.
* svg/as-image/img-relative-height-expected.html: Added.
* svg/as-image/img-relative-height.html: Added.
* svg/as-image/img-relative-width-expected.html: Added.
* svg/as-image/img-relative-width.html: Added.
* svg/as-image/resources/island.svg: Added.
* svg/as-image/svg-non-integer-scaled-image-expected.png:
* svg/as-image/svg-non-integer-scaled-image-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112229
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 27 Mar 2012 08:58:54 +0000 (08:58 +0000)]
Unreviewed, skip two new xmlhttprequest failures on GTK.
* platform/gtk/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112228
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 27 Mar 2012 08:56:45 +0000 (08:56 +0000)]
[GTK] Add method webkit_web_resource_get_data() to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=79667
Reviewed by Gustavo Noronha Silva.
* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkitWebResourceCreate): Add isMainResource parameter indication
whether the resource is the main one of the frame.
(resourceDataCallback): C API callback called when resource data
is available.
(webkit_web_resource_get_data): Asynchronously get the raw data of
the resource.
(webkit_web_resource_get_data_finish): Finish asynchronous
operation started by webkit_web_resource_get_data().
* UIProcess/API/gtk/WebKitWebResource.h:
* UIProcess/API/gtk/WebKitWebResourcePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewResourceLoadStarted): Pass isMainResource parameter
to webkitWebResourceCreate().
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebResourceGetData):
(serverCallback):
(beforeAll):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112227
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 27 Mar 2012 08:56:42 +0000 (08:56 +0000)]
[Qt] Unreviewed gardening. Skip a new asserting test.
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112226
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
loislo@chromium.org [Tue, 27 Mar 2012 08:34:19 +0000 (08:34 +0000)]
Web Inspector: HeapSnapshot: speed-up distanceToWindow calculation.
https://bugs.webkit.org/show_bug.cgi?id=82305
Reviewed by Yury Semikhatsky.
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._bfs):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112225
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 27 Mar 2012 08:30:45 +0000 (08:30 +0000)]
SVGAnimatedType should support SVGAnimatedIntegerOptionalInteger animation
https://bugs.webkit.org/show_bug.cgi?id=67563
Reviewed by Dirk Schulze.
Source/WebCore:
Add SVGAnimatedIntegerOptionalInteger type handling animation of pair<int, int> objects
as used for the SVG properties 'filterRes' and 'order'. They're currently animated as
SVGAnimatedNumberOptionalNumber - but that won't work for animVal support. Fix that
and enable animVal support for SVGAnimatedInteger(OptionalInteger).
Use 'int' as datatype for SVGAnimatedInteger instead of 'long' for consistency, and
move SVGAnimatedEnumeration from 'int' to 'unsigned short', to make them distinguishable.
Test: svg/animations/svginteger-animation-2.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAllInOne.cpp:
* svg/SVGAnimatedEnumeration.h:
(WebCore):
* svg/SVGAnimatedInteger.cpp:
(WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
(WebCore):
(WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedIntegerAnimator::animValWillChange):
(WebCore::SVGAnimatedIntegerAnimator::animValDidChange):
(WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
(WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
* svg/SVGAnimatedInteger.h:
(WebCore):
(SVGAnimatedIntegerAnimator):
* svg/SVGAnimatedIntegerOptionalInteger.cpp: Added.
(WebCore):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::SVGAnimatedIntegerOptionalIntegerAnimator):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndToValues):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndByValues):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateDistance):
* svg/SVGAnimatedIntegerOptionalInteger.h: Copied from Source/WebCore/svg/SVGAnimatedInteger.h.
(WebCore):
(SVGAnimatedIntegerOptionalIntegerAnimator):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::~SVGAnimatedIntegerOptionalIntegerAnimator):
* svg/SVGAnimatedNumberOptionalNumber.cpp:
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::~SVGAnimatedType):
(WebCore::SVGAnimatedType::createIntegerOptionalInteger):
(WebCore):
(WebCore::SVGAnimatedType::integerOptionalInteger):
(WebCore::SVGAnimatedType::valueAsString):
(WebCore::SVGAnimatedType::setValueAsString):
(WebCore::SVGAnimatedType::supportsAnimVal):
* svg/SVGAnimatedType.h:
(SVGAnimatedType):
* svg/SVGAnimatorFactory.h:
(WebCore::SVGAnimatorFactory::create):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::setFilterRes):
* svg/SVGFilterElement.h:
(SVGFilterElement):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getPathSegAtLength):
* svg/SVGPathElement.h:
(SVGPathElement):
* svg/SVGPathParserFactory.cpp:
(WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
* svg/SVGPathParserFactory.h:
(SVGPathParserFactory):
* svg/SVGPathTraversalStateBuilder.cpp:
(WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
* svg/SVGPathTraversalStateBuilder.h:
(SVGPathTraversalStateBuilder):
* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
(WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
(WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
(WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue):
(WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
* svg/properties/SVGPropertyInfo.h:
* svg/properties/SVGPropertyTraits.h:
LayoutTests:
Extend SVGAnimatedInteger tests to cover animVal support.
* svg/animations/script-tests/svginteger-animation-1.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svginteger-animation-2.js: Copied from LayoutTests/svg/animations/script-tests/svginteger-animation-1.js.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/svginteger-animation-1-expected.txt:
* svg/animations/svginteger-animation-2-expected.txt: Added.
* svg/animations/svginteger-animation-2.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112224
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 27 Mar 2012 08:22:37 +0000 (08:22 +0000)]
Enable animVal support for SVGAngle
https://bugs.webkit.org/show_bug.cgi?id=82144
Reviewed by Rob Buis.
Source/WebCore:
Enable animVal support for SVGAnimatedAngle. Very simple now that everything is prepared.
All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedAngleAnimator.
Extended existing tests to cover this.
* svg/SVGAnimatedAngle.cpp:
(WebCore::sharedSVGAngle):
(WebCore::SVGAnimatedAngleAnimator::constructFromString):
(WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedAngleAnimator::animValWillChange):
(WebCore::SVGAnimatedAngleAnimator::animValDidChange):
(WebCore::SVGAnimatedAngleAnimator::calculateDistance):
* svg/SVGAnimatedAngle.h:
(SVGAnimatedAngleAnimator):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::supportsAnimVal):
LayoutTests:
Update tests after enabling animVal support for SVGAnimatedAngle.
* svg/animations/script-tests/svgangle-animation-deg-to-grad.js:
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-deg-to-rad.js:
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-grad-to-deg.js:
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-grad-to-rad.js:
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-rad-to-deg.js:
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-rad-to-grad.js:
(sample2):
(sample3):
* svg/animations/svgangle-animation-deg-to-grad-expected.txt:
* svg/animations/svgangle-animation-deg-to-rad-expected.txt:
* svg/animations/svgangle-animation-grad-to-deg-expected.txt:
* svg/animations/svgangle-animation-grad-to-rad-expected.txt:
* svg/animations/svgangle-animation-rad-to-deg-expected.txt:
* svg/animations/svgangle-animation-rad-to-grad-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112223
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Tue, 27 Mar 2012 08:18:26 +0000 (08:18 +0000)]
Web Inspector: remove remains of path finder in heap profiler front-end
https://bugs.webkit.org/show_bug.cgi?id=82304
Removed remainders of heap path finder as this code is not used anymore.
Reviewed by Pavel Feldman.
Source/WebCore:
* inspector/front-end/HeapSnapshot.js:
* inspector/front-end/HeapSnapshotProxy.js:
LayoutTests:
* inspector/profiler/heap-snapshot-expected.txt:
* inspector/profiler/heap-snapshot.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112222
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 27 Mar 2012 07:59:59 +0000 (07:59 +0000)]
[GTK] Add resources API to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=79477
Reviewed by Gustavo Noronha Silva.
* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Added.
(didInitiateLoadForResource): Call
webkitWebViewResourceLoadStarted() so that view will create the
resource and emit WebKitWebView::resource-load-started.
(didSendRequestForResource): Call webkitWebResourceSentRequest()
with the given request and response.
(didReceiveResponseForResource): Call
webkitWebResourceSetResponse() with the given response.
(didReceiveContentLengthForResource): Call
webkitWebResourceNotifyProgress().
(didFinishLoadForResource): Call webkitWebResourceFinished().
(didFailLoadForResource): Create a GError for the given WKError
and call webkitWebResourceFailed().
(attachResourceLoadClientToView): Add callbacks for the
WKPageResourceLoadClient.
* UIProcess/API/gtk/WebKitResourceLoadClient.h: Added.
* UIProcess/API/gtk/WebKitWebResource.cpp: Added.
(webkitWebResourceGetProperty):
(webkit_web_resource_init):
(webkit_web_resource_class_init):
(webkitWebResourceUpdateURI): Update the active URI every time a
new request is sent to the server.
(webkitWebResourceCreate): Create a WebResource for the given
frame.
(webkitWebResourceSentRequest): Update uri and emit
WebKitWebResource::sent-request.
(webkitWebResourceSetResponse): Set the response property.
(webkitWebResourceNotifyProgress): Emit
WebKitWebResource::received-data.
(webkitWebResourceFinished): Emit WebKitWebResource::finished.
(webkitWebResourceFailed): Emit WebKitWebResource::failed and then
WebKitWebResource::finished.
(webkit_web_resource_get_uri): Return the currentr active URI.
(webkit_web_resource_get_response): Return the response received
from the server.
* UIProcess/API/gtk/WebKitWebResource.h: Added.
* UIProcess/API/gtk/WebKitWebResourcePrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Attach the resource load client to the
view.
(webkit_web_view_class_init): Add
WebKitWebView::resource-load-started signal.
(webkitWebViewLoadChanged): Clear loading resources map when a new
load starts and loaded resources map when the new load has been
committed.
(webkitWebViewResourceLoadStarted): Create a resource for the
given identifier, add it to the loading resources map and emit
WebKitWebView::resource-load-started signal.
(webkitWebViewGetLoadingWebResource): Return the resource that is
being loaded corresponding to the given identifier.
(webkitWebViewRemoveLoadingWebResource): Remove the resouurce
corresponfing to the given identifier from the loading resources
map.
(webkitWebViewResourceLoadFinished): Move the resource from the
loading resources map to the loaded resources map.
(webkit_web_view_get_main_resource): Return the main resource.
(webkit_web_view_get_subresources): Return the list of
subresources.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
WebKitWebResource.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add
webkit_web_resource_get_type.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for resources.
* UIProcess/API/gtk/tests/TestDownloads.cpp:
(testDownloadLocalFile): Use getWebKit1TestResoucesDir() from Test.
(testDownloadLocalFileError): Ditto.
(serverCallback): Ditto.
* UIProcess/API/gtk/tests/TestMain.h:
(Test::getWebKit1TestResoucesDir): Moed from TestDownloads so that
it can be used by other tests.
(Test): Add information about leaked objects.
* UIProcess/API/gtk/tests/TestResources.cpp: Added.
(testWebViewResources):
(testWebResourceLoading):
(testWebResourceResponse):
(testWebResourceActiveURI):
(addCacheHTTPHeadersToResponse):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/webkit2.h: Include WebKitWebResource.h
* UIProcess/API/gtk/webkit2marshal.list:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112221
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 27 Mar 2012 07:57:02 +0000 (07:57 +0000)]
Reverted r112214, since it was not the right fix for the build.
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::asText):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112220
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 27 Mar 2012 07:54:01 +0000 (07:54 +0000)]
Unreviewed, GTK rebaseline.
* platform/gtk/editing/inserting/before-after-input-element-expected.txt:
* platform/gtk/editing/spelling/inline_spelling_markers-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112219
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 27 Mar 2012 07:48:09 +0000 (07:48 +0000)]
[V8][Performance] Optimize createTextNode(), createElement(), cloneNode(), etc
https://bugs.webkit.org/show_bug.cgi?id=82201
Reviewed by Adam Barth.
This patch improves performance of createTextNode() by 13%, createElement() by 14%,
and cloneNode() by 16%. Similar performance improvement will be observed in
DOM methods that create a new object every time.
Performance test: https://bugs.webkit.org/attachment.cgi?id=133799
The performance test results are as follows. Since the performance of V8's GC is
really unstable, the average of measured times makes no sense in Chromium.
Instead, let us focus on the median. I believe that this performance
improvement has impact on Dromaeo, but we cannot observe the improvement
due to the unsteadiness of V8's GC, as shown below.
Chromium/V8/Linux (without the patch):
createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
Dromaeo/dom-modify/createElement: 439.17runs/s +-31.60% (<--- pretty noisy)
Dromaeo/dom-modify/createTextNode: 287.71runs/s +-28.39% (<--- pretty noisy)
Dromaeo/dom-modify/cloneNode: 174.62runs/s +-25.68% (<--- pretty noisy)
Chromium/V8/Linux (with the patch):
createTextNode : median=240ms (mean=411.12ms, min=237ms, max=2965ms)
createElement : median=325ms (mean=585.30ms, min=317ms, max=2984ms)
cloneNode : median=310ms (mean=522.48ms, min=302ms, max=2988ms)
Dromaeo/dom-modify/createElement: 507.15runs/s +-36.00% (<--- pretty noisy)
Dromaeo/dom-modify/createTextNode: 251.01runs/s +-6.57%
Dromaeo/dom-modify/cloneNode: 177.85runs/s +-28.74% (<--- pretty noisy)
Chromium/V8/Mac (without the patch):
createTextNode : median=317ms (mean=439.08ms, min=303ms, max=3126ms)
createElement : median=403ms (mean=695.70ms, min=398ms, max=5615ms)
cloneNode : median=384ms (mean=577.96ms, min=372ms, max=5313ms)
Dromaeo/dom-modify/createElement: 493.89runs/s +-28.32% (<--- pretty noisy)
Dromaeo/dom-modify/createTextNode: 279.66runs/s +-1.91%
Dromaeo/dom-modify/cloneNode: 173.06runs/s +-24.41% (<--- pretty noisy)
Chromium/V8/Mac (with the patch):
createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
Dromaeo/dom-modify/createElement: 510.47runs/s +-28.13% (<--- pretty noisy)
Dromaeo/dom-modify/createTextNode: 215.80runs/s +-20.99% (<--- pretty noisy)
Dromaeo/dom-modify/cloneNode: 174.41runs/s +-24.85% (<--- pretty noisy)
Safari/JavaScriptCore/Mac:
createTextNode : median=142ms (mean=141.04ms, min=110ms, max=168ms)
createElement : median=234ms (mean=245.74ms, min=219ms, max=305ms)
cloneNode : median=210ms (mean=213.36ms, min=204ms, max=284ms)
Dromaeo/dom-modify/createElement: 822.49runs/s +-1.69%
Dromaeo/dom-modify/createTextNode: 735.57runs/s +-0.91%
Dromaeo/dom-modify/cloneNode: 135.20runs/s +-4.13%
This patch makes the following two optimizations:
[1] If the currently running context is equal to the context that we are about to enter,
we do not call context->Enter().
[2] We do not create a Local handle of the context until we really need to enter the context.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::persistentContext):
(WebCore):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bbudge@chromium.org [Tue, 27 Mar 2012 07:38:47 +0000 (07:38 +0000)]
cross-origin XMLHttpRequest doesn't work with redirect
https://bugs.webkit.org/show_bug.cgi?id=57600
Reviewed by Adam Barth.
Source/WebCore:
Changes DocumentThreadableLoader to follow the CORS redirect steps when
asynchronously loading a cross origin request with access control. Synchronous
loads should not be affected. Also adds methods to ResourceRequestBase to
clear special request headers that aren't allowed when using access control.
Follows the CORS spec as described in the Latest Editor Draft at:
http://www.w3.org/TR/cors/
Test: http/tests/xmlhttprequest/access-control-and-redirects-async.html
* loader/DocumentThreadableLoader.cpp:
* loader/DocumentThreadableLoader.h:
* platform/network/ResourceRequestBase.cpp:
* platform/network/ResourceRequestBase.h:
LayoutTests:
Adds tests to verify that an asynchronous XHR load that receives a redirect
response follows the CORS redirect steps.
Follows the CORS spec as described in the Latest Editor Draft at:
http://www.w3.org/TR/cors/
* http/tests/security/resources/cors-redirect.php: Removed.
* http/tests/security/xhr-cors-redirect.html: Removed.
* http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt: Added.
* http/tests/xmlhttprequest/access-control-and-redirects-async.html: Added.
* http/tests/xmlhttprequest/resources/redirect-cors.php: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112217
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 27 Mar 2012 07:35:21 +0000 (07:35 +0000)]
Unreviewed, GTK gardening after r112112.
* platform/gtk/css2.1/
20110323/c543-txt-decor-000-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 27 Mar 2012 07:21:37 +0000 (07:21 +0000)]
ImageLoader::m_firedLoadEvent is a confusing name
https://bugs.webkit.org/show_bug.cgi?id=82283
Reviewed by Kentaro Hara.
This patch renames m_firedLoadEvent (and friends) to
m_hasPendingLoadEvent (and negates the value). That name more
accurately reflects the semantics of this piece of state. For example,
we now initialize m_hasPendingLoadEvent to false, which makes sense as
there is no pending load event, whereas before we initialized
m_firedLoadEvent to true, which made less sense since we hadn't yet
actually fired the load event.
* bindings/v8/V8GCController.cpp:
(WebCore::calculateGroupId):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::attach):
* html/HTMLImageElement.h:
(HTMLImageElement):
(WebCore::HTMLImageElement::hasPendingLoadEvent):
(WebCore::HTMLImageElement::hasPendingActivity):
* html/ImageInputType.cpp:
(WebCore::ImageInputType::attach):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::ImageLoader):
(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::setImage):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
(WebCore::ImageLoader::dispatchPendingLoadEvent):
(WebCore::ImageLoader::dispatchPendingErrorEvent):
* loader/ImageLoader.h:
(WebCore::ImageLoader::hasPendingBeforeLoadEvent):
(WebCore::ImageLoader::hasPendingLoadEvent):
(ImageLoader):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::haveLoadedRequiredResources):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112215
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 27 Mar 2012 07:17:36 +0000 (07:17 +0000)]
Tried to fix 32-bit builds.
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::asText):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112214
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 27 Mar 2012 07:05:08 +0000 (07:05 +0000)]
Not reviewed: fixing Emil's rebaselined of of textfield-overflow for chromium.
* platform/chromium-mac-snowleopard/fast/forms/textfield-overflow-expected.png: Added.
* platform/chromium-mac/fast/forms/textfield-overflow-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 27 Mar 2012 06:56:58 +0000 (06:56 +0000)]
Not reviewed: chromium expectations updated.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 27 Mar 2012 06:39:12 +0000 (06:39 +0000)]
Not reviewed: chromium expectations updated.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kubo@profusion.mobi [Tue, 27 Mar 2012 06:36:10 +0000 (06:36 +0000)]
[EFL] More gardening, update some fast/replaced expectations.
* platform/efl/fast/replaced/001-expected.png:
* platform/efl/fast/replaced/002-expected.png:
* platform/efl/fast/replaced/003-expected.png:
* platform/efl/fast/replaced/004-expected.png:
* platform/efl/fast/replaced/005-expected.png:
* platform/efl/fast/replaced/007-expected.png:
* platform/efl/fast/replaced/absolute-image-sizing-expected.png:
* platform/efl/fast/replaced/absolute-position-percentage-height-expected.png:
* platform/efl/fast/replaced/absolute-position-with-auto-height-and-top-and-bottom-expected.png:
* platform/efl/fast/replaced/absolute-position-with-auto-width-and-left-and-right-expected.png:
* platform/efl/fast/replaced/applet-disabled-positioned-expected.png:
* platform/efl/fast/replaced/applet-rendering-java-disabled-expected.png:
* platform/efl/fast/replaced/border-radius-clip-expected.png:
* platform/efl/fast/replaced/image-resize-width-expected.png:
* platform/efl/fast/replaced/image-sizing-expected.png:
* platform/efl/fast/replaced/image-solid-color-with-alpha-expected.png:
* platform/efl/fast/replaced/inline-box-wrapper-handover-expected.png:
* platform/efl/fast/replaced/max-width-percent-expected.png:
* platform/efl/fast/replaced/object-align-hspace-vspace-expected.png:
* platform/efl/fast/replaced/outline-replaced-elements-expected.png:
* platform/efl/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png:
* platform/efl/fast/replaced/replaced-breaking-expected.png:
* platform/efl/fast/replaced/replaced-breaking-expected.txt:
* platform/efl/fast/replaced/replaced-breaking-mixture-expected.png:
* platform/efl/fast/replaced/replaced-breaking-mixture-expected.txt:
* platform/efl/fast/replaced/selection-rect-in-table-cell-expected.png:
* platform/efl/fast/replaced/selection-rect-transform-expected.png:
* platform/efl/fast/replaced/vertical-lr/absolute-position-with-auto-height-and-top-and-bottom-expected.png:
* platform/efl/fast/replaced/vertical-lr/absolute-position-with-auto-width-and-left-and-right-expected.png:
* platform/efl/fast/replaced/vertical-rl/absolute-position-with-auto-height-and-top-and-bottom-expected.png:
* platform/efl/fast/replaced/vertical-rl/absolute-position-with-auto-width-and-left-and-right-expected.png:
* platform/efl/fast/replaced/width100percent-button-expected.png:
* platform/efl/fast/replaced/width100percent-image-expected.png:
* platform/efl/fast/replaced/width100percent-textarea-expected.png:
* platform/efl/fast/replaced/width100percent-textfield-expected.png:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 27 Mar 2012 06:23:03 +0000 (06:23 +0000)]
Not reviewed: chromium test expectations lint.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 27 Mar 2012 06:06:56 +0000 (06:06 +0000)]
Not reviewed: marking fast/events/platform-wheelevent-* as flaky on
Chromium Snow Leopard.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 05:32:16 +0000 (05:32 +0000)]
Unreviewed, rolling out r112199.
http://trac.webkit.org/changeset/112199
https://bugs.webkit.org/show_bug.cgi?id=82295
Breaks Chromium Win compilation (Requested by pfeldman on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-26
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateToV8Converters):
(GetDomMapFunction):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
(WebCore):
* bindings/v8/V8DOMWrapper.h:
(WebCore):
(V8DOMWrapper):
(WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Tue, 27 Mar 2012 05:09:25 +0000 (05:09 +0000)]
Disable CCLayerTreeHostTestSetSingleLostContext.runMultiThread.
https://bugs.webkit.org/show_bug.cgi?id=82285
Reviewed by James Robinson.
* tests/CCLayerTreeHostTest.cpp:
(WTF::TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
scherkus@chromium.org [Tue, 27 Mar 2012 04:41:38 +0000 (04:41 +0000)]
[chromium] Remove WebMediaElement from Chromium WebKit API.
https://bugs.webkit.org/show_bug.cgi?id=82277
Reviewed by James Robinson.
This was added in r63859 but is no longer used by anyone.
* WebKit.gyp:
* public/WebMediaElement.h: Removed.
* src/WebMediaElement.cpp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112205
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 04:25:16 +0000 (04:25 +0000)]
Fix flaky test fast/eventsource/eventsource-url-attribute.html
https://bugs.webkit.org/show_bug.cgi?id=82257
Patch by Pablo Flouret <pablof@motorola.com> on 2012-03-26
Reviewed by Ryosuke Niwa.
The test used http://localhost, chosen as a semi-random url, but since
it doesn't return a text/event-stream mime-type sometimes a console
warning would appear. Moved the test to the http folder and changed it
to use a resource with the correct mime-type.
* http/tests/eventsource/eventsource-url-attribute-expected.txt: Renamed from LayoutTests/fast/eventsource/eventsource-url-attribute-expected.txt.
* http/tests/eventsource/eventsource-url-attribute.html: Renamed from LayoutTests/fast/eventsource/eventsource-url-attribute.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112204
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Tue, 27 Mar 2012 03:58:35 +0000 (03:58 +0000)]
Build system prep work for upstreaming iOS changes
<http://webkit.org/b/82267>
Reviewed by Mark Rowe.
* DerivedSources.make: Move 'bison' into a variable and use
xcrun to find it on Mac OS X.
* bindings/scripts/preprocessor.pm:
(applyPreprocessor): Add local @args variable. On iOS, the
compiler needs additional "-isysroot $(SDKROOT)" arguments when
invoked, so it's easier to add them to an array, especially if
$SDKROOT contains a space in the path. Remove now-redundant
$gccLocation variable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112203
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dgrogan@chromium.org [Tue, 27 Mar 2012 03:50:43 +0000 (03:50 +0000)]
Extract logic of indexeddb html layout tests into js files that can
be run from either a worker or a window.
The two changed -expected.txt files are just for line numbers in JS
error messages.
Skipped were:
- transaction-abort-with-js-recursion.html
- transaction-abort-with-js-recursion-cross-frame.html
- noblobs.html
- structured-clone.html
- tutorial.html
The first four simulate mouse events and the last isn't really a test.
structured-clone.html will be refactored for worker compatibility in a
future patch.
https://bugs.webkit.org/show_bug.cgi?id=81440
Reviewed by Tony Chang.
* storage/indexeddb/constants.html:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options.html:
... every html file in storage/indexeddb except the ones listed above
* storage/indexeddb/exception-in-event-aborts-expected.txt:
line number in javascript error message changed
* storage/indexeddb/version-change-abort-expected.txt:
line number in javascript error message changed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
japhet@chromium.org [Tue, 27 Mar 2012 03:50:00 +0000 (03:50 +0000)]
Remove duplicate error() impls in CachedResource subclasses
https://bugs.webkit.org/show_bug.cgi?id=81161
Reviewed by Alexey Proskuryakov.
No new tests, refactor only.
* loader/cache/CachedCSSStyleSheet.cpp:
* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedFont.h:
* loader/cache/CachedImage.cpp:
* loader/cache/CachedResource.h: Make checkNotify()
virtual, so the right checkNotify() gets called in error().
* loader/cache/CachedScript.cpp:
* loader/cache/CachedScript.h:
* loader/cache/CachedXSLStyleSheet.cpp:
* loader/cache/CachedXSLStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 03:16:34 +0000 (03:16 +0000)]
Assert failure from capitalized RenderTextFragment
https://bugs.webkit.org/show_bug.cgi?id=82096
Patch by Ken Buchanan <kenrb@chromium.org> on 2012-03-26
Reviewed by Ryosuke Niwa.
Source/WebCore:
The cause of this bug was the call to RenderTextFragment::setTextInternal
resulting from a style change from RenderObject::addChild. The idea here
is to better separate the code path for transforming existing text from
the code path for replacing the underlying text of a node. For
RenderTextFragment this has to be clear because only in the latter case
does the first-letter get reset.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild): Added call to transformText
* rendering/RenderText.cpp:
(WebCore::RenderText::styleDidChange): Added call to transformText
(WebCore::RenderText::transformText): Added
* rendering/RenderText.h:
(WebCore::RenderText::setText): Changed to virtual so RenderTextFragment can override
(WebCore::RenderText::transformText): Added
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::styleDidChange): Removed references to
m_allowFragmentReset which was the previous approach to separating the
code paths
(WebCore::RenderTextFragment::setTextInternal): Deleted
(WebCore::RenderTextFragment::setText): Added with most of logic that was
previously in setTextInternal
(WebCore::RenderTextFragment::transformText): Added
* rendering/RenderTextFragment.h:
(WebCore::RenderTextFragment::setText): Added
(WebCore::RenderTextFragment::transformText): Added
(WebCore::RenderTextFragment::setTextInternal): Deleted
LayoutTests:
Test that exercises failure condition in bug 82096.
* fast/css/first-letter-capitalized-edit-select-crash-expected.txt: Added
* fast/css/first-letter-capitalized-edit-select-crash.html: Added
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112200
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Tue, 27 Mar 2012 02:58:28 +0000 (02:58 +0000)]
Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
https://bugs.webkit.org/show_bug.cgi?id=82256
Reviewed by Adam Barth.
This moves leakRef() calls out of generated code, centralizing them in
V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
(which clearly can't be wrapped in a PassRefPtr).
Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
(GenerateNamedConstructorCallback): ditto.
(GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
instead of directly accessing the wrapper maps and calling set.
(GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
(GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
* bindings/v8/V8DOMWrapper.h:
(WebCore): Forward decls.
(V8DOMWrapper):
(WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
(WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
this one handles non-active Nodes.
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
DOMNode method, now handles only active Nodes.
(WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112199
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Tue, 27 Mar 2012 02:45:03 +0000 (02:45 +0000)]
Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
https://bugs.webkit.org/show_bug.cgi?id=82254
Reviewed by Benjamin Poulain.
Source/WebCore:
No new tests because no functional changes.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/LengthFunctions.cpp:
(WebCore::minimumValueForLength):
(WebCore::valueForLength):
* css/LengthFunctions.h:
(WebCore):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::getRegion):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::layout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::textIndentOffset):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeBlockDirectionMargins):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paddingTop):
(WebCore::RenderBoxModelObject::paddingBottom):
(WebCore::RenderBoxModelObject::paddingLeft):
(WebCore::RenderBoxModelObject::paddingRight):
(WebCore::RenderBoxModelObject::paddingBefore):
(WebCore::RenderBoxModelObject::paddingAfter):
(WebCore::RenderBoxModelObject::paddingStart):
(WebCore::RenderBoxModelObject::paddingEnd):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
* rendering/RenderInline.cpp:
(WebCore::computeMargin):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
* rendering/RenderScrollbarPart.cpp:
(WebCore::calcScrollbarThicknessUsing):
(WebCore::RenderScrollbarPart::computeScrollbarWidth):
(WebCore::RenderScrollbarPart::computeScrollbarHeight):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
* rendering/RenderText.h:
(WebCore::RenderText::marginLeft):
(WebCore::RenderText::marginRight):
* rendering/style/RenderStyle.h:
Source/WebKit2:
* WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
(WebKit::WebPopupMenu::setUpPlatformData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112198
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Tue, 27 Mar 2012 02:42:48 +0000 (02:42 +0000)]
Triggers assertion if dragging from outside of <meter> in a shadow tree to inside of it.
https://bugs.webkit.org/show_bug.cgi?id=82177
Reviewed by Dimitri Glazkov.
Source/WebCore:
VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries has moved the start position or
the end position to the invalid position, i.e. position after (before) the non-existing node.
This patch fixes the problem, and adds assertion that the selection does not cross shadow boundaries.
Test: fast/dom/shadow/drag-to-meter-in-shadow-crash.html
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
LayoutTests:
* fast/dom/shadow/drag-to-meter-in-shadow-crash-expected.txt: Added.
* fast/dom/shadow/drag-to-meter-in-shadow-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112197
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 02:41:20 +0000 (02:41 +0000)]
Enable layout testing of the scroll animator.
https://bugs.webkit.org/show_bug.cgi?id=81858
Add a call to the InternalSettings that layout tests can use to
turn on scroll animation. Enable animation updates for the
Chromium platform DRT when scroll animation has been turned on in
a test. This should be a no-op for all current layout tests.
Patch by Scott Byer <scottbyer@chromium.org> on 2012-03-26
Reviewed by James Robinson.
Source/WebCore:
No new tests. Layout test results should be unchanged.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setEnableScrollAnimator):
(WebCore):
(WebCore::InternalSettings::scrollAnimatorEnabled):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:
Source/WebKit/chromium:
* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::scrollAnimatorEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
Tools:
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::serviceAnimation):
(WebViewHost::scheduleAnimation):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112196
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 02:29:41 +0000 (02:29 +0000)]
[Qt][WK2] Support multi-file upload
https://bugs.webkit.org/show_bug.cgi?id=81589
Patch by Dinu Jacob <dinu.jacob@nokia.com> on 2012-03-26
Reviewed by Simon Hausmann.
Source/WebKit2:
Added 'allowMutipleFiles' property to filePicker context property to indicate whether to allow
multiple file selections.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::chooseFiles):
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml: Added.
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml:
* UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Added.
* UIProcess/API/qt/tests/qmltests/common/singlefileupload.html:
* UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Added.
(updateTitle):
* UIProcess/qt/QtDialogRunner.cpp:
(FilePickerContextObject):
(FilePickerContextObject::FilePickerContextObject):
(FilePickerContextObject::allowMultipleFiles):
(FilePickerContextObject::accept):
(QtDialogRunner::initForFilePicker):
* UIProcess/qt/QtDialogRunner.h:
(QtDialogRunner):
Tools:
Modified filePicker to support multi-file upload.
* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/icons/checkbox_checked.png: Added.
* MiniBrowser/qt/icons/checkbox_unchecked.png: Added.
* MiniBrowser/qt/js/MultiSelect.js: Added.
(values):
(isSelected):
(removeValue):
* MiniBrowser/qt/qml/CheckBox.qml: Added.
* MiniBrowser/qt/qml/FilePicker.qml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
charles.wei@torchmobile.com.cn [Tue, 27 Mar 2012 02:17:23 +0000 (02:17 +0000)]
Fix minor spell error in DocumentLoader.h
https://bugs.webkit.org/show_bug.cgi?id=82141
Reviewed by Nate Chapin.
Just fix spell error, no new tests.
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::setClientRedirectSourceForHistory):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112194
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 02:13:08 +0000 (02:13 +0000)]
[Skia] Remove use of deprecated Skia constant and struct field names
https://bugs.webkit.org/show_bug.cgi?id=81034
Patch by Brian Salomon <bsalomon@google.com> on 2012-03-26
Reviewed by James Robinson.
No behavior change, so no tests. The modified code is executed by many existing tests.
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::createAcceleratedCanvas):
* platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
(WebCore::CCRenderSurfaceFilters::apply):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::createAcceleratedCanvas):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112193
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Mar 2012 02:03:47 +0000 (02:03 +0000)]
Unaligned userspace access for SH4 platforms
https://bugs.webkit.org/show_bug.cgi?id=79104
Patch by Thouraya ANDOLSI <thouraya.andolsi@st.com> on 2012-03-26
Reviewed by Gavin Barraclough.
* assembler/AbstractMacroAssembler.h:
(Jump):
(JSC::AbstractMacroAssembler::Jump::Jump):
(JSC::AbstractMacroAssembler::Jump::link):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load16Unaligned):
(JSC::MacroAssemblerSH4::load32WithUnalignedHalfWords):
(JSC::MacroAssemblerSH4::branchDouble):
(JSC::MacroAssemblerSH4::branchTrue):
(JSC::MacroAssemblerSH4::branchFalse):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::extraInstrForBranch):
(SH4Assembler):
(JSC::SH4Assembler::bra):
(JSC::SH4Assembler::linkJump):
* jit/JIT.h:
(JIT):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112192
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nduca@chromium.org [Tue, 27 Mar 2012 02:01:42 +0000 (02:01 +0000)]
[chromium] Add isInputThrottled/didBecomeReadyForAdditionalInput to WebWidget
https://bugs.webkit.org/show_bug.cgi?id=82265
Source/Platform:
Reviewed by James Robinson.
* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):
* chromium/public/WebLayerTreeViewClient.h:
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::didCommit):
Source/WebCore:
In threaded compositing mode, the WebWidget is self-scheduled,
receiving damage and processing it without forwarding that damage
up to the embedding WebWidgetClient. In Chromium's case, the
client uses the presence of damage to perform input flow
control. This patch exposes the need for input flow control to the
embedder, while keeping the actual logic about what exactly
warrants input flow control inside the implementation.
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::commitComplete):
(WebCore::CCLayerTreeHost::commitRequested):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHostClient):
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::commitRequested):
(WebCore):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::commitRequested):
(WebCore):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
Source/WebKit/chromium:
In threaded compositing mode, the WebWidget is self-scheduled,
receiving damage and processing it without forwarding that damage
up to the embedding WebWidgetClient. In Chromium's case, the
client uses the presence of damage to perform input flow
control. This patch exposes the need for input flow control to the
embedder, while keeping the actual logic about what exactly
warrants input flow control inside the implementation.
Reviewed by James Robinson.
* public/WebWidget.h:
(WebWidget):
(WebKit::WebWidget::isInputThrottled):
* public/WebWidgetClient.h:
(WebWidgetClient):
(WebKit::WebWidgetClient::didBecomeReadyForAdditionalInput):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::commitRequested):
(WebKit):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::didCommit):
(WebKit):
* src/WebLayerTreeViewImpl.h:
(WebLayerTreeViewImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::isInputThrottled):
(WebKit):
(WebKit::WebViewImpl::didCommit):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHostClient::didCommit):
(MockLayerTreeHostClient):
* tests/FakeCCLayerTreeHostClient.h:
(FakeCCLayerTreeHostClient):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112191
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 27 Mar 2012 01:59:06 +0000 (01:59 +0000)]
When <img crossorigin> fails the CORS check, we should fire the error event
https://bugs.webkit.org/show_bug.cgi?id=81998
Reviewed by Nate Chapin.
Source/WebCore:
The spec says we're supposed to fire the error event when the CORS
check fails, but we haven't been. This patch is larger than it might
otherwise be because we're firing the event asynchronously, but that
seems like the right thing to do.
Tests: http/tests/security/img-with-failed-cors-check-fails-to-load.html
* dom/Document.cpp:
(WebCore::Document::implicitClose):
* loader/ImageLoader.cpp:
(WebCore::errorEventSender):
(WebCore):
(WebCore::ImageLoader::ImageLoader):
(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::setImage):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::dispatchPendingEvent):
(WebCore::ImageLoader::dispatchPendingErrorEvent):
(WebCore::ImageLoader::dispatchPendingErrorEvents):
* loader/ImageLoader.h:
(ImageLoader):
LayoutTests:
Check that we're firing the error event in this case.
* http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
* http/tests/security/img-with-failed-cors-check-fails-to-load.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112190
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Tue, 27 Mar 2012 01:56:17 +0000 (01:56 +0000)]
Retry crashing tests serially at the end of NRWT on Apple Mac
https://bugs.webkit.org/show_bug.cgi?id=82233
Reviewed by Dirk Pranke.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.should_retry_crashes):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.should_retry_crashes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112189
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 27 Mar 2012 01:32:23 +0000 (01:32 +0000)]
Rebaseline after r112177.
* fast/dom/css-dom-read-2-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112188
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Tue, 27 Mar 2012 01:31:50 +0000 (01:31 +0000)]
Make filters and the threaded compositor play well together.
https://bugs.webkit.org/show_bug.cgi?id=78139
Use a dedicated GraphicsContext3D instance for all filters calls in
the threaded case. Clone all FilterOperations for thread safety
in the threaded case.
Reviewed by James Robinson.
Covered by tests in LayoutTests/css3/filters.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setFilters):
Set a global flag if we've seen content with filters, so we know
we need to create the filter context.
(WebCore::LayerChromium::pushPropertiesTo):
Clone all filter operations if we're in the threaded case.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::needsFilterContext):
(WebCore::CCLayerTreeHost::setNeedsFilterContext):
(CCLayerTreeHost):
Add flag and accessors for needsFilterContext.
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::applyFilters):
Pick up the appropriate context from SharedGraphicsContext3D,
depending if we're in the threaded case or not.
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::recreateContext):
For the threaded compositor re-create the filter context
alongside the main compositor context on lost context, if requested.
(WebCore::CCThreadProxy::beginFrame):
Create the filter context in beginFrame, if it was resquested and is
NULL. This handles the first-use case.
* platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::clone):
Assert if trying to clone the custom filter operation (it has
non-threadsafe members).
* platform/graphics/filters/FilterOperation.h:
(WebCore::DefaultFilterOperation::clone):
(WebCore::PassthroughFilterOperation::clone):
(WebCore::ReferenceFilterOperation::clone):
(WebCore::BasicColorMatrixFilterOperation::clone):
(WebCore::BasicComponentTransferFilterOperation::clone):
(WebCore::GammaFilterOperation::clone):
(WebCore::BlurFilterOperation::clone):
(WebCore::DropShadowFilterOperation::clone):
Add clone methods for all FilterOperations.
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
(WebCore::SharedGraphicsContext3DImpl::getContext):
(WebCore::SharedGraphicsContext3DImpl::createContext):
(WebCore::SharedGraphicsContext3D::get):
(WebCore::getOrCreateContextForImplThread):
(WebCore::SharedGraphicsContext3D::getForImplThread):
(WebCore::SharedGraphicsContext3D::haveForImplThread):
(WebCore::SharedGraphicsContext3D::createForImplThread):
Split out context creation, lost context recovery, and retrieval
into separate functions, so the impl thread can use only the parts
it wants on the threads it wants (create and have on main, get on impl).
Add asserts to ensure that's how they're called.
* platform/graphics/gpu/SharedGraphicsContext3D.h:
(SharedGraphicsContext3D):
Reuse the SharedGraphicsContext infrastructure to create a new
context singleton for filter use in the threaded compositor.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112187
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 27 Mar 2012 01:21:51 +0000 (01:21 +0000)]
Set eol-style: native on WTF.sln per Ryan Sleevi's request.
* WTF.vcproj/WTF.sln: Added property svn:eol-style.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112186
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 27 Mar 2012 01:12:31 +0000 (01:12 +0000)]
Chromium build fix; add BitVector.h/cpp to gypi.
* WTF.gypi:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 27 Mar 2012 01:09:43 +0000 (01:09 +0000)]
FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
https://bugs.webkit.org/show_bug.cgi?id=81020
Reviewed by Eric Seidel.
Source/WebCore:
The vast majority of security checks in the browser should use a
ScriptExecutionContext (aka a Document) to designate "who" is
attempting to perform a given action. Unfortunately,
shouldAllowNavigation was using a Frame to designate "who" is
attempting the navigation.
In cases when the executing script is "inactive" (i.e., belongs to a
document that is not currently displayed in a Frame), using the Frame
can cause us to grant the script the privileges of the document that's
currently displayed in the Frame rather than the one that contains the
script.
This patch moves shouldAllowNavigation from FrameLoader to Document
(and renames it to canNavigate), effectively change the context object
from a Frame to a Document.
Test: http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
* bindings/generic/BindingSecurity.h:
(BindingSecurity):
(WebCore):
* bindings/v8/V8Utilities.cpp:
(WebCore):
* bindings/v8/V8Utilities.h:
(WebCore):
- Deletes unused code.
* dom/Document.cpp:
(WebCore::canAccessAncestor):
(WebCore):
(WebCore::Document::canNavigate):
- canNavigate is copied from FrameLoader::shouldAllowNavigation.
I've added a null-check bailout if the document is inactive.
* dom/Document.h:
(Document):
* loader/FormState.cpp:
(WebCore::FormState::FormState):
(WebCore::FormState::create):
* loader/FormState.h:
(WebCore):
(FormState):
(WebCore::FormState::sourceDocument):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
- Changes the context object from Frame to Document.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore):
(WebCore::FrameLoader::findFrameForNavigation):
- FrameLoader::findFrameForNavigation still incorrectly uses Frame
as the context object, but that's a bug for another patch.
(WebCore::createWindow):
* loader/FrameLoader.h:
(FrameLoader):
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledFormSubmission::fire):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::setLocation):
(WebCore::DOMWindow::open):
* page/History.cpp:
(WebCore::History::go):
Source/WebKit/mac:
Update call site to new function name.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSubmitForm):
Source/WebKit/win:
Update call site to new function name.
* WebFrame.cpp:
(WebFrame::dispatchWillSubmitForm):
Source/WebKit2:
Update call site to new function name.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
LayoutTests:
Test that a script from an inactive document doesn't inherit the
navigation privileges of the document that currently occupies the
frame.
* http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child-expected.txt: Added.
* http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html: Added.
* http/tests/security/frameNavigation/resources/fail.html: Added.
* http/tests/security/frameNavigation/resources/iframe-with-inner-frame-on-foreign-domain.html:
* http/tests/security/frameNavigation/resources/popup-ready-to-navigate-child.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 27 Mar 2012 01:02:54 +0000 (01:02 +0000)]
Trigger a build on Chromium Linux boxes to see if clean builds succeed or not.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vangelis@chromium.org [Tue, 27 Mar 2012 00:16:30 +0000 (00:16 +0000)]
[chromium] Simplify and fix CCLayerSorter
https://bugs.webkit.org/show_bug.cgi?id=82114
Source/WebCore:
A significant cleanup, simplification and improvement of the CCLayerSorter code.
Simplified the LayerShape structure to use WebCore's FloatQuad for all overlap tests.
By treating every layer as two triangles, the old overlap code did a lot of redundant work
including testing two of the vertices of the layer and its diagonal twice. The new overlap
tests check:
1. The four corners of each of the two layers against the other layer.
2. The four edges of each layer against the edges of the other layer.
Unlike the old code, the new code has no early-outs in the overlap tests as those where causing
us to miss legitimate overlaps.
A new technique for breaking dependency cycles introduced by intersecting layers is implemented.
Instead of arbitrarily breaking cycles by choosing the node in the graph with the smallest number of
incoming edges (i.e. layers that need to be drawn before it) we chose the one with the smallest sum
of graph edge weights (defined as the max depth difference between two layers). Layers that intersect
have their respective graph edge weight set to zero, making them more likely to be picked for breaking
the cycles (it's not a perfect solution but it seems to perform much better than the previous one).
In addition to being overly complex and doing reduntant work, the old code was missing a
perspective divide when computing the coordinates of the layer's corners in the projected plane
which was the source of a lot of mis-sorted results.
In all, these improvements, fix a lot of outstanding issues with layer sorting, on pages such as:
http://www.keithclark.co.uk/labs/3dcss/demo/
http://2012.beercamp.com
https://developer.mozilla.org/fr/demos/detail/the-box/launch
Tests: CCLayerSorter unit tests.
Reviewed by Kenneth Russell.
* platform/graphics/chromium/cc/CCLayerSorter.cpp:
(WebCore):
(WebCore::perpProduct):
(WebCore::edgeEdgeTest):
(WebCore::CCLayerSorter::checkOverlap):
(WebCore::CCLayerSorter::LayerShape::LayerShape):
(WebCore::CCLayerSorter::LayerShape::layerZFromProjectedPoint):
(WebCore::CCLayerSorter::createGraphNodes):
(WebCore::CCLayerSorter::createGraphEdges):
(WebCore::CCLayerSorter::sort):
* platform/graphics/chromium/cc/CCLayerSorter.h:
(WebCore::CCLayerSorter::CCLayerSorter):
(CCLayerSorter):
(LayerShape):
(WebCore::CCLayerSorter::GraphNode::GraphNode):
(GraphNode):
(WebCore::CCLayerSorter::GraphEdge::GraphEdge):
(GraphEdge):
Source/WebKit/chromium:
Adjustments to the CCLayerSorter unit tests to account for API changes in the
CCLayerSorter class.
Reviewed by Kenneth Russell.
* tests/CCLayerSorterTest.cpp:
(WebCore):
(WebCore::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Tue, 27 Mar 2012 00:12:49 +0000 (00:12 +0000)]
NRWT should retry failures serially
https://bugs.webkit.org/show_bug.cgi?id=82241
Reviewed by Dirk Pranke.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests): Add another parameter to specify the number of workers to use.
(Manager.run): Run the failures serially.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc