yurys@chromium.org [Mon, 31 May 2010 14:36:14 +0000 (14:36 +0000)]
2010-05-31 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: allow hiding Scripts panel from Chromium code. This
is needed to support v8 debugging protocol which has an implementation
that conflicts with debugger provided by the inspector.
https://bugs.webkit.org/show_bug.cgi?id=39952
* public/WebDevToolsAgentClient.h:
(WebKit::WebDevToolsAgentClient::exposeV8DebuggerProtocol):
* public/WebDevToolsFrontendClient.h:
(WebKit::WebDevToolsFrontendClient::WebDevToolsFrontendClient):
(WebKit::WebDevToolsFrontendClient::sendMessageToAgent):
(WebKit::WebDevToolsFrontendClient::sendDebuggerCommandToAgent):
(WebKit::WebDevToolsFrontendClient::sendDebuggerPauseScript):
(WebKit::WebDevToolsFrontendClient::activateWindow):
(WebKit::WebDevToolsFrontendClient::closeWindow):
(WebKit::WebDevToolsFrontendClient::requestDockWindow):
(WebKit::WebDevToolsFrontendClient::requestUndockWindow):
(WebKit::WebDevToolsFrontendClient::hideScriptsPanel):
* src/DebuggerAgentManager.cpp:
(WebKit::DebuggerAgentManager::debugAttach):
(WebKit::DebuggerAgentManager::debugDetach):
(WebKit::DebuggerAgentManager::setExposeV8DebuggerProtocol):
* src/DebuggerAgentManager.h:
* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::hiddenPanels):
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::WebDevToolsAgentImpl):
(WebKit::WebDevToolsAgentImpl::attach):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Mon, 31 May 2010 13:52:55 +0000 (13:52 +0000)]
[Qt] Escape backslashes in the .pro files
Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2010-05-31
Reviewed by Simon Hausmann.
qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
WebCore:
* WebCore.pro:
WebKit/qt:
* Api/DerivedSources.pro:
* docs/docs.pri:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 31 May 2010 13:34:49 +0000 (13:34 +0000)]
2010-05-31 Anton Muhin <antonm@chromium.org>
Reviewed by Darin Adler.
Make NodeList getters take AtomicString instead of plain String
https://bugs.webkit.org/show_bug.cgi?id=39892
Those methods turn String into AtomicString later. And this conversion
is faster if underlying string is already atomic.
That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
I don't know if Safari benefits from it.
* dom/Node.cpp:
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
* dom/Node.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Mon, 31 May 2010 08:05:05 +0000 (08:05 +0000)]
2010-05-31 Roland Steiner <rolandsteiner@chromium.org>
Unreviewed: update Chromium expectations for html5lib/runner.html
Update the Chromium version of runner-expected.txt after r60430
* platform/chromium/html5lib/runner-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 31 May 2010 07:16:01 +0000 (07:16 +0000)]
2010-05-31 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Accessibility tests shouldn't rely on crazy <title> parsing
https://bugs.webkit.org/show_bug.cgi?id=39940
We have a separate test for crazy <title> parsing already in
fast/tokenizer. Also, this patch makes these tests pass with the HTML5
parser (and run in Firefox).
* accessibility/image-link-inline-cont.html:
* accessibility/image-link.html:
* accessibility/inline-continuations.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Mon, 31 May 2010 06:39:57 +0000 (06:39 +0000)]
2010-05-30 Roland Steiner <rolandsteiner@chromium.org>
Unreviewed: add failing test to Chromium test_expectations.txt
WK rev. 60386 added storage/transaction-success-callback-isolated-world.html
which fails in Chromium on all platforms.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 31 May 2010 06:24:46 +0000 (06:24 +0000)]
2010-05-30 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39939
Add some tests for the bogus comment state.
* html5lib/resources/comments01.dat:
* html5lib/runner-expected.txt:
2010-05-30 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39939
Turns out we need to implement the bogus comment state. :)
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Mon, 31 May 2010 06:01:52 +0000 (06:01 +0000)]
2010-05-30 Roland Steiner <rolandsteiner@chromium.org>
Unreviewed: rebaseline range-between-block-and-inline for Chromium.
Add rebaselined test expectations for Chromium Win & Linux for
editing/selection/range-between-block-and-inline.html
* platform/chromium-linux/editing/selection/range-between-block-and-inline-expected.checksum: Added.
* platform/chromium-linux/editing/selection/range-between-block-and-inline-expected.png: Added.
* platform/chromium-linux/editing/selection/range-between-block-and-inline-expected.txt: Added.
* platform/chromium-win/editing/selection/range-between-block-and-inline-expected.checksum: Added.
* platform/chromium-win/editing/selection/range-between-block-and-inline-expected.png: Added.
* platform/chromium-win/editing/selection/range-between-block-and-inline-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Mon, 31 May 2010 05:11:38 +0000 (05:11 +0000)]
2010-05-30 Roland Steiner <rolandsteiner@chromium.org>
Unreviewed: fix Chromium test expectations.
Fix Chromium test expectations for html5lib/runner.html
* platform/chromium-mac/html5lib/runner-expected.txt: Removed.
* platform/chromium-win/html5lib/runner-expected.txt: Removed.
* platform/chromium/html5lib/runner-expected.txt: Added.
* platform/chromium/html5lib/webkit-runner-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tkent@chromium.org [Mon, 31 May 2010 04:07:48 +0000 (04:07 +0000)]
2010-05-30 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
new-run-webkit-tests: Support DRT on Chromium-win
https://bugs.webkit.org/show_bug.cgi?id=39810
Add --test-shell flag to DRT/Chromium, and it changes DRT so that
it behaves like test_shell about command analysis, printing
format, pixel dumping, and timeout handling.
chromium.py and chromium_win.py supports the --test-shell flag and
DRT/Chromium-win binary names.
* DumpRenderTree/DumpRenderTree.gypi: Add new files.
* DumpRenderTree/chromium/DumpRenderTree.cpp:
(runTest): Support for test_shell-style command.
(main): Introduce --test-shell.
* DumpRenderTree/chromium/TestEventPrinter.cpp: Added.
* DumpRenderTree/chromium/TestEventPrinter.h: Added.
TestEventPrinter class manages stdio output and image output.
TestEventPrinter.cpp has two implementations; DRTPrinter and
TestShellPrinter.
* DumpRenderTree/chromium/TestShell.cpp:
Some changes for TestEventPrinter.
(TestShell::TestShell):
(TestShell::runFileTest):
(TestShell::testTimedOut):
(TestShell::dump):
(TestShell::dumpImage):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::printer):
(TestShell::layoutTestTimeout):
(TestShell::layoutTestTimeoutForWatchDog):
(TestShell::setLayoutTestTimeout):
* DumpRenderTree/chromium/TestShellWin.cpp:
(watchDogThread): Use TestShell::layoutTestTimeoutForWatchDog().
* Scripts/webkitpy/layout_tests/port/chromium.py:
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 31 May 2010 01:04:31 +0000 (01:04 +0000)]
2010-05-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
https://bugs.webkit.org/show_bug.cgi?id=39935
Test: fast/tokenizer/write-partial-entity.html
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::executeScript):
- Use m_source.append(oldInsertionPoint) instead of
oldInsertionPoint.prepend(m_source) because m_source may have had
characters pushed onto it and prepend() does not handle that case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 31 May 2010 00:51:55 +0000 (00:51 +0000)]
2010-05-30 Lyon Chen <liachen@rim.com>
Reviewed by Kent Tamura.
This is a coding style cleanup before fixing to bug 35530.
Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
https://bugs.webkit.org/show_bug.cgi?id=35530
* editing/Editor.cpp:
(WebCore::Editor::deleteWithDirection):
(WebCore::Editor::fontForSelection):
(WebCore::Editor::applyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::triStateOfStyleInComputedStyle):
(WebCore::Editor::selectionStartHasStyle):
(WebCore::Editor::selectionHasStyle):
(WebCore::Editor::paste):
(WebCore::Editor::ignoreSpelling):
(WebCore::Editor::learnSpelling):
(WebCore::findFirstMisspellingInRange):
(WebCore::findFirstGrammarDetailInRange):
(WebCore::findFirstBadGrammarInRange):
(WebCore::findFirstMisspellingOrBadGrammarInRange):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::isSelectionMisspelled):
(WebCore::isRangeUngrammatical):
(WebCore::Editor::guessesForMisspelledSelection):
(WebCore::guessesForMisspelledOrUngrammaticalRange):
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeToggleStyleInList):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeDelete):
(WebCore::executeForwardDelete):
(WebCore::executeInsertLineBreak):
(WebCore::supportedCopyCut):
(WebCore::supportedPaste):
(WebCore::enabledDelete):
* editing/SelectionController.cpp:
(WebCore::SelectionController::modifyExtendingRight):
(WebCore::SelectionController::modifyExtendingForward):
(WebCore::SelectionController::modifyMovingRight):
(WebCore::SelectionController::modifyMovingForward):
(WebCore::SelectionController::modifyExtendingLeft):
(WebCore::SelectionController::modifyExtendingBackward):
(WebCore::SelectionController::modifyMovingLeft):
(WebCore::SelectionController::modifyMovingBackward):
(WebCore::SelectionController::modify):
(WebCore::SelectionController::xPosForVerticalArrowNavigation):
(WebCore::SelectionController::debugRenderer):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::doApply):
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::updatePreservesTypingStyle):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::canHandleDragAndDropForTarget):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::handleKeyboardSelectionMovement):
(WebCore::EventHandler::handleDrag):
2010-05-30 Lyon Chen <liachen@rim.com>
Reviewed by Kent Tamura.
This is a coding style cleanup before fixing to bug 35530.
Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
https://bugs.webkit.org/show_bug.cgi?id=35530
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::scopeStringMatches):
(WebKit::WebFrameImpl::createChildFrame):
(WebKit::WebFrameImpl::shouldScopeMatches):
2010-05-30 Lyon Chen <liachen@rim.com>
Reviewed by Kent Tamura.
This is a coding style cleanup before fixing to bug 35530.
Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
https://bugs.webkit.org/show_bug.cgi?id=35530
* WebCoreSupport/EditorClientHaiku.cpp:
(WebCore::EditorClientHaiku::handleKeyboardEvent):
2010-05-30 Lyon Chen <liachen@rim.com>
Reviewed by Kent Tamura.
This is a coding style cleanup before fixing to bug 35530.
Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
https://bugs.webkit.org/show_bug.cgi?id=35530
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::registerCommandForUndo):
(WebCore::EditorClientQt::handleKeyboardEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 31 May 2010 00:16:25 +0000 (00:16 +0000)]
2010-05-30 Daniel Bates <dbates@rim.com>
Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
I missed a few call sites in the Chromium source when I
landed http://trac.webkit.org/changeset/60419.
Credit to Chris Jerdonek for looking over both this patch and the patch
committed in r60419.
* src/WebSearchableFormData.cpp:
(WebCore::GetButtonToActivate):
(WebCore::HasSuitableTextElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Sun, 30 May 2010 23:55:43 +0000 (23:55 +0000)]
2010-05-30 Daniel Bates <dbates@rim.com>
Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::isEnabledFormControl):
(WebCore::HTMLFormControlElement::isReadOnlyFormControl):
(WebCore::HTMLFormControlElement::isFormControlElement):
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isPasswordField):
2010-05-30 Daniel Bates <dbates@rim.com>
Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::autofill):
* src/WebFormControlElement.cpp:
(WebKit::WebFormControlElement::formControlName):
(WebKit::WebFormControlElement::formControlType):
* src/WebFormElement.cpp:
(WebKit::WebFormElement::getFormControlElements):
* src/WebPasswordFormUtils.cpp:
(WebKit::findPasswordFormFields):
2010-05-30 Daniel Bates <dbates@rim.com>
Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
* WebFrame.cpp:
(WebFrame::elementWithName):
(WebFrame::controlsInForm):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 30 May 2010 21:22:42 +0000 (21:22 +0000)]
2010-05-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Make more HTML DOM members private, especially constructors, third and final batch
https://bugs.webkit.org/show_bug.cgi?id=39916
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
function, associatedElements, rather than getting directly at a data member
named formElements.
(-[WebHTMLRepresentation controlsInForm:]): Ditto.
2010-05-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Make more HTML DOM members private, especially constructors, third and final batch
https://bugs.webkit.org/show_bug.cgi?id=39916
* dom/Document.cpp:
(WebCore::Document::implicitClose):
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI):
* editing/EditorCommand.cpp:
(WebCore::executeInsertHorizontalRule):
(WebCore::executeInsertImage):
* editing/htmlediting.cpp:
(WebCore::createDefaultParagraphElement):
(WebCore::createListItemElement):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError):
(WebCore::HTMLParser::headCreateErrorCheck):
(WebCore::HTMLParser::formCreateErrorCheck):
(WebCore::HTMLParser::createHead):
(WebCore::HTMLParser::handleIsindex):
(WebCore::HTMLParser::finished):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::createSubtreeIfNeeded):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
Use create instead of new to create HTML elements.
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::formCollectionInfo):
(WebCore::HTMLFormCollection::item):
(WebCore::HTMLFormCollection::getNamedFormItem):
(WebCore::HTMLFormCollection::updateNameCache):
* html/HTMLFormControlElement.h:
Updated for name and privacy changes in HTMLFormElement.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::create):
(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::length):
(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::HTMLFormElement::createFormData):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::formElementIndex):
(WebCore::HTMLFormElement::registerFormElement):
(WebCore::HTMLFormElement::removeFormElement):
(WebCore::HTMLFormElement::registerImgElement):
(WebCore::HTMLFormElement::removeImgElement):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::collectUnhandledInvalidControls):
(WebCore::HTMLFormElement::addElementAlias):
(WebCore::HTMLFormElement::documentDidBecomeActive):
* html/HTMLFormElement.h:
Added create functions. Made constructors and other members private.
Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
m_collectionCache and used an OwnPtr for it. Renamed formElements to
m_associatedElements (since its contents are what HTML5 calls
"form-associated element", not form elements). Renamed imgElements to
m_imageElements.
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
(WebCore::HTMLFrameSetElement::create):
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
* html/HTMLFrameSetElement.h:
Added create functions. Made constructors and other members private.
Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
OwnArrayPtr for both.
* html/HTMLLabelElement.cpp:
(WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
of HTMLElement, since isFormControlElement is available on Element.
(WebCore::HTMLLabelElement::HTMLLabelElement):
(WebCore::HTMLLabelElement::create):
* html/HTMLLabelElement.h:
Added create functions. Made constructors and other members private.
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::HTMLLegendElement):
(WebCore::HTMLLegendElement::create):
(WebCore::HTMLLegendElement::associatedControl):
(WebCore::HTMLLegendElement::focus):
(WebCore::HTMLLegendElement::accessKeyAction):
* html/HTMLLegendElement.h:
Added create functions. Made constructors and other members private.
Renamed formElement to associatedControl since hte control associated
with this legend is not a "form element".
* editing/DeleteButton.cpp:
(WebCore::DeleteButton::DeleteButton):
(WebCore::DeleteButton::create):
* editing/DeleteButton.h:
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::HTMLDivElement):
(WebCore::HTMLDivElement::create):
* html/HTMLDivElement.h:
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::create):
* html/HTMLFontElement.h:
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::HTMLHRElement):
(WebCore::HTMLHRElement::create):
* html/HTMLHRElement.h:
* html/HTMLHeadElement.cpp:
(WebCore::HTMLHeadElement::HTMLHeadElement):
(WebCore::HTMLHeadElement::create):
* html/HTMLHeadElement.h:
* html/HTMLHeadingElement.cpp:
(WebCore::HTMLHeadingElement::HTMLHeadingElement):
(WebCore::HTMLHeadingElement::create):
* html/HTMLHeadingElement.h:
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::HTMLHtmlElement):
(WebCore::HTMLHtmlElement::create):
* html/HTMLHtmlElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::create):
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
* html/HTMLInputElement.h:
* html/HTMLIsIndexElement.cpp:
(WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
(WebCore::HTMLIsIndexElement::create):
* html/HTMLIsIndexElement.h:
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::HTMLLIElement):
(WebCore::HTMLLIElement::create):
* html/HTMLLIElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::create):
* html/HTMLLinkElement.h:
Added create functions. Made constructors and other members private.
* html/HTMLTagNames.in: Removed the createWithNew flag from all the
tags that were still using it: div, font, form, frameset, h1, h2, h3,
h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
legend, li, and link.
* html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
function, since the one in HTMLFormElement does the same thing.
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentElement::ImageDocumentElement):
(WebCore::ImageDocumentElement::create):
(WebCore::ImageDocument::createDocumentStructure):
Added create functions. Made constructors and other members private.
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
function instead of the virtual isEnabledFormControl function, which just
turns around and calls the disabled function.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
(WebCore::MediaControlShadowRootElement::create):
(WebCore::MediaControlElement::MediaControlElement):
(WebCore::MediaControlElement::create):
(WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
(WebCore::MediaControlTimelineContainerElement::create):
(WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
(WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
(WebCore::MediaControlVolumeSliderContainerElement::create):
(WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
(WebCore::MediaControlStatusDisplayElement::create):
(WebCore::MediaControlStatusDisplayElement::update):
(WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
(WebCore::MediaControlInputElement::MediaControlInputElement):
(WebCore::MediaControlInputElement::styleForElement):
(WebCore::MediaControlInputElement::rendererIsNeeded):
(WebCore::MediaControlInputElement::attach):
(WebCore::MediaControlInputElement::updateStyle):
(WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
(WebCore::MediaControlMuteButtonElement::create):
(WebCore::MediaControlMuteButtonElement::defaultEventHandler):
(WebCore::MediaControlMuteButtonElement::updateDisplayType):
(WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlPlayButtonElement::updateDisplayType):
(WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
(WebCore::MediaControlSeekButtonElement::create):
(WebCore::MediaControlSeekButtonElement::isForwardButton):
(WebCore::MediaControlSeekButtonElement::defaultEventHandler):
(WebCore::MediaControlSeekButtonElement::seekTimerFired):
(WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlRewindButtonElement::defaultEventHandler):
(WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
(WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlTimelineElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::update):
(WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
(WebCore::MediaControlVolumeSliderElement::create):
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderElement::update):
(WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
(WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
(WebCore::MediaControlTimeDisplayElement::create):
* rendering/MediaControlElements.h:
Added create functions. Made constructors and other members private.
* rendering/RenderFileUploadControl.cpp:
(WebCore::ShadowInputElement::ShadowInputElement):
(WebCore::ShadowInputElement::create):
(WebCore::RenderFileUploadControl::updateFromElement):
Added create functions. Made constructors and other members private.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::createControlsShadowRoot):
(WebCore::RenderMedia::createPanel):
(WebCore::RenderMedia::createMuteButton):
(WebCore::RenderMedia::createPlayButton):
(WebCore::RenderMedia::createSeekBackButton):
(WebCore::RenderMedia::createSeekForwardButton):
(WebCore::RenderMedia::createRewindButton):
(WebCore::RenderMedia::createReturnToRealtimeButton):
(WebCore::RenderMedia::createToggleClosedCaptionsButton):
(WebCore::RenderMedia::createStatusDisplay):
(WebCore::RenderMedia::createTimelineContainer):
(WebCore::RenderMedia::createTimeline):
(WebCore::RenderMedia::createVolumeSliderContainer):
(WebCore::RenderMedia::createVolumeSlider):
(WebCore::RenderMedia::createCurrentTimeDisplay):
(WebCore::RenderMedia::createTimeRemainingDisplay):
(WebCore::RenderMedia::createFullscreenButton):
Use create instead of new.
* rendering/RenderProgress.cpp:
(WebCore::ProgressValueElement::ProgressValueElement):
(WebCore::ProgressValueElement::create):
(WebCore::RenderProgress::updateValuePartState):
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::SliderThumbElement):
(WebCore::SliderThumbElement::create):
(WebCore::RenderSlider::updateFromElement):
Added create functions. Made constructors and other members private.
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::TextControlInnerElement):
(WebCore::TextControlInnerElement::create):
(WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
(WebCore::TextControlInnerTextElement::create):
(WebCore::TextControlInnerTextElement::defaultEventHandler):
(WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
(WebCore::SearchFieldResultsButtonElement::create):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
(WebCore::SearchFieldCancelButtonElement::create):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
(WebCore::SpinButtonElement::SpinButtonElement):
(WebCore::SpinButtonElement::create):
(WebCore::SpinButtonElement::defaultEventHandler):
* rendering/TextControlInnerElements.h:
Added create functions. Made constructors and other members private.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 30 May 2010 18:27:35 +0000 (18:27 +0000)]
* wtf/OwnArrayPtr.h:
(WTF::OwnArrayPtr::set): Fix the assertion in here to match the one in OwnPtr.
At some point someone fixed the "asserts when assigning to 0 and the pointer is
already 0" issue in OwnPtr but forgot to do it here.
Reviewed by Sam Weinig.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
xan@webkit.org [Sun, 30 May 2010 18:10:07 +0000 (18:10 +0000)]
2010-05-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Darin Adler.
Incorrect build dependencies for GObject DOM Bindings
https://bugs.webkit.org/show_bug.cgi?id=39932
-include does not execute the implicit % expansion, we have to do
it manually.
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sun, 30 May 2010 17:53:05 +0000 (17:53 +0000)]
2010-05-30 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
https://bugs.webkit.org/show_bug.cgi?id=36004
Unskip:
fast/events/remove-child-onscroll.html
fast/events/platform-wheelevent-in-scrolling-div.html
fast/events/continuous-platform-wheelevent-in-scrolling-div.html
Add platform-specific results for Qt. Required because QWheelEvent only supports sending an event
for scrolling movement one axis at a time. Naturally the test's check for the axis the event does
not pertain to will 'fail' in such cases. So we get 6 lines of output in total, i.e.:
FAIL event.wheelDeltaY should be -24000. Was 0.
PASS event.wheelDeltaX is window.expectedScrollLeft*-120
PASS event.wheelDelta is window.expectedScrollLeft*-120
and then:
PASS event.wheelDeltaY is window.expectedScrollTop*-120
FAIL event.wheelDeltaX should be -12000. Was 0.
PASS event.wheelDelta is window.expectedScrollTop*-120
instead of just 3 like Mac:
PASS event.wheelDeltaY is window.expectedScrollTop*-120
PASS event.wheelDeltaX is window.expectedScrollLeft*-120
PASS event.wheelDelta is window.expectedScrollTop*-120
* platform/qt-linux/fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt: Added.
* platform/qt-linux/fast/events/platform-wheelevent-in-scrolling-div-expected.txt: Added.
* platform/qt/Skipped:
2010-05-30 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
https://bugs.webkit.org/show_bug.cgi?id=36004
Fix the bug in webkit.org/b/29601 for Qt. A delta not divisible by 120
indicates a device that is sending fine-resolution scroll events, so
use the delta as the number of pixels to scroll.
* platform/qt/WheelEventQt.cpp:
(WebCore::PlatformWheelEvent::applyDelta):
2010-05-30 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
https://bugs.webkit.org/show_bug.cgi?id=36004
* DumpRenderTree/qt/EventSenderQt.cpp:
(EventSender::EventSender): QApplication::setWheelScrollLines(2) in order to match
Scrollbar::pixelsPerLineStep() for DRT testing.
(EventSender::mouseScrollBy): Added
(EventSender::continuousMouseScrollBy): Added
* DumpRenderTree/qt/EventSenderQt.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jberlin@webkit.org [Sun, 30 May 2010 13:16:21 +0000 (13:16 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=39224
Bug 39224 - Web Inspector: There should be a way to clean up profiles
Reviewed by Pavel Feldman.
WebCore:
Adds a button to clear the profiles from the profiles panel like that
used for the console, the audits panel, and the timeline panel.
Consolidates the css rules, since they all use the same image.
Also allows for individual profiles to be deleted via the keyboard
(U+0008 or U+007F) and uses this new schema for the Elements Tree.
* English.lproj/localizedStrings.js:
Add tooltip text for the button to clear the profiles pane.
* inspector/InspectorBackend.idl:
Add ability to remove the profiles from the backend when they are
deleted or cleared in the frontend.
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::removeProfile):
(WebCore::InspectorBackend::clearProfiles):
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::removeProfile):
(WebCore::InspectorController::clearProfiles):
* inspector/InspectorController.h:
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
Use the 'clear-status-bar-item' class.
* inspector/front-end/ChangesView.js:
(WebInspector.ChangesView):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
* inspector/front-end/audits.css:
* inspector/front-end/inspector.css:
(.clear-status-bar-item .glyph):
* inspector/front-end/inspector.html:
* inspector/front-end/ElementsTreeOutline.js:
Replace the keyDown handler on the Outline with specific methods to
handle delete and enter on the TreeElements.
(WebInspector.ElementsTreeOutline):
(WebInspector.ElementsTreeOutline.prototype.get editing):
Return whether or not an element in the tree is currently being edited.
(WebInspector.ElementsTreeElement.prototype.ondelete):
(WebInspector.ElementsTreeElement.prototype.onenter):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.createSidebar):
Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
Add the clear button.
(WebInspector.ProfilesPanel.prototype.get statusBarItems):
(WebInspector.ProfilesPanel.prototype._clearProfiles):
Remove the profiles from the backend, the reset the frontend interface.
(WebInspector.ProfilesPanel.prototype.removeProfileHeader):
Remove the profile from both the frontend and the backend, and clear the
view when the last profile is removed.
(WebInspector.ProfilesPanel.prototype._updateInterface):
Hide the clear button when profiling is disabled.
(WebInspector.ProfileSidebarTreeElement.prototype.onselect):
Replace access to global variable with reference to the Panel held by the
TreeOutline.
(WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
Remove the profile corresponding the tree element when the user deletes
that tree element.
* inspector/front-end/treeoutline.js:
(TreeOutline.prototype._treeKeyDown):
Allow the selected tree element to handle the user pressing a delete
key or enter key.
WebKit/chromium:
* src/js/InspectorControllerImpl.js:
(devtools.InspectorBackendImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sun, 30 May 2010 03:49:13 +0000 (03:49 +0000)]
2010-05-29 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Darin Adler.
Check if a CC environment variable is defined before hard-coding gcc's
path. Simply hard-coding it breaks cross-compilation and Linux
distributions with more than one gcc installed (or not in the default
path).
https://bugs.webkit.org/show_bug.cgi?id=35551
No new functionality, so no new tests.
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/IDLParser.pm:
* dom/make_names.pl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 22:16:55 +0000 (22:16 +0000)]
2010-05-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.
https://bugs.webkit.org/show_bug.cgi?id=39923
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 20:52:24 +0000 (20:52 +0000)]
2010-05-29 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
Adding support for a runtime flag to enable accelerated
compositing in chromium.
https://bugs.webkit.org/show_bug.cgi?id=39917
* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setAcceleratedCompositingEnabled):
* src/WebSettingsImpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 18:18:14 +0000 (18:18 +0000)]
2010-05-29 Dawit Alemayehu <adawit@kde.org>
Reviewed by Kenneth Rohde Christiansen.
Added a WebAction to stop all pending page refresh/redirect
requests set through the <meta http-equiv="refresh"...> tag.
https://bugs.webkit.org/show_bug.cgi?id=29899
* Api/qwebpage.cpp:
(QWebPage::triggerAction):
* Api/qwebpage.h:
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage::testStopScheduledPageRefresh):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 16:12:07 +0000 (16:12 +0000)]
2010-05-29 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 parser should block script execution until stylesheets load
https://bugs.webkit.org/show_bug.cgi?id=39903
All <script> tag execution now blocks on stylesheet load, including
inline <script> content which the old parser doesn't support blocking.
Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
once our primary parser knows how to wait for stylesheets
before executing inline <script> content.
All of http/tests/local passes in --html5-parser mode now.
Also fixed fast/parser/tokenizer-close-during-document-write.html.
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
- Added a m_hasScriptsWaitingForStylesheets bool so that we can
detect when we're actually waiting on stylesheets or not.
If we're not waiting on stylesheets then we're still parsing and
executing scripts would cause parser/script reentrancy and bad news bears.
(WebCore::HTML5ScriptRunner::isPendingScriptReady):
- Re-enable the check that the stylesheets have loaded.
(WebCore::HTML5ScriptRunner::executePendingScript):
- ASSERT that stylesheets have loaded.
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
- ASSERT that this is never called reentrantly.
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
- Execute any scripts which were blocked on stylesheet loads.
- ASSERT (in two ways) that this is never called reentrantly.
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
- Callers need to check this before calling executeScriptsWaitingForLoad.
(WebCore::HTML5ScriptRunner::inScriptExecution):
- Used by callers to ASSERT that we're not called re-entrantly.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::HTML5Tokenizer):
- Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
due to stylesheets or not. Callers need to know this to know if they
should ignore executeScriptsWaitingForStylesheets calls from
Document (which may be generated when parsing </script> tags).
We only care about executeScriptsWaitingForStylesheets calls when
we've actually blocked the parser due to waiting on a stylesheet load.
(WebCore::HTML5Tokenizer::end):
- Move m_source.close() back to this method now that I understand more
about when finish() is called. This should fix several layout test ASSERTS.
(WebCore::HTML5Tokenizer::finish):
- This should not close m_source since scripts may still write to
the document. Set m_wasWaitingOnScriptsDuringFinish to indicate
that we were not able to end parsing during finish.
(WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
- ASSERT that this is never caller re-entrantly.
(WebCore::HTML5Tokenizer::executeScript):
- ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
(WebCore::HTML5Tokenizer::executingScript):
- Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
(WebCore::HTML5Tokenizer::notifyFinished):
- ASSERT that this is never called re-entrantly.
(WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
- Call the ScriptRunner to tell it that stylesheets have loaded if
it is blocked on stylesheet loads.
- ASSERT(m_hasScriptsWaitingForStylesheets). We can't just assert
isPaused() since we may be paused for script loads.
* html/HTML5Tokenizer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 15:30:38 +0000 (15:30 +0000)]
2010-05-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Darin Adler.
Remove set but never used variables
https://bugs.webkit.org/show_bug.cgi?id=35252
No new tests as there is no new functionality.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::lastChildConsideringContinuation):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceUnicodeRange):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::loadManifestHostHashes):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::getTimeToNextEvent):
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::layout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::calcInlinePrefWidths):
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::createClipData):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 15:18:07 +0000 (15:18 +0000)]
2010-05-29 Sterling Swigart <sswigart@google.com>
Reviewed by David Levin.
Adding tests to canvas.html performance test
https://bugs.webkit.org/show_bug.cgi?id=39883
* demos/canvas-perf/canvas.html:
Added tests for:
strokeText
fillText
strokeLine
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 13:52:56 +0000 (13:52 +0000)]
2010-05-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60405.
http://trac.webkit.org/changeset/60405
https://bugs.webkit.org/show_bug.cgi?id=39921
It broke GTK build. (Requested by Ossy on #webkit).
* dom/Node.cpp:
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
* dom/Node.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 11:18:34 +0000 (11:18 +0000)]
2010-05-29 Anton Muhin <antonm@chromium.org>
Reviewed by Darin Adler.
Make NodeList getters take AtomicString instead of plain String
https://bugs.webkit.org/show_bug.cgi?id=39892
Those methods turn String into AtomicString later. And this conversion
is faster if underlying string is already atomic.
That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
I don't know if Safari benefits from it.
* dom/Node.cpp:
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
* dom/Node.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 10:58:49 +0000 (10:58 +0000)]
2010-05-29 Justin Schuh <jschuh@chromium.org>
Reviewed by Adam Barth.
Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
https://bugs.webkit.org/show_bug.cgi?id=39750
Check that descendant file: frames can navigate each other.
* fast/frames/location-change-no-file-access-expected.txt: Added.
* fast/frames/location-change-no-file-access.html: Added.
* fast/frames/resources/no-file-access-frame-1.html: Added.
* fast/frames/resources/no-file-access-frame-2.html: Added.
2010-05-29 Justin Schuh <jschuh@chromium.org>
Reviewed by Adam Barth.
Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
https://bugs.webkit.org/show_bug.cgi?id=39750
Fix for local HTML package breakage when each file is its own origin.
In this case we should allow descendant file: frames to navigate each
other when they share the same top frame.
Test: fast/frames/location-change-no-file-access.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldAllowNavigation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 10:07:56 +0000 (10:07 +0000)]
Windows build fix: Updated exported symbols.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 08:13:00 +0000 (08:13 +0000)]
Disabled ENABLE_JIT_OPTIMIZE_NATIVE_CALL on Windows for now, until I
can figure out why it's crashing.
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 07:46:31 +0000 (07:46 +0000)]
Fixed Windows crash seen on buildbot.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTINativeCall): __fastcall puts the first
argument in ecx.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 07:33:59 +0000 (07:33 +0000)]
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeConnectionMethod::call):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 07:27:16 +0000 (07:27 +0000)]
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 07:21:35 +0000 (07:21 +0000)]
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapInstance::invokeMethod):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::findMethodIndex):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
* bridge/qt/qt_runtime.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 07:14:43 +0000 (07:14 +0000)]
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
(JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
(JSC::Bindings::QtPixmapToStringMethod::invoke):
(JSC::Bindings::QtPixmapInstance::invokeMethod):
* bridge/qt/qt_pixmapruntime.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 07:01:32 +0000 (07:01 +0000)]
Qt build fix: Keep this borken class limping along.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::invokeMethod):
* bridge/qt/qt_instance.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 06:59:22 +0000 (06:59 +0000)]
Windows build fix: Updated exported symbols.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 06:53:16 +0000 (06:53 +0000)]
Qt build fix: disable a little more stuff when JIT_OPTIMIZE_NATIVE_CALL
is disabled.
* runtime/Lookup.cpp:
(JSC::setUpStaticFunctionSlot):
* runtime/Lookup.h:
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 06:43:05 +0000 (06:43 +0000)]
Windows build fix: Updated exported symbols.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 29 May 2010 06:33:05 +0000 (06:33 +0000)]
JavaScriptCore: Simplified the host calling convention.
Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
22.5% speedup on 32-bit host function calls. 9.5% speedup on 64-bit host
function calls.
No change on SunSpider.
All JS calls (but not constructs, yet) now go through the normal JS
calling convention via the RegisterFile. As a result, the host calling
convention, which used to be this
JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*, JSObject*, JSValue thisValue, const ArgList&)
is now this
JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*)
Callee, 'this', and argument access all hapen relative to the ExecState*,
which is a pointer into the RegisterFile.
This patch comes in two parts.
PART ONE: Functional code changes.
* wtf/Platform.h: Disabled optimized calls on platforms I didn't test.
We can re-enable once we verify that host calls on these platforms are
correct.
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName):
(JSC::DebuggerCallFrame::calculatedFunctionName): Updated for change to
ExecState::callee().
(JSC::DebuggerCallFrame::thisObject): Updated for removal of ExecState::thisValue().
* interpreter/CallFrame.cpp:
* interpreter/CallFrame.h:
(JSC::ExecState::callee):
(JSC::ExecState::scopeChain):
(JSC::ExecState::init): Changed callee() to be JSObject* instead of
JSFunction* -- now, it might be some other callable host object.
(JSC::ExecState::hostThisRegister):
(JSC::ExecState::hostThisValue):
(JSC::ExecState::argumentCount):
(JSC::ExecState::argumentCountIncludingThis):
(JSC::ExecState::argument):
(JSC::ExecState::setArgumentCountIncludingThis):
(JSC::ExecState::setCallee): Added convenient accessors for arguments
from within a host function. Removed thisValue() because it was too
tempting to use incorrectly, and it only had one or two clients, anyway.
* interpreter/Interpreter.cpp:
(JSC::Interpreter::callEval): Updated for removal of ExecState::thisValue().
(JSC::Interpreter::throwException): Be sure to shrink the register file
before invoking the exception handler, to reduce the chances that the
handler will re-throw in the case of stack overflow. (Re-throwing is now
more likely than it used to be, since standardizing the calling convention
implicitly added stack overflow checks to some places where they used to be missing.)
(JSC::Interpreter::execute): Clarified the scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change.
(JSC::Interpreter::executeCall): Clarified scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change. Added support for calling a host
function.
(JSC::Interpreter::executeConstruct): Clarified scope of DynamicGlobalObjectScope.
Updated for CallFrame::init API change.
(JSC::Interpreter::prepareForRepeatCall): Updated for CallFrame::init API change.
(JSC::Interpreter::privateExecute): Updated for CallFrame::init API change.
Added some explicit JSValue(JSObject*) initialization, since relaxing
the JSFunction* restriction on callee has made register types more ambiguous.
Removed toThisObject() conversion, since all callees do it themselves now.
Updated host function call for new host function signature. Updated for
change to ExecState::argumentCount() API.
* interpreter/Register.h:
(JSC::Register::):
(JSC::Register::operator=):
(JSC::Register::function): Changed callee() to be JSObject* instead of
JSFunction* -- now, it might be some other callable host object.
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTINativeCall):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTINativeCall): Deleted a bunch of code that
set up the arguments to host functions -- all but one of the arguments
are gone now. This is the actual optimization.
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION): Updated for ExecState and Register API
changes noted above. Removed toThisObject() conversion, since all callees
do it themselves now.
* runtime/ArgList.h:
(JSC::ArgList::ArgList): ArgList is getting close to unused. Added a
temporary shim for converting from ExecState* to ArgList where it's still
necessary.
* runtime/Arguments.h:
(JSC::Arguments::getArgumentsData):
(JSC::Arguments::Arguments): Updated for ExecState and Register API
changes noted above.
* runtime/CallData.cpp:
(JSC::call): Changed call always to call Interpreter::executeCall, even
for host functions. This ensures that the normal calling convention is
set up in the RegsiterFile when calling from C++ to host function.
* runtime/CallData.h: Changed host function signature as described above.
* runtime/ConstructData.cpp:
(JSC::construct): Moved JSFunction::construct code here so I could nix
JSFunction::call and JSFunction::call. We want a JSFunction-agnostic
way to call and construct, so that everything works naturally for non-
JSFunction objects.
* runtime/JSFunction.cpp:
(JSC::callHostFunctionAsConstructor):
* runtime/JSFunction.h: Updated for ExecState and Register API changes
noted above. Nixed JSFunction::call and JSFunction::construct, noted above.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Ditto.
PART TWO: Global search and replace.
In the areas below, I used global search-and-replace to change
(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)
* API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::call):
* API/JSCallbackFunction.h:
* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::call):
* JavaScriptCore.exp:
* jsc.cpp:
(functionPrint):
(functionDebug):
(functionGC):
(functionVersion):
(functionRun):
(functionLoad):
(functionCheckSyntax):
(functionSetSamplingFlags):
(functionClearSamplingFlags):
(functionReadline):
(functionQuit):
* runtime/ArrayConstructor.cpp:
(JSC::callArrayConstructor):
(JSC::arrayConstructorIsArray):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncForEach):
(JSC::arrayProtoFuncSome):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
* runtime/BooleanConstructor.cpp:
(JSC::callBooleanConstructor):
* runtime/BooleanPrototype.cpp:
(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):
* runtime/DateConstructor.cpp:
(JSC::callDate):
(JSC::dateParse):
(JSC::dateNow):
(JSC::dateUTC):
* runtime/DatePrototype.cpp:
(JSC::formatLocaleDate):
(JSC::fillStructuresUsingTimeArgs):
(JSC::fillStructuresUsingDateArgs):
(JSC::dateProtoFuncToString):
(JSC::dateProtoFuncToUTCString):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToDateString):
(JSC::dateProtoFuncToTimeString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncToGMTString):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
(JSC::dateProtoFuncToJSON):
* runtime/ErrorConstructor.cpp:
(JSC::callErrorConstructor):
* runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
* runtime/FunctionConstructor.cpp:
(JSC::callFunctionConstructor):
* runtime/FunctionPrototype.cpp:
(JSC::callFunctionPrototype):
(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncApply):
(JSC::functionProtoFuncCall):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
(JSC::decode):
(JSC::globalFuncEval):
(JSC::globalFuncParseInt):
(JSC::globalFuncParseFloat):
(JSC::globalFuncIsNaN):
(JSC::globalFuncIsFinite):
(JSC::globalFuncDecodeURI):
(JSC::globalFuncDecodeURIComponent):
(JSC::globalFuncEncodeURI):
(JSC::globalFuncEncodeURIComponent):
(JSC::globalFuncEscape):
(JSC::globalFuncUnescape):
(JSC::globalFuncJSCPrint):
* runtime/JSGlobalObjectFunctions.h:
* runtime/JSONObject.cpp:
(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):
* runtime/JSString.h:
* runtime/MathObject.cpp:
(JSC::mathProtoFuncAbs):
(JSC::mathProtoFuncACos):
(JSC::mathProtoFuncASin):
(JSC::mathProtoFuncATan):
(JSC::mathProtoFuncATan2):
(JSC::mathProtoFuncCeil):
(JSC::mathProtoFuncCos):
(JSC::mathProtoFuncExp):
(JSC::mathProtoFuncFloor):
(JSC::mathProtoFuncLog):
(JSC::mathProtoFuncMax):
(JSC::mathProtoFuncMin):
(JSC::mathProtoFuncPow):
(JSC::mathProtoFuncRandom):
(JSC::mathProtoFuncRound):
(JSC::mathProtoFuncSin):
(JSC::mathProtoFuncSqrt):
(JSC::mathProtoFuncTan):
* runtime/NativeErrorConstructor.cpp:
(JSC::callNativeErrorConstructor):
* runtime/NumberConstructor.cpp:
(JSC::callNumberConstructor):
* runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString):
(JSC::numberProtoFuncValueOf):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToPrecision):
* runtime/ObjectConstructor.cpp:
(JSC::callObjectConstructor):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorKeys):
(JSC::objectConstructorDefineProperty):
(JSC::objectConstructorDefineProperties):
(JSC::objectConstructorCreate):
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):
* runtime/ObjectPrototype.h:
* runtime/Operations.h:
(JSC::jsString):
* runtime/RegExpConstructor.cpp:
(JSC::callRegExpConstructor):
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::test):
(JSC::RegExpObject::exec):
(JSC::callRegExpObject):
(JSC::RegExpObject::match):
* runtime/RegExpObject.h:
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncTest):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):
* runtime/StringConstructor.cpp:
(JSC::stringFromCharCodeSlowCase):
(JSC::stringFromCharCode):
(JSC::callStringConstructor):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::stringProtoFuncTrim):
(JSC::stringProtoFuncTrimLeft):
(JSC::stringProtoFuncTrimRight):
JavaScriptGlue: Simplified the host calling convention.
Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
PART ONE: Functional code changes.
[ None in JavaScriptGlue ]
PART TWO: Global search and replace.
In the areas below, I used global search-and-replace to change
(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)
* JSObject.cpp:
(nativeCallFunction):
* UserObjectImp.cpp:
(UserObjectImp::callAsFunction):
* UserObjectImp.h:
WebCore: Simplified the host calling convention.
Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
PART ONE: Functional code changes.
[ None in WebCore ]
PART TWO: Global search and replace.
In the areas below, I used global search-and-replace to change
(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)
* bindings/js/JSArrayBufferViewCustom.cpp:
(WebCore::JSArrayBufferView::slice):
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::setWebGLArrayHelper):
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::strokeRect):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
(WebCore::JSCanvasRenderingContext2D::createImageData):
(WebCore::JSCanvasRenderingContext2D::putImageData):
(WebCore::JSCanvasRenderingContext2D::fillText):
(WebCore::JSCanvasRenderingContext2D::strokeText):
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::clearData):
(WebCore::JSClipboard::getData):
(WebCore::JSClipboard::setDragImage):
* bindings/js/JSDOMApplicationCacheCustom.cpp:
(WebCore::JSDOMApplicationCache::hasItem):
(WebCore::JSDOMApplicationCache::add):
(WebCore::JSDOMApplicationCache::remove):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::JSDOMFormData::append):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::JSDOMWindow::postMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
(WebCore::JSDOMWindow::openDatabase):
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabase::transaction):
(WebCore::JSDatabase::readTransaction):
* bindings/js/JSDatabaseSyncCustom.cpp:
(WebCore::JSDatabaseSync::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabaseSync::transaction):
(WebCore::JSDatabaseSync::readTransaction):
* bindings/js/JSDedicatedWorkerContextCustom.cpp:
(WebCore::JSDedicatedWorkerContext::postMessage):
* bindings/js/JSDesktopNotificationsCustom.cpp:
(WebCore::JSNotificationCenter::requestPermission):
* bindings/js/JSFloatArrayCustom.cpp:
(WebCore::JSFloatArray::set):
* bindings/js/JSGeolocationCustom.cpp:
(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):
(WebCore::JSHTMLAllCollection::namedItem):
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::callHTMLCollection):
(WebCore::JSHTMLCollection::item):
(WebCore::JSHTMLCollection::namedItem):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::open):
(WebCore::documentWrite):
(WebCore::JSHTMLDocument::write):
(WebCore::JSHTMLDocument::writeln):
* bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::setSelectionRange):
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::add):
(WebCore::JSHTMLOptionsCollection::remove):
* bindings/js/JSHTMLSelectElementCustom.cpp:
(WebCore::JSHTMLSelectElement::remove):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::databaseForId):
(WebCore::JSInjectedScriptHost::currentCallFrame):
(WebCore::JSInjectedScriptHost::nodeForId):
(WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
(WebCore::JSInjectedScriptHost::selectDatabase):
(WebCore::JSInjectedScriptHost::selectDOMStorage):
(WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::platform):
(WebCore::JSInspectorFrontendHost::port):
(WebCore::JSInspectorFrontendHost::showContextMenu):
* bindings/js/JSInt16ArrayCustom.cpp:
(WebCore::JSInt16Array::set):
* bindings/js/JSInt32ArrayCustom.cpp:
(WebCore::JSInt32Array::set):
* bindings/js/JSInt8ArrayCustom.cpp:
(WebCore::JSInt8Array::set):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::evaluate):
(WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::replace):
(WebCore::JSLocation::reload):
(WebCore::JSLocation::assign):
(WebCore::JSLocation::toString):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::initMessageEvent):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::postMessage):
* bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::callNodeList):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::callPlugin):
* bindings/js/JSSQLResultSetRowListCustom.cpp:
(WebCore::JSSQLResultSetRowList::item):
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
* bindings/js/JSSQLTransactionSyncCustom.cpp:
(WebCore::JSSQLTransactionSync::executeSql):
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/js/JSSVGMatrixCustom.cpp:
(WebCore::JSSVGMatrix::multiply):
(WebCore::JSSVGMatrix::inverse):
(WebCore::JSSVGMatrix::rotateFromVector):
* bindings/js/JSSVGPODListCustom.h:
(WebCore::JSSVGPODListCustom::clear):
(WebCore::JSSVGPODListCustom::initialize):
(WebCore::JSSVGPODListCustom::getItem):
(WebCore::JSSVGPODListCustom::insertItemBefore):
(WebCore::JSSVGPODListCustom::replaceItem):
(WebCore::JSSVGPODListCustom::removeItem):
(WebCore::JSSVGPODListCustom::appendItem):
* bindings/js/JSSVGPathSegListCustom.cpp:
(WebCore::JSSVGPathSegList::clear):
(WebCore::JSSVGPathSegList::initialize):
(WebCore::JSSVGPathSegList::getItem):
(WebCore::JSSVGPathSegList::insertItemBefore):
(WebCore::JSSVGPathSegList::replaceItem):
(WebCore::JSSVGPathSegList::removeItem):
(WebCore::JSSVGPathSegList::appendItem):
* bindings/js/JSUint16ArrayCustom.cpp:
(WebCore::JSUint16Array::set):
* bindings/js/JSUint32ArrayCustom.cpp:
(WebCore::JSUint32Array::set):
* bindings/js/JSUint8ArrayCustom.cpp:
(WebCore::JSUint8Array::set):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::bufferData):
(WebCore::JSWebGLRenderingContext::bufferSubData):
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getBufferParameter):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getTexParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::JSWebGLRenderingContext::getVertexAttrib):
(WebCore::JSWebGLRenderingContext::texImage2D):
(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
(WebCore::JSWebGLRenderingContext::uniform1fv):
(WebCore::JSWebGLRenderingContext::uniform1iv):
(WebCore::JSWebGLRenderingContext::uniform2fv):
(WebCore::JSWebGLRenderingContext::uniform2iv):
(WebCore::JSWebGLRenderingContext::uniform3fv):
(WebCore::JSWebGLRenderingContext::uniform3iv):
(WebCore::JSWebGLRenderingContext::uniform4fv):
(WebCore::JSWebGLRenderingContext::uniform4iv):
(WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocket::send):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::importScripts):
(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):
(WebCore::JSWorkerContext::openDatabase):
(WebCore::JSWorkerContext::openDatabaseSync):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorker::postMessage):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
(WebCore::JSXMLHttpRequest::send):
* bindings/js/JSXSLTProcessorCustom.cpp:
(WebCore::JSXSLTProcessor::importStylesheet):
(WebCore::JSXSLTProcessor::transformToFragment):
(WebCore::JSXSLTProcessor::transformToDocument):
(WebCore::JSXSLTProcessor::setParameter):
(WebCore::JSXSLTProcessor::getParameter):
(WebCore::JSXSLTProcessor::removeParameter):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
(WebCore::ScheduledAction::ScheduledAction):
* bindings/js/ScheduledAction.h:
* bindings/js/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
* bindings/js/ScriptCallFrame.h:
* bindings/js/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::initialize):
* bindings/js/ScriptCallStack.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
* bridge/c/c_instance.h:
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/jni/jsc/JavaInstanceJSC.h:
* bridge/jsc/BridgeJSC.h:
(JSC::Bindings::Instance::invokeDefaultMethod):
* bridge/objc/objc_instance.h:
* bridge/objc/objc_instance.mm:
(ObjcInstance::invokeMethod):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::callObjCFallbackObject):
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod):
* bridge/runtime_object.cpp:
(JSC::Bindings::callRuntimeObject):
WebKit/mac: Simplified the host calling convention.
Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
PART ONE: Functional code changes.
[ None in WebKit ]
PART TWO: Global search and replace.
In the areas below, I used global search-and-replace to change
(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::invokeDefaultMethod):
LayoutTests: Simplified the host calling convention.
Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
Changed these results to expect to fail to stringify their exception
objects in the case of stack overflow. (Standardizing the calling
convention has implicitly added stack overflow checks to some places
where they used to be missing.)
In a future patch, I plan to implement a more reliable way to stringify
exceptions without invoking a JS function. For now, though, it seems best
to match other test results, instead of silently overflowing the stack.
* fast/js/global-recursion-on-full-stack-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-recursive-sync-event-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 06:27:54 +0000 (06:27 +0000)]
2010-05-28 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher.
[CHROMIUM] Chromium port should support image interpolation quality
https://bugs.webkit.org/show_bug.cgi?id=38686
* platform/chromium/test_expectations.txt:
Add failure expectations for resizing-based tests, so they can be
rebaselined by the bots.
2010-05-28 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher.
Implement GraphicsContext::setImageInterpolation() for the Chromium
port. This is preparatory work for bug 38233. A number of
background-resize tests will need a rebaseline, since the images are
taken during the initial "low quality" phase (<800ms).
[CHROMIUM] Chromium port should support image interpolation quality
https://bugs.webkit.org/show_bug.cgi?id=38686
Covered by fast/backgrounds/size/backgroundSize15.html, and others.
* platform/graphics/skia/GraphicsContextSkia.cpp:
Implement WebCore::GraphicsContext::setImageInterpolationQuality.
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode): Only enable high quality
interpolation if it has been requested in the GraphicsContext.
(WebCore::drawResampledBitmap): Enable cacheing of resampled images
even if the size is not full (fix from Brett Wilson).
(WebCore::paintSkBitmap): Pass in the PlatformContextSkia to
computeResamplingMode, so it can query it for interpolation quality.
(WebCore::Image::drawPattern): Ibid.
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::State::State):
(PlatformContextSkia::interpolationQuality):
(PlatformContextSkia::setInterpolationQuality):
* platform/graphics/skia/PlatformContextSkia.h:
Add a member fn and accessors to retain the image interpolation quality
in the platform context, and to save/restore it with the state.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 06:16:25 +0000 (06:16 +0000)]
2010-05-28 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed by Geoffrey Garen.
Fix the JSObjectSetPrototype function.
A cycle in a prototype chain can cause an application hang or
even crash.
A check for a prototype chain cycles was added to
the JSObjectSetPrototype.
JSObjectSetPrototype doesn't check for cycle in prototype chain.
https://bugs.webkit.org/show_bug.cgi?id=39360
* API/JSObjectRef.cpp:
(JSObjectSetPrototype):
* API/tests/testapi.c:
(assertTrue):
(checkForCycleInPrototypeChain):
(main):
* runtime/JSObject.cpp:
(JSC::JSObject::put):
* runtime/JSObject.h:
(JSC::JSObject::setPrototypeWithCycleCheck):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 05:54:36 +0000 (05:54 +0000)]
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Remove compiler warnings about uninitialized variable.
https://bugs.webkit.org/show_bug.cgi?id=39871
No new tests, just cosmetic changes.
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::applyCursor):
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EF] Remove compiler warnings and add test for switching page
encoding.
https://bugs.webkit.org/show_bug.cgi?id=39871
* efl/EWebLauncher/main.c:
(print_history):
(on_key_down):
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Sat, 29 May 2010 05:30:51 +0000 (05:30 +0000)]
[Qt] Skip new test introduced in r60386, because of
missing layoutTestController.evaluateScriptInIsolatedWorld()
* platform/qt/Skipped: storage/transaction-success-callback-isolated-world.html skipped.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 03:45:50 +0000 (03:45 +0000)]
2010-05-28 Eric Uhrhane <ericu@chromium.org>
Reviewed by Dmitry Titov.
Refactor DB layout tests so that they work in Web Workers as well as Pages.
This is a big set of ports, but there are still more to come.
In general, this is all just trivial changes. For each test file, I pull out the meat into a .js file [with no functional changes]. Then I include that from both the DOM test and a new worker test; in both cases, the .html files are trivial wrappers. All boilerplate code is pulled out into the resource files.
In a couple of these tests, there were try/catch wrappers that suppressed errors. I don't see why you'd want to do that in a test; let's let those errors cause test failures, then fix them. I took out the wrappers and saw no difference in behavior.
https://bugs.webkit.org/show_bug.cgi?id=34995
* fast/workers/storage/multiple-databases-garbage-collection-expected.txt: Added.
* fast/workers/storage/multiple-databases-garbage-collection.html: Added.
* fast/workers/storage/multiple-transactions-expected.txt: Added.
* fast/workers/storage/multiple-transactions.html: Added.
* fast/workers/storage/multiple-transactions-on-different-handles-expected.txt: Added.
* fast/workers/storage/multiple-transactions-on-different-handles.html: Added.
* fast/workers/storage/change-version-handle-reuse-worker.html: Pulled out even more boilerplate.
* fast/workers/storage/execute-sql-args-worker.html: Pulled out even more boilerplate.
* fast/workers/storage/resources/database-worker-controller: Here's where the boilerplate went.
* fast/workers/storage/resources/database-worker.js:
* storage/multiple-databases-garbage-collection.html:
* storage/multiple-databases-garbage-collection.js: Added.
* storage/multiple-transactions-on-different-handles.html:
* storage/multiple-transactions-on-different-handles.js: Added.
* storage/multiple-transactions.html:
* storage/multiple-transactions.js: Added.
* storage/hash-change-with-xhr-expected.txt: Trivial whitespace change.
* storage/hash-change-with-xhr.html:
* storage/hash-change-with-xhr.js: Added.
* storage/open-database-while-transaction-in-progress.html:
* storage/open-database-while-transaction-in-progress.js: Added.
* storage/read-and-write-transactions-dont-run-together.html:
* storage/read-and-write-transactions-dont-run-together.js: Added.
* storage/test-authorizer.html:
* storage/test-authorizer.js: Added.
I made a small common include for all the non-worker tests to remove a little boilerplate.
* storage/resources/database-common.js: Added.
These two tests had already been ported to workers; I updated them to use the common include file.
* storage/change-version-handle-reuse.html:
* storage/execute-sql-args.html:
* fast/workers/storage/open-database-while-transaction-in-progress-expected.txt: Added.
* fast/workers/storage/open-database-while-transaction-in-progress.html: Added.
* fast/workers/storage/read-and-write-transactions-dont-run-together-expected.txt: Added.
* fast/workers/storage/read-and-write-transactions-dont-run-together.html: Added.
* fast/workers/storage/test-authorizer-expected.txt: Added.
* fast/workers/storage/test-authorizer.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 03:33:43 +0000 (03:33 +0000)]
2010-05-28 Eric Uhrhane <ericu@chromium.org>
Reviewed by Dmitry Titov.
We don't test the async DB success callback in an isolated world.
https://bugs.webkit.org/show_bug.cgi?id=39849
This pretty much a copy of transaction-error-callback-isolated-world.html.
* storage/transaction-success-callback-isolated-world-expected.txt: Added.
* storage/transaction-success-callback-isolated-world.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 03:21:44 +0000 (03:21 +0000)]
2010-05-28 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
Prevent chromium composited layers from rendering on top of the scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=39851
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 03:06:42 +0000 (03:06 +0000)]
2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
webkit-patch should support CHANGE_LOG_EDIT_APPLICATION
https://bugs.webkit.org/show_bug.cgi?id=39546
One sublty is that we want to wait for the user to finish editing the
ChangeLog before moving on to the next step. That means we want to pass
-W to open. However, if the user is using Xcode to edit the ChangeLog,
we don't want them to have to exit the Xcode application. For this reason,
we create a new instance of the application with -n.
Overall, xed seems like a better solution, so we recommend that too.
* Scripts/webkitpy/common/system/user.py:
* Scripts/webkitpy/tool/mocktool.py:
* Scripts/webkitpy/tool/steps/editchangelog.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 29 May 2010 02:54:21 +0000 (02:54 +0000)]
2010-05-28 Chao-ying Fu <fu@mips.com>
Reviewed by Eric Seidel.
Fix MIPS JIT DoubleGreaterThanOrEqual Operands
https://bugs.webkit.org/show_bug.cgi?id=39504
Swapped two operands of left and right for DoubleGreaterThanOrEqual.
This patch fixed two layout tests as follows.
fast/js/comparison-operators-greater.html
fast/js/comparison-operators-less.html
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchDouble):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan@apple.com [Sat, 29 May 2010 00:40:24 +0000 (00:40 +0000)]
Add a using declaration for AdoptWK to match the one just added for WKRetainPtr.
Rubber-stamped by Dan Bernstein.
* UIProcess/API/cpp/WKRetainPtr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Sat, 29 May 2010 00:14:11 +0000 (00:14 +0000)]
2010-05-21 Dirk Pranke <dpranke@chromium.org>
Reviewed by Ojan Vafai.
new-run-webkit-tests: fix handling of Ctrl-C to exit even if some
threads are wedged. Also, the script will print the results of the
tests completed when the interrupt occurs.
https://bugs.webkit.org/show_bug.cgi?id=33238
* Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
* Scripts/webkitpy/layout_tests/layout_package/printing.py:
* Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 28 May 2010 23:52:15 +0000 (23:52 +0000)]
Ignore more Python messiness.
* Scripts/webkitpy/layout_tests/data/platform/test: Added property svn:ignore.
* Scripts/webkitpy/layout_tests/layout_package: Added property svn:ignore.
* Scripts/webkitpy/layout_tests/test_types: Added property svn:ignore.
* Scripts/webkitpy/test: Added property svn:ignore.
* Scripts/webkitpy/thirdparty/simplejson: Added property svn:ignore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 28 May 2010 23:02:00 +0000 (23:02 +0000)]
Add a using declaration for WKRetainPtr matching what we do for our
other smart pointers and fix the destructor.
Reviewed by Anders Carlsson.
* UIProcess/API/cpp/WKRetainPtr.h:
(WebKit::WKRetainPtr::~WKRetainPtr):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Fri, 28 May 2010 22:51:27 +0000 (22:51 +0000)]
Move jit compilation from linking thunks into cti_vm_lazyLink methods.
Reviewed by Geoff Garen.
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aa@chromium.org [Fri, 28 May 2010 22:42:57 +0000 (22:42 +0000)]
2010-05-28 Aaron Boodman <aa@chromium.org>
Reviewed by Darin Fisher.
Added isXHTMLDocument() to WebCore::Document.
https://bugs.webkit.org/show_bug.cgi?id=39887
* dom/Document.h: Add isXHTMLDocument().
(WebCore::Document::isXHTMLDocument): Ditto.
2010-05-28 Aaron Boodman <aa@chromium.org>
Reviewed by Darin Fisher.
Add isXHTMLDocument() to WebDocument.
https://bugs.webkit.org/show_bug.cgi?id=39887
* public/WebDocument.h: Add isXHTMLDocument().
* src/WebDocument.cpp: ditto.
(WebKit::WebDocument::isXHTMLDocument): dittorama.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Fri, 28 May 2010 21:18:35 +0000 (21:18 +0000)]
Bug 39898 - Move arity check into callee.
Reviewed by Sam Weinig.
We can reduce the size of the virtual call trampolines by moving the arity check
into the callee functions. As a following step we will be able to remove the
check for native function / codeblocks by performing translation in a lazy stub.
* interpreter/CallFrame.h:
(JSC::ExecState::init):
(JSC::ExecState::setReturnPC):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
(JSC::JIT::linkCall):
(JSC::JIT::linkConstruct):
* jit/JIT.h:
(JSC::JIT::compile):
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/Executable.cpp:
(JSC::FunctionExecutable::generateJITCodeForCall):
(JSC::FunctionExecutable::generateJITCodeForConstruct):
(JSC::FunctionExecutable::reparseExceptionInfo):
* runtime/Executable.h:
(JSC::NativeExecutable::NativeExecutable):
(JSC::FunctionExecutable::generatedJITCodeForCallWithArityCheck):
(JSC::FunctionExecutable::generatedJITCodeForConstructWithArityCheck):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pkasting@chromium.org [Fri, 28 May 2010 21:15:19 +0000 (21:15 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=39857
Make GIFs loop the correct number of times. Previously, everyone looped
one time too few for non-infinitely-looping GIFs.
Reviewed by Darin Adler.
Modified a Qt manual test to be correct and moved it to the general
manual test directory.
* manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
* manual-tests/qt/qt-10loop-anim.gif: Removed.
* manual-tests/qt/qt-anim.gif: Removed.
* manual-tests/qt/qt-gif-test.html: Removed.
* manual-tests/qt/qt-noanim.gif: Removed.
* manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
* manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
* manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::repetitionCount):
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count. Qt itself may still have a bug here.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::repetitionCount):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benm@google.com [Fri, 28 May 2010 20:07:39 +0000 (20:07 +0000)]
openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
https://bugs.webkit.org/show_bug.cgi?id=39882
Reviewed by Darin Adler.
No new tests. Existing tests in fast/files should suffice.
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 28 May 2010 19:17:03 +0000 (19:17 +0000)]
Adding myself as a reviewer.
Reviewed by Beth Dakin.
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 28 May 2010 18:45:43 +0000 (18:45 +0000)]
Build fix. No review.
AX: need to catch NSAccessibilityExceptions in DRT
https://bugs.webkit.org/show_bug.cgi?id=39881
It looks like Tiger doesn't like seeing a NSMakeRange inside a @try.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::selectedTextRange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60372
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
chang.shu@nokia.com [Fri, 28 May 2010 18:43:49 +0000 (18:43 +0000)]
2010-05-28 Chang Shu <Chang.Shu@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Enable Philip's canvas tests on Qt and skip
the failed ones.
https://bugs.webkit.org/show_bug.cgi?id=20553
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 28 May 2010 18:21:03 +0000 (18:21 +0000)]
2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Named entities in attributes aren't parsed correctly by HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39873
I misplaced this if statement when writing this code originally. Now
that we have test coverage for this paragraph in the spec, we can see
and fix the bug.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::consumeEntity):
2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Named entities in attributes aren't parsed correctly by HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39873
Add a test suite for parsing entities in attributes and update expected results.
* html5lib/resources/entities02.dat: Added.
* html5lib/runner-expected-html5.txt:
* html5lib/runner-expected.txt:
* html5lib/runner.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 28 May 2010 18:17:06 +0000 (18:17 +0000)]
2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Handle edge cases in HTML5 entity parsing
https://bugs.webkit.org/show_bug.cgi?id=39823
The HTML5 specification tells us to handle HTML entities in a somewhat
complicated way. This patch attempts to correctly handle numeric
entities. Some of this code is duplicated from HTMLTokenizer.
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::):
(WebCore::HTMLNames::adjustEntity):
(WebCore::HTMLNames::legalEntityFor):
(WebCore::HTML5Lexer::consumeEntity):
(WebCore::HTML5Lexer::processEntity):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::emitCodePoint):
* html/HTML5Lexer.h:
2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Handle edge cases in HTML5 entity parsing
https://bugs.webkit.org/show_bug.cgi?id=39823
Tests a bunch of the edge cases of entity handling in the HTML5
specification.
* html5lib/resources/entities01.dat:
* html5lib/runner-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 28 May 2010 18:11:00 +0000 (18:11 +0000)]
AX: stop prepping value conversion in accessibilityAttributeValueForParameter
https://bugs.webkit.org/show_bug.cgi?id=39880
Reviewed by Beth Dakin.
Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(visiblePositionForTextMarker):
(-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat@webkit.org [Fri, 28 May 2010 17:55:51 +0000 (17:55 +0000)]
RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859
Patch by Adam Treat <atreat@rim.com> on 2010-05-28
Reviewed by Daniel Bates.
Layout is not dependent upon ScrollView::frameRect when useFixedLayout
is true. No reason to set the needs layout flag in this case.
* platform/ScrollView.cpp:
(WebCore::ScrollView::setFrameRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 28 May 2010 17:44:57 +0000 (17:44 +0000)]
AX: need to catch NSAccessibilityExceptions in DRT
https://bugs.webkit.org/show_bug.cgi?id=39881
Reviewed by Darin Adler.
WebKitTools:
Normally, accessibility exceptions are caught in the AX Runtime on the Mac, but
because DRT is its own AX client, no one is there to catch these otherwise innocuous exceptions.
So DRT should wrap exception handlers around its AX related calls.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(attributesOfElement):
(AccessibilityUIElement::getLinkedUIElements):
(AccessibilityUIElement::getDocumentLinks):
(AccessibilityUIElement::getChildren):
(AccessibilityUIElement::getChildrenWithRange):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::stringAttributeValue):
(AccessibilityUIElement::boolAttributeValue):
(AccessibilityUIElement::isAttributeSettable):
(AccessibilityUIElement::isAttributeSupported):
(AccessibilityUIElement::role):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::x):
(AccessibilityUIElement::y):
(AccessibilityUIElement::width):
(AccessibilityUIElement::height):
(AccessibilityUIElement::clickPointX):
(AccessibilityUIElement::clickPointY):
(AccessibilityUIElement::intValue):
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):
(AccessibilityUIElement::valueDescription):
(AccessibilityUIElement::insertionPointLineNumber):
(AccessibilityUIElement::isActionSupported):
(AccessibilityUIElement::isEnabled):
(AccessibilityUIElement::isRequired):
(AccessibilityUIElement::isSelected):
(AccessibilityUIElement::isExpanded):
(AccessibilityUIElement::hierarchicalLevel):
(AccessibilityUIElement::ariaIsGrabbed):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::lineForIndex):
(AccessibilityUIElement::boundsForRange):
(AccessibilityUIElement::stringForRange):
(AccessibilityUIElement::attributesOfColumnHeaders):
(AccessibilityUIElement::attributesOfRowHeaders):
(AccessibilityUIElement::attributesOfColumns):
(AccessibilityUIElement::attributesOfRows):
(AccessibilityUIElement::attributesOfVisibleCells):
(AccessibilityUIElement::attributesOfHeader):
(AccessibilityUIElement::rowCount):
(AccessibilityUIElement::columnCount):
(AccessibilityUIElement::indexInTable):
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::setSelectedTextRange):
(AccessibilityUIElement::increment):
(AccessibilityUIElement::decrement):
(AccessibilityUIElement::showMenu):
(AccessibilityUIElement::press):
(AccessibilityUIElement::url):
(AccessibilityUIElement::hasPopup):
LayoutTests:
* platform/mac/accessibility/unsupported-attribute-does-not-crash-expected.txt: Added.
* platform/mac/accessibility/unsupported-attribute-does-not-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mnaganov@chromium.org [Fri, 28 May 2010 17:31:58 +0000 (17:31 +0000)]
2010-05-28 Mikhail Naganov <mnaganov@chromium.org>
Unreviewed. Revert 60353 -- immature.
https://bugs.webkit.org/show_bug.cgi?id=39646
* bindings/js/JSConsoleCustom.cpp:
* bindings/v8/custom/V8ConsoleCustom.cpp:
* page/Console.cpp:
* page/Console.h:
* page/Console.idl:
* fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 16:17:04 +0000 (16:17 +0000)]
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Allow client to override default database quota. We increase the
default database quota to 1MB (it was incorrectly set to 1KB, which is
too low) and add methods to allow client to iteratively database quota
when it becomes greater than the allowed value.
https://bugs.webkit.org/show_bug.cgi?id=39867
* efl/WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::exceededDatabaseQuota): reimplement method
to allow client to increase database quota iteratively.
* efl/ewk/ewk_private.h:
* efl/ewk/ewk_settings.cpp:
* efl/ewk/ewk_view.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 16:03:28 +0000 (16:03 +0000)]
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Add default path to web database and methods to set it.
If a default path is not set, it will default to "/", in which a
normal user usually does not have write permission.
* efl/EWebLauncher/main.c: overwrite default directory with another
one.
(main):
* efl/ewk/ewk_main.cpp:
(ewk_init): add default path
* efl/ewk/ewk_settings.cpp: add methods to set and get database path
(ewk_settings_web_database_path_set):
(ewk_settings_web_database_path_get):
* efl/ewk/ewk_settings.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 15:40:00 +0000 (15:40 +0000)]
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Fix wrongly set clipper. Now the scrollbars from main
frame are shown even on a zoom level lower than 1.0.
* efl/ewk/ewk_view_single.c:
(_ewk_view_single_smart_add):
(_ewk_view_single_smart_backing_store_add):
(ewk_view_single_smart_set):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 28 May 2010 15:38:58 +0000 (15:38 +0000)]
2010-05-27 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Make more HTML DOM members private, especially constructors, batch 2
https://bugs.webkit.org/show_bug.cgi?id=39706
Refactoring so no new tests.
Worked my way up from the bottom of HTMLTagNames.in.
* html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
script, select, source, style, table, tbody, td, textarea, tfoot,
th, thead, title, tr, ul, video, xmp, and noscript.
* editing/htmlediting.cpp:
(WebCore::createOrderedListElement): Use create function instead of new.
(WebCore::createUnorderedListElement): Ditto.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError): Ditto.
(WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
(WebCore::HTMLViewSourceDocument::addLine): Ditto.
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
instead of new.
(WebCore::HTMLKeygenElement::create): Added.
* html/HTMLKeygenElement.h: Made constructor and virtual function
overrides private, added create function.
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::HTMLMapElement):
(WebCore::HTMLMapElement::create):
* html/HTMLMapElement.h:
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
(WebCore::HTMLMarqueeElement::create):
* html/HTMLMarqueeElement.h:
* html/HTMLMenuElement.cpp:
(WebCore::HTMLMenuElement::HTMLMenuElement):
(WebCore::HTMLMenuElement::create):
* html/HTMLMenuElement.h:
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::HTMLMetaElement):
(WebCore::HTMLMetaElement::create):
* html/HTMLMetaElement.h:
* html/HTMLNoScriptElement.cpp:
(WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
(WebCore::HTMLNoScriptElement::create):
(WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
* html/HTMLNoScriptElement.h:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::create):
* html/HTMLOListElement.h:
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
(WebCore::HTMLOptGroupElement::create):
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::HTMLOptionElement):
(WebCore::HTMLOptionElement::create):
* html/HTMLOptionElement.h:
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::HTMLParagraphElement):
(WebCore::HTMLParagraphElement::create):
* html/HTMLParagraphElement.h:
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::HTMLParamElement):
(WebCore::HTMLParamElement::create):
* html/HTMLParamElement.h:
* html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::HTMLPreElement):
(WebCore::HTMLPreElement::create):
* html/HTMLPreElement.h:
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::HTMLQuoteElement):
(WebCore::HTMLQuoteElement::create):
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::HTMLScriptElement):
(WebCore::HTMLScriptElement::create):
* html/HTMLScriptElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::create):
* html/HTMLSelectElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::HTMLSourceElement):
(WebCore::HTMLSourceElement::create):
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement):
(WebCore::HTMLStyleElement::create):
* html/HTMLStyleElement.h:
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::HTMLTableRowElement):
(WebCore::HTMLTableRowElement::create):
(WebCore::HTMLTableRowElement::insertCell):
* html/HTMLTableRowElement.h:
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
(WebCore::HTMLTableSectionElement::create):
(WebCore::HTMLTableSectionElement::insertRow):
* html/HTMLTableSectionElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::create):
* html/HTMLTextAreaElement.h:
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::HTMLTitleElement):
(WebCore::HTMLTitleElement::create):
* html/HTMLTitleElement.h:
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::HTMLUListElement):
(WebCore::HTMLUListElement::create):
* html/HTMLUListElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::HTMLVideoElement):
(WebCore::HTMLVideoElement::create):
* html/HTMLVideoElement.h:
Made constructors and virtual function overrides private, added
create function.
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
names of data members. Renamed _row to m_row, _col to m_col,
rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
rowHeight and m_solid.
(WebCore::HTMLTableCellElement::create): Added.
(WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
* html/HTMLTableCellElement.h: Ditto.
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::create): Added.
(WebCore::HTMLTableElement::createTHead): Used create instead of new.
(WebCore::HTMLTableElement::createTFoot): Ditto.
(WebCore::HTMLTableElement::insertRow): Ditto.
* html/HTMLTableElement.h:
* html/HTMLTablePartElement.h: Made members protected instead of
public.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 15:23:25 +0000 (15:23 +0000)]
2010-05-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
https://bugs.webkit.org/show_bug.cgi?id=39784
Move coordinate transformation from TransparencyLayer to clipToImageBuffer()
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::TransparencyLayer::TransparencyLayer):
(WebCore::GraphicsContext::clipToImageBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 15:11:35 +0000 (15:11 +0000)]
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EF] Implement methods for supporting PopupMenu
https://bugs.webkit.org/show_bug.cgi?id=39629
* platform/PopupMenu.h: add needed attribute
* platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
menu
(WebCore::PopupMenu::PopupMenu): initialize new attribute
(WebCore::PopupMenu::show): ditto.
(WebCore::PopupMenu::hide): ditto.
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Add support for Popup menus
https://bugs.webkit.org/show_bug.cgi?id=39629
* efl/WebCoreSupport/ChromeClientEfl.cpp: implement methods to create
and destroy popup menu.
(WebCore::ChromeClientEfl::createSelectPopup): ditto.
(WebCore::ChromeClientEfl::destroySelectPopup): ditto.
* efl/WebCoreSupport/ChromeClientEfl.h: ditto.
* efl/ewk/ewk_private.h: add function to call browser when a popup is
created/deleted
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 14:56:15 +0000 (14:56 +0000)]
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
Reorder class initializers to remove compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=39596
* platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
* platform/efl/PlatformMouseEventEfl.cpp: ditto.
(WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
* platform/efl/PlatformWheelEventEfl.cpp: ditto
(WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Fri, 28 May 2010 14:30:41 +0000 (14:30 +0000)]
2010-05-27 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add IndexedDB's IDBIndex
https://bugs.webkit.org/show_bug.cgi?id=39850
Flesh out IDBIndex as much as possible until Andrei finishes
his patch to get around passing Frame*'s all around. I also
cleaned up a bunch of existing files as I noticed style
violations (while basing my new files off of the old).
Not hooked up enough to test. Will add tests soon.
* Android.derived.jscbindings.mk
* Android.derived.v8bindings.mk
* Android.mk
* CMakeLists.txt
* DerivedSources.cpp
* DerivedSources.make
* GNUmakefile.am
* WebCore.pri
* WebCore.pro
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj
* WebCore.xcodeproj/project.pbxproj
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbIndexRequest):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBDatabase.h:
* storage/IDBDatabaseError.h:
(WebCore::IDBDatabaseError::):
* storage/IDBDatabaseError.idl:
* storage/IDBDatabaseException.h:
* storage/IDBDatabaseException.idl:
* storage/IDBDatabaseImpl.cpp:
* storage/IDBDatabaseImpl.h:
* storage/IDBDatabaseRequest.cpp:
* storage/IDBDatabaseRequest.h:
* storage/IDBDatabaseRequest.idl:
* storage/IDBIndex.h: Added.
(WebCore::IDBIndex::~IDBIndex):
* storage/IDBIndexImpl.cpp: Added.
(WebCore::IDBIndexImpl::IDBIndexImpl):
(WebCore::IDBIndexImpl::~IDBIndexImpl):
* storage/IDBIndexImpl.h: Added.
(WebCore::IDBIndexImpl::create):
(WebCore::IDBIndexImpl::name):
(WebCore::IDBIndexImpl::keyPath):
(WebCore::IDBIndexImpl::unique):
* storage/IDBIndexRequest.cpp: Added.
(WebCore::IDBIndexRequest::IDBIndexRequest):
(WebCore::IDBIndexRequest::~IDBIndexRequest):
* storage/IDBIndexRequest.h: Added.
(WebCore::IDBIndexRequest::create):
(WebCore::IDBIndexRequest::name):
(WebCore::IDBIndexRequest::keyPath):
(WebCore::IDBIndexRequest::unique):
* storage/IDBIndexRequest.idl: Added.
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::~IDBObjectStore):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::removeIndex):
* storage/IDBObjectStore.h:
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
(WebCore::IDBObjectStoreRequest::name):
(WebCore::IDBObjectStoreRequest::keyPath):
(WebCore::IDBObjectStoreRequest::indexNames):
(WebCore::IDBObjectStoreRequest::createIndex):
(WebCore::IDBObjectStoreRequest::index):
(WebCore::IDBObjectStoreRequest::removeIndex):
* storage/IDBObjectStoreRequest.h:
* storage/IDBObjectStoreRequest.idl:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
* storage/IndexedDatabaseRequest.idl:
2010-05-27 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add IndexedDB's IDBIndex
https://bugs.webkit.org/show_bug.cgi?id=39850
Add WebKit layer for IDBIndex.
* WebKit.gyp:
* public/WebCommon.h:
* public/WebIDBCallbacks.h:
(WebKit::WebIDBCallbacks::onError):
(WebKit::WebIDBCallbacks::onSuccess):
* public/WebIDBDatabase.h:
* public/WebIDBIndex.h: Added.
(WebKit::WebIDBIndex::~WebIDBIndex):
(WebKit::WebIDBIndex::name):
(WebKit::WebIDBIndex::keyPath):
(WebKit::WebIDBIndex::unique):
* src/IDBCallbacksProxy.cpp:
(WebCore::IDBCallbacksProxy::onSuccess):
* src/IDBCallbacksProxy.h:
* src/IDBDatabaseProxy.cpp:
* src/IDBDatabaseProxy.h:
* src/IDBIndexProxy.cpp: Added.
(WebCore::IDBIndexProxy::create):
(WebCore::IDBIndexProxy::IDBIndexProxy):
(WebCore::IDBIndexProxy::~IDBIndexProxy):
(WebCore::IDBIndexProxy::name):
(WebCore::IDBIndexProxy::keyPath):
(WebCore::IDBIndexProxy::unique):
* src/IDBIndexProxy.h: Added.
* src/WebIDBCallbacksImpl.cpp:
(WebCore::WebIDBCallbacksImpl::onSuccess):
* src/WebIDBCallbacksImpl.h:
* src/WebIDBDatabaseImpl.cpp:
* src/WebIDBDatabaseImpl.h:
* src/WebIDBIndexImpl.cpp: Added.
(WebKit::WebIDBIndexImpl::WebIDBIndexImpl):
(WebKit::WebIDBIndexImpl::~WebIDBIndexImpl):
(WebKit::WebIDBIndexImpl::name):
(WebKit::WebIDBIndexImpl::keyPath):
(WebKit::WebIDBIndexImpl::unique):
* src/WebIDBIndexImpl.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Fri, 28 May 2010 14:10:03 +0000 (14:10 +0000)]
2010-05-28 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: check that ClientMessageLoopAdapter is not 0 before
accessing its fileds from inspectedViewClosed method. It may be 0
if inspector frontend has not been open.
https://bugs.webkit.org/show_bug.cgi?id=39876
* src/WebDevToolsAgentImpl.cpp:
(WebKit::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
chang.shu@nokia.com [Fri, 28 May 2010 14:08:09 +0000 (14:08 +0000)]
2010-05-28 Shu Chang <chang.shu@nokia.com>
Unreviewed.
Remove two junk files not supposed to be in.
* canvas/philip/tests/.reportgen.html.swp: Removed.
* canvas/philip/tests/.reportgen.js.swp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Fri, 28 May 2010 14:07:31 +0000 (14:07 +0000)]
2010-05-28 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: hide node highlight when inspected page closes.
https://bugs.webkit.org/show_bug.cgi?id=39872
* inspector/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mnaganov@chromium.org [Fri, 28 May 2010 14:01:21 +0000 (14:01 +0000)]
2010-05-28 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add Console API for retrieving memory stats
Add 'console.memory' property which returns an object. Currently
it has two fields: totalHeapSize and usedHeapSize. Later, it can be
extended for reporting total browser's memory consumption.
https://bugs.webkit.org/show_bug.cgi?id=39840
* bindings/js/JSConsoleCustom.cpp:
(WebCore::JSConsole::memory):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::memoryAccessorGetter):
* page/Console.cpp:
(WebCore::Console::memory):
* page/Console.h:
* page/Console.idl:
* fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti.j.koivisto@nokia.com [Fri, 28 May 2010 13:57:17 +0000 (13:57 +0000)]
Add a missing #if ENABLE(), some null checking.
Reviewed by Kenneth Rohde Christiansen.
* Api/qwebpage.cpp:
(QWebPagePrivate::dynamicPropertyChangeEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
xan@webkit.org [Fri, 28 May 2010 13:37:10 +0000 (13:37 +0000)]
2010-05-28 Xan Lopez <xlopez@igalia.com>
Add new file to the build system.
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti.j.koivisto@nokia.com [Fri, 28 May 2010 13:28:07 +0000 (13:28 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=39874
[Qt] Make tiled backing store more configurable
Reviewed by Kenneth Rohde Christiansen.
Make tile size, tile creation delay and tiling area dynamically configurable.
WebCore:
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::setTileSize):
(WebCore::TiledBackingStore::setTileCreationDelay):
(WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
(WebCore::TiledBackingStore::createTiles):
* platform/graphics/TiledBackingStore.h:
(WebCore::TiledBackingStore::tileSize):
(WebCore::TiledBackingStore::tileCreationDelay):
(WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
WebKit/qt:
* Api/qwebpage.cpp:
(QWebPagePrivate::dynamicPropertyChangeEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Fri, 28 May 2010 13:12:45 +0000 (13:12 +0000)]
Unreviewed build fix after r60348.
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setNotificationsReceiver):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 12:59:52 +0000 (12:59 +0000)]
2010-05-28 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Pass all web notification layout tests
https://bugs.webkit.org/show_bug.cgi?id=39146
* platform/qt/Skipped:
2010-05-28 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Pass all web notification layout tests
https://bugs.webkit.org/show_bug.cgi?id=39146
Add support for multiple simultaneous notifications.
Add a private callback mechanism to the client for security checks.
Notifications are disabled if the client does not set the callbacks.
Support replaceId and cancel.
Send close and display events when needed.
* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setNotificationsReceiver):
(DumpRenderTreeSupportQt::allowNotificationForOrigin):
(DumpRenderTreeSupportQt::setCheckPermissionFunction):
(DumpRenderTreeSupportQt::setRequestPermissionFunction):
* WebCoreSupport/DumpRenderTreeSupportQt.h:
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
* WebCoreSupport/NotificationPresenterClientQt.cpp:
(NotificationIconWrapper::NotificationIconWrapper):
(NotificationIconWrapper::~NotificationIconWrapper):
(NotificationPresenterClientQt::NotificationPresenterClientQt):
(NotificationPresenterClientQt::show):
(NotificationPresenterClientQt::cancel):
(NotificationPresenterClientQt::notificationObjectDestroyed):
(NotificationPresenterClientQt::requestPermission):
(NotificationPresenterClientQt::checkPermission):
(NotificationPresenterClientQt::allowNotificationForOrigin):
(NotificationPresenterClientQt::clearNotificationsList):
(NotificationPresenterClientQt::sendEvent):
* WebCoreSupport/NotificationPresenterClientQt.h:
(WebCore::NotificationPresenterClientQt::~NotificationPresenterClientQt):
(WebCore::NotificationPresenterClientQt::setReceiver):
2010-05-28 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Pass all web notification layout tests
https://bugs.webkit.org/show_bug.cgi?id=39146
Mimic Chromium's test_shell security model in Qt's DRT.
It makes a list of origins which were granted permission to display
notifications, and only those origins can display notifications.
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::checkPermissionCallback):
(WebCore::requestPermissionCallback):
(WebCore::WebPage::WebPage):
(WebCore::DumpRenderTree::checkPermission):
(WebCore::DumpRenderTree::requestPermission):
* DumpRenderTree/qt/DumpRenderTreeQt.h:
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::reset):
(LayoutTestController::grantDesktopNotificationPermission):
(LayoutTestController::checkDesktopNotificationPermission):
* DumpRenderTree/qt/LayoutTestControllerQt.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 10:11:13 +0000 (10:11 +0000)]
2010-05-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
document.write does not work correctly in the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39828
Add two tests for document.write behavior and update
our expected results to remove two parse errors now that
document.write is functioning correctly.
* html5lib/resources/webkit01.dat:
* html5lib/runner-expected-html5.txt:
2010-05-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
document.write does not work correctly in the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39828
Added a new HTML5ScriptRunnerHost interface which
HTML5Tokenizer implements. This allows HTML5ScriptController
to delegate the actual ScriptController::executeScript back to
HTML5Tokenizer. HTML5Tokenizer saves off the current m_source
before calling ScriptController::executeScript to allow safe
reentrancy through document.write().
* WebCore.xcodeproj/project.pbxproj:
- Added HTML5ScriptRunnerHost.h
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
(WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
- Unregister m_parsingBlockingScript if stopped before
load completion. This was probably causing some of the
crashes on page navigation we saw during LayoutTest runs.
(WebCore::documentURLForScriptExecution):
- Unify our documentURL handling so all callsites get it right.
(WebCore::HTML5ScriptRunner::sourceFromPendingScript):
- Use documentURLForScriptExecution
(WebCore::HTML5ScriptRunner::executePendingScript):
- Call stopWatchingForLoad instead of removeClient()
- Call executeScript instead of ScriptController directly.
(WebCore::HTML5ScriptRunner::executeScript):
- Wraps calls to HTML5ScriptRunnerHost::executeScript
(WebCore::HTML5ScriptRunner::watchForLoad):
- Wraps calls to HTML5ScriptRunnerHost::watchForLoad
(WebCore::HTML5ScriptRunner::stopWatchingForLoad):
- Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
(WebCore::HTML5ScriptRunner::requestScript):
- Only watch for load if the CachedScript isn't already loaded.
This gets rid of rentrancy due to addClient calls, and as a result
also stops us from hitting ASSERT(m_scriptNestingLevel)
in executePendingScript.
(WebCore::HTML5ScriptRunner::runScript):
- Use the new fancy documentURLForScriptExecution and executeScript.
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
- Add a watchingForLoad bool so we know if we ever called watchForLoad
with this CachedScript*.
* html/HTML5ScriptRunnerHost.h: Added.
(WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::HTML5Tokenizer):
- Store an m_document pointer since we need to access
m_document->frame()->script() for script execution.
(WebCore::HTML5Tokenizer::pumpLexer):
- Always pause or unpause the TreeBuilder after script execution.
Previously nested script execution would leave the TreeBuilder
paused even though the top-level loop wanted to resume parsing.
Now whenever m_scriptRunner->execute returns "continue parsing"
parsing will actually continue. This fixed cases where we would
ignore the rest of the document after document.write() of a script tag.
(WebCore::HTML5Tokenizer::write):
- Explain how document.write() reentrancy is safe in the new world.
(WebCore::HTML5Tokenizer::watchForLoad):
- HTML5ScriptRunnerHost implementation. We assert that this call will
never cause script execution since that's our current design.
(WebCore::HTML5Tokenizer::stopWatchingForLoad):
- HTML5ScriptRunnerHost implementation.
(WebCore::HTML5Tokenizer::executeScript):
- HTML5ScriptRunnerHost implementation. Save off the current source
before executing scripts in case document.write is called during
script execution.
* html/HTML5Tokenizer.h:
- Implement HTML5ScriptRunnerHost.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Fri, 28 May 2010 09:01:56 +0000 (09:01 +0000)]
2010-05-25 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Adler.
Update the style guide re: static member variables and structs
https://bugs.webkit.org/show_bug.cgi?id=39663
Per Darin Adler's proposal on webkit-dev.
All static member variables should be prefixed with s_.
m_ should not be used for public data members in structs.
Only structs should have public data members.
* coding/coding-style.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 07:58:34 +0000 (07:58 +0000)]
2010-05-28 Nathan Lawrence <nlawrence@apple.com>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=39460
Because not just <img> and <image> elements can preload images, we
dont want to restrict the element associated with the loader.
No new tests. Should share the same tests as the last patch.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 28 May 2010 07:00:29 +0000 (07:00 +0000)]
2010-05-27 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
Cursor movement and text selection does not work well if a block is followed by an inline.
https://bugs.webkit.org/show_bug.cgi?id=32123
RenderInline::setSelectionState() missed selection state
propagation for ancestors. This fix pulled
RenderBlock::setSelectionState() up to RenderBoxModelObject, to
share it with RenderInline.
* editing/selection/range-between-block-and-inline.html: Added.
* platform/mac/editing/selection/range-between-block-and-inline-expected.checksum: Added.
* platform/mac/editing/selection/range-between-block-and-inline-expected.png: Added.
* platform/mac/editing/selection/range-between-block-and-inline-expected.txt: Added.
2010-05-27 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
Cursor movement and text selection does not work well if a block is followed by an inline.
https://bugs.webkit.org/show_bug.cgi?id=32123
RenderInline::setSelectionState() missed selection state
propagation for ancestors. This fix pulled
RenderBlock::setSelectionState() up to RenderBoxModelObject, to
share it with RenderInline.
Test: editing/selection/range-between-block-and-inline.html: Added.
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::setSelectionState):
* rendering/RenderBoxModelObject.h:
Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 28 May 2010 05:09:00 +0000 (05:09 +0000)]
2010-05-27 MORITA Hajime <morrita@google.com>
Not reviewed. Fixed typo
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 28 May 2010 04:21:55 +0000 (04:21 +0000)]
2010-05-27 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Make more HTML DOM members private, especially constructors
https://bugs.webkit.org/show_bug.cgi?id=39697
Refactoring, so no new tests needed.
Working my way through HTMLTagNames.in from top to bottom, skipping any
that are non-trivial for some reason.
* html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
datalist, dcell, dcol, drow, del, dir, dl, and fieldset.
* mathml/mathtags.in: Removed createWithNew from msub, and msup.
* dom/Document.cpp:
(WebCore::Document::implicitClose): Use create function instead of new.
(WebCore::Document::getCSSCanvasElement): Ditto.
* editing/IndentOutdentCommand.cpp:
(WebCore::createIndentBlockquoteElement): Ditto.
* editing/htmlediting.cpp:
(WebCore::createBreakElement): Ditto.
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::createCaption): Ditto.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setInnerTextValue): Ditto.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError): Use create function instead of new.
Required reordering the code slightly, but the new order works fine.
* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::create):
* html/HTMLAudioElement.h:
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::create):
* html/HTMLBRElement.h:
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::create):
* html/HTMLBaseElement.h:
* html/HTMLBaseFontElement.cpp:
(WebCore::HTMLBaseFontElement::create):
* html/HTMLBaseFontElement.h:
* html/HTMLBlockquoteElement.cpp:
(WebCore::HTMLBlockquoteElement::create):
* html/HTMLBlockquoteElement.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::create):
* html/HTMLBodyElement.h:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::create):
* html/HTMLButtonElement.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::create):
* html/HTMLCanvasElement.h:
* html/HTMLDListElement.cpp:
(WebCore::HTMLDListElement::create):
* html/HTMLDListElement.h:
* html/HTMLDataGridCellElement.cpp:
(WebCore::HTMLDataGridCellElement::create):
* html/HTMLDataGridCellElement.h:
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::create):
* html/HTMLDataGridColElement.h:
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::create):
* html/HTMLDataGridElement.h:
* html/HTMLDataGridRowElement.cpp:
(WebCore::HTMLDataGridRowElement::create):
* html/HTMLDataGridRowElement.h:
* html/HTMLDataListElement.cpp:
(WebCore::HTMLDataListElement::create):
* html/HTMLDataListElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setInnerText):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::create):
* html/HTMLFieldSetElement.h:
* html/HTMLModElement.cpp:
(WebCore::HTMLModElement::HTMLModElement):
(WebCore::HTMLModElement::create):
* html/HTMLModElement.h:
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::create):
* html/HTMLTableCaptionElement.h:
Made constructors and virtual function overrides private, added create functions.
Made constructors inline in cases where they were called in only one place.
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
from _span to m_span.
(WebCore::HTMLTableColElement::create): Added.
(WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
* html/HTMLTableColElement.h:
Made constructor and virtual function overrides private, added create function.
Renamed _span to m_span.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 03:21:29 +0000 (03:21 +0000)]
2010-05-27 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
wx port: build fix for Linux
https://bugs.webkit.org/show_bug.cgi?id=39860
Use uint16_t instead of uint16.
* plugins/PluginPackageNone.cpp:
(WebCore::PluginPackage::NPVersion):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Fri, 28 May 2010 02:35:32 +0000 (02:35 +0000)]
2010-05-27 Roland Steiner <rolandsteiner@chromium.org>
Reviewed by Tamura Kent.
[Chromium] Update chromium test expectations for parseFloat & toNumber tests
https://bugs.webkit.org/show_bug.cgi?id=39861
Update expectation files.
* platform/chromium/fast/js/ToNumber-expected.txt:
* platform/chromium/fast/js/parseFloat-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 28 May 2010 00:44:59 +0000 (00:44 +0000)]
2010-05-27 Nathan Lawrence <nlawrence@apple.com>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=39460
Fixes the issue where images prefetched by JavaScript do not report
their memory usage to the GC.
There is a new test manual-tests/image-prefetch-stress.html that loads
a new 4MB image every half a second.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
* manual-tests/image-prefetch-stress.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 27 May 2010 23:43:54 +0000 (23:43 +0000)]
2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Adler.
UTF-16 code points compare() for String objects
https://bugs.webkit.org/show_bug.cgi?id=39701
Moving compare() implementation from UString to StringImpl for it to be shared
with String. Adding overloaded free functions codePointCompare() in StringImpl
and WTFString. Renaming function compare in UString to codePointCompare to be
consistent.
* runtime/JSArray.cpp:
(JSC::compareByStringPairForQSort):
* runtime/UString.cpp:
* runtime/UString.h:
(JSC::codePointCompare):
* wtf/text/StringImpl.cpp:
(WebCore::codePointCompare):
* wtf/text/StringImpl.h:
* wtf/text/WTFString.cpp:
(WebCore::codePointCompare):
* wtf/text/WTFString.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Thu, 27 May 2010 23:40:42 +0000 (23:40 +0000)]
Change z-component to 1.
Reviewed by Simon Fraser.
* WebView/WebHTMLView.mm:
(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView attachRootLayer:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 27 May 2010 23:21:51 +0000 (23:21 +0000)]
2010-05-27 Eric Uhrhane <ericu@chromium.org>
Reviewed by Adam Barth.
Add v8 bindings for async DB API in workers
https://bugs.webkit.org/show_bug.cgi?id=39145
No new tests. This should share layout tests with JSC.
Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
* bindings/scripts/CodeGeneratorV8.pm:
As with CodeGeneratorV8; these are pretty much all tiny tweaks.
We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
* bindings/v8/custom/V8CustomPositionCallback.cpp:
(WebCore::V8CustomPositionCallback::handleEvent):
* bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
(WebCore::V8CustomPositionErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8SQLStatementErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomVoidCallback.cpp:
(WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
(WebCore::V8CustomVoidCallback::handleEvent):
(WebCore::invokeCallback):
* bindings/v8/custom/V8CustomVoidCallback.h:
(WebCore::V8CustomVoidCallback::create):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openDatabaseCallback):
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::V8Database::changeVersionCallback):
(WebCore::createTransaction):
* bindings/v8/custom/V8DatabaseSyncCustom.cpp:
(WebCore::V8DatabaseSync::changeVersionCallback):
(WebCore::createTransaction):
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::requestPermissionCallback):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::V8SQLTransaction::executeSqlCallback):
Add openDatabaseCallback.
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::V8WorkerContext::openDatabaseCallback):
Remove an obsolete parameter.
(WebCore::V8WorkerContext::openDatabaseSyncCallback):
2010-05-27 Eric Uhrhane <ericu@chromium.org>
Reviewed by Adam Barth.
Add v8 bindings for async DB API in workers
https://bugs.webkit.org/show_bug.cgi?id=39145
* src/DatabaseObserver.cpp:
We should check that we're on the context thread now, not the main
thread.
(WebCore::DatabaseObserver::databaseOpened):
(WebCore::DatabaseObserver::databaseModified):
(WebCore::DatabaseObserver::databaseClosed):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 27 May 2010 23:09:48 +0000 (23:09 +0000)]
2010-05-26 Darin Adler <darin@apple.com>
Reviewed by Kent Tamura.
Null characters handled incorrectly in ToNumber conversion
https://bugs.webkit.org/show_bug.cgi?id=38088
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::parseInt): Changed code to use UTF8String().data() instead of
ascii() to fix the thread safety issue. Code path is covered by existing
tests in run-javascriptcore-tests.
(JSC::parseFloat): Moved comment to UString::toDouble since the issue
affects all clients, not just parseFloat. Specifically, this also affects
standard JavaScript numeric conversion, ToNumber.
* runtime/UString.cpp:
(JSC::UString::toDouble): Added a comment about incorrect space skipping.
Changed trailing junk check to use the length of the CString instead of
checking for a null character. Also got rid of a little unneeded logic
in the case where we tolerate trailing junk.
2010-05-26 Darin Adler <darin@apple.com>
Reviewed by Kent Tamura.
Null characters handled incorrectly in ToNumber conversion
https://bugs.webkit.org/show_bug.cgi?id=38088
* fast/js/ToNumber-expected.txt: Updated for new tests and to
expect PASS for two null character tests.
* fast/js/ToNumber.js: Added more test cases.
* fast/js/parseFloat-expected.txt: Updated for new test case.
* fast/js/script-tests/parseFloat.js: Added a test case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 27 May 2010 22:52:53 +0000 (22:52 +0000)]
2010-05-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.
https://bugs.webkit.org/show_bug.cgi?id=39848
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
(WebInspector.ResourceView.prototype._refreshRequestPayload):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 27 May 2010 22:41:53 +0000 (22:41 +0000)]
2010-05-27 Nico Weber <thakis@chromium.org>
Reviewed by Eric Seidel
https://bugs.webkit.org/show_bug.cgi?id=39092
Add Yank support to chromium mac. Do this by moving WebKit Mac's
implementation of Editor::yankFromKillRing() into its own class and
then using that.
* editing/Editor.cpp:
Use new KillRing class.
* editing/Editor.h:
(WebCore::Editor::killRing):
Use new KillRing class.
* editing/EditorCommand.cpp:
(WebCore::executeYankAndSelect):
Use new KillRing class.
* platform/KillRing.h:
Add new KillRing class, which acts as null object.
(WebCore::KillRing::~KillRing):
* platform/mac/KillRingMac.h:
Add new KillRingMac class, which writes to the mac's kill ring.
* platform/mac/KillRingMac.mm:
Add new KillRingMac class, which writes to the mac's kill ring.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@60326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc