WebKit-https.git
7 years agoUnreviewed build fix for EFL port.
ryuan.choi@samsung.com [Sat, 14 Sep 2013 03:51:27 +0000 (03:51 +0000)]
Unreviewed build fix for EFL port.

* editing/efl/EditorEfl.cpp:
* platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::write):

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

7 years agoUnreviewed build fix attempt for WK2 build.
ryuan.choi@samsung.com [Sat, 14 Sep 2013 03:24:14 +0000 (03:24 +0000)]
Unreviewed build fix attempt for WK2 build.

* WebProcess/Plugins/PluginView.cpp: Changed ScriptState to ExecState.
(WebKit::PluginView::performJavaScriptURLRequest):

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

7 years agoFix a few lingering ScriptStates.
weinig@apple.com [Sat, 14 Sep 2013 02:01:26 +0000 (02:01 +0000)]
Fix a few lingering ScriptStates.

Reviewed by Andy Estes.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::update):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
* bindings/cpp/WebNativeNodeFilterCondition.cpp:
(WebNativeNodeFilterCondition::acceptNode):
* bindings/cpp/WebNativeNodeFilterCondition.h:
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::create):
* dom/CustomElementConstructor.h:
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::registerElement):
* dom/CustomElementRegistry.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):

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

7 years agoRename confusingly named "runtimeObject" functions
darin@apple.com [Sat, 14 Sep 2013 01:57:31 +0000 (01:57 +0000)]
Rename confusingly named "runtimeObject" functions
https://bugs.webkit.org/show_bug.cgi?id=121339

Source/WebCore:

Also CTTE: HTMLElement.

Reviewed by Sam Weinig.

* bindings/js/JSHTMLAppletElementCustom.cpp:
(WebCore::JSHTMLAppletElement::putDelegate): Renamed.
(WebCore::JSHTMLAppletElement::getCallData): Renamed.
* bindings/js/JSHTMLEmbedElementCustom.cpp:
(WebCore::JSHTMLEmbedElement::putDelegate): Renamed.
(WebCore::JSHTMLEmbedElement::getCallData): Renamed.
* bindings/js/JSHTMLObjectElementCustom.cpp:
(WebCore::JSHTMLObjectElement::putDelegate): Renamed.
(WebCore::JSHTMLObjectElement::getCallData): Renamed.

* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::isPluginElement): Changed to take HTMLElement&.
(WebCore::pluginInstance): Ditto.
(WebCore::pluginScriptObjectFromPluginViewBase): Updated for name and type change.
(WebCore::pluginScriptObject): Ditto.
(WebCore::pluginElementPropertyGetter): Ditto.
(WebCore::pluginElementCustomGetOwnPropertySlot): Ditto.
(WebCore::pluginElementCustomPut): Ditto.
(WebCore::pluginElementGetCallData): Ditto.

* bindings/js/JSPluginElementFunctions.h: Updated names and types.

* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
Updated for type change.
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod): Ditto.

Tools:

Reviewed by Sam Weinig.

* Scripts/do-webcore-rename: Updated to do this replace as usual.

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

7 years agoThere is no need for any custom bindings for Console
weinig@apple.com [Sat, 14 Sep 2013 01:50:48 +0000 (01:50 +0000)]
There is no need for any custom bindings for Console
https://bugs.webkit.org/show_bug.cgi?id=121338

Reviewed by Joseph Pecoraro.

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
Remove JSConsoleCustom.cpp from project files.

* bindings/js/JSConsoleCustom.cpp:
Removed.

* page/Console.cpp:
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
* page/Console.h:
Swap the order of the arguments to appease the bindings generator.

* page/Console.idl:
Add the [CallWith=ScriptState] attribute to pass the ExecState
and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
the right stringification.

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

7 years agoPart 2 of Replace ScriptState with JSC::ExecState
weinig@apple.com [Sat, 14 Sep 2013 01:37:05 +0000 (01:37 +0000)]
Part 2 of Replace ScriptState with JSC::ExecState
https://bugs.webkit.org/show_bug.cgi?id=121336

* dom/Document.h:
There is no WebCore::JSC namespace!

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

7 years agoReplace ScriptState with JSC::ExecState
weinig@apple.com [Sat, 14 Sep 2013 01:30:06 +0000 (01:30 +0000)]
Replace ScriptState with JSC::ExecState
https://bugs.webkit.org/show_bug.cgi?id=121336

Reviewed by Darin Adler.

* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBObjectStore.h:
* bindings/js/JSInjectedScriptHostCustom.cpp:
* bindings/js/JSInjectedScriptManager.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/JSNodeFilterCondition.h:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptDebugServer.cpp:
* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptEventListener.cpp:
* bindings/js/ScriptEventListener.h:
* bindings/js/ScriptFunctionCall.cpp:
* bindings/js/ScriptFunctionCall.h:
* bindings/js/ScriptObject.cpp:
* bindings/js/ScriptObject.h:
* bindings/js/ScriptProfiler.cpp:
* bindings/js/ScriptProfiler.h:
* bindings/js/ScriptState.cpp:
* bindings/js/ScriptState.h:
* bindings/js/ScriptValue.cpp:
* bindings/js/ScriptValue.h:
* bindings/js/SerializedScriptValue.cpp:
* bindings/js/SerializedScriptValue.h:
* dom/Document.cpp:
* dom/Document.h:
* dom/NodeFilter.cpp:
* dom/NodeFilter.h:
* dom/NodeFilterCondition.cpp:
* dom/NodeFilterCondition.h:
* dom/NodeIterator.cpp:
* dom/NodeIterator.h:
* dom/ScriptExecutionContext.cpp:
* dom/ScriptExecutionContext.h:
* dom/Traversal.cpp:
* dom/Traversal.h:
* dom/TreeWalker.cpp:
* dom/TreeWalker.h:
* inspector/ConsoleMessage.cpp:
* inspector/ConsoleMessage.h:
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptCanvasModule.cpp:
* inspector/InjectedScriptCanvasModule.h:
* inspector/InjectedScriptHost.cpp:
* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptManager.cpp:
* inspector/InjectedScriptManager.h:
* inspector/InjectedScriptModule.cpp:
* inspector/InjectedScriptModule.h:
* inspector/InspectorAgent.cpp:
* inspector/InspectorCanvasAgent.cpp:
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/PageConsoleAgent.cpp:
* inspector/PageDebuggerAgent.cpp:
* inspector/PageRuntimeAgent.cpp:
* inspector/PageRuntimeAgent.h:
* inspector/ScriptArguments.cpp:
* inspector/ScriptArguments.h:
* inspector/ScriptDebugListener.h:
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerRuntimeAgent.cpp:
* page/Console.cpp:
* page/Console.h:
* page/ContentSecurityPolicy.cpp:
* page/ContentSecurityPolicy.h:
* page/PageConsole.cpp:
* page/PageConsole.h:
* workers/WorkerGlobalScope.cpp:
* workers/WorkerGlobalScope.h:

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

7 years agoFTL JIT broke after r155711
msaboff@apple.com [Sat, 14 Sep 2013 00:28:57 +0000 (00:28 +0000)]
FTL JIT broke after r155711
https://bugs.webkit.org/show_bug.cgi?id=121332

Reviewed by Geoffrey Garen.

Fixed OSR entry to use the local variable's index instead of its VirtualRegister.
Initialized ExitArgumentForOperand::m_operand to InvalidVirtualRegister instead of -1.
Fixed compileCallOrConstruct() to update locals on callframe going down.
Fixed prepareOSREntry() to grow stack down if needed.

* ftl/FTLExitArgumentForOperand.h:
(JSC::FTL::ExitArgumentForOperand::ExitArgumentForOperand):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileExtractOSREntryLocal):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
* ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):

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

7 years agoAvoid a couple of zero-sized fastMalloc calls
andersca@apple.com [Sat, 14 Sep 2013 00:26:13 +0000 (00:26 +0000)]
Avoid a couple of zero-sized fastMalloc calls
https://bugs.webkit.org/show_bug.cgi?id=121333

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* API/JSStringRefCF.cpp:
(JSStringCopyCFString):
Return an empty constant CFStringRef if the JSStringRef is empty.

* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::JSPropertyNameIterator):
Don't allocate an empty m_jsStrings array if m_jsStringsSize is 0.

Source/WTF:

* wtf/text/StringBuffer.h:
(WTF::StringBuffer::StringBuffer):
Initialize m_data to null if m_length is null, and use Checked<size_t> to check for
overflow when multiplying m_length with the character size.

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

7 years agosvg/dom/SVGScriptElement/script-load-and-error-events.svg is flakey
ap@apple.com [Fri, 13 Sep 2013 23:56:20 +0000 (23:56 +0000)]
svg/dom/SVGScriptElement/script-load-and-error-events.svg is flakey
https://bugs.webkit.org/show_bug.cgi?id=25817

Reviewed by Tim Horton.

* svg/dom/SVGScriptElement/script-load-and-error-events.svg: Let test 5 finish
before starting test 6.

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

7 years agohttp/tests/misc/submit-post-keygen.html is extremely slow on bots, often timing out
ap@apple.com [Fri, 13 Sep 2013 23:35:24 +0000 (23:35 +0000)]
http/tests/misc/submit-post-keygen.html is extremely slow on bots, often timing out
https://bugs.webkit.org/show_bug.cgi?id=121331

* platform/mac/TestExpectations: Marked the test as sometimes timing out.

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

7 years agoChrome, DragController and FocusController should hold onto a Page&
weinig@apple.com [Fri, 13 Sep 2013 23:35:13 +0000 (23:35 +0000)]
Chrome, DragController and FocusController should hold onto a Page&
https://bugs.webkit.org/show_bug.cgi?id=121325

Reviewed by Anders Carlsson.

* editing/FrameSelection.cpp:
* editing/FrameSelection.h:
* page/Chrome.cpp:
(WebCore::Chrome::Chrome):
(WebCore::Chrome::scroll):
(WebCore::Chrome::createWindow):
(WebCore::canRunModalIfDuringPageDismissal):
(WebCore::Chrome::runBeforeUnloadConfirmPanel):
(WebCore::Chrome::runJavaScriptAlert):
(WebCore::Chrome::runJavaScriptConfirm):
(WebCore::Chrome::runJavaScriptPrompt):
(WebCore::Chrome::mouseDidMoveOverElement):
(WebCore::Chrome::setToolTip):
(WebCore::Chrome::windowScreenDidChange):
* page/Chrome.h:
* page/DragController.cpp:
* page/DragController.h:
* page/mac/DragControllerMac.mm:
* page/FocusController.cpp:
* page/FocusController.h:
* page/Page.cpp:
(WebCore::Page::Page):
* page/PageGroupLoadDeferrer.cpp:
* page/PageGroupLoadDeferrer.h:
Take references where possible.

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

7 years agoDFG AI assumes that ToThis can never return non-object if it is passed an object...
fpizlo@apple.com [Fri, 13 Sep 2013 23:18:19 +0000 (23:18 +0000)]
DFG AI assumes that ToThis can never return non-object if it is passed an object, and operationToThis will get the wrong value of isStrictMode() if there's inlining
https://bugs.webkit.org/show_bug.cgi?id=121330

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg and Oliver Hunt.

Also print whether a function is strict mode in debug dumps.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpAssumingJITType):
* bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dumpInContext):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Tools:

Reviewed by Mark Hahnenberg and Oliver Hunt.

We should run tests even if they don't have expected files yet.

* Scripts/run-layout-jsc:

LayoutTests:

Reviewed by Mark Hahnenberg and Oliver Hunt.

* js/dfg-strict-mode-to-this-expected.txt: Added.
* js/dfg-strict-mode-to-this.html: Added.
* js/jsc-test-list:
* js/script-tests/dfg-strict-mode-to-this.js: Added.
(thingy.bar):
(thingy.foo):
(thingy):

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

7 years agoUse nullptr instead of 0 in calls to HashMap::add
andersca@apple.com [Fri, 13 Sep 2013 23:05:52 +0000 (23:05 +0000)]
Use nullptr instead of 0 in calls to HashMap::add
https://bugs.webkit.org/show_bug.cgi?id=121322

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::addStringConstant):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::cellConstant):

Source/WebCore:

* bridge/IdentifierRep.cpp:
(WebCore::IdentifierRep::get):
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::getFontFace):
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::getFontData):
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createFontFamilyValue):
(WebCore::CSSValuePool::createFontFaceValue):
* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::getOrCreate):
* dom/Document.cpp:
(WebCore::Document::getCSSCanvasElement):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
* page/PageGroup.cpp:
(WebCore::PageGroup::pageGroup):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::registerScrollbar):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::localStorageNamespace):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPlugin):

Source/WebKit2:

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::getOrCreateLocalStorageNamespace):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addBackForwardItem):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):

Tools:

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::evaluateScriptInIsolatedWorld):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::evaluateScriptInIsolatedWorld):

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

7 years agosvg/animations/smil-leak-*.svg tests are flaky
ap@apple.com [Fri, 13 Sep 2013 23:00:03 +0000 (23:00 +0000)]
svg/animations/smil-leak-*.svg tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=114280

Approved in person by Geoff Garen.

Increased the number of nodes in the test 10x to see what happens with the number
of leaked nodes.

* svg/animations/smil-leak-dynamically-added-element-instances.svg:
* svg/animations/smil-leak-element-instances-noBaseValRef.svg:
* svg/animations/smil-leak-element-instances.svg:
* svg/animations/smil-leak-elements.svg:

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

7 years agoFlaky Test: svg/dom/SVGScriptElement/script-load-and-error-events.svg
ap@apple.com [Fri, 13 Sep 2013 22:27:32 +0000 (22:27 +0000)]
Flaky Test: svg/dom/SVGScriptElement/script-load-and-error-events.svg
https://bugs.webkit.org/show_bug.cgi?id=25817

Reviewed by Tim Horton.

* svg/dom/SVGScriptElement/script-load-and-error-events.svg: Made test output
a bit more verbose to see what's happening on bots.

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

7 years ago[mac WK1] Introduce WebViewWillCloseNotification
mitz@apple.com [Fri, 13 Sep 2013 21:38:55 +0000 (21:38 +0000)]
[mac WK1] Introduce WebViewWillCloseNotification
https://bugs.webkit.org/show_bug.cgi?id=121321

Reviewed by Sam Weinig.

* WebKit.exp: Exported WebViewWillCloseNotification.
* WebView/WebView.mm:
(-[WebView _close]): Send WebViewWillCloseNotification before closing the WebView.
* WebView/WebViewPrivate.h: Declared WebViewWillCloseNotification.

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

7 years agoLayout Test fast/dom/Window/window-postmessage-clone.html is flaky
ap@apple.com [Fri, 13 Sep 2013 21:32:11 +0000 (21:32 +0000)]
Layout Test fast/dom/Window/window-postmessage-clone.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=111898

Reviewed by Oliver Hunt.

* fast/dom/Window/script-tests/postmessage-clone.js: The test was checking
modification times of non-existent files. When you do this, you get current time,
and current time changes over time, making comparisons non-reliable.

* fast/dom/Window/resources/file1.txt: Added.
* fast/dom/Window/resources/file2.txt: Added.

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

7 years agoTry to kill initialiser expression in for-in statements
oliver@apple.com [Fri, 13 Sep 2013 21:19:38 +0000 (21:19 +0000)]
Try to kill initialiser expression in for-in statements
https://bugs.webkit.org/show_bug.cgi?id=121311

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

We'd like to get rid of this pointless initialiser expression
in for-in statements.  Unfortunately we have to keep the no_in
variant of expression parsing to avoid ambiguity in the grammar.
There's a possibility that this will need to be rolled out, but
we'll need to live on it to see.

* bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitBytecode):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createForInLoop):
* parser/NodeConstructors.h:
(JSC::ForInNode::ForInNode):
* parser/Nodes.h:
* parser/Parser.cpp:
(JSC::::parseForStatement):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createForInLoop):

LayoutTests:

Update test cases to represent the new reality

* js/line-column-numbers-expected.txt:
* js/line-column-numbers.html:
* js/parser-syntax-check-expected.txt:
* js/script-tests/function-declaration-statement.js:
* js/script-tests/line-column-numbers.js:
(try.toFuzz22b):
* js/script-tests/parser-syntax-check.js:
* js/script-tests/toString-for-var-decl.js:
(f1):

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

7 years agoContextMenuController should hold onto a Page&
weinig@apple.com [Fri, 13 Sep 2013 21:12:58 +0000 (21:12 +0000)]
ContextMenuController should hold onto a Page&
https://bugs.webkit.org/show_bug.cgi?id=121320

Reviewed by Anders Carlsson.

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::ContextMenuController):
(WebCore::ContextMenuController::~ContextMenuController):
(WebCore::ContextMenuController::showContextMenu):
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
(WebCore::ContextMenuController::showContextMenuAt):
* page/ContextMenuController.h:
Store the Page and ContextMenuClient as references.

* page/Page.cpp:
(WebCore::Page::Page):
Pass the Page and ContextMenuClient as references and switch to using createOwned<>().

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

7 years agoUnreviewed; part one of build fix for Windows.
timothy_horton@apple.com [Fri, 13 Sep 2013 21:11:31 +0000 (21:11 +0000)]
Unreviewed; part one of build fix for Windows.
Sorry for the noise, I thought I'd fixed it.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

7 years agoApply OVERRIDE and FINAL to Image subclasses and clean them up
timothy_horton@apple.com [Fri, 13 Sep 2013 20:52:10 +0000 (20:52 +0000)]
Apply OVERRIDE and FINAL to Image subclasses and clean them up
https://bugs.webkit.org/show_bug.cgi?id=121086

Reviewed by Alexey Proskuryakov.

Everything other than the copious application of OVERRIDE and FINAL
is explicitly called out below.

* WebCore.exp.in:
Export the correct version of getCGImageRef for use by WebKit2.

* platform/graphics/BitmapImage.cpp:
* platform/graphics/BitmapImage.h:
Drive-by inline isBitmapImage.
Move create(HBITMAP) to be near the other create() functions.
Move all of the members private.
Devirtualize frameCount().
Move notSolidColor() near the other solid color functions.

* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
(WebCore::CrossfadeGeneratedImage::drawPattern):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):
(WebCore::GeneratorGeneratedImage::drawPattern):
Use size() and setContainerSize() instead of directly accessing a
superclass' (now private, previously protected) members.

* platform/graphics/CrossfadeGeneratedImage.h:
* platform/graphics/GeneratedImage.h:
Make m_size private, I don't think we do protected members.

* platform/graphics/GeneratorGeneratedImage.h:
Make all the members private.

* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.h:

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

7 years agoFlaky Test: http/tests/inspector/appcache/appcache-manifest-with-non-existing-file...
ap@apple.com [Fri, 13 Sep 2013 20:41:38 +0000 (20:41 +0000)]
Flaky Test: http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
https://bugs.webkit.org/show_bug.cgi?id=114209

Reviewed by Joseph Pecoraro.

* TestExpectations: Marked the test as WontFix. It is hopelessly broken, and
doesn't test anything specific anyway.

* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
Removed from the lists, as the test is now skipped globally.

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

7 years ago[Mac] WebCore Web Inspector files are only copied as part of clean build
ap@apple.com [Fri, 13 Sep 2013 20:40:04 +0000 (20:40 +0000)]
[Mac] WebCore Web Inspector files are only copied as part of clean build
https://bugs.webkit.org/show_bug.cgi?id=121316

Reviewed by Timothy Hatcher.

Removed insufficient dependencies to make the phase run unconditionally.

* WebCore.xcodeproj/project.pbxproj:

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

7 years agoCodeGeneratorJS doesn't generate header includes for sequence<type>
eric.carlson@apple.com [Fri, 13 Sep 2013 20:37:10 +0000 (20:37 +0000)]
CodeGeneratorJS doesn't generate header includes for sequence<type>
https://bugs.webkit.org/show_bug.cgi?id=121314

Reviewed by Dean Jackson.

* bindings/scripts/CodeGeneratorJS.pm:
(SkipIncludeHeader): Don't return false for sequence and array types.
(AddIncludesForType): Do add includes for sequence and array types.
(GenerateCallbackImplementation):
* bindings/scripts/test/JS/JSTestTypedefs.cpp: Regenerated
* bindings/scripts/test/JS/JSTestTypedefs.h: Ditto.
* bindings/scripts/test/TestTypedefs.idl: Add a method that takes a sequence<TestEventTarget>.

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

7 years ago[Windows] Activate FastMalloc hardening
bfulgham@apple.com [Fri, 13 Sep 2013 19:41:19 +0000 (19:41 +0000)]
[Windows] Activate FastMalloc hardening
https://bugs.webkit.org/show_bug.cgi?id=121307

Reviewed by Oliver Hunt.

* wtf/FastMalloc.cpp:
(WTF::SLL_Next): Add workaround for MSVC compiler bug.

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

7 years agoCTTE: RenderSVGResourcePattern always has an SVGPatternElement.
akling@apple.com [Fri, 13 Sep 2013 19:31:27 +0000 (19:31 +0000)]
CTTE: RenderSVGResourcePattern always has an SVGPatternElement.
<https://webkit.org/b/121313>

Reviewed by Anders Carlsson.

This renderer is never anonymous. Tighten things up with a patternElement()
reference getter. Removed some unnecessary null checks and assertions.

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

7 years agoRemove layering-violating Pasteboard::plainText function (for all platforms now)
darin@apple.com [Fri, 13 Sep 2013 19:09:19 +0000 (19:09 +0000)]
Remove layering-violating Pasteboard::plainText function (for all platforms now)
https://bugs.webkit.org/show_bug.cgi?id=121312

Reviewed by Antti Koivisto.

* editing/Editor.cpp:
(WebCore::Editor::pasteAsPlainTextWithPasteboard): Call readPlainTextFromPasteboard
on all platforms, not just Mac and EFL. Also call canSmartReplaceWithPasteboard with
a reference instead of a pointer.
(WebCore::Editor::readPlainTextFromPasteboard): Added. This is a cross-platform
version of what was previously a Mac-only function.
(WebCore::Editor::plainTextFromPasteboard): Added. This is the simple non-Mac version
of this function.
(WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
with a reference.
(WebCore::Editor::canSmartReplaceWithPasteboard): Updated to take a reference.

* editing/Editor.h: Make readPlainTextFromPasteboard cross-platform instead of
Mac-only. Also changed argument to canSmartReplaceWithPasteboard to be a reference.
Also added private plainTextFromPasteboard function.

* editing/mac/EditorMac.mm:
(WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
with a reference.
(WebCore::Editor::plainTextFromPasteboard): Added. Contains the Mac-specific parts
of the readPlainTextFromPasteboard function.

* platform/Pasteboard.h: Fixed a conditional in the PasteboardPlainText struct to
omit iOS. Removed the layering-voiolating plainText function.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::read): Renamed from plainText and updated to new calling
convention.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::read): Ditto.
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::read): Ditto.
* platform/nix/PasteboardNix.cpp:
(WebCore::Pasteboard::read): Ditto.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::read): Ditto.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::read): Ditto.

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

7 years ago[GTK] Move to the new web inspector
kov@webkit.org [Fri, 13 Sep 2013 19:06:11 +0000 (19:06 +0000)]
[GTK] Move to the new web inspector
https://bugs.webkit.org/show_bug.cgi?id=120647

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-09-13
Reviewed by Carlos Garcia Campos.

.:

* GNUmakefile.am: include the new WebInspectorUI GNUmakefile.am.

Source/WebCore:

No tests for the new inspector UI as of yet.

* GNUmakefile.am: no longer install the deprecated inspector UI files.
* WebCore.exp.in: add SchemeRegistry symbol that is now used.

Source/WebInspectorUI:

* GNUmakefile.am: Added. Generate the GResource source and link it into libWebCore.

Source/WebKit/gtk:

* WebCoreSupport/InspectorClientGtk.cpp:
(WebKit::InspectorClient::openInspectorFrontend): update paths to the internal resource ones.
(WebKit::InspectorClient::inspectorFilesPath): ditto.
* tests/testwebinspector.c:
(consoleMessageCallback): the new inspector currently emits an error when loading, so add it to
the list of messages which are not considered failures.
* webkit/webkitglobals.cpp:
(webkitInit): register resource as a local scheme; currently used by the inspector.

Source/WebKit2:

* GNUmakefile.am: bundle the remote inspector page list HTML into libwebkit2gtk as a GResource.
* UIProcess/API/gtk/tests/GNUmakefile.am: no need to set WEBKIT_INSPECTOR_PATH anymore.
* UIProcess/API/gtk/tests/InspectorTestServer.cpp:
(main): ditto.
* UIProcess/API/gtk/tests/TestInspector.cpp:
(beforeAll): ditto.
* UIProcess/API/gtk/tests/TestInspectorServer.cpp:
(testInspectorServerPageList): update paths to the internal resource ones.
* UIProcess/InspectorServer/WebInspectorServer.h:
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath): ditto.
(WebKit::WebInspectorServer::buildPageList): ditto.
* UIProcess/WebInspectorProxy.cpp:
(WebKit::isMainInspectorPage): factor out checking for the inspector main resource, to make
the code more readable.
(WebKit::decidePolicyForNavigationAction): use SchemeRegistry to figure out whether the
request is for a local resource instead of KURL::isLocalFile() to allow using schemes
other than file:// for the inspector resources.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL): use the new internal resource URL; since it's now
static we no longer need to generate and store the string.
(WebKit::WebInspectorProxy::inspectorBaseURL): ditto.
* WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
(WebKit::WebInspector::localizedStringsURL): use the new internal resource URL.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess): register resource as a local scheme.

Tools:

* GtkLauncher/main.c:
(main): no longer set WEBKIT_INSPECTOR_PATH.
* MiniBrowser/gtk/main.c:
(main): ditto.
* Scripts/old-run-webkit-tests:
(openDumpTool): ditto.
* Scripts/run-gtk-tests: ditto.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): ditto.

LayoutTests:

* platform/gtk/TestExpectations: the new inspector UI does not support the current
inspector testing harness so keep it skipped, a new one will eventually be landed.

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

7 years ago Try to fix Qt build.
darin@apple.com [Fri, 13 Sep 2013 18:22:58 +0000 (18:22 +0000)]
    Try to fix Qt build.

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::write): Update variable name at one place I missed.

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

7 years ago[BlackBerry] Scrolling and zooming is slow when Flash plugin visible
anilsson@rim.com [Fri, 13 Sep 2013 18:10:45 +0000 (18:10 +0000)]
[BlackBerry] Scrolling and zooming is slow when Flash plugin visible
https://bugs.webkit.org/show_bug.cgi?id=120618

Reviewed by Anders Carlsson.
Internally reviewed by Jacky Jiang.

JIRA 490823
Compositing Flash plugin content triggered a workaround for a graphics
driver quirk. The workaround was actually related to WebGL, not Flash,
back when we used glCopyTexImage to implement WebGL double buffering
(see PR 148933 and 150228 for more details of the old implementation).

Originally, both WebGL and plugin layers added themselves to the
LayerRenderer::m_layersLockingTextureResources list. Now only plugin
layers use this list.
The glCopyTexImage code was removed long ago, and WebGL now uses the
EGLImage-based double buffering approach implemented in
EGLImageLayerWebKitThread and EGLImageLayerCompositingThreadClient.

Fixed by removing the now obsolete workaround, a call to "glFinish".
This considerably improves the frame rate of zooming and scrolling when
Flash content is visible.

Improvement in frame rate not appropriate to test using layout tests,
could easily result in flaky test.

* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::compositeLayers):

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

7 years agofourthTier: Change JSStack to grow from high to low addresses
msaboff@apple.com [Fri, 13 Sep 2013 18:03:55 +0000 (18:03 +0000)]
fourthTier: Change JSStack to grow from high to low addresses
https://bugs.webkit.org/show_bug.cgi?id=118758

Reviewed by Oliver Hunt.

Changed the JSC stack to grow down.  Effectively the JSC stack frame is flipped from
what it was.  See JSStack.h for the new offsets.  Changed JSStack begin() and end()
to be getBaseOfStack() and getLimitOfStack().  Most of the changes are address or offset
calculation changes.  Decoupled a local register ordinal (loop variable or array index)
from the offset into the callFrame using localToOperand() and the inverse operandToLocal().

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::trustedImm32ForShift):
(JSC::MacroAssembler::lshiftPtr): Added to create scaled addresses with a negative index
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::lshift64): Added to create scaled addresses with a negative index
* assembler/X86Assembler.h:
(JSC::X86Assembler::shlq_i8r): Added to create scaled addresses with a negative index
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecode/CodeBlock.h:
(JSC::unmodifiedArgumentsRegister):
(JSC::CodeBlock::isCaptured):
* bytecode/CodeOrigin.h:
(JSC::CodeOrigin::stackOffset):
* bytecode/Operands.h:
(JSC::localToOperand):
(JSC::operandIsLocal):
(JSC::operandToLocal):
(JSC::operandIsArgument):
(JSC::operandToArgument):
(JSC::argumentToOperand):
* bytecode/VirtualRegister.h: Made InvalidVirtualRegister a positive value that fits in
31 bits since it can be placed into the 31 bit field "stackOffset" in struct InlineCallFrame.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::createLazyRegisterIfNecessary):
(JSC::BytecodeGenerator::newRegister):
(JSC::BytecodeGenerator::emitNewArray):
* bytecompiler/BytecodeGenerator.h:
(JSC::CallArguments::registerOffset):
* bytecompiler/NodesCodegen.cpp:
(JSC::CallArguments::CallArguments):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::allocate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callFrameSlot):
(JSC::DFG::SpeculativeJIT::argumentSlot):
(JSC::DFG::SpeculativeJIT::callFrameTagSlot):
(JSC::DFG::SpeculativeJIT::callFramePayloadSlot):
(JSC::DFG::SpeculativeJIT::argumentTagSlot):
(JSC::DFG::SpeculativeJIT::argumentPayloadSlot):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::reportValidationContext):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddSpan):
* interpreter/CallFrame.cpp:
(JSC::CallFrame::frameExtentInternal):
* interpreter/CallFrame.h:
(JSC::ExecState::init):
(JSC::ExecState::argumentOffset):
(JSC::ExecState::argumentOffsetIncludingThis):
(JSC::ExecState::argIndexForRegister):
* interpreter/Interpreter.cpp:
(JSC::loadVarargs):
(JSC::Interpreter::dumpRegisters):
* interpreter/JSStack.cpp:
(JSC::JSStack::JSStack):
(JSC::JSStack::~JSStack):
(JSC::JSStack::growSlowCase):
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::releaseExcessCapacity):
(JSC::JSStack::disableErrorStackReserve):
* interpreter/JSStack.h:
(JSC::JSStack::getBaseOfStack):
(JSC::JSStack::getLimitOfStack):
(JSC::JSStack::size):
(JSC::JSStack::end):
(JSC::JSStack::containsAddress):
(JSC::JSStack::lowAddress):
(JSC::JSStack::highAddress):
(JSC::JSStack::reservationEnd):
(JSC::JSStack::shrink):
(JSC::JSStack::grow):
* interpreter/JSStackInlines.h:
(JSC::JSStack::getTopOfFrame):
(JSC::JSStack::pushFrame):
(JSC::JSStack::popFrame):
(JSC::JSStack::installTrapsAfterFrame):
* interpreter/StackVisitor.cpp:
(JSC::inlinedFrameOffset):
(JSC::StackVisitor::readInlinedFrame):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JITCall.cpp:
(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileOpCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileOpCall):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_activation):
(JSC::JIT::emit_op_get_argument_by_val):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_argument_by_val):
* jit/JITStubs.cpp:
(JSC::throwExceptionFromOpCall):
(JSC::DEFINE_STUB_FUNCTION):
* jit/ThunkGenerators.cpp:
(JSC::arityFixup):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::genericCall):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/ArgList.cpp:
(JSC::ArgList::getSlice):
(JSC::MarkedArgumentBuffer::slowAppend):
* runtime/ArgList.h:
(JSC::MarkedArgumentBuffer::MarkedArgumentBuffer):
(JSC::MarkedArgumentBuffer::slotFor):
(JSC::MarkedArgumentBuffer::mallocBase):
(JSC::ArgList::at):
* runtime/Arguments.cpp:
(JSC::Arguments::tearOff):
* runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/JSActivation.h:
(JSC::JSActivation::registersOffset):
(JSC::JSActivation::tearOff):
(JSC::JSActivation::isValidIndex):
* runtime/JSArray.h:
(JSC::constructArrayNegativeIndexed): New method to create an array from registers that grow down.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::globalExec):
* runtime/JSGlobalObject.h:
(JSC::constructArrayNegativeIndexed):
* runtime/JSString.h:
* runtime/Operations.h:
(JSC::jsStringFromRegisterArray):
* runtime/SymbolTable.h:
(JSC::SharedSymbolTable::captureCount):

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

7 years agoMove LineLayoutState class to LineLayoutState.h
zoltan@webkit.org [Fri, 13 Sep 2013 17:59:12 +0000 (17:59 +0000)]
Move LineLayoutState class to LineLayoutState.h
https://bugs.webkit.org/show_bug.cgi?id=121263

Reviewed by Ryosuke Niwa.

I added bitfields, reordered the members and a functions too.

No new tests, no behavior change.

* rendering/LineLayoutState.h: Added.
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::markForFullLayout):
(WebCore::LineLayoutState::isFullLayout):
(WebCore::LineLayoutState::usesRepaintBounds):
(WebCore::LineLayoutState::setRepaintRange):
(WebCore::LineLayoutState::updateRepaintRangeFromBox):
(WebCore::LineLayoutState::endLineMatched):
(WebCore::LineLayoutState::setEndLineMatched):
(WebCore::LineLayoutState::checkForFloatsFromLastLine):
(WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
(WebCore::LineLayoutState::lineInfo):
(WebCore::LineLayoutState::endLineLogicalTop):
(WebCore::LineLayoutState::setEndLineLogicalTop):
(WebCore::LineLayoutState::endLine):
(WebCore::LineLayoutState::setEndLine):
(WebCore::LineLayoutState::lastFloat):
(WebCore::LineLayoutState::setLastFloat):
(WebCore::LineLayoutState::floats):
(WebCore::LineLayoutState::floatIndex):
(WebCore::LineLayoutState::setFloatIndex):
(WebCore::LineLayoutState::adjustedLogicalLineTop):
(WebCore::LineLayoutState::setAdjustedLogicalLineTop):
(WebCore::LineLayoutState::flowThread):
(WebCore::LineLayoutState::setFlowThread):
* rendering/RenderBlockLineLayout.cpp: Remove LineLayoutState.

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

7 years agoRemove layering-violating Pasteboard::writeURL (for all platforms now)
darin@apple.com [Fri, 13 Sep 2013 17:46:12 +0000 (17:46 +0000)]
Remove layering-violating Pasteboard::writeURL (for all platforms now)
https://bugs.webkit.org/show_bug.cgi?id=121306

Reviewed by Antti Koivisto.

* editing/Editor.cpp:
(WebCore::Editor::copyURL): Move the contents of the writeURLToPasteboard function
in here.

* editing/Editor.h: Removed Mac-specific writeURLToPasteboard, added private
Mac-specific fillInUserVisibleForm function for the one Mac-specific part of writing URLs.

* editing/efl/EditorEfl.cpp: Deleted Editor::writeURLToPasteboard.

* editing/mac/EditorMac.mm: Deleted Editor::writeURLToPasteboard, moving the code
into copyURL.
(WebCore::Editor::fillInUserVisibleForm): Added.

* page/DragController.cpp:
(WebCore::DragController::startDrag): Call copyURL instead of writeURL or
writeURLToPasteboard.

* platform/Pasteboard.h: Fixed up the PasteboardURL struct so it's suitable for
cross-platform use. Removed the writeURL function. Removed the Frame* argument from
the Windows-specific writeURLToDataObject function.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::write): Renamed/refactored from writeURL.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::write): Ditto.
* platform/nix/PasteboardNix.cpp:
(WebCore::Pasteboard::write): Ditto.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::write): Ditto.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeURLToDataObject): Removed unused Frame* argument.
(WebCore::Pasteboard::write): Renamed/refactored from writeURL.

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

7 years agoAX: AXPress does not work in SVG
cfleizach@apple.com [Fri, 13 Sep 2013 17:32:16 +0000 (17:32 +0000)]
AX: AXPress does not work in SVG
https://bugs.webkit.org/show_bug.cgi?id=121248

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Implement accessKeyAction() on SVGElements, which is what accessibility code
uses in order to activate Elements.

Test: accessibility/svg-element-press.html

* svg/SVGElement.cpp:
(WebCore::SVGElement::accessKeyAction):
* svg/SVGElement.h:

LayoutTests:

* accessibility/svg-element-press-expected.txt: Added.
* accessibility/svg-element-press.html: Added.

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

7 years ago[CTTE] RenderSVGTransformableContainer is never anonymous.
akling@apple.com [Fri, 13 Sep 2013 16:54:00 +0000 (16:54 +0000)]
[CTTE] RenderSVGTransformableContainer is never anonymous.
<https://webkit.org/b/121304>

Reviewed by Anders Carlsson.

This renderer is never anonymous. Tighten things up with a graphicsElement()
reference getter.

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

7 years ago[CTTE] RenderSVGImage always has a SVGImageElement.
akling@apple.com [Fri, 13 Sep 2013 15:56:08 +0000 (15:56 +0000)]
[CTTE] RenderSVGImage always has a SVGImageElement.
<https://webkit.org/b/121301>

Reviewed by Anders Carlsson.

This renderer is never anonymous, and always has a corresponding SVGImageElement.

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

7 years agoARM EABI hardfp buildfix after r155675
ossy@webkit.org [Fri, 13 Sep 2013 15:55:51 +0000 (15:55 +0000)]
ARM EABI hardfp buildfix after r155675
https://bugs.webkit.org/show_bug.cgi?id=121287

Reviewed by Geoffrey Garen.

* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):

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

7 years ago[CTTE] Tighter element types for RenderSVGShape and subclasses.
akling@apple.com [Fri, 13 Sep 2013 15:54:53 +0000 (15:54 +0000)]
[CTTE] Tighter element types for RenderSVGShape and subclasses.
<https://webkit.org/b/121302>

Reviewed by Antti Koivisto.

Codify the following:

- RenderSVGPath always has an SVGGraphicsElement.
- RenderSVGEllipse always has an SVGGraphicsElement.
- RenderSVGRect always has an SVGRectElement.
- RenderSVGShape always has an SVGGraphicsElement.

None of these renderers are ever anonymous, so delete element() and provide
strongly typed reference getters instead.

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

7 years ago[CTTE] RenderSVGResourceFilterPrimitive always has an SVGFilterPrimitiveStandardAttri...
akling@apple.com [Fri, 13 Sep 2013 15:53:21 +0000 (15:53 +0000)]
[CTTE] RenderSVGResourceFilterPrimitive always has an SVGFilterPrimitiveStandardAttributes.
<https://webkit.org/b/121300>

Reviewed by Anders Carlsson.

This renderer is never anonymous, and always has a corresponding SVGFilterPrimitiveStandardAttributes element.

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

7 years agoFix build with namespaced Qt.
allan.jensen@digia.com [Fri, 13 Sep 2013 15:40:56 +0000 (15:40 +0000)]
Fix build with namespaced Qt.

Unreviewed build fix.

One forward declaration of QUrl was missing proper namespace macros.

* UIProcess/API/qt/qquickurlschemedelegate_p.h:

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

7 years agoOwnArrayPtr: Never allow implicit pointer conversion
mikhail.pozdnyakov@intel.com [Fri, 13 Sep 2013 15:25:54 +0000 (15:25 +0000)]
OwnArrayPtr: Never allow implicit pointer conversion
https://bugs.webkit.org/show_bug.cgi?id=121291

Reviewed by Anders Carlsson.

We should never allow implicit pointer conversion in OwnArrayPtr
and remove its template copy constructor & template assignment operator, as:
- these methods are never used
- these methods are inappropriate to have in OwnArrayPtr as arrays do not
  interact well with polymorphism.

* wtf/OwnArrayPtr.h:

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

7 years agoFinish removing layer-violating code from Pasteboard (just for Mac during this first...
darin@apple.com [Fri, 13 Sep 2013 15:25:08 +0000 (15:25 +0000)]
Finish removing layer-violating code from Pasteboard (just for Mac during this first step)
https://bugs.webkit.org/show_bug.cgi?id=121279

Reviewed by Anders Carlsson.

* editing/Editor.h: Added webContentFromPasteboard member function, private nested class
WebContentReader, private createFragmentForImageResourceAndAddResource and
createFragmentAndAddResources member functions.

* editing/mac/EditorMac.mm: Re-sorted includes and added some.
(WebCore::Editor::pasteWithPasteboard): Call the new webContentFromPasteboard function.
(WebCore::Editor::insertParagraphSeparatorInQuotedContent): Comment tweak.
(WebCore::styleForSelectionStart): Removed an unneeded call to String::impl.
(WebCore::Editor::readPlainTextFromPasteboard): Updated to use an isURL boolean instead
of a separate string named "url".
(WebCore::Editor::WebContentReader::readWebArchive): Added. Contains reworked code that
was originally in Pasteboard::documentFragment.
(WebCore::Editor::WebContentReader::readFilenames): Ditto.
(WebCore::Editor::WebContentReader::readHTML): Ditto.
(WebCore::Editor::WebContentReader::readRTFD): Ditto.
(WebCore::Editor::WebContentReader::readRTF): Ditto.
(WebCore::Editor::WebContentReader::readImage): Ditto.
(WebCore::Editor::WebContentReader::readURL): Ditto.
(WebCore::Editor::WebContentReader::readPlainText): Ditto.
(WebCore::Editor::webContentFromPasteboard): Added. Uses WebContentReader to read the
content from the pasteboard.
(WebCore::Editor::createFragmentForImageResourceAndAddResource): Added. Helper used
by code above.
(WebCore::Editor::createFragmentAndAddResources): Ditto.

* platform/Pasteboard.h: Added new PasteboardWebContentReader abstract class so
client can get the various types of pasteboard content and stop on the kind it
can handle. Improved comments and formatting a bit. Removed documentFragment
when compiling for PLATFORM(MAC).

* platform/mac/DragDataMac.mm:
(WebCore::DragData::asFragment): Changed to use Editor::webContentFromPasteboard.

* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::read): Updated the plain text overload of this for changes
to the struct that holds the result. Added a new web content overload of this,
which retains the pasteboard-reading part of Pasteboard::documentFragment, but
omits the document fragment construction part.

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

7 years ago[Qt] REGRESSION(r154444): xss-DENIED test results changed
allan.jensen@digia.com [Fri, 13 Sep 2013 15:15:09 +0000 (15:15 +0000)]
[Qt] REGRESSION(r154444): xss-DENIED test results changed
https://bugs.webkit.org/show_bug.cgi?id=120595

Reviewed by Jocelyn Turcotte.

Tools:

Avoid overwriting Qt meta properties, which we identify by them being undeletable.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(DumpRenderTree::initJSObjects):

LayoutTests:

* platform/qt/TestExpectations:

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

7 years ago[CTTE] RenderSVGText always has a SVGTextElement.
akling@apple.com [Fri, 13 Sep 2013 14:50:48 +0000 (14:50 +0000)]
[CTTE] RenderSVGText always has a SVGTextElement.
<https://webkit.org/b/121299>

Reviewed by Antti Koivisto.

This renderer is never anonymous, and always has a corresponding <svg> element.
Tighten this up and remove some pointless assertions.

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

7 years agoRemove support for QXmlStream as the XML parser.
allan.jensen@digia.com [Fri, 13 Sep 2013 14:34:27 +0000 (14:34 +0000)]
Remove support for QXmlStream as the XML parser.
https://bugs.webkit.org/show_bug.cgi?id=121229

Reviewed by Andreas Kling.

Source/WebCore:

Remove the implementation and all the #ifdef related to it.

* Target.pri:
* WebCore.pri:
* dom/TransformSource.h:
* xml/XMLErrors.h:
* xml/XSLStyleSheet.h:
* xml/XSLTProcessor.h:
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::enterText):
(WebCore::toString):
(WebCore::XMLDocumentParser::exitText):
(WebCore::XMLDocumentParser::insertErrorMessageBlock):
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserQt.cpp: Removed.

Source/WebKit/blackberry:

Removed USE flags.

* WebCoreSupport/AboutDataUseFeatures.in:

Source/WTF:

Removed USE flags.

* wtf/Platform.h:

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

7 years ago[CTTE] RenderSVGViewportContainer always has a SVGSVGElement.
akling@apple.com [Fri, 13 Sep 2013 14:07:46 +0000 (14:07 +0000)]
[CTTE] RenderSVGViewportContainer always has a SVGSVGElement.
<https://webkit.org/b/121297>

Reviewed by Antti Koivisto.

This renderer is never anonymous, and always has a corresponding <svg> element.
Tighten this up and remove some pointless null checks and type checks.

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

7 years agoOne more Unreviewed fix after r155675.
ossy@webkit.org [Fri, 13 Sep 2013 13:42:56 +0000 (13:42 +0000)]
One more Unreviewed fix after r155675.

* js/array-with-double-assign-expected.txt:
* js/array-with-double-assign.html: Path fixed.
* js/array-with-double-push-expected.txt:
* js/array-with-double-push.html: Path fixed.

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

7 years ago[Qt] Update sync.profile
allan.jensen@digia.com [Fri, 13 Sep 2013 13:09:30 +0000 (13:09 +0000)]
[Qt] Update sync.profile
https://bugs.webkit.org/show_bug.cgi?id=121295

Reviewed by Simon Hausmann.

Ensure we let the dependencies pick the right branch instead of always master
and list all the dependencies we need on all platforms.

* Source/sync.profile:

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

7 years agoUnreviewed fix after r155675. Move new tests from fast/js to js.
ossy@webkit.org [Fri, 13 Sep 2013 13:06:59 +0000 (13:06 +0000)]
Unreviewed fix after r155675. Move new tests from fast/js to js.

* js/array-with-double-assign-expected.txt: Renamed from LayoutTests/fast/js/array-with-double-assign-expected.txt.
* js/array-with-double-assign.html: Renamed from LayoutTests/fast/js/array-with-double-assign.html.
* js/array-with-double-push-expected.txt: Renamed from LayoutTests/fast/js/array-with-double-push-expected.txt.
* js/array-with-double-push.html: Renamed from LayoutTests/fast/js/array-with-double-push.html.
* js/script-tests/array-with-double-assign.js: Renamed from LayoutTests/fast/js/script-tests/array-with-double-assign.js.
(foo):
* js/script-tests/array-with-double-push.js: Renamed from LayoutTests/fast/js/script-tests/array-with-double-push.js.
(foo):

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

7 years ago[Qt] unreviewed gardening. Rebaseline after r155253.
kadam@inf.u-szeged.hu [Fri, 13 Sep 2013 12:57:51 +0000 (12:57 +0000)]
[Qt] unreviewed gardening. Rebaseline after r155253.

* platform/qt-wk2/editing/selection/caret-rtl-2-expected.png: Removed.
* platform/qt-wk2/editing/selection/caret-rtl-2-left-expected.png: Removed.
* platform/qt-wk2/editing/selection/caret-rtl-expected.png: Removed.
* platform/qt-wk2/editing/selection/caret-rtl-right-expected.png: Removed.
* platform/qt-wk2/editing/selection/caret-rtl-right-expected.txt: Removed.
* platform/qt/editing/selection/caret-rtl-2-expected.txt:
* platform/qt/editing/selection/caret-rtl-2-left-expected.txt:
* platform/qt/editing/selection/caret-rtl-expected.txt:
* platform/qt/editing/selection/caret-rtl-right-expected.txt:

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

7 years ago[Qt] Unreviewed gardening. Rebaseline tests after r155408.
kadam@inf.u-szeged.hu [Fri, 13 Sep 2013 12:32:01 +0000 (12:32 +0000)]
[Qt] Unreviewed gardening. Rebaseline tests after r155408.

* platform/qt/fast/forms/control-restrict-line-height-expected.png:
* platform/qt/fast/forms/control-restrict-line-height-expected.txt:
* platform/qt/fast/forms/input-placeholder-visibility-1-expected.png:
* platform/qt/fast/forms/input-placeholder-visibility-1-expected.txt:
* platform/qt/fast/forms/input-placeholder-visibility-3-expected.png:
* platform/qt/fast/forms/input-placeholder-visibility-3-expected.txt:
* platform/qt/fast/forms/placeholder-position-expected.png:
* platform/qt/fast/forms/placeholder-position-expected.txt:
* platform/qt/fast/forms/textarea-placeholder-pseudo-style-expected.png:
* platform/qt/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
* platform/qt/fast/forms/textarea-placeholder-visibility-1-expected.png:
* platform/qt/fast/forms/textarea-placeholder-visibility-1-expected.txt:
* platform/qt/fast/forms/textarea-placeholder-visibility-2-expected.png:
* platform/qt/fast/forms/textarea-placeholder-visibility-2-expected.txt:

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

7 years ago[CTTE] RenderSVGRoot always has a SVGSVGElement.
akling@apple.com [Fri, 13 Sep 2013 12:24:48 +0000 (12:24 +0000)]
[CTTE] RenderSVGRoot always has a SVGSVGElement.
<https://webkit.org/b/121293>

Reviewed by Antti Koivisto.

This renderer is never anonymous, and always has a corresponding <svg> element.
Tighten this up and remove some pointless null checks and assertions.

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

7 years agoRemove support for anonymous deprecated flexboxes.
akling@apple.com [Fri, 13 Sep 2013 12:22:31 +0000 (12:22 +0000)]
Remove support for anonymous deprecated flexboxes.
<https://webkit.org/b/121288>

Reviewed by Antti Koivisto.

There are no remaining internal clients of RenderDeprecatedFlexibleBox,
Nuke a FIXME from r143643 where the move to basing renderers on new flexbox started.

This was the only user of anonymous deprecated flexbox, so removed the ability to
construct those.

Also removed some Chrome-related feature observation gunk from constructor.

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

7 years ago[CTTE] RenderMultiColumnBlock is never anonymous.
akling@apple.com [Fri, 13 Sep 2013 12:21:12 +0000 (12:21 +0000)]
[CTTE] RenderMultiColumnBlock is never anonymous.
<https://webkit.org/b/121292>

Reviewed by Antti Koivisto.

Hide element() and provide existingElement() instead, returning an Element&.

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

7 years ago[CTTE] RenderGrid is never anonymous.
akling@apple.com [Fri, 13 Sep 2013 12:20:12 +0000 (12:20 +0000)]
[CTTE] RenderGrid is never anonymous.
<https://webkit.org/b/121290>

Reviewed by Antti Koivisto.

Hide element() and provide existingElement() instead, returning an Element&.

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

7 years ago[CTTE] RenderTableCaption is never anonymous.
akling@apple.com [Fri, 13 Sep 2013 12:18:46 +0000 (12:18 +0000)]
[CTTE] RenderTableCaption is never anonymous.
<https://webkit.org/b/121289>

Reviewed by Antti Koivisto.

Hide element() and provide existingElement() instead, returning an Element&.

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

7 years ago[CTTE] RenderTableCol is never anonymous.
akling@apple.com [Fri, 13 Sep 2013 11:16:26 +0000 (11:16 +0000)]
[CTTE] RenderTableCol is never anonymous.
<https://webkit.org/b/121286>

Reviewed by Antti Koivisto.

Hide element() and provide existingElement() instead, returning an Element&.
Removed one bogus null check that was exposed.

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

7 years ago[CTTE] RenderListItem is never anonymous.
akling@apple.com [Fri, 13 Sep 2013 11:15:04 +0000 (11:15 +0000)]
[CTTE] RenderListItem is never anonymous.
<https://webkit.org/b/121285>

Reviewed by Antti Koivisto.

Hide element() and provide existingElement() instead, returning an Element&.
Removed some bogus assertions that were exposed by this.

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

7 years agoREGRESSION (r155615): Lots of reftests fail with single line or single pixel differences
timothy_horton@apple.com [Fri, 13 Sep 2013 10:08:36 +0000 (10:08 +0000)]
REGRESSION (r155615): Lots of reftests fail with single line or single pixel differences
https://bugs.webkit.org/show_bug.cgi?id=121245

Reviewed by Darin Adler.

Similar to https://bugs.webkit.org/show_bug.cgi?id=120963,
we need to manually ensure that some pieces of persistent
CoreGraphics state are restored after PDFKit changes them.

In this case, we bookend our restoration around the various
_recursiveDisplay... functions that we also use in WebHTMLView.

* WebView/WebPDFView.mm:
(-[WebPDFView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
(-[WebPDFView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
(-[WebPDFView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
(-[WebPDFView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):

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

7 years ago[CTTE] Tighter element types for RenderSVGInline and subclasses.
akling@apple.com [Fri, 13 Sep 2013 09:48:22 +0000 (09:48 +0000)]
[CTTE] Tighter element types for RenderSVGInline and subclasses.
<https://webkit.org/b/121283>

Reviewed by Antti Koivisto.

Codify the following:

- RenderSVGInline always has an SVGGraphicsElement.
- RenderSVGTextPath always has an SVGTextPathElement.
- RenderSVGTSpan always has an SVGTextPositioningElement.

None of these renderers are ever anonymous, so delete element() and provide
strongly typed reference getters instead.

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

7 years ago[CTTE] RenderFileUploadControl always has a HTMLInputElement.
akling@apple.com [Fri, 13 Sep 2013 09:43:45 +0000 (09:43 +0000)]
[CTTE] RenderFileUploadControl always has a HTMLInputElement.
<https://webkit.org/b/121278>

Reviewed by Darin Adler.

RenderFileUploadControl is never anonymous and always has a corresponding HTMLInputElement.

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

7 years ago[CTTE] RenderFieldset always has a HTMLFieldSetElement.
akling@apple.com [Fri, 13 Sep 2013 09:40:30 +0000 (09:40 +0000)]
[CTTE] RenderFieldset always has a HTMLFieldSetElement.
<https://webkit.org/b/121277>

Reviewed by Darin Adler.

RenderFieldset is never anonymous and always has a corresponding HTMLFieldSetElement.

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

7 years ago[Qt] Unreviewed gardening. Skip some failing tests.
kadam@inf.u-szeged.hu [Fri, 13 Sep 2013 09:38:34 +0000 (09:38 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests.
https://bugs.webkit.org/show_bug.cgi?id=120848.

* platform/qt/TestExpectations:

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

7 years ago[CTTE] RenderButton always has a HTMLFormControlElement.
akling@apple.com [Fri, 13 Sep 2013 09:00:04 +0000 (09:00 +0000)]
[CTTE] RenderButton always has a HTMLFormControlElement.
<https://webkit.org/b/121281>

Reviewed by Antti Koivisto.

RenderButton is never anonymous and has either a <button> or an <input> element,
and their nearest shared ancestor is HTMLFormControlElement.

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

7 years agodownload-requested arg should be WEBKIT_TYPE_DOWNLOAD not G_TYPE_OBJECT
berto@igalia.com [Fri, 13 Sep 2013 08:16:58 +0000 (08:16 +0000)]
download-requested arg should be WEBKIT_TYPE_DOWNLOAD not G_TYPE_OBJECT
https://bugs.webkit.org/show_bug.cgi?id=57634

Reviewed by Darin Adler.

* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):

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

7 years agoGive actions in Range class NON_SHOUTING_NAMES
darin@apple.com [Fri, 13 Sep 2013 08:16:31 +0000 (08:16 +0000)]
Give actions in Range class NON_SHOUTING_NAMES
https://bugs.webkit.org/show_bug.cgi?id=121280

Reviewed by Andreas Kling.

Source/WebCore:

* dom/Range.cpp:
(WebCore::Range::deleteContents):
(WebCore::Range::processContents):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::processNodes):
(WebCore::Range::processAncestorsAndTheirSiblings):
(WebCore::Range::extractContents):
(WebCore::Range::cloneContents):
* dom/Range.h:
Just let do-webcore-rename do its thing.
- DELETE_CONTENTS -> Delete
- EXTRACT_CONTENTS -> Extract
- CLONE_CONTENTS -> Clone

Tools:

* Scripts/do-webcore-rename: Updated to do this replace, keeping with
the tradition of checking in the last one we did, along with other
rename ideas for the future.

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

7 years agoFixed crash in V8 benchmark suite in ARM,softp,EABI environment.
commit-queue@webkit.org [Fri, 13 Sep 2013 07:34:14 +0000 (07:34 +0000)]
Fixed crash in V8 benchmark suite in ARM,softp,EABI environment.
https://bugs.webkit.org/show_bug.cgi?id=117281

Patch by Youngho Yoo <youngho33.yoo@lge.com> on 2013-09-13
Reviewed by Michael Saboff.

Fix the missing EABI_32BIT_DUMMY_ARG in FPRReg using callOperation function.

Source/JavaScriptCore:

Test 1 : fast/js/array-with-double-assign.html
Test 2 : fast/js/array-with-double-push.html

* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):

LayoutTests:

* fast/js/array-with-double-assign-expected.txt: Added.
* fast/js/array-with-double-assign.html: Added.
* fast/js/array-with-double-push-expected.txt: Added.
* fast/js/array-with-double-push.html: Added.
* fast/js/script-tests/array-with-double-assign.js: Added.
(foo):
* fast/js/script-tests/array-with-double-push.js: Added.
(foo):

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

7 years agoSource/WebCore: [EFL]Background Style of element not visible because of default...
commit-queue@webkit.org [Fri, 13 Sep 2013 06:42:36 +0000 (06:42 +0000)]
Source/WebCore: [EFL]Background Style of element not visible because of  default theme style
https://bugs.webkit.org/show_bug.cgi?id=117405

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-09-12
Reviewed by Gyuyoung Kim.

When select element is styled with css background property(color/image) the styling
gets hidden by Combo box non transparent image. This patch handle the
case and transparent images are used when select image is styled. So
now background-color and background-image are visible across the Combo box

The code is added to support css styling of other theme control,
Basically an extra signal is emitted to edje which change the state
of edje object whenever the control is styled.

Covered by existing test case, updated the test expected image.

* platform/efl/DefaultTheme/CMakeLists.txt:
* platform/efl/DefaultTheme/widget/combo/combo.edc:
* platform/efl/DefaultTheme/widget/combo/combo_focus_button_transparent.png: Added.
* platform/efl/DefaultTheme/widget/combo/combo_focus_transparent.png: Added.
* platform/efl/DefaultTheme/widget/combo/combo_hover_button_transparent.png: Added.
* platform/efl/DefaultTheme/widget/combo/combo_hover_transparent.png: Added.
* platform/efl/DefaultTheme/widget/combo/combo_normal_button_transparent.png: Added.
* platform/efl/DefaultTheme/widget/combo/combo_normal_transparent.png: Added.
* platform/efl/DefaultTheme/widget/combo/combo_press_button_transparent.png: Added.
* platform/efl/DefaultTheme/widget/combo/combo_press_transparent.png: Added.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::applyEdjeStateFromForm):
(WebCore::RenderThemeEfl::isControlStyled):
(WebCore::RenderThemeEfl::paintThemePart):
* platform/efl/RenderThemeEfl.h:

LayoutTests: [EFL] Background Style of element not visible because of default theme style
https://bugs.webkit.org/show_bug.cgi?id=117405

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-09-12
Reviewed by Gyuyoung Kim.

Updating expected image oputput of pixel test reflecting the
background image visible over combo box.

* platform/efl/fast/forms/menulist-narrow-width-expected.png:
* platform/efl/fast/forms/menulist-restrict-line-height-expected.png:
* platform/efl/fast/forms/menulist-style-color-expected.png:
* platform/efl/fast/forms/select-background-none-expected.png:
* platform/efl/fast/forms/select-style-expected.png:

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

7 years ago[CTTE] RenderMenuList always has a HTMLSelectElement.
akling@apple.com [Fri, 13 Sep 2013 06:16:41 +0000 (06:16 +0000)]
[CTTE] RenderMenuList always has a HTMLSelectElement.
<https://webkit.org/b/121276>

Reviewed by Anders Carlsson.

This renderer is never anonymous and always has a corresponding HTMLSelectElement.
Deleted element() in favor of HTMLSelectElement& selectElement().

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

7 years agoFix Qt build.
akling@apple.com [Fri, 13 Sep 2013 05:50:14 +0000 (05:50 +0000)]
Fix Qt build.

* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::inputMethodQuery):

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

7 years ago[CTTE] Tighten RenderTextControl element typing.
akling@apple.com [Fri, 13 Sep 2013 05:32:54 +0000 (05:32 +0000)]
[CTTE] Tighten RenderTextControl element typing.
<https://webkit.org/b/121275>

Reviewed by Anders Carlsson.

Codify these invariants:

- RenderTextControl always has a HTMLTextFormControl.
- RenderSearchField always has a HTMLInputElement.
- RenderTextControlSingleLine always has a HTMLInputElement.

None of these renderers are ever anonymous. Deleted element() and added
strongly typed reference getters instead.

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

7 years ago[CTTE] RenderListMarker is always anonymous and owned by RenderListItem.
akling@apple.com [Fri, 13 Sep 2013 05:13:55 +0000 (05:13 +0000)]
[CTTE] RenderListMarker is always anonymous and owned by RenderListItem.
<https://webkit.org/b/121274>

Reviewed by Anders Carlsson.

Store a RenderListItem& instead of a pointer in RenderListMarker.
Deleted the element() function since list markers are always anonymous.

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

7 years ago[CTTE] RenderListBox's element is always a HTMLSelectElement.
akling@apple.com [Fri, 13 Sep 2013 05:12:45 +0000 (05:12 +0000)]
[CTTE] RenderListBox's element is always a HTMLSelectElement.
<https://webkit.org/b/121273>

Reviewed by Anders Carlsson.

Hide element() on RenderListBox and make selectElement() return a reference
since this renderer cannot be anonymous.

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

7 years ago[CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement.
akling@apple.com [Fri, 13 Sep 2013 05:11:18 +0000 (05:11 +0000)]
[CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement.
<https://webkit.org/b/121272>

Reviewed by Anders Carlsson.

Add RenderHTMLCanvas::canvasElement(), hiding element().
This function also returns a reference since this renderer cannot be anonymous.

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

7 years ago[CTTE] RenderTextControlMultiLine's element is always a HTMLTextAreaElement.
akling@apple.com [Fri, 13 Sep 2013 05:09:46 +0000 (05:09 +0000)]
[CTTE] RenderTextControlMultiLine's element is always a HTMLTextAreaElement.
<https://webkit.org/b/121271>

Reviewed by Anders Carlsson.

Add RenderTextControlMultiLine::textAreaElement(), hiding element().
This function also returns a reference since this renderer cannot be anonymous.

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

7 years ago[Windows] Update WKSI library for Open Source builders.
bfulgham@apple.com [Fri, 13 Sep 2013 02:19:20 +0000 (02:19 +0000)]
[Windows] Update WKSI library for Open Source builders.

* win/lib32/WebKitSystemInterface.lib: Recompile with latest WebKit to use newer
WTF.dll symbol exports.

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

7 years ago[mac] Cache rendered image in PDFDocumentImage
timothy_horton@apple.com [Fri, 13 Sep 2013 00:37:43 +0000 (00:37 +0000)]
[mac] Cache rendered image in PDFDocumentImage
https://bugs.webkit.org/show_bug.cgi?id=121207

Reviewed by Simon Fraser.

Tests: fast/images/pdf-as-image-too-big.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::createImage):
PDFDocumentImage takes a ImageObserver now so that it can report
decoded data size changes to the memory cache.

* platform/graphics/Image.h:
(WebCore::Image::isPDFDocumentImage): Added.

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::PDFDocumentImage):
PDFDocumentImage takes a ImageObserver now so that it can report
decoded data size changes to the memory cache.

(WebCore::PDFDocumentImage::applyRotationForPainting):
Fix up some comments, and use GraphicsContext instead of CG API.

(WebCore::PDFDocumentImage::cacheParametersMatch):
Determine whether our cached image is still valid, given the new
destination's size, CTM scale, and source rect.

(WebCore::transformContextForPainting): Added.

(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
Cache a rendered bitmap of the PDF. Invalidate the cache if cacheParametersMatch
decides that the parameters don't match, unless we're painting in low quality mode,
in which case we'll scale the existing image (and then fully repaint when the
high-quality repaint timer fires).
Inform the memory cache of our new size.

(WebCore::PDFDocumentImage::draw):
Update the cached image if needed.
Paint the cached image into the context if it's available (which it might not be,
if the image is way too big and the allocation fails). Otherwise, paint straight
into the context as we previously did.

(WebCore::PDFDocumentImage::destroyDecodedData):
Throw away the cached image if requested.

(WebCore::PDFDocumentImage::decodedSize):
(WebCore::PDFDocumentImage::drawPDFPage):
Drive-by use GraphicsContext instead of CG directly.

* platform/graphics/cg/PDFDocumentImage.h:
(WebCore::PDFDocumentImage::create):
Override isPDFDocumentImage().
Add storage for the cached image buffer and various cache parameters.

* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::shouldPaintAtLowQuality):
PDFDocumentImage is also interested in/capable of low-quality painting now.

Add a test ensuring that very large PDF-in-<img> elements don't crash.

* fast/images/pdf-as-image-too-big-expected.txt: Added.
* fast/images/pdf-as-image-too-big.html: Added.

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

7 years agoImage doesn't always repaint at high quality in all tiles after a live resize
timothy_horton@apple.com [Fri, 13 Sep 2013 00:33:03 +0000 (00:33 +0000)]
Image doesn't always repaint at high quality in all tiles after a live resize
https://bugs.webkit.org/show_bug.cgi?id=121244

Reviewed by Darin Adler.

Currently, ImageQualityController removes an image from its low-quality-images
list from inside shouldPaintAtLowQuality, if this is the first paint outside
of a live resize, but does not force the renderer to repaint in its entirety.

However, there's no guarantee we've invalidated the whole renderer, so this can
leave some parts of the image painted in low-quality.

This just removes a short-circuit, instead using the ordinary high-quality-repaint
timer to ensure that the entire renderer is repainted.

No new test; all attempts have failed, as this depends on tiled drawing
and a live resize occurring.

* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::shouldPaintAtLowQuality):

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

7 years ago[EFL] Speculative build fix after r155638.
bfulgham@apple.com [Fri, 13 Sep 2013 00:23:05 +0000 (00:23 +0000)]
[EFL] Speculative build fix after r155638.

* platform/efl/PasteboardEfl.cpp: Add include for PassRefPtr, which
is no longer implicitly included.

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

7 years agoDFG::Int32Operand and fillInt32() should go away and all uses should be replaced...
fpizlo@apple.com [Thu, 12 Sep 2013 23:57:59 +0000 (23:57 +0000)]
DFG::Int32Operand and fillInt32() should go away and all uses should be replaced with SpeculateInt32Operand
https://bugs.webkit.org/show_bug.cgi?id=121268

Reviewed by Oliver Hunt.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):

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

7 years agoWeb Inspector: Duplicated color swatches changing autocompletes color names
commit-queue@webkit.org [Thu, 12 Sep 2013 23:30:21 +0000 (23:30 +0000)]
Web Inspector: Duplicated color swatches changing autocompletes color names
https://bugs.webkit.org/show_bug.cgi?id=121265

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-12
Reviewed by Timothy Hatcher.

CodeMirror bookmarks at position used to be unique but no longer are.
Define an extension to give us unique bookmarks as we expected, and
update all the old locations using setBookmark.

* UserInterface/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
(WebInspector.CSSStyleDeclarationTextEditor.prototype):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText):
* UserInterface/CodeMirrorAdditions.js:

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

7 years agoAvoid extra scrollbar-related layouts for overlay scrollbars
simon.fraser@apple.com [Thu, 12 Sep 2013 23:28:32 +0000 (23:28 +0000)]
Avoid extra scrollbar-related layouts for overlay scrollbars
https://bugs.webkit.org/show_bug.cgi?id=121267

Source/WebCore:

Reviewed by Beth Dakin.

If ScrollView::updateScrollbars() detected that scrollbars were added
and removed, it would call contentsResized(), which calls setNeedsLayout(),
followed by visibleContentsResized() which would trigger layout. There is no
point doing this with overlay scrollbars, so avoid it by having
setHas*Scrollbar() return true if the addition/removal of a scrollbar changed
the available width.

No tests: we can't test overlay scrollbars in tests.

* page/FrameView.cpp:
(WebCore::FrameView::setContentsSize): Drive-by assertion that
checks that the unsigned m_deferSetNeedsLayouts doesn't wrap when
decremented.
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar): Return true if the addition/removal
changed available space.
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
(WebCore::ScrollView::updateScrollbars): Only set sendContentResizedNotification
if available space was changed by addition/removal of scrollbars.
* platform/ScrollView.h:

Source/WebKit2:

Reviewed by Beth Dakin.

view->resize() will call setNeedsLayout() if necessary, and may already have
done layout, so the extra setNeedsLayout() here was bad.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize):

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

7 years agoWeb Inspector: Update CodeMirror for gutter fix
commit-queue@webkit.org [Thu, 12 Sep 2013 23:27:59 +0000 (23:27 +0000)]
Web Inspector: Update CodeMirror for gutter fix
https://bugs.webkit.org/show_bug.cgi?id=121262

Update CodeMirror to 757944449 to fix gutter click issue:
<https://github.com/marijnh/CodeMirror/issues/1807>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-12
Reviewed by Timothy Hatcher.

* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* Tools/PrettyPrinting/FormatterContentBuilder.js:
(FormatterContentBuilder.prototype._appendIndent):
* Tools/PrettyPrinting/codemirror.css:
* Tools/PrettyPrinting/codemirror.js:
* Tools/PrettyPrinting/css.js:
* UserInterface/CodeMirrorAdditions.js:
* UserInterface/CodeMirrorFormatters.js:
* UserInterface/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
(WebInspector.DebuggerManager.prototype._removeBreakpoint):
* UserInterface/External/CodeMirror/codemirror.css:
* UserInterface/External/CodeMirror/codemirror.js:
* UserInterface/External/CodeMirror/coffeescript.js:
* UserInterface/External/CodeMirror/css.js:
* UserInterface/External/CodeMirror/less.js:
* UserInterface/External/CodeMirror/sql.js:
* UserInterface/TextEditor.js:
(WebInspector.TextEditor.prototype.hasFormatter):

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

7 years agoWeb Inspector: Update License copyrights in minified JavaScript
commit-queue@webkit.org [Thu, 12 Sep 2013 23:25:02 +0000 (23:25 +0000)]
Web Inspector: Update License copyrights in minified JavaScript
https://bugs.webkit.org/show_bug.cgi?id=121264

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-12
Reviewed by Timothy Hatcher.

* Scripts/copy-user-interface-resources.sh:

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

7 years agoSource/JavaScriptCore: Web Inspector shouldn't artificially allocate the arguments...
ggaren@apple.com [Thu, 12 Sep 2013 23:07:36 +0000 (23:07 +0000)]
Source/JavaScriptCore: Web Inspector shouldn't artificially allocate the arguments object in functions that don't use it
https://bugs.webkit.org/show_bug.cgi?id=121206
<rdar://problem/6911886>

Reviewed by Joseph Pecoraro.

This is a step toward better tools, and a 23% speedup in a simple
JavaScript benchmark run with the Web Inspector open.

We want the Web Inspector to be fast, and we want it to produce reliable
CPU and memory profiles. We can't do that if just opening the Web Inspector
incurs huge CPU/memory penalties like the arguments object.

Also, since use of the 'arguments' identifier is an API for allocating
an object, I think it's good for the UI to let developers know when
they've invoked that API and when they haven't.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator): No need to allocate the
arguments object artificially for the debugger's sake. The activation
object no longer assumes that the stack frame is laid out for one.

(Long-term, this code will move out of the activation object, into a
special object for interfacing with the debugger.)

* runtime/JSActivation.cpp:
(JSC::JSActivation::getOwnNonIndexPropertyNames):
(JSC::JSActivation::getOwnPropertySlot): Don't advertise or provide an
arguments object if the user function didn't include one. The bytecode
generator will not have laid out the stack frame to support one.

(Eventually, we do want the Web Inspector to see an arguments
object in scope in the console. That's a one-line change in JSActivation,
but it's blocked by https://bugs.webkit.org/show_bug.cgi?id=121208.)

(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h: Removed this obsolete performance
work-around. C++ property access to an activation object is no longer
hot.

LayoutTests: Web Inspector shouldn't artificially allocate the arguments object in functions that don't use it
https://bugs.webkit.org/show_bug.cgi?id=121206

Reviewed by Joseph Pecoraro.
<rdar://problem/6911886>

* inspector/debugger/debugger-expand-scope-expected.txt: Updated these
results to reflect the fact that it's correct to exclude the 'arguments'
identifier from function scopes that don't use it.

* inspector/debugger/debugger-expand-scope.html: Edited this test to
include one frame that uses the 'arguments' identifier and one frame
that doesn't, so we test both cases.

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

7 years agoCreate short build logs for errors and warnings.
lforschler@apple.com [Thu, 12 Sep 2013 23:03:16 +0000 (23:03 +0000)]
Create short build logs for errors and warnings.
https://bugs.webkit.org/show_bug.cgi?id=120614

Reviewed by Ryosuke Niwa.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
    -include StringIO
(CompileWebKit.createSummary):
    -add a createSummary function which will parse out errors and warnings into a concise log file for quick viewing

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

7 years ago[CSS Shapes] Rename shapeContainingBlockHeight to shapeContainingBlockLogicalHeight
zoltan@webkit.org [Thu, 12 Sep 2013 22:55:59 +0000 (22:55 +0000)]
[CSS Shapes] Rename shapeContainingBlockHeight to shapeContainingBlockLogicalHeight
https://bugs.webkit.org/show_bug.cgi?id=121252

Reviewed by Oliver Hunt.

No new tests, no behavior change.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::pushShapeContentOverflowBelowTheContentBox):
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::shapeContainingBlockLogicalHeight):

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

7 years agoUpdate cygwin downloader to search for packages in the right location.
roger_fong@apple.com [Thu, 12 Sep 2013 22:46:57 +0000 (22:46 +0000)]
Update cygwin downloader to search for packages in the right location.

* CygwinDownloader/cygwin-downloader.py:
* CygwinDownloader/cygwin-downloader.zip:

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

7 years ago<meter> element AXValue is listed as a writable value
commit-queue@webkit.org [Thu, 12 Sep 2013 22:41:43 +0000 (22:41 +0000)]
<meter> element AXValue is listed as a writable value
https://bugs.webkit.org/show_bug.cgi?id=117650

Patch by Samuel White <samuel_white@apple.com> on 2013-09-12
Reviewed by Chris Fleizach.

Source/WebCore:

No new tests, updated existing accessibility/meter-element.html test
to check writability. Changed meter element value to be unwritable.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::canSetValueAttribute):

LayoutTests:

Added writability check to meter element test.

* accessibility/meter-element.html:
* platform/mac/accessibility/meter-element-expected.txt:

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

7 years agoRolling out r155632
mhahnenberg@apple.com [Thu, 12 Sep 2013 22:39:16 +0000 (22:39 +0000)]
Rolling out r155632

Broke some tests.

* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::tryAllocateHelper):
* heap/MarkedBlock.h:

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

7 years ago[Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange
reni@webkit.org [Thu, 12 Sep 2013 22:09:25 +0000 (22:09 +0000)]
[Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange
https://bugs.webkit.org/show_bug.cgi?id=121148

Reviewed by Kent Tamura.

Source/WebCore:

Non-steppable input types must not rendered as slider even if its webkit-apperance style
property is set to slider-vertical/horizontal.

Test: platform/qt/fast/forms/range/slider-crash-on-input.html

* platform/qt/RenderThemeQStyle.cpp:
(WebCore::RenderThemeQStyle::paintSliderTrack):

LayoutTests:

Trying to render text input as slider-vertical. Expecting to run without crash.

* platform/qt/fast/forms/range/slider-crash-on-input.html: Added.
* platform/qt/platform/qt/fast/forms/range/slider-crash-on-input-expected.txt: Added.

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

7 years agoCanvas fillText and measureText handle ideographic spaces differently
ap@apple.com [Thu, 12 Sep 2013 21:40:04 +0000 (21:40 +0000)]
Canvas fillText and measureText handle ideographic spaces differently
https://bugs.webkit.org/show_bug.cgi?id=108881

Fixing the test:
1. Updated paths to js-test scripts.
2. Removed "meta charcode" - we don't need to specify a charset here, and it's
"charset", not "charcode" anyway.

* fast/canvas/canvas-measureText-ideographicSpace.html:

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

7 years agoSource/JavaScriptCore: Qt build fix. Add a return to make the compiler happy.
rniwa@webkit.org [Thu, 12 Sep 2013 21:04:17 +0000 (21:04 +0000)]
Source/JavaScriptCore: Qt build fix. Add a return to make the compiler happy.

* dfg/DFGGPRInfo.h:
(JSC::DFG::JSValueRegs::gpr):

Source/WebCore: Qt and Windows build fix.

* page/animation/CSSPropertyAnimation.cpp:

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

7 years agosvg/animations/smil-leak-*.svg tests are flaky
ap@apple.com [Thu, 12 Sep 2013 21:02:39 +0000 (21:02 +0000)]
svg/animations/smil-leak-*.svg tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=114280

Reviewed by Tim Horton.

Moved garbage collection out of the function that touches nodes to be collected,
making sure that they are definitely not on the stack.

I could not reproduce locally, so this is a speculative fix.

* svg/animations/smil-leak-dynamically-added-element-instances.svg:
* svg/animations/smil-leak-element-instances-noBaseValRef.svg:
* svg/animations/smil-leak-element-instances.svg:
* svg/animations/smil-leak-elements.svg:

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

7 years agoEncapsulate globals in CSSPropertyAnimation.cpp
rniwa@webkit.org [Thu, 12 Sep 2013 20:52:13 +0000 (20:52 +0000)]
Encapsulate globals in CSSPropertyAnimation.cpp
https://bugs.webkit.org/show_bug.cgi?id=121205

Reviewed by Antti Koivisto.

Encapsulated the globals inside a newly added CSSPropertyAnimationWrapperMap. Also removed the circular
dependency from ShorthandPropertyWrapper's constructor to CSSPropertyAnimationWrapperMap::instance().
The circular dependency still exists in ensurePropertyMap but I'm going to remove it in the bug 121199.

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Takes a Vector of longhand wrappers instead of
calling wrapperForProperty in the middle of constructing the very table. This circular dependency is now
encapsulated in CSSPropertyAnimationWrapperMap::ensurePropertyMap.
(WebCore::CSSPropertyAnimationWrapperMap::instance): Added.
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): Renamed from WebCore::wrapperForProperty.
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex): Added.
(WebCore::CSSPropertyAnimationWrapperMap::size): Added.
(WebCore::CSSPropertyAnimationWrapperMap::addPropertyWrapper): Renamed from WebCore::addPropertyWrapper. Also
cleaned up boolean logics to use early exits instead of nested ifs.
(WebCore::CSSPropertyAnimationWrapperMap::addShorthandProperties): Renamed from WebCore::addShorthandProperties.
(WebCore::CSSPropertyAnimationWrapperMap::ensurePropertyMap): Renamed from WebCore::ensurePropertyMap.
Added an alias gPropertyWrappers for m_propertyWrappers; this aliasing will be removed in the bug 121199.
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
(WebCore::CSSPropertyAnimation::propertiesEqual):
(WebCore::CSSPropertyAnimation::getPropertyAtIndex):
(WebCore::CSSPropertyAnimation::getNumProperties):
* page/animation/CSSPropertyAnimation.h:
* rendering/style/RenderStyle.h:

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

7 years agoFlaky Test: plugins/mouse-events.html
ap@apple.com [Thu, 12 Sep 2013 20:42:44 +0000 (20:42 +0000)]
Flaky Test: plugins/mouse-events.html
https://bugs.webkit.org/show_bug.cgi?id=116665

Reviewed by Anders Carlsson.

* plugins/mouse-events-expected.txt:
* plugins/mouse-events.html:
This test used async calls for events, and then usually logged responses while waiting
for a plg.eventLoggingEnabled setter synchronously. Depending on sync/async event
order is not reliable, especially with old WebKit1 plug-in IPC code.

* platform/mac-wk2/plugins/mouse-events-expected.txt: For some unclear reason,
focus works differently in WebKit2.

* platform/gtk/plugins/mouse-events-expected.txt: Removed.
* platform/qt/plugins/mouse-events-expected.txt: Removed.
* platform/win/plugins/mouse-events-expected.txt: Removed.
These results looked similar to new cross-platform ones, hopefully custom results
won't be needed any more.

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

7 years agoDFG::GenerationInfo init/fill methods shouldn't duplicate a bunch of logic
fpizlo@apple.com [Thu, 12 Sep 2013 20:40:03 +0000 (20:40 +0000)]
DFG::GenerationInfo init/fill methods shouldn't duplicate a bunch of logic
https://bugs.webkit.org/show_bug.cgi?id=121253

Reviewed by Oliver Hunt.

* dfg/DFGGenerationInfo.h:
(JSC::DFG::GenerationInfo::initGPR):
(JSC::DFG::GenerationInfo::initInt32):
(JSC::DFG::GenerationInfo::initJSValue):
(JSC::DFG::GenerationInfo::initCell):
(JSC::DFG::GenerationInfo::initBoolean):
(JSC::DFG::GenerationInfo::initStorage):
(JSC::DFG::GenerationInfo::fillGPR):
(JSC::DFG::GenerationInfo::fillJSValue):
(JSC::DFG::GenerationInfo::fillCell):
(JSC::DFG::GenerationInfo::fillInt32):
(JSC::DFG::GenerationInfo::fillBoolean):
(JSC::DFG::GenerationInfo::fillStorage):

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

7 years agoUnreviewed, fix mispelling (Specualte -> Speculate) that I introduced in an
fpizlo@apple.com [Thu, 12 Sep 2013 20:13:28 +0000 (20:13 +0000)]
Unreviewed, fix mispelling (Specualte -> Speculate) that I introduced in an
earlier patch.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculateInt32Operand::gpr):
(JSC::DFG::SpeculateStrictInt32Operand::gpr):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Strict):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Strict):

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

7 years agoGPRTemporary's reuse constructor should be templatized to reduce code duplication...
fpizlo@apple.com [Thu, 12 Sep 2013 20:07:02 +0000 (20:07 +0000)]
GPRTemporary's reuse constructor should be templatized to reduce code duplication, and the bool to denote tag or payload should be replaced with an enum
https://bugs.webkit.org/show_bug.cgi?id=121250

Reviewed by Oliver Hunt.

* dfg/DFGGPRInfo.h:
(JSC::DFG::JSValueRegs::gpr):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::GPRTemporary::GPRTemporary):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileStringEquality):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::JSValueOperand::gpr):
(JSC::DFG::GPRTemporary::GPRTemporary):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileIntegerCompare):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::compile):
* runtime/JSCJSValue.h:

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