WebKit-https.git
9 years agoMac WTF build checks dependencies before copying header files
msaboff@apple.com [Fri, 19 Oct 2012 01:04:35 +0000 (01:04 +0000)]
Mac WTF build checks dependencies before copying header files
https://bugs.webkit.org/show_bug.cgi?id=99770

Reviewed by Mark Rowe.

Fixed up build rules per Mark Rowe. Made new target an Aggregate and removed "WTF copy".

* Configurations/CopyWTFHeaders.xcconfig: Added.
* Configurations/WTF.xcconfig:
* WTF.xcodeproj/project.pbxproj:

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

9 years agoIndexedDB: Refactor IDBDatabaseBackendImpl to use IDBDatabaseMetadata
alecflett@chromium.org [Fri, 19 Oct 2012 01:03:53 +0000 (01:03 +0000)]
IndexedDB: Refactor IDBDatabaseBackendImpl to use IDBDatabaseMetadata
https://bugs.webkit.org/show_bug.cgi?id=99773

Reviewed by Tony Chang.

Refactor to begin separating out metadata from stateful backend objects,
in preparation for https://bugs.webkit.org/show_bug.cgi?id=99774.

Also includes some #include dependency cleanup so that the backing store
depends less on the stateful backend objects.

No new tests as this is purely a refactor.

* Modules/indexeddb/IDBBackingStore.h:
(WebCore):
(IDBBackingStore):
* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::metadata):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
(WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
(WebCore::IDBDatabaseBackendImpl::resetVersion):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::id):
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::deleteDatabase):
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h:
* Modules/indexeddb/IDBTransaction.h:
(WebCore):

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

9 years ago[Skia] Set m_hasAlpha correctly in ImageFrame::copyBitmapData.
pkasting@chromium.org [Fri, 19 Oct 2012 01:02:19 +0000 (01:02 +0000)]
[Skia] Set m_hasAlpha correctly in ImageFrame::copyBitmapData.
https://bugs.webkit.org/show_bug.cgi?id=99781

Reviewed by Adam Barth.

No tests, since the actual effects of this bug are fickle and it's not
clear how to extract and check particular subframes of an animated GIF.

* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore::ImageFrame::copyBitmapData):

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

9 years agoUnbreak jsc tests.
oliver@apple.com [Fri, 19 Oct 2012 00:55:01 +0000 (00:55 +0000)]
Unbreak jsc tests.

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

9 years agoSource/WebCore: [Resource Timing]Implementation of resource timing buffer size restri...
commit-queue@webkit.org [Fri, 19 Oct 2012 00:52:57 +0000 (00:52 +0000)]
Source/WebCore: [Resource Timing]Implementation of resource timing buffer size restriction functionality
https://bugs.webkit.org/show_bug.cgi?id=84885.

Patch by Pan Deng <pan.deng@intel.com> on 2012-10-18
Reviewed by Tony Gentilcore.

http://www.w3.org/TR/2012/CR-resource-timing-20120522/
This patch enable functionality of set buffer size(default is 150 as spec). When buffer is full, resourceTimingBufferFull event will be fired. Incoming entries will be dropped if no more space for them.

Tests: http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html
       http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html
       http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html
       http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_clear_resource_timing_functionality.html
       http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_on_shrink_buffer_size.html
       http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html

* page/Performance.cpp:
(WebCore):
(WebCore::Performance::Performance):
(WebCore::Performance::webkitSetResourceTimingBufferSize):
(WebCore::Performance::addResourceTiming):
(WebCore::Performance::isResourceTimingBufferFull):
* page/Performance.h:
(Performance):

LayoutTests: [Resource Timing]Test cases for set buffer size functionality and event when buffer full.
https://bugs.webkit.org/show_bug.cgi?id=84885.

Patch by Pan Deng <pan.deng@intel.com> on 2012-10-18
Reviewed by Tony Gentilcore.

Test cases in this patch validate buffer size restriction functionality, clear resource timing functionality and the fired event when buffer full.

* http/tests/w3c/webperf/resources/webperftestharnessextension.js:
(PerformanceContext.prototype.getEntriesByName):
(PerformanceContext.prototype.setResourceTimingBufferSize):
(PerformanceContext.prototype.registerResourceTimingBufferFullCallback):
(PerformanceContext.prototype.clearResourceTimings):
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries-expected.txt: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size-expected.txt: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction-expected.txt: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_clear_resource_timing_functionality-expected.txt: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_clear_resource_timing_functionality.html: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_on_shrink_buffer_size-expected.txt: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_on_shrink_buffer_size.html: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback-expected.txt: Added.
* http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

9 years ago[chromium] move TestRunner files into a src/ sub directory
jochen@chromium.org [Fri, 19 Oct 2012 00:31:46 +0000 (00:31 +0000)]
[chromium] move TestRunner files into a src/ sub directory
https://bugs.webkit.org/show_bug.cgi?id=99776

Reviewed by Adam Barth.

This is in preparation of adding a public API to the TestRunner library.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/DRTTestRunner.h:
* DumpRenderTree/chromium/TestRunner/src/AccessibilityControllerChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.cpp.
* DumpRenderTree/chromium/TestRunner/src/AccessibilityControllerChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.h.
* DumpRenderTree/chromium/TestRunner/src/AccessibilityUIElementChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp.
* DumpRenderTree/chromium/TestRunner/src/AccessibilityUIElementChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.h.
* DumpRenderTree/chromium/TestRunner/src/CppBoundClass.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/CppBoundClass.cpp.
* DumpRenderTree/chromium/TestRunner/src/CppBoundClass.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/CppBoundClass.h.
* DumpRenderTree/chromium/TestRunner/src/CppVariant.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/CppVariant.cpp.
* DumpRenderTree/chromium/TestRunner/src/CppVariant.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/CppVariant.h.
* DumpRenderTree/chromium/TestRunner/src/EventSender.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/EventSender.cpp.
* DumpRenderTree/chromium/TestRunner/src/EventSender.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/EventSender.h.
* DumpRenderTree/chromium/TestRunner/src/GamepadController.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/GamepadController.cpp.
* DumpRenderTree/chromium/TestRunner/src/GamepadController.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/GamepadController.h.
* DumpRenderTree/chromium/TestRunner/src/Task.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/Task.cpp.
* DumpRenderTree/chromium/TestRunner/src/Task.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/Task.h.
* DumpRenderTree/chromium/TestRunner/src/TestDelegate.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/TestDelegate.h.
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp.
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.h.
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/TestRunner.cpp.
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/TestRunner.h.
* DumpRenderTree/chromium/TestRunner/src/TextInputController.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/TextInputController.cpp.
* DumpRenderTree/chromium/TestRunner/src/TextInputController.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/TextInputController.h.

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

9 years ago[chromium] garden-o-matic should ignore the 10.8 Tests bot
dpranke@chromium.org [Fri, 19 Oct 2012 00:21:15 +0000 (00:21 +0000)]
[chromium] garden-o-matic should ignore the 10.8 Tests bot
https://bugs.webkit.org/show_bug.cgi?id=99765

Reviewed by Adam Barth.

It's really more of an FYI bot at this point and can be safely
ignored like the Content Shell bots.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
(.):

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

9 years agoBuild fix. Remove the svn:executable property from a bunch of files that have no...
mrowe@apple.com [Fri, 19 Oct 2012 00:00:15 +0000 (00:00 +0000)]
Build fix. Remove the svn:executable property from a bunch of files that have no business having it set.

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

9 years agoAdd support for float-valued prefernces
commit-queue@webkit.org [Thu, 18 Oct 2012 23:59:59 +0000 (23:59 +0000)]
Add support for float-valued prefernces
https://bugs.webkit.org/show_bug.cgi?id=99419

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-10-18
Reviewed by Anders Carlsson.

Support float values for preferences in WK2.

* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::encode):
(WebKit::WebPreferencesStore::decode):
(WebKit):
(WebKit::defaultValueForKey):
* Shared/WebPreferencesStore.h:
(WebKit):
(WebPreferencesStore):
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::updateFloatValueForKey):
(WebKit):
* UIProcess/WebPreferences.h:
(WebPreferences):
* UIProcess/cf/WebPreferencesCF.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/efl/WebPreferencesEfl.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/mac/WebPreferencesMac.mm:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/qt/WebPreferencesQt.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):

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

9 years agoREGRESSION(r130411): Copying & pasting the first line of text can move caret to the...
rniwa@webkit.org [Thu, 18 Oct 2012 23:56:27 +0000 (23:56 +0000)]
REGRESSION(r130411): Copying & pasting the first line of text can move caret to the end of text area
https://bugs.webkit.org/show_bug.cgi?id=99663

Reviewed by Enrica Casucci and Levi Weintraub.

Source/WebCore:

The bug was caused by positionOnlyToBeUpdated's offset not being shifted correctly in
ReplaceSelectionCommand::mergeTextNodesAroundPosition. Suppose we have text nodes t1 and t2 and
positionOnlyToBeUpdated had offset k in t2. When t2 is merged into t1, positionOnlyToBeUpdated should be
moved to (t1, n + k) where n is the ORIGINAL length of t1 before t2 is merged. But we were using
the length after t2 is merged.

Fixed the bug by saving the original length of t1 and using that in the offset adjustment.
Also use the right offset.

Test: editing/pasteboard/copy-paste-first-line-in-textarea.html

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):

LayoutTests:

Add a regression test for copying and pasting the first line in a textarea with two lines of text.

* editing/pasteboard/copy-paste-first-line-in-textarea-expected.txt: Added.
* editing/pasteboard/copy-paste-first-line-in-textarea.html: Added.

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

9 years ago[chromium] Re-enable gesture highlight layout tests, fix GestureLongPress regression.
wjmaclean@chromium.org [Thu, 18 Oct 2012 23:39:18 +0000 (23:39 +0000)]
[chromium] Re-enable gesture highlight layout tests, fix GestureLongPress regression.
https://bugs.webkit.org/show_bug.cgi?id=99632

Reviewed by James Robinson.

Re-enable layout tests for gesture highlights. Includes fix for GestureTapCancel test.

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-longPress.html:
* platform/chromium/TestExpectations:

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

9 years agoBytecode should not have responsibility for determining how to perform non-local...
oliver@apple.com [Thu, 18 Oct 2012 23:37:40 +0000 (23:37 +0000)]
Bytecode should not have responsibility for determining how to perform non-local resolves
https://bugs.webkit.org/show_bug.cgi?id=99349

Reviewed by Gavin Barraclough.

This patch removes lexical analysis from the bytecode generation.  This allows
us to delay lookup of a non-local variables until the lookup is actually necessary,
and simplifies a lot of the resolve logic in BytecodeGenerator.

Once a lookup is performed we cache the lookup information in a set of out-of-line
buffers in CodeBlock.  This allows subsequent lookups to avoid unnecessary hashing,
etc, and allows the respective JITs to recreated optimal lookup code.

This is currently still a performance regression in LLInt, but most of the remaining
regression is caused by a lot of indirection that I'll remove in future work, as well
as some work necessary to allow LLInt to perform in line instruction repatching.
We will also want to improve the behaviour of the baseline JIT for some of the lookup
operations, however this patch was getting quite large already so I'm landing it now
that we've reached the bar of "performance-neutral".

Basic browsing seems to work.

* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitStructures):
(JSC):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::shrinkToFit):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::addResolve):
(JSC::CodeBlock::addPutToBase):
(CodeBlock):
(JSC::CodeBlock::resolveOperations):
(JSC::CodeBlock::putToBaseOperation):
(JSC::CodeBlock::numberOfResolveOperations):
(JSC::CodeBlock::numberOfPutToBaseOperations):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::globalObjectConstant):
(JSC::CodeBlock::setGlobalObjectConstant):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/ResolveGlobalStatus.cpp:
(JSC::computeForStructure):
(JSC::ResolveGlobalStatus::computeFor):
* bytecode/ResolveGlobalStatus.h:
(JSC):
(ResolveGlobalStatus):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::shouldAvoidResolveGlobal):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetLocalVar):
(JSC::BytecodeGenerator::emitInitGlobalConst):
(JSC::BytecodeGenerator::emitPutToBase):
* bytecompiler/BytecodeGenerator.h:
(JSC::ResolveResult::registerResolve):
(JSC::ResolveResult::dynamicResolve):
(ResolveResult):
(JSC::ResolveResult::ResolveResult):
(JSC):
(NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::~NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::resolved):
(JSC::NonlocalResolveInfo::put):
(BytecodeGenerator):
(JSC::BytecodeGenerator::getResolveOperations):
(JSC::BytecodeGenerator::getResolveWithThisOperations):
(JSC::BytecodeGenerator::getResolveBaseOperations):
(JSC::BytecodeGenerator::getResolveBaseForPutOperations):
(JSC::BytecodeGenerator::getResolveWithBaseForPutOperations):
(JSC::BytecodeGenerator::getPutToBaseOperation):
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(DFG):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGCapabilities.h:
(JSC::DFG::canInlineResolveOperations):
(DFG):
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
* dfg/DFGGraph.h:
(ResolveGlobalData):
(ResolveOperationData):
(DFG):
(PutToBaseOperationData):
(Graph):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::resolveOperationsDataIndex):
(Node):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::resolveOperations):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::putToBaseOperation):
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
(JIT):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_put_to_base):
(JSC):
(JSC::JIT::emit_resolve_operations):
(JSC::JIT::emitSlow_link_resolve_operations):
(JSC::JIT::emit_op_resolve):
(JSC::JIT::emitSlow_op_resolve):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emitSlow_op_resolve_base):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emitSlow_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emitSlow_op_resolve_with_this):
(JSC::JIT::emitSlow_op_put_to_base):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_put_to_base):
(JSC):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
* llint/LLIntSlowPaths.cpp:
(LLInt):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSScope.cpp:
(JSC::LookupResult::base):
(JSC::LookupResult::value):
(JSC::LookupResult::setBase):
(JSC::LookupResult::setValue):
(LookupResult):
(JSC):
(JSC::setPutPropertyAccessOffset):
(JSC::executeResolveOperations):
(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolveContainingScope):
(JSC::JSScope::resolve):
(JSC::JSScope::resolveBase):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):
(JSC::JSScope::resolvePut):
(JSC::JSScope::resolveGlobal):
* runtime/JSScope.h:
(JSScope):
* runtime/JSVariableObject.cpp:
(JSC):
* runtime/JSVariableObject.h:
(JSVariableObject):
* runtime/Structure.h:
(JSC::Structure::propertyAccessesAreCacheable):
(Structure):

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

9 years ago[chromium] Simplify TestInterfaces, as this class won't be directly exposed in the...
jochen@chromium.org [Thu, 18 Oct 2012 23:13:10 +0000 (23:13 +0000)]
[chromium] Simplify TestInterfaces, as this class won't be directly exposed in the TestRunner library's interface
https://bugs.webkit.org/show_bug.cgi?id=99766

Reviewed by Adam Barth.

This reverts http://trac.webkit.org/changeset/123240

* DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp:
(TestInterfaces::TestInterfaces):
(TestInterfaces::~TestInterfaces):
(TestInterfaces::setWebView):
(TestInterfaces::setDelegate):
(TestInterfaces::bindTo):
(TestInterfaces::resetAll):
(TestInterfaces::accessibilityController):
(TestInterfaces::eventSender):
* DumpRenderTree/chromium/TestRunner/TestInterfaces.h:
(TestInterfaces):

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

9 years ago[GTK] Invalid read from WebKit::DOMObjectCache::clearByFrame
commit-queue@webkit.org [Thu, 18 Oct 2012 23:06:59 +0000 (23:06 +0000)]
[GTK] Invalid read from WebKit::DOMObjectCache::clearByFrame
https://bugs.webkit.org/show_bug.cgi?id=82882

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2012-10-18
Reviewed by Xan Lopez.

Based on a patch by Milan Crha <mcrha@redhat.com>

Prevent an invalid access to a pointer while clearing the DOM
object cache.
* bindings/gobject/DOMObjectCache.cpp:
(WebKit::DOMObjectCache::clearByFrame): Prevent an invalid access.

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

9 years agoMac WTF build checks dependencies before copying header files
msaboff@apple.com [Thu, 18 Oct 2012 23:06:53 +0000 (23:06 +0000)]
Mac WTF build checks dependencies before copying header files
https://bugs.webkit.org/show_bug.cgi?id=99770

Reviewed by Geoffrey Garen.

Added a new build target "Copy WTF HEaders" to copy the header files and made that new target a dependency
for the main WTF build target.  Moved the "Copy WTF Headers" phase from WTF target to the new target.

* WTF.xcodeproj/project.pbxproj:

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

9 years agoLive oversize copied blocks should count toward overall heap fragmentation
mhahnenberg@apple.com [Thu, 18 Oct 2012 22:42:40 +0000 (22:42 +0000)]
Live oversize copied blocks should count toward overall heap fragmentation
https://bugs.webkit.org/show_bug.cgi?id=99548

Reviewed by Filip Pizlo.

The CopiedSpace uses overall heap fragmentation to determine whether or not it should do any copying.
Currently it doesn't include live oversize CopiedBlocks in the calculation, but it should. We should
treat them as 100% utilized, since running a copying phase won't be able to free/compact any of their
memory. We can also free any dead oversize CopiedBlocks while we're iterating over them, rather than
iterating over them again at the end of the copying phase.

* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::startedCopying):
(JSC::CopiedSpace::doneCopying): Also removed a branch when iterating over from-space at the end of
copying. Since we eagerly recycle blocks as soon as they're fully evacuated, we should see no
unpinned blocks in from-space at the end of copying.
* heap/CopiedSpaceInlineMethods.h:
(JSC::CopiedSpace::recycleBorrowedBlock):
* heap/CopyVisitorInlineMethods.h:
(JSC::CopyVisitor::checkIfShouldCopy):

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

9 years ago[chromium] fix lint errors/conflicts in ML TestExpectations
dpranke@chromium.org [Thu, 18 Oct 2012 22:41:18 +0000 (22:41 +0000)]
[chromium] fix lint errors/conflicts in ML TestExpectations

Unreviewed, expectations change.

* platform/chromium-mac-mountainlion/TestExpectations:

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

9 years ago[BlackBerry] Page viewport aspect ratio not kept on navigating back
zhajiang@rim.com [Thu, 18 Oct 2012 22:29:19 +0000 (22:29 +0000)]
[BlackBerry] Page viewport aspect ratio not kept on navigating back
https://bugs.webkit.org/show_bug.cgi?id=99760

Reviewed by Rob Buis.
Patch by Jacky Jiang  <zhajiang@rim.com>.
Internally reviewed by Konrad Piascik.

PR: 190469
This was added in r127628 which was trying to fix some rendering
defects on maps.google.com and news.qq.com, however it was very harmful
and caused regressions.
zoomToFitScale() depends on the current contents size. During history
navigation and device rotation, if zoomToFitScale() is based on the
final contents size which is expected, there will still be a scale
calculation like this afterwards
screenSize.width()/screenSize.height()*zoomToFitScale() which will
result in a wrong scale. During the history navigation, if
zoomToFitScale() isn't based on the final contents size, then we will
get the wrong scale as well for sure.
This issue will be fixed by removing the wrong calculation.
The original issue of r127628 was fixed by the patch of PR225981.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):

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

9 years agoUnreviewed, rolling out r131810.
commit-queue@webkit.org [Thu, 18 Oct 2012 22:24:32 +0000 (22:24 +0000)]
Unreviewed, rolling out r131810.
http://trac.webkit.org/changeset/131810
https://bugs.webkit.org/show_bug.cgi?id=99762

Broke linux debug webkit_unit_tests (Requested by
danakj|gardening on #webkit).

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

Source/WebCore:

* WebCore.gypi:
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/ImageSource.h:
(WebCore):
(ImageSource):
* platform/graphics/chromium/DeferredImageDecoder.cpp: Removed.
* platform/graphics/chromium/DeferredImageDecoder.h: Removed.
* platform/graphics/chromium/ImageDecodingStore.cpp: Removed.
* platform/graphics/chromium/ImageDecodingStore.h: Removed.
* platform/graphics/chromium/ImageFrameGenerator.cpp: Removed.
* platform/graphics/chromium/ImageFrameGenerator.h: Removed.
* platform/graphics/chromium/LazyDecodingPixelRef.cpp: Removed.
* platform/graphics/chromium/LazyDecodingPixelRef.h: Removed.
* platform/graphics/chromium/ScaledImageFragment.cpp: Removed.
* platform/graphics/chromium/ScaledImageFragment.h: Removed.
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap):
* platform/image-decoders/ImageDecoder.h:
(ImageFrame):

Source/WebKit/chromium:

* WebKit.gypi:
* public/WebSettings.h:
* src/WebKit.cpp:
(WebKit::shutdown):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::WebSettingsImpl):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* tests/DeferredImageDecoderTest.cpp: Removed.
* tests/MockImageDecoder.h: Removed.

Tools:

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

* platform/chromium/TestExpectations:
* platform/chromium/virtual/deferred/fast/images/README.txt: Removed.

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

9 years agoMediaStream API: Do some cleanup in the chromium WebKit API
tommyw@google.com [Thu, 18 Oct 2012 22:08:31 +0000 (22:08 +0000)]
MediaStream API: Do some cleanup in the chromium WebKit API
https://bugs.webkit.org/show_bug.cgi?id=99713

Reviewed by Adam Barth.

Source/Platform:

Removing the deprecated version of WebMediaStreamDescriptor::initialize and making
the two constructSDP functions in WebMediaStreamCenter optional to override.
This is part of the preparation to remove PeerConnection00.

* chromium/public/WebMediaStreamCenter.h:
(WebKit::WebMediaStreamCenter::constructSDP):
* chromium/public/WebMediaStreamDescriptor.h:
(WebMediaStreamDescriptor):

Source/WebCore:

Removing the deprecated version of WebMediaStreamDescriptor::initialize.

No testing needed since only an unused function is removed.

* platform/chromium/support/WebMediaStreamDescriptor.cpp:

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

9 years agoAdd layout tests for wildcarded hosts in CSP directives.
mkwst@chromium.org [Thu, 18 Oct 2012 22:07:06 +0000 (22:07 +0000)]
Add layout tests for wildcarded hosts in CSP directives.
https://bugs.webkit.org/show_bug.cgi?id=99693

Reviewed by Adam Barth.

Adds four test cases to ensure that wildcarded hosts in Content Security
Policy source expressions function correctly with and without paths,
and with wildcarded ports.

* http/tests/security/contentSecurityPolicy/source-list-parsing-09-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-09.html: Added.

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

9 years ago[chromium] update ML-specific failures
dpranke@chromium.org [Thu, 18 Oct 2012 21:48:32 +0000 (21:48 +0000)]
[chromium] update ML-specific failures
https://bugs.webkit.org/show_bug.cgi?id=99505

Unreviewed, expectations change.

* platform/chromium-mac-mountainlion/TestExpectations:

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

9 years ago[chromium] Implement deferred image decoding
hclam@chromium.org [Thu, 18 Oct 2012 21:40:54 +0000 (21:40 +0000)]
[chromium] Implement deferred image decoding
https://bugs.webkit.org/show_bug.cgi?id=94240

Reviewed by Stephen White.

Source/WebCore:

Objectives:

To record image decoding operations during painting and to defer
decoding operations until rasterization.

Rationale:

This is a key feature that enables impl-side painting which requires
fast recording of drawing operations. The existing decode-on-draw
restricts that recording has to block on expensive decoding operations.
This change allows recording of image decoding operations during paint
time.

Design:

Image decoding happens when a BitmapImage is drawn into a
GraphicsContext. When per-tile painting is enabled GraphicsContext
is backed by SkCanvas in recording mode. This SkCanvas records drawing
and image decoding operations to minimize recording time.

An image decoding operation is recorded as a SkPixelRef object
implemented by LazyDecodingPixelRef. This object references raw encoded
data, regions to be decoded and scaling information.

When used in conjunction with per-tile painting this feature defers
image decoding until the SkCanvas referencing the image is rasterized.

Both recording and rasterization happen on the main thread.

Performance Impact:

This feature is enabled by WebKit::setDeferredImageDecodingEnabled()
and does not have an impact when disabled.

This feature is disabled by default.

Upcoming Changes:

1. Implement a full-featured image cache in ImageDecodingStore.
2. Allow rasterization and decoding on impl thread.

Classes Involved:

BitmapImage

BitmapImage is the entry point for deferred image decoding. When
drawing a BitmapImage into a GraphicsContext it makes a request to
create a NativeImageSkia. We substitute the content in NativeImageSkia
such that it is lazily decoded.

DeferredImageDecoder

This is the platform implementation of a image decoder for Chromium.
This is a bridge layer that either delegates calls to the actual
ImageDecoder or create a lazily-decoded SkBitmap and delegates calls
to ImageDecodingStore.

ImageDecodingStore

This object manages all encoded images. It keeps track of encoded
data and the corresponding ImageDecoder for doing actual decoding. It
is also responsible for generating lazily decoded SkBitmaps. This
SkBitmap contains a LazyDecodingPixelRef object which references to an
image entry in ImageDecodingStore.

ScaledImageFragment

A container for a scaled image fragment. In addition to bitmap pixels
it contains information about the ID of the image, scale and clipping.

ImageFrameGenerator

This object is responsible for generating decoded pixels. It is also
a container for encoded image data and corresponding image decoder.

LazyDecodingPixelRef

This object is embedded in a SkBitmap to enable lazy decoding. When
SkBitmap needs to access pixels LazyDecodingPixelRef is locked. It
contains information to locate an image and scaling info, these
information is submitted to ImageDecodingStore to access actual pixels.

Layout tests. There are about 80 tests in this virtual test suite
running this feature in this directory:

platform/chromium/virtual/deferred/fast/images

Unit tests. Added DeferredImageDecoderTest to verify deferred
image decoding behavior.

* WebCore.gypi:
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/ImageSource.h:
(WebCore):
(ImageSource):
* platform/graphics/chromium/DeferredImageDecoder.cpp: Added.
(WebCore):
(WebCore::DeferredImageDecoder::DeferredImageDecoder):
(WebCore::DeferredImageDecoder::~DeferredImageDecoder):
(WebCore::DeferredImageDecoder::create):
(WebCore::DeferredImageDecoder::createForTesting):
(WebCore::DeferredImageDecoder::filenameExtension):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::setData):
(WebCore::DeferredImageDecoder::isSizeAvailable):
(WebCore::DeferredImageDecoder::size):
(WebCore::DeferredImageDecoder::frameSizeAtIndex):
(WebCore::DeferredImageDecoder::frameCount):
(WebCore::DeferredImageDecoder::repetitionCount):
(WebCore::DeferredImageDecoder::clearFrameBufferCache):
(WebCore::DeferredImageDecoder::frameHasAlphaAtIndex):
(WebCore::DeferredImageDecoder::frameBytesAtIndex):
* platform/graphics/chromium/DeferredImageDecoder.h: Added.
(WebCore):
(DeferredImageDecoder):
* platform/graphics/chromium/ImageDecodingStore.cpp: Added.
(WebCore::ImageDecodingStore::ImageDecodingStore):
(WebCore):
(WebCore::ImageDecodingStore::~ImageDecodingStore):
(WebCore::ImageDecodingStore::instanceOnMainThread):
(WebCore::ImageDecodingStore::initializeOnMainThread):
(WebCore::ImageDecodingStore::shutdown):
(WebCore::ImageDecodingStore::isLazyDecoded):
(WebCore::ImageDecodingStore::createLazyDecodedSkBitmap):
(WebCore::ImageDecodingStore::resizeLazyDecodedSkBitmap):
(WebCore::ImageDecodingStore::setData):
(WebCore::ImageDecodingStore::lockPixels):
(WebCore::ImageDecodingStore::unlockPixels):
(WebCore::ImageDecodingStore::frameGeneratorBeingDestroyed):
(WebCore::ImageDecodingStore::calledOnValidThread):
(WebCore::ImageDecodingStore::lookupFrameCache):
(WebCore::ImageDecodingStore::deleteFrameCache):
* platform/graphics/chromium/ImageDecodingStore.h: Added.
(WebCore):
(ImageDecodingStore):
(WebCore::ImageDecodingStore::create):
* platform/graphics/chromium/ScaledImageFragment.cpp: Added.
(WebCore):
(WebCore::ScaledImageFragment::~ScaledImageFragment):
(WebCore::ScaledImageFragment::ScaledImageFragment):
(WebCore::ScaledImageFragment::isEqual):
* platform/graphics/chromium/ScaledImageFragment.h: Added.
(WebCore):
(ScaledImageFragment):
(WebCore::ScaledImageFragment::create):
(WebCore::ScaledImageFragment::bitmap):
(WebCore::ScaledImageFragment::isComplete):
* platform/graphics/chromium/ImageFrameGenerator.cpp: Added.
(WebCore):
(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::~ImageFrameGenerator):
(WebCore::ImageFrameGenerator::decoder):
(WebCore::ImageFrameGenerator::setData):
* platform/graphics/chromium/ImageFrameGenerator.h: Added.
(WebCore):
(ImageFrameGenerator):
(WebCore::ImageFrameGenerator::create):
(WebCore::ImageFrameGenerator::size):
(WebCore::ImageFrameGenerator::imageId):
* platform/graphics/chromium/LazyDecodingPixelRef.cpp: Added.
(WebCore):
(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::~LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::isScaled):
(WebCore::LazyDecodingPixelRef::isClipped):
(WebCore::LazyDecodingPixelRef::onLockPixels):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):
(WebCore::LazyDecodingPixelRef::onLockPixelsAreWritable):
* platform/graphics/chromium/LazyDecodingPixelRef.h: Added.
(WebCore):
(LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::frameGenerator):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap):
* platform/image-decoders/ImageDecoder.h:
(ImageFrame):
(WebCore::ImageFrame::setSkBitmap):
(WebCore::ImageFrame::getSkBitmap):

Source/WebKit/chromium:

Adding new unit tests for deferred image decoding.
These tests are defined in DeferredImageDecoderTest.cpp. They verify
image decoding happens only when SkPicture is rasterized for both
scaled and non-scaled cases.

Tests: DeferredImageDecoderTest.drawIntoSkPicture
       DeferredImageDecoderTest.drawScaledIntoSkPicture

* WebKit.gypi:
* public/WebSettings.h:
* src/WebKit.cpp:
(WebKit::shutdown):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* tests/DeferredImageDecoderTest.cpp: Added.
(WebCore):
(DeferredImageDecoderTest):
(WebCore::DeferredImageDecoderTest::SetUp):
(WebCore::DeferredImageDecoderTest::TearDown):
(WebCore::TEST_F):
* tests/MockImageDecoder.h: Added.
(WebCore):
(MockImageDecoder):
(WebCore::MockImageDecoder::MockImageDecoder):
(WebCore::MockImageDecoder::filenameExtension):
(WebCore::MockImageDecoder::frameBufferAtIndex):
(WebCore::MockImageDecoder::frameBufferRequestCount):

Tools:

Add --enable-deferred-image-decoding to DRT.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::setDeferredImageDecodingEnabled):
(TestShell):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

Adding a virtual test suite for Chromium to test deferred image
decoding.

platform/chromium/virtual/deferred/fast/images will be tested with
--force-compositing --enable-per-tile-painting --enable-deferred-image-decoding.

* platform/chromium/virtual/deferred/fast/images/README.txt: Added.

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

9 years ago[CSS Shaders] Validate types of built-in vertex attributes
commit-queue@webkit.org [Thu, 18 Oct 2012 21:38:17 +0000 (21:38 +0000)]
[CSS Shaders] Validate types of built-in vertex attributes
https://bugs.webkit.org/show_bug.cgi?id=98972

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-10-18
Reviewed by Dean Jackson.

Source/WebCore:

Reject custom filters in which the author defined built-in attributes with the wrong type.
For example, the GLSL declaration "attribute float a_position" is incorrect because
a_position should be a vec4, not a float.

Test: css3/filters/custom/invalid-custom-filter-attribute-types.html

* platform/graphics/ANGLEWebKitBridge.h:
(WebCore::ANGLEShaderSymbol::isSampler):
    Add const qualifier to isSampler method.
* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore):
(WebCore::builtInAttributeNameToTypeMap):
    New file static function. Returns a map of the CSS Custom Filters built-in attribute
    names and their expected types.
(WebCore::validateSymbols):
    New file static function. Loop through all of the symbols. Reject the shader if we find
    a built-in attribute defined with the wrong type.
(WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
    Call the new validateSymbols function. If it returns false, exit the constructor early,
    which rejects the program.
    Move the loop that checks if any uniform is a sampler into the the validateSymbols
    function.

LayoutTests:

invalid-custom-filter-attribute-types.html uses a set of vertex shaders. Each vertex shader
defines a specific attribute with the wrong type. None of the vertex shaders in the test
should execute. If a vertex shader does execute, its associated fragment shader will render
a green div as red.

* css3/filters/custom/invalid-custom-filter-attribute-types-expected.html: Added.
* css3/filters/custom/invalid-custom-filter-attribute-types.html: Added.
* css3/filters/resources/invalid-type-a-mesh-coord.vs: Added.
* css3/filters/resources/invalid-type-a-position.vs: Added.
* css3/filters/resources/invalid-type-a-tex-coord.vs: Added.
* css3/filters/resources/invalid-type-a-triangle-coord.vs: Added.
* css3/filters/resources/invalid-type-attribute-array.vs: Added.

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

9 years agoReplace uses of ArgumentEncoder/ArgumentDecoder with MessageEncoder/MessageDecoder
andersca@apple.com [Thu, 18 Oct 2012 21:33:56 +0000 (21:33 +0000)]
Replace uses of ArgumentEncoder/ArgumentDecoder with MessageEncoder/MessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=99746

Reviewed by Andreas Kling.

Change all occurrences of ArgumentDecoder* to MessageDecoder& and all occurrences of ArgumentEncoder*
to ArgumentEncoder& in all the message receivers. This is the second step towards getting rid of MessageID.

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

9 years agoHandle if we fail to allocate nonPlatformCanvas in ImageBuffer constructor
reed@google.com [Thu, 18 Oct 2012 21:28:02 +0000 (21:28 +0000)]
Handle if we fail to allocate nonPlatformCanvas in ImageBuffer constructor
https://bugs.webkit.org/show_bug.cgi?id=99752

Reviewed by Stephen White.

Current code does not check if we were able to allocate the pixels, but still returns the canvas.
However, the caller explicitly is checking for null on failure, so it will continue (and possibly
crash later on).
This change brings the nonPlatformCanvas behavior inline with createAcceleratedCanvas and
TryCreateBitmapCanvas, both of which are also called by ImageBuffer's constructor.

No new tests. Existing tests exercise ImageBuffer constructor.

* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::createNonPlatformCanvas):

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=99668
bdakin@apple.com [Thu, 18 Oct 2012 21:25:35 +0000 (21:25 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=99668
REGRESSION: Crash in
WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion
-and corresponding-
<rdar://problem/12491901>

Reviewed by Simon Fraser.

http://trac.webkit.org/changeset/130783 changed the lifetime of the
ScrollingStateTree's rootStateNode. Before that patch, the root state
node was never destroyed. It was just constantly re-used for
different RenderLayerBackings. This crash is just one of a few bugs
that has occurred because of that change. I have fixed the other bugs
individually, but I think that long-term, it is the safest solution
to go back to the original ownership model.

So this patch ensures that the state tree will always have a root
state node. Instead of destroying and re-creating the root node when
it's scroll ID changes, we just update the ID.

attachToStateTree() now takes an additional ID representing the ID of
the parent node.
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::attachToStateTree):

Add a way to set the scrolling node ID.
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::setScrollingNodeID):

This code that provided a way to mark all properties as having
changed was added in http://trac.webkit.org/changeset/130989 as a way
to ensure we would re-set ScrollingThread's nodes when we destroyed
and re-created the rootStateNode. Now that we are no longer
destroying and re-creating the rootStateNode, this code is no longer
necessary.
* page/scrolling/ScrollingStateScrollingNode.cpp:
* page/scrolling/ScrollingStateScrollingNode.h:

create m_rootStateNode right in the ScrollingStateTree's constructor.
* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::ScrollingStateTree):

Don't let removeNode() destroy m_rootStateNode.
(WebCore::ScrollingStateTree::removeNode):

Also a part of r130989 that is no longer needed.
(WebCore::ScrollingStateTree::rootLayerDidChange():
* page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::rootStateNode):
(ScrollingStateTree):
(WebCore::ScrollingStateTree::setRootStateNode):

attachToStateTree() now takes an additional ID representing the ID of
the parent node.
* page/scrolling/mac/ScrollingCoordinatorMac.h:
(ScrollingCoordinatorMac):

We no longer need ScrollingStateTree::rootLayerDidChange()
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):

Do not destroy and re-create the state node. Just update its ID. When
we support child nodes soon, we will create them in this function.
(WebCore::ScrollingCoordinatorMac::attachToStateTree):

No need to null-check the rootStateNode.
(WebCore::ScrollingCoordinatorMac::clearStateTree):

Send 0 as the parent node ID to attachToStateTree() to represent the
root node.
(WebCore::ScrollingCoordinatorMac::ensureRootStateNodeForFrameView):
* rendering/RenderLayerBacking.cpp:

RenderLayerBacking::attachToScrollingCoordinator() now takes a parent
layer.
(WebCore::RenderLayerBacking::attachToScrollingCoordinator):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):

Since this is the root, send 0 to represent the parent layer.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):

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

9 years agoUnreviewed, update Qt expectations for slider tests.
tony@chromium.org [Thu, 18 Oct 2012 21:21:41 +0000 (21:21 +0000)]
Unreviewed, update Qt expectations for slider tests.

fast/events/touch/touch-slider.html now has a specific bug number.
media/video-playing-and-pause.html is removed. I added it by accident
causing it to be run. Qt didn't run this test before my change.

* platform/qt/TestExpectations:

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

9 years agoPageViewportController::m_rawAttributes.devicePixelRatio is not initialized
commit-queue@webkit.org [Thu, 18 Oct 2012 21:20:14 +0000 (21:20 +0000)]
PageViewportController::m_rawAttributes.devicePixelRatio is not initialized
https://bugs.webkit.org/show_bug.cgi?id=99751

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-18
Reviewed by Antonio Gomes.

PageViewportController::m_rawAttributes.devicePixelRatio needs to be initialized.
Due to race condition, we could set the viewport attributes before the first layout.
If that happens, PageViewportController::m_rawAttributes.devicePixelRatio
is used without being initialized.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):

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

9 years agoUnreviewed. Build fix after r131701 and r131777.
roger_fong@apple.com [Thu, 18 Oct 2012 21:16:49 +0000 (21:16 +0000)]
Unreviewed. Build fix after r131701 and r131777.

* WebKit.vcproj/WebKit.sln:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* win/WebKit2.def:

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

9 years agowebkitpy: fix chromium bot configs in builders.py
dpranke@chromium.org [Thu, 18 Oct 2012 21:16:31 +0000 (21:16 +0000)]
webkitpy: fix chromium bot configs in builders.py
https://bugs.webkit.org/show_bug.cgi?id=99638

Reviewed by Ojan Vafai.

Updating after the great bot-renaming and deleting a test case
that is no longer needed.

* Scripts/webkitpy/layout_tests/port/builders.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(BuildCoverageExtrapolatorTest.test_extrapolate):

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

9 years ago[chromium] Add 10.8 bot into fallback path, make work with garden-o-matic
dpranke@chromium.org [Thu, 18 Oct 2012 21:11:12 +0000 (21:11 +0000)]
[chromium] Add 10.8 bot into fallback path, make work with garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=99748

Reviewed by Ryosuke Niwa.

Subject pretty much says it all ...

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* Scripts/webkitpy/layout_tests/port/builders.py:
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort):
* Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
(ChromiumMacPortTest.test_versions):
(ChromiumMacPortTest.test_baseline_path):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaseline.test_baseline_directory):
(test_rebaseline_and_copy_test_with_lion_result):
(test_rebaseline_expectations):

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

9 years agoTeach prepare-ChangeLog how to handle non-function properties in JavaScript prototypes.
timothy@apple.com [Thu, 18 Oct 2012 20:58:24 +0000 (20:58 +0000)]
Teach prepare-ChangeLog how to handle non-function properties in JavaScript prototypes.

https://bugs.webkit.org/show_bug.cgi?id=99747

Reviewed by Joseph Pecoraro.

* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_javascript): Clear currentIdentifiers when comma is encountered
so it does not tack those identifiers onto the next changed function.

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

9 years ago[EFL] GraphicsContext3D::m_renderStyle is not initialized
commit-queue@webkit.org [Thu, 18 Oct 2012 20:18:00 +0000 (20:18 +0000)]
[EFL] GraphicsContext3D::m_renderStyle is not initialized
https://bugs.webkit.org/show_bug.cgi?id=99721

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-18
Reviewed by Antonio Gomes.

Initialize GraphicsContext3D::m_renderStyle.

No new tests, no new functionality.

* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):

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

9 years agoWebKit Doesn't Recognize Content-Language HTTP Header
commit-queue@webkit.org [Thu, 18 Oct 2012 19:53:58 +0000 (19:53 +0000)]
WebKit Doesn't Recognize Content-Language HTTP Header
https://bugs.webkit.org/show_bug.cgi?id=97929

Patch by Brian White <bcwhite@chromium.org> on 2012-10-18
Reviewed by Alexey Proskuryakov.

The HTTP "Content-Language" header may be present and include the
language of the page contents (as opposed to an embedded meta tag).

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):

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

9 years agoCrash in InRegionScrollableArea constructor while loading page
commit-queue@webkit.org [Thu, 18 Oct 2012 19:53:38 +0000 (19:53 +0000)]
Crash in InRegionScrollableArea constructor while loading page
https://bugs.webkit.org/show_bug.cgi?id=99733

Patch by John Griggs <jgriggs@rim.com> on 2012-10-18
Reviewed by Antonio Gomes.

Check scrollLayer and avoid constructing InRegionScrollableArea when it is NULL.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):

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

9 years agoBuild fix.
andersca@apple.com [Thu, 18 Oct 2012 19:46:03 +0000 (19:46 +0000)]
Build fix.

* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:

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

9 years agoRace condition between GCThread and main thread during copying phase
mhahnenberg@apple.com [Thu, 18 Oct 2012 19:44:25 +0000 (19:44 +0000)]
Race condition between GCThread and main thread during copying phase
https://bugs.webkit.org/show_bug.cgi?id=99641

Reviewed by Filip Pizlo.

When a GCThread returns from copyFromShared(), it then calls doneCopying(), which returns
its borrowed CopiedBlock to the CopiedSpace. This final block allows the CopiedSpace to
continue and finish the cleanup of the copying phase. However, the GCThread can loop back
around, see that m_currentPhase is still "Copy", and try to go through the copying phase again.
This can cause all sorts of issues. To fix this, we should add a cyclic barrier to GCThread::waitForNextPhase().

* heap/GCThread.cpp:
(JSC::GCThread::waitForNextPhase): All GCThreads will wait when they finish one iteration until the main thread
notifies them to move down to the second while loop, where they wait for the next GCPhase to start. They also
decrement the m_numberOfActiveGCThreads counter as they begin to wait for the next phase and increment it as
they enter the next phase. This allows the main thread to wait in endCurrentPhase() until all the threads have
finished the current phase and are waiting on the next phase to begin. Without the counter, there would be
no way to ensure that every thread was available for each GCPhase.
(JSC::GCThread::gcThreadMain): We now use the m_phaseLock to synchronize with the main thread when we're being created.
* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::GCThreadSharedData): As we create each GCThread, we increment the m_numberOfActiveGCThreads
counter. When we are done creating the threads, we wait until they're all waiting for the next GCPhase. This prevents
us from leaving some GCThreads behind during the first GCPhase, which could hurt us on our very short-running
benchmarks (e.g. SunSpider).
(JSC::GCThreadSharedData::~GCThreadSharedData):
(JSC::GCThreadSharedData::startNextPhase): We atomically swap the two flags, m_gcThreadsShouldWait and m_currentPhase,
so that if the threads finish very quickly, they will wait until the main thread is ready to end the current phase.
(JSC::GCThreadSharedData::endCurrentPhase): Here atomically we swap the two flags again to allow the threads to
advance to waiting on the next GCPhase. We wait until all of the GCThreads have settled into the second wait loop
before allowing the main thread to continue. This prevents us from leaving one of the GCThreads stuck in the first
wait loop if we were to call startNextPhase() before it had time to wake up and move on to the second wait loop.
(JSC):
(JSC::GCThreadSharedData::didStartMarking): We now use startNextPhase() to properly swap the flags.
(JSC::GCThreadSharedData::didFinishMarking): Ditto for endCurrentPhase().
(JSC::GCThreadSharedData::didStartCopying): Ditto.
(JSC::GCThreadSharedData::didFinishCopying): Ditto.
* heap/GCThreadSharedData.h:
(GCThreadSharedData):
* heap/Heap.cpp:
(JSC::Heap::copyBackingStores): No reason to use the extra reference.

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

9 years agoAdd a script for exporting http/tests/w3c/webperf/submission to W3C
simonjam@chromium.org [Thu, 18 Oct 2012 19:12:32 +0000 (19:12 +0000)]
Add a script for exporting http/tests/w3c/webperf/submission to W3C
https://bugs.webkit.org/show_bug.cgi?id=99675

Reviewed by Tony Gentilcore.

Tools:

This does the inverse of Scripts/import-w3c-performance-wg-tests.

* Scripts/export-w3c-performance-wg-tests: Added.

LayoutTests:

The W3C tests expect a company to contribute them. Move these to the Intel directory.

* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_clearMarks-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_clearMarks.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks.html.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_clearMeasures-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_clearMeasures.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures.html.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark.html.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark_exception-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark_exception.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception.html.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure.html.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_associate_with_navigation_timing-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_associate_with_navigation_timing.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing.html.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception.html.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_method_exist-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist-expected.txt.
* http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_method_exist.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist.html.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

9 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Thu, 18 Oct 2012 19:08:02 +0000 (19:08 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

9 years agoCrash in WebCore::Document::webkitExitFullscreen + 618
jer.noble@apple.com [Thu, 18 Oct 2012 19:03:28 +0000 (19:03 +0000)]
Crash in WebCore::Document::webkitExitFullscreen + 618
https://bugs.webkit.org/show_bug.cgi?id=99496

Reviewed by Eric Carlson.

Prospective fix for null-dereference crash in Document::webkitExitFullscreen().

* dom/Document.cpp:
(WebCore::Document::webkitExitFullscreen): Null check page() before calling page()->chrome.

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

9 years agoGenerated messages should have a receiver name and a name
andersca@apple.com [Thu, 18 Oct 2012 18:53:00 +0000 (18:53 +0000)]
Generated messages should have a receiver name and a name
https://bugs.webkit.org/show_bug.cgi?id=99740

Reviewed by Andreas Kling.

As a first step towards getting rid of MessageID, give each generated message a name and receiver name
and pass them along when sending the messages.

* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:

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

9 years agoImplement css3-conditional's @supports rule
commit-queue@webkit.org [Thu, 18 Oct 2012 18:43:15 +0000 (18:43 +0000)]
Implement css3-conditional's @supports rule
https://bugs.webkit.org/show_bug.cgi?id=86146

Patch by Pablo Flouret <pablof@motorola.com> on 2012-10-18
Reviewed by Antti Koivisto.

.:

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
* configure.ac:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

Source/WebCore:

The "@supports" rule is a conditional group rule whose condition tests
whether the user agent supports CSS property:value pairs.

http://dev.w3.org/csswg/css3-conditional/#at-supports

Test: css3/supports.html

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* GNUmakefile.features.am:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore):
(WebCore::CSSParser::detectSupportsToken): Tries to find 'and', 'not' and 'or' tokens.
(WebCore::CSSParser::detectAtToken): Enter SupportsMode if @supports is detected.
(WebCore::CSSParser::realLex): Try to detect supports tokens when in SupportsMode.
* css/CSSParser.h: Added new SupportsMode parsing mode.
(CSSParser):

Source/WebKit/chromium:

* features.gypi:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

Tools:

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:
    Add an ENABLE_CSS3_CONDITIONAL_RULES flag.

LayoutTests:

* css3/supports-expected.txt: Added.
* css3/supports.html: Added.

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:
    Skip the test until the feature is enabled.

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

9 years agoFix: CachedResourceLoader::requestSVGDocument was passing an URL as charset
commit-queue@webkit.org [Thu, 18 Oct 2012 18:30:33 +0000 (18:30 +0000)]
Fix: CachedResourceLoader::requestSVGDocument was passing an URL as charset
https://bugs.webkit.org/show_bug.cgi?id=99730

Patch by Marja Hölttä <marja@chromium.org> on 2012-10-18
Reviewed by Jochen Eisinger.

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestSVGDocument):

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

9 years agoFullscreen movie controls behave incorrectly when clicked (and dragged)
jer.noble@apple.com [Thu, 18 Oct 2012 18:20:28 +0000 (18:20 +0000)]
Fullscreen movie controls behave incorrectly when clicked (and dragged)
https://bugs.webkit.org/show_bug.cgi?id=99610

Reviewed by Eric Carlson.

Source/WebCore:

Do not reset the relative drag position to 0,0 at the beginning of every drag.  Instead,
store the cumulative drag offset and accumulate during each additional drag.

No new tests; modified the fullscreen/video-controls-drag.html test.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::startDrag): Reset m_lastDragEventLocation.
(WebCore::MediaControlPanelElement::continueDrag): Accumulate drag distance in m_cumulativeDragOffset.
(WebCore::MediaControlPanelElement::resetPosition): Reset m_cumulativeDragOffset.
* html/shadow/MediaControlElements.h:

LayoutTests:

Add a second drag operation, testing that the location does not reset at the beginning of
each additional drag.

* fullscreen/video-controls-drag-expected.txt:
* fullscreen/video-controls-drag.html:

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

9 years agoImplement OES_element_index_uint / WEBKIT_OES_element_index_uint
commit-queue@webkit.org [Thu, 18 Oct 2012 18:18:35 +0000 (18:18 +0000)]
Implement OES_element_index_uint / WEBKIT_OES_element_index_uint
https://bugs.webkit.org/show_bug.cgi?id=97400

Patch by Brandon Jones <bajones@google.com> on 2012-10-18
Reviewed by Kenneth Russell.

Source/WebCore:

Implemented OES_element_index_uint WebGL extension

Test: fast/canvas/webgl/oes-element-index-uint.html

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/OESElementIndexUint.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(WebCore::OESElementIndexUint::OESElementIndexUint):
(WebCore::OESElementIndexUint::~OESElementIndexUint):
(WebCore::OESElementIndexUint::getName):
(WebCore::OESElementIndexUint::create):
* html/canvas/OESElementIndexUint.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(OESElementIndexUint):
* html/canvas/OESElementIndexUint.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::validateElementArraySize):
(WebCore::WebGLRenderingContext::validateIndexArrayConservative):
(WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
(WebCore::WebGLRenderingContext::validateRenderingState):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
* html/canvas/WebGLRenderingContext.h:
(WebCore):
(WebGLRenderingContext):
* platform/graphics/Extensions3D.h:
(Extensions3D):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):

LayoutTests:

Added OES_element_index_uint extension conformance test from KHRONOS

* fast/canvas/webgl/oes-element-index-uint-expected.txt: Added.
* fast/canvas/webgl/oes-element-index-uint.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/wk2/TestExpectations:

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

9 years agoAdd diagnostic logging to track per-page media engine usage.
jer.noble@apple.com [Thu, 18 Oct 2012 18:12:57 +0000 (18:12 +0000)]
Add diagnostic logging to track per-page media engine usage.
https://bugs.webkit.org/show_bug.cgi?id=99615
<rdar://problem/12476473>

Reviewed by Eric Carlson.

Add diagnostic logging triggered only once-per-page and once-per-page-per-engine.

* html/HTMLMediaElement.cpp:
(WebCore::logMediaLoadRequest): Encapsulate diagnostic logging into single static method.
(WebCore::HTMLMediaElement::mediaLoadingFailed): Call logMediaLoadRequest.
(WebCore::HTMLMediaElement::setReadyState): Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidCommitLoad): Reset the set of seen media engines.

Add new methods to Page to track per-page media engine diagnostic info, similar to plugin diagnostic info.
* page/Page.cpp:
(WebCore::Page::hasSeenAnyMediaEngine):
(WebCore::Page::hasSeenMediaEngine):
(WebCore::Page::sawMediaEngine):
(WebCore::Page::resetSeenMediaEngines):
* page/Page.h:

Add new static logging key definitions:
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey):
(WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey):
* page/DiagnosticLoggingKeys.h:

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

9 years agoMake conversion between JSStringRef and WKStringRef work without character size conve...
msaboff@apple.com [Thu, 18 Oct 2012 18:07:09 +0000 (18:07 +0000)]
Make conversion between JSStringRef and WKStringRef work without character size conversions
https://bugs.webkit.org/show_bug.cgi?id=99727

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

Export the string() method for use in WebKit.

* API/OpaqueJSString.h:
(OpaqueJSString::string):

Source/WebKit2:

Use the wrapped WTFString object to convert between JSStringRef and WKStringRef.

* Shared/WebString.h:
(WebKit::JSStringCreateWithString):
(WebKit::WebString::create):
(WebKit::WebString::createJSString):

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

9 years agoAdd 8-bit path to RenderBlock::handleTrailingSpaces()
msaboff@apple.com [Thu, 18 Oct 2012 18:03:14 +0000 (18:03 +0000)]
Add 8-bit path to RenderBlock::handleTrailingSpaces()
https://bugs.webkit.org/show_bug.cgi?id=99731

Reviewed by Dan Bernstein.

Factored out and added findFirstTrailingSpace() templated helper function that is called with the
approriate character pointer type.

No tests needed, change covered by existing tests.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::findFirstTrailingSpace):
(WebCore::RenderBlock::handleTrailingSpaces):

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

9 years agoUnreviewed, mark http/tests/xmlhttprequest/request-encoding2.html as flaky.
danakj@chromium.org [Thu, 18 Oct 2012 17:54:02 +0000 (17:54 +0000)]
Unreviewed, mark http/tests/xmlhttprequest/request-encoding2.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=99734

* platform/chromium/TestExpectations:

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

9 years agoUnreviewed testExpectation change for Chromium.
schenney@chromium.org [Thu, 18 Oct 2012 17:21:26 +0000 (17:21 +0000)]
Unreviewed testExpectation change for Chromium.

* platform/chromium/TestExpectations: Marked svg/hixie/perf/007.xml as [ Pass Slow ]

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

9 years agoUnreviewed, rebaseline a slider test on Mac.
tony@chromium.org [Thu, 18 Oct 2012 17:18:02 +0000 (17:18 +0000)]
Unreviewed, rebaseline a slider test on Mac.
I think I grabbed the baseline at the wrong time or from the wrong bot yesterday.

* platform/mac/media/video-playing-and-pause-expected.txt:

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

9 years ago[CSS Exclusions] Add ExclusionShape::shapeBoundingBox() method
commit-queue@webkit.org [Thu, 18 Oct 2012 17:16:29 +0000 (17:16 +0000)]
[CSS Exclusions] Add ExclusionShape::shapeBoundingBox() method
https://bugs.webkit.org/show_bug.cgi?id=99216

Patch by Hans Muller <hmuller@adobe.com> on 2012-10-18
Reviewed by Dirk Schulze.

Added a FloatRect::extend() method which simplifies writing loops that
accumulate the bounding box for a sequence of FloatPoints. The new method
is used by ExclusionPolygon to initialize the shape's logical and physical
bounding boxes. This a clean-up, not a change in functionality. It's already
covered by the existing fast/exclusions LayoutTests.

* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::extend): Extend the FloatRect's bounds to include a FloatPoint.
(WebCore):
* platform/graphics/FloatRect.h:
(FloatRect): Added extend() method.
* rendering/ExclusionPolygon.cpp:
(WebCore::ExclusionPolygon::ExclusionPolygon): Use FloatRect::extend() to compute the polygon's internal bounding box.
* rendering/ExclusionShape.cpp:
(WebCore::ExclusionShape::createExclusionShape): Use FloatRect::extend() to compute the polygon's physical bounding box.
* rendering/ExclusionShape.h:
(WebCore::ExclusionShape::shapeBoundingBox): Return the shape's bounding box in physical coordinates.
(ExclusionShape):

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

9 years ago[CSS Exclusions] Handle special case "empty" shapes
commit-queue@webkit.org [Thu, 18 Oct 2012 17:08:41 +0000 (17:08 +0000)]
[CSS Exclusions] Handle special case "empty" shapes
https://bugs.webkit.org/show_bug.cgi?id=99342

Patch by Hans Muller <hmuller@adobe.com> on 2012-10-18
Reviewed by Dirk Schulze.

Source/WebCore:

Provide expclit coverage of the simple "empty" shape-inside shapes.
Shapes will be considered "empty" in the sense that ExclusionShape::getIncludedIntervals()
and ExclusionShape::getExcludedIntervals() will always return empty lists of intervals.
This patch covers rectangles of zero width or height, circles with 0 radius, ellipses
with 0 radiusX or radiusY, polygons with less than 3 vertices.

Test: fast/exclusions/shape-inside/shape-inside-empty.html

* rendering/ExclusionPolygon.cpp:
(WebCore::ExclusionPolygon::ExclusionPolygon): Initialize the m_empty flag.
(WebCore::ExclusionPolygon::getExcludedIntervals): Added short-circuit return when the polygon is empty.
(WebCore::ExclusionPolygon::getIncludedIntervals): Added short-circuit return when the polygon is empty.
* rendering/ExclusionPolygon.h: Added the isEmpty() method.
* rendering/ExclusionRectangle.cpp:
(WebCore::ExclusionRectangle::getExcludedIntervals): Added short-circuit return when the rectangle is empty.
(WebCore::ExclusionRectangle::getIncludedIntervals): Added short-circuit return when the rectangle is empty.
* rendering/ExclusionRectangle.h: Added the isEmpty() method.
* rendering/ExclusionShape.h: Added a virtual isEmpty() ExclusionShape method.
(ExclusionShape):

LayoutTests:

Verify that "empty" shape-inside shapes do not constrain the text their element contains.

* fast/exclusions/shape-inside/shape-inside-empty-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-empty.html: Added.

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

9 years ago[BlackBerry] Dump DRT output to stdout if test is passed as command line argument
commit-queue@webkit.org [Thu, 18 Oct 2012 16:19:09 +0000 (16:19 +0000)]
[BlackBerry] Dump DRT output to stdout if test is passed as command line argument
https://bugs.webkit.org/show_bug.cgi?id=99150

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-10-18
Reviewed by Rob Buis.

Fixed some code style errors as well.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::runTest):
(BlackBerry::WebKit::DumpRenderTree::runRemainingTests):
(BlackBerry::WebKit::DumpRenderTree::runTests):
(BlackBerry::WebKit::DumpRenderTree::isHTTPTest):
(BlackBerry::WebKit::DumpRenderTree::dump):
(BlackBerry::WebKit::DumpRenderTree::addMessageToConsole):
* DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h:
(DumpRenderTree):

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

9 years ago[GTK] Don't use using namespace WebKit in private headers in WebKit2
carlosgc@webkit.org [Thu, 18 Oct 2012 16:08:49 +0000 (16:08 +0000)]
[GTK] Don't use using namespace WebKit in private headers in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=99724

Reviewed by Xan Lopez.

Move using namespace WebKit from private headers to the cpp file.

* UIProcess/API/gtk/WebKitBackForwardList.cpp:
* UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
* UIProcess/API/gtk/WebKitContextMenu.cpp:
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
* UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
* UIProcess/API/gtk/WebKitContextMenuPrivate.h:
* UIProcess/API/gtk/WebKitCookieManager.cpp:
* UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
* UIProcess/API/gtk/WebKitDownload.cpp:
* UIProcess/API/gtk/WebKitDownloadPrivate.h:
* UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
* UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
* UIProcess/API/gtk/WebKitFindController.cpp:
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
* UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
* UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
* UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
* UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
* UIProcess/API/gtk/WebKitGeolocationProvider.h:
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
* UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
* UIProcess/API/gtk/WebKitJavascriptResult.cpp:
* UIProcess/API/gtk/WebKitJavascriptResultPrivate.h:
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
* UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPolicyDecision.cpp:
* UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
* UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitSettings.cpp:
* UIProcess/API/gtk/WebKitSettingsPrivate.h:
* UIProcess/API/gtk/WebKitURIResponse.cpp:
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebInspector.cpp:
* UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
* UIProcess/API/gtk/WebKitWebResource.cpp:
* UIProcess/API/gtk/WebKitWebResourcePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
* UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:

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

9 years ago[BlackBerry] Possible redundant zoomToInitialScaleOnLoad() in WebPagePrivate::setLoad...
zhajiang@rim.com [Thu, 18 Oct 2012 16:04:33 +0000 (16:04 +0000)]
[BlackBerry] Possible redundant zoomToInitialScaleOnLoad() in WebPagePrivate::setLoadState
https://bugs.webkit.org/show_bug.cgi?id=99624

Reviewed by Rob Buis.
Patch by Jacky Jiang <zhajiang@rim.com>
Internally reviewed by Arvid Nilsson

PR: 225981
Several reasons to eliminate the ancient unnecessary
zoomToInitialScaleOnLoad() in WebPagePrivate::setLoadState committed:
- At this point, we have only committed the data we received.
- For the new load, we haven't started parsing the tokens and building
  the DOM tree and the first layout will happen after that.
- For the load restored from cache, the first layout will happen after
  setLoadState committed which is called by
  FrameLoader::dispatchDidCommitLoad().
- zoomToInitialScaleOnLoad() can still be called after the first
  layout finished.
- zoomToInitialScaleOnLoad() is expensive and it will boost the load
  performance after the removal.
- Removal of this can fix some weird rendering defects on yahoo.com,
  maps.google.com, news.qq.com and so on during load and rotation
  mentioned on the PR.

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

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

9 years agoREGRESSION(r131464): Null-pointer crash in StyleResolver::styleForElement
commit-queue@webkit.org [Thu, 18 Oct 2012 16:00:26 +0000 (16:00 +0000)]
REGRESSION(r131464): Null-pointer crash in StyleResolver::styleForElement
https://bugs.webkit.org/show_bug.cgi?id=99587

Patch by Takashi Sakamoto <tasak@google.com> on 2012-10-18
Reviewed by Dimitri Glazkov.

Source/WebCore:

Since contents in datalist are not shown, summary in datalist is not
shown either. So the summary has no render style. On the other hand,
the summary is implemented by shadow DOM and it has some insertion
point. Its child, e.g. title in the below test, is distributed.
To solve the child's user-modify, looking at shadow host(=summary)'s
style causes null-pointer crash.

Test: fast/dom/shadow/user-modify-in-datalist-crash.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForElement):
Added a code to check whether the shadow host has any style or not.

LayoutTests:

* fast/dom/shadow/user-modify-in-datalist-crash-expected.txt: Added.
* fast/dom/shadow/user-modify-in-datalist-crash.html: Added.

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

9 years ago[GTK] Don't use the C API internally in WebKitFileChooserRequest
carlosgc@webkit.org [Thu, 18 Oct 2012 15:55:26 +0000 (15:55 +0000)]
[GTK] Don't use the C API internally in WebKitFileChooserRequest
https://bugs.webkit.org/show_bug.cgi?id=96774

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(_WebKitFileChooserRequestPrivate):
(webkitFileChooserRequestCreate):
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_select_multiple):
(webkit_file_chooser_request_select_files):
(webkit_file_chooser_request_get_selected_files):
(webkit_file_chooser_request_cancel):
* UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
* UIProcess/API/gtk/WebKitUIClient.cpp:
(runOpenPanel):

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

9 years ago[GTK] Don't use the C API internally in WebKitFormSubmissionRequest
carlosgc@webkit.org [Thu, 18 Oct 2012 15:49:19 +0000 (15:49 +0000)]
[GTK] Don't use the C API internally in WebKitFormSubmissionRequest
https://bugs.webkit.org/show_bug.cgi?id=96777

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitFormClient.cpp:
(willSubmitForm):
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
(_WebKitFormSubmissionRequestPrivate):
(webkitFormSubmissionRequestCreate):
(webkit_form_submission_request_get_text_fields):
(webkit_form_submission_request_submit):
* UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:

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

9 years ago[GTK] AudioBusGtk sometimes fails to load the HRTF database
philn@webkit.org [Thu, 18 Oct 2012 15:27:35 +0000 (15:27 +0000)]
[GTK] AudioBusGtk sometimes fails to load the HRTF database
https://bugs.webkit.org/show_bug.cgi?id=99601

Reviewed by Martin Robinson.

AudioBusGtk now first lookup for the uninstalled resource files,
if the AUDIO_RESOURCES_PATH environment variable is
set. Additionally the audio file reader is now better dealing with
errors, returning an empty AudioBus in such cases and issuing
warnings on the console output. The cleanup of some member
variables was also moved to the destructor.

* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(AudioFileReader):
(WebCore::AudioFileReader::AudioFileReader):
(WebCore::AudioFileReader::~AudioFileReader): Clear and free
member variables. This was done in createBus before.
(WebCore::AudioFileReader::handleMessage): Issue warnings in case
of error and exit from the main loop so the pipeline is not
forever stuck.
(WebCore::AudioFileReader::createBus): Return an empty bus in case
of error.
* platform/audio/gtk/AudioBusGtk.cpp:
(WebCore::AudioBus::loadPlatformResource): Load uninstalled
resources first if AUDIO_RESOURCES_PATH is set.

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

9 years ago[Chromium] Test expectation update mainly for
tkent@chromium.org [Thu, 18 Oct 2012 15:21:07 +0000 (15:21 +0000)]
[Chromium] Test expectation update mainly for
https://bugs.webkit.org/show_bug.cgi?id=99673

* platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-win-xp/fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n-expected.png: Added.
* platform/chromium-win/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
* platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:

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

9 years agoWeb Inspector: provisional change for merging "doced" state into the "dock side"...
pfeldman@chromium.org [Thu, 18 Oct 2012 15:20:46 +0000 (15:20 +0000)]
Web Inspector: provisional change for merging "doced" state into the "dock side" enum.
https://bugs.webkit.org/show_bug.cgi?id=99718

Reviewed by Vsevolod Vlasov.

Adds stub method that could be executed from the embedder.

* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setDockSide):

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

9 years agoRebaselining some longstanding Chromium expectations.
schenney@chromium.org [Thu, 18 Oct 2012 14:58:17 +0000 (14:58 +0000)]
Rebaselining some longstanding Chromium expectations.

Unreviewed test expectations update.

These were marked as expected fail when a Skia roll went in. That was ago.

* platform/chromium-linux/fast/repaint/list-marker-expected.png:
* platform/chromium-linux/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
* platform/chromium-linux/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/list-marker-expected.png:
* platform/chromium-mac-snowleopard/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/hixie/perf/007-expected.png:
* platform/chromium-mac/fast/repaint/list-marker-expected.png:
* platform/chromium-mac/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
* platform/chromium-mac/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-win-xp/svg/as-image/img-preserveAspectRatio-support-1-expected.png: Added.
* platform/chromium-win/fast/repaint/focus-ring-expected.png:
* platform/chromium-win/fast/repaint/list-marker-expected.png:
* platform/chromium-win/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
* platform/chromium-win/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium/TestExpectations:

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

9 years agoAdd Localizer::monthFormat and implementations
tkent@chromium.org [Thu, 18 Oct 2012 14:55:15 +0000 (14:55 +0000)]
Add Localizer::monthFormat and implementations
https://bugs.webkit.org/show_bug.cgi?id=99704

* tests/LocaleMacTest.cpp:
(TEST_F): Remove tests for fr_FR and ru locales for a compatibility reason.

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

9 years ago[GTK] Don't use the C API internally in WebKitSettings
carlosgc@webkit.org [Thu, 18 Oct 2012 14:49:22 +0000 (14:49 +0000)]
[GTK] Don't use the C API internally in WebKitSettings
https://bugs.webkit.org/show_bug.cgi?id=96784

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitSettings.cpp:
(_WebKitSettingsPrivate):
(webkit_settings_class_init):
(webkit_settings_init):
(webkitSettingsAttachSettingsToPage):
(webkit_settings_get_enable_javascript):
(webkit_settings_set_enable_javascript):
(webkit_settings_get_auto_load_images):
(webkit_settings_set_auto_load_images):
(webkit_settings_get_load_icons_ignoring_image_load_setting):
(webkit_settings_set_load_icons_ignoring_image_load_setting):
(webkit_settings_get_enable_offline_web_application_cache):
(webkit_settings_set_enable_offline_web_application_cache):
(webkit_settings_get_enable_html5_local_storage):
(webkit_settings_set_enable_html5_local_storage):
(webkit_settings_get_enable_html5_database):
(webkit_settings_set_enable_html5_database):
(webkit_settings_get_enable_xss_auditor):
(webkit_settings_set_enable_xss_auditor):
(webkit_settings_get_enable_frame_flattening):
(webkit_settings_set_enable_frame_flattening):
(webkit_settings_get_enable_plugins):
(webkit_settings_set_enable_plugins):
(webkit_settings_get_enable_java):
(webkit_settings_set_enable_java):
(webkit_settings_get_javascript_can_open_windows_automatically):
(webkit_settings_set_javascript_can_open_windows_automatically):
(webkit_settings_get_enable_hyperlink_auditing):
(webkit_settings_set_enable_hyperlink_auditing):
(webkit_settings_set_default_font_family):
(webkit_settings_set_monospace_font_family):
(webkit_settings_set_serif_font_family):
(webkit_settings_set_sans_serif_font_family):
(webkit_settings_set_cursive_font_family):
(webkit_settings_set_fantasy_font_family):
(webkit_settings_set_pictograph_font_family):
(webkit_settings_get_default_font_size):
(webkit_settings_set_default_font_size):
(webkit_settings_get_default_monospace_font_size):
(webkit_settings_set_default_monospace_font_size):
(webkit_settings_get_minimum_font_size):
(webkit_settings_set_minimum_font_size):
(webkit_settings_set_default_charset):
(webkit_settings_get_enable_private_browsing):
(webkit_settings_set_enable_private_browsing):
(webkit_settings_get_enable_developer_extras):
(webkit_settings_set_enable_developer_extras):
(webkit_settings_get_enable_resizable_text_areas):
(webkit_settings_set_enable_resizable_text_areas):
(webkit_settings_get_enable_tabs_to_links):
(webkit_settings_set_enable_tabs_to_links):
(webkit_settings_get_enable_dns_prefetching):
(webkit_settings_set_enable_dns_prefetching):
(webkit_settings_get_enable_caret_browsing):
(webkit_settings_set_enable_caret_browsing):
(webkit_settings_get_enable_fullscreen):
(webkit_settings_set_enable_fullscreen):
(webkit_settings_get_print_backgrounds):
(webkit_settings_set_print_backgrounds):
(webkit_settings_get_enable_webaudio):
(webkit_settings_set_enable_webaudio):
(webkit_settings_get_enable_webgl):
(webkit_settings_set_enable_webgl):
(webkit_settings_get_allow_modal_dialogs):
(webkit_settings_get_zoom_text_only):
(webkit_settings_get_javascript_can_access_clipboard):
(webkit_settings_set_javascript_can_access_clipboard):
(webkit_settings_get_media_playback_requires_user_gesture):
(webkit_settings_set_media_playback_requires_user_gesture):
(webkit_settings_get_media_playback_allows_inline):
(webkit_settings_set_media_playback_allows_inline):
(webkit_settings_get_draw_compositing_indicators):
(webkit_settings_set_draw_compositing_indicators):
(webkit_settings_get_enable_site_specific_quirks):
(webkit_settings_set_enable_site_specific_quirks):
(webkit_settings_get_enable_page_cache):
(webkit_settings_set_enable_page_cache):
(webkit_settings_get_enable_smooth_scrolling):
(webkit_settings_set_enable_smooth_scrolling):
* UIProcess/API/gtk/WebKitSettingsPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSetSettings):

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

9 years agoAdd Localizer::monthFormat and implementations
tkent@chromium.org [Thu, 18 Oct 2012 14:32:08 +0000 (14:32 +0000)]
Add Localizer::monthFormat and implementations
https://bugs.webkit.org/show_bug.cgi?id=99704

Reviewed by Kentaro Hara.

Source/WebCore:

Localizer::monthFormat will be used for constructing input[type=month] UI.

Tests: Add unit tests to Source/WebKit/chromium/tests/.

* platform/text/Localizer.h:
(Localizer): Declare pure virtual monthFormat function.

* platform/text/LocaleNone.cpp:
(LocaleNone): Declare monthFormat.
(WebCore::LocaleNone::monthFormat):
Added. Always reutrns an ISO-8601 format, "yyyy-MM"

* platform/text/LocaleICU.h:
(LocaleICU): Declare monthFormat.
* platform/text/LocaleICU.cpp:
(WebCore::getFormatForSkeleton):
A helper to get a format for the specified skeleton.
The overflow-allocalte-try-again pattern is similar to
LocaleICU::decimalSymbol and LocaleICU::decimalTextAttribute.
(WebCore::LocaleICU::monthFormat):
Added. Calls getFormatForSkeleton with "yyyyMMM".

* platform/text/mac/LocaleMac.h:
(LocaleMac): Declare monthFormat.
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::monthFormat):
Added. Calls NSDateFormatter::dateFormatFromTemplate with "yyyyMMM".

* platform/text/LocaleWin.h:
(LocaleWin): Declare monthFormat.
* platform/text/LocaleWin.cpp:
(WebCore::LocaleWin::monthFormat):
Get a format by LOCALE_SYEARMONTH, and convert it to an LDML format.

Source/WebKit/chromium:

* tests/LocaleMacTest.cpp:
(LocaleMacTest::monthFormat): A helper function.
(TEST_F): Added some tests.
* tests/LocaleWinTest.cpp:
(LocaleWinTest::monthFormat): A helper function.
(TEST_F): Added some tests.
* tests/LocalizedDateICUTest.cpp:
(LocalizedDateICUTest::monthFormat): A helper function.
(TEST_F): Added some tests.

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

9 years ago[CMake] Avoid unnecessarily running the LLInt generation commands.
rakuco@webkit.org [Thu, 18 Oct 2012 14:18:58 +0000 (14:18 +0000)]
[CMake] Avoid unnecessarily running the LLInt generation commands.
https://bugs.webkit.org/show_bug.cgi?id=99708

Reviewed by Rob Buis.

As described in the comments in the change itself, in some cases
the Ruby generation scripts used when LLInt is on would each be
run twice in every build even if nothing had changed.

Fix that by not setting the OBJECT_DEPENDS property of some source
files to depend on the generated headers; instead, they are now
just part of the final binaries/libraries which use them.

* CMakeLists.txt:

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

9 years agoUnreviewed Chromium rebaselines.
antonm@chromium.org [Thu, 18 Oct 2012 14:17:22 +0000 (14:17 +0000)]
Unreviewed Chromium rebaselines.

* platform/chromium-linux/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png: Removed.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png: Added.
* platform/chromium-win/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png: Added.

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

9 years ago[EFL] Update pixel expectation for a datalist test.
rakuco@webkit.org [Thu, 18 Oct 2012 13:50:11 +0000 (13:50 +0000)]
[EFL] Update pixel expectation for a datalist test.

* platform/efl/fast/forms/datalist/input-appearance-range-with-datalist-expected.png:

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

9 years agoUnreviewed. Fix GTK+ debug build.
carlosgc@webkit.org [Thu, 18 Oct 2012 13:43:55 +0000 (13:43 +0000)]
Unreviewed. Fix GTK+ debug build.

* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkitWebResourceCreate):

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

9 years agoWeb Inspector: add X-WebKit-CSP header into inspector.html
pfeldman@chromium.org [Thu, 18 Oct 2012 13:40:55 +0000 (13:40 +0000)]
Web Inspector: add X-WebKit-CSP header into inspector.html
https://bugs.webkit.org/show_bug.cgi?id=99710

Reviewed by Vsevolod Vlasov.

A simple sanity measure.

* inspector/front-end/inspector.html:

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

9 years ago[EFL] Gardening. Remove pixel expectation for a test that's actually a reftest.
rakuco@webkit.org [Thu, 18 Oct 2012 13:40:19 +0000 (13:40 +0000)]
[EFL] Gardening. Remove pixel expectation for a test that's actually a reftest.

* platform/efl/fast/forms/datalist/update-range-with-datalist-expected.png: Removed.

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

9 years ago[GTK] Don't use the C API internally in WebKitWindowProperties
carlosgc@webkit.org [Thu, 18 Oct 2012 13:39:51 +0000 (13:39 +0000)]
[GTK] Don't use the C API internally in WebKitWindowProperties
https://bugs.webkit.org/show_bug.cgi?id=96785

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreateNewPage):
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
(webkitWindowPropertiesUpdateFromWebWindowFeatures):
* UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:

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

9 years ago[WK2] Add CustomFilterOperation serialization in ArgumentCoder.
commit-queue@webkit.org [Thu, 18 Oct 2012 13:38:19 +0000 (13:38 +0000)]
[WK2] Add CustomFilterOperation serialization in ArgumentCoder.
https://bugs.webkit.org/show_bug.cgi?id=98733

Patch by Huang Dongsung <luxtella@company100.net> on 2012-10-18
Reviewed by Noam Rosenthal.

Source/WebCore:

Change CustomFilterOperation::parameters() to const function, because
this method is a getter and a const instance needs to call this method.

No new tests because there is no change in behavior.

* platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::parameters):

Source/WebKit2:

Add ArgumentCoders for CustomFilterOperation and all dependent classes.
Coordinated Graphics will use this css shaders serialization when it enables CSS
Shaders.

No new tests, code path is not activated yet.

* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: Added.
(CoreIPC):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: Added.
(WebCore):
(CoreIPC):
* Shared/CoordinatedGraphics/WebCustomFilterProgram.h: Added.
(WebKit):
(WebCustomFilterProgram):
    WebCustomFilterProgram is made to serialize the data of a
    StyleCustomFilterProgram to the UI process.
(WebKit::WebCustomFilterProgram::create):
(WebKit::WebCustomFilterProgram::WebCustomFilterProgram):
* Shared/ShareableSurface.cpp:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* Target.pri:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
* WebKit2.pri:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

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

9 years ago[EFL] Rebaseline http/tests/plugins/ after r129972
commit-queue@webkit.org [Thu, 18 Oct 2012 13:37:13 +0000 (13:37 +0000)]
[EFL] Rebaseline http/tests/plugins/ after r129972
https://bugs.webkit.org/show_bug.cgi?id=99672

Unreviewed. Plugin feature is enabled on EFL WK2 port after r129972.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-10-18

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

9 years agotreeScopeOfParent doesn't return the TreeScope of the parent
hayato@chromium.org [Thu, 18 Oct 2012 13:22:36 +0000 (13:22 +0000)]
treeScopeOfParent doesn't return the TreeScope of the parent
https://bugs.webkit.org/show_bug.cgi?id=98207

Reviewed by Hajime Morita.

A minor clean up. Remove treeScopeOfParent() in Element.cpp.

No tests needed, this is just a clean up.

* dom/Element.cpp:
(WebCore::Element::removedFrom):

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

9 years agoReally remove the svn:executable property from Source/WebCore/UseV8.cmake
rakuco@webkit.org [Thu, 18 Oct 2012 13:20:17 +0000 (13:20 +0000)]
Really remove the svn:executable property from Source/WebCore/UseV8.cmake

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

9 years ago[EFL] Unskip http/tests/security/xss-DENIED-xsl-external-entity.xml.
rakuco@webkit.org [Thu, 18 Oct 2012 13:18:54 +0000 (13:18 +0000)]
[EFL] Unskip http/tests/security/xss-DENIED-xsl-external-entity.xml.

It seems to be passing consistently now.

* platform/efl/TestExpectations:

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

9 years agoWeb Inspector: [Styles] Forcibly invoke property names suggestion box for empty prefix
apavlov@chromium.org [Thu, 18 Oct 2012 13:18:44 +0000 (13:18 +0000)]
Web Inspector: [Styles] Forcibly invoke property names suggestion box for empty prefix
https://bugs.webkit.org/show_bug.cgi?id=99711

Reviewed by Vsevolod Vlasov.

Suggestions should be returned unconditionally for CSS property names, regardless of the prefix.

* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions):
(WebInspector.CSSCompletions.requestCSSNameCompletions):
(WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
* inspector/front-end/CSSKeywordCompletions.js:
(WebInspector.CSSKeywordCompletions.forProperty):

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

9 years ago[Qt] Unreviewed gardening
kadam@inf.u-szeged.hu [Thu, 18 Oct 2012 12:48:42 +0000 (12:48 +0000)]
[Qt] Unreviewed gardening

Skipping a test, remove unnecessary expected files.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2012-10-18

* platform/qt-5.0/fast/forms/box-shadow-override-expected.png: Removed.
* platform/qt-5.0/fast/forms/box-shadow-override-expected.txt: Removed.
* platform/qt/TestExpectations:

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

9 years ago[Qt] Improved support for silent builds
hausmann@webkit.org [Thu, 18 Oct 2012 12:42:01 +0000 (12:42 +0000)]
[Qt] Improved support for silent builds

Reviewed by Tor Arne Vestbø.

Silence our extra compilers when CONFIG+=silent is set.

* qmake/mkspecs/features/default_post.prf:

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

9 years ago[GTK] Don't use the C API internally in WebKitWebResource
carlosgc@webkit.org [Thu, 18 Oct 2012 12:35:12 +0000 (12:35 +0000)]
[GTK] Don't use the C API internally in WebKitWebResource
https://bugs.webkit.org/show_bug.cgi?id=96783

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitWebResource.cpp:
(_WebKitWebResourcePrivate):
(webkitWebResourceCreate):
(webkitWebResourceGetFrame):
(ResourceGetDataAsyncData):
(resourceDataCallback):
(webkit_web_resource_get_data):
(webkit_web_resource_get_data_finish):
* UIProcess/API/gtk/WebKitWebResourcePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(setCertificateToMainResource):
(webkitWebViewResourceLoadStarted):

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

9 years ago[GTK] Don't use the C API internally in WebKitURIResponse
carlosgc@webkit.org [Thu, 18 Oct 2012 12:31:11 +0000 (12:31 +0000)]
[GTK] Don't use the C API internally in WebKitURIResponse
https://bugs.webkit.org/show_bug.cgi?id=96782

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkitURIResponseSetCertificateInfo):
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(setCertificateToMainResource):

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

9 years ago[GTK] Don't use the C API internally in PolicyClient classes
carlosgc@webkit.org [Thu, 18 Oct 2012 12:22:34 +0000 (12:22 +0000)]
[GTK] Don't use the C API internally in PolicyClient classes
https://bugs.webkit.org/show_bug.cgi?id=96781

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
(webkitNavigationPolicyDecisionCreate):
* UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPolicyClient.cpp:
(decidePolicyForNavigationActionCallback):
(decidePolicyForNewWindowActionCallback):
(decidePolicyForResponseCallback):
(attachPolicyClientToView):
* UIProcess/API/gtk/WebKitPolicyClient.h:
* UIProcess/API/gtk/WebKitPolicyDecision.cpp:
(_WebKitPolicyDecisionPrivate):
(webkitPolicyDecisionFinalize):
(webkitPolicyDecisionSetListener):
(webkit_policy_decision_use):
(webkit_policy_decision_ignore):
(webkit_policy_decision_download):
* UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPrivate.cpp:
(wkEventMouseButtonToWebKitMouseButton):
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
(webkitResponsePolicyDecisionCreate):
* UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):

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

9 years agoUnreviewed, do not make UseV8.cmake executable.
rakuco@webkit.org [Thu, 18 Oct 2012 12:20:35 +0000 (12:20 +0000)]
Unreviewed, do not make UseV8.cmake executable.

* UseV8.cmake: Removed property svn:executable.

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

9 years ago[GTK] Don't use the C API internally in WebKitHitTestResult
carlosgc@webkit.org [Thu, 18 Oct 2012 12:16:46 +0000 (12:16 +0000)]
[GTK] Don't use the C API internally in WebKitHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=96779

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
* UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewMouseTargetChanged):
(webkitWebViewPopulateContextMenu):

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

9 years ago[Qt] Reduce memory pressure at link time with less compromise on speed of linking
hausmann@webkit.org [Thu, 18 Oct 2012 12:09:51 +0000 (12:09 +0000)]
[Qt] Reduce memory pressure at link time with less compromise on speed of linking

Reviewed by Csaba Osztrogonác.

Revert r131718 that made us pass -fno-keep-memory to the linker for any
i386 builds. The downside of passing that option is that it slows down
the process of linking and as Ossy determined, release builds do _not_
take as much memory (2.x GB) for linking but much less (~350MB).

However there is one condition where even release builds do take up too
much memory, and that is when Qt is configured with
-separate-debug-info, because it adds a -g next to -O2. The recent
introduction of loading qt_build_config enabled us to read qmodule.pri,
which adds the -g if Qt is configured with -separate-debug-info. So
instead of playing with -fno-keep-memory (which is a last resort
measure for debug builds) we should tweak our existing mechanism of
dealing with the debug info:

production_build.prf tries to ensure that we use -g only in static
libraries that contain API facing code, so that we get nice backtraces
at least into the API layer. For other static libraries such as WebCore
we skip -g via CONFIG += no_debug_info. One of the conditions for
enabling this tweak is CONFIG(debug, debug|release). This patch adds
contains(QT_CONFIG,separate_debug_info) to the conditions.

The patch also extend the CONFIG += no_debug_info part with the removal
of no_separate_debug_info. There is no point in running an extra
build step to strip out debug info into a separate file if at the same
time we tell the compiler to not generate any debug info altogether.

* qmake/mkspecs/features/production_build.prf:
* qmake/mkspecs/features/unix/default_post.prf:

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

9 years ago[Qt] OpenGL rendering is not possible on bots using Xvfb
kbalazs@webkit.org [Thu, 18 Oct 2012 11:28:21 +0000 (11:28 +0000)]
[Qt] OpenGL rendering is not possible on bots using Xvfb
https://bugs.webkit.org/show_bug.cgi?id=99463

Reviewed by Jocelyn Turcotte.

Added a workaround to be able to disallow UI side OpenGL rendering
if the environment is not suitable because it can be extremely slow
with a software backend.

* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort.setup_environ_for_server): Let the environment variable
QT_WEBKIT_DISABLE_UIPROCESS_DUMPPIXELS reach the driver. This variable
should be defined on bots that don't have a suitable OpenGL environment.
* WebKitTestRunner/PlatformWebView.h:
(PlatformWebView):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WrapperWindow::handleStatusChanged): Don't try to create an OpenGL
surface and set the setRenderWithoutShowing flag on the window if the
variable is set.
(WTR::PlatformWebView::windowSnapshotImage):
(WTR::PlatformWebView::windowShapshotEnabled):
(WTR):
* WebKitTestRunner/qt/TestInvocationQt.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Use the old method
of evaluating pixel results if the snapshot is not supported, that is to check
the image we got from the web process. This is necessary for the bots to be able
to run ref tests.

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

9 years agoImplement pixel snapshot generation in WTR https://bugs.webkit.org/show_bug.cgi?id...
kbalazs@webkit.org [Thu, 18 Oct 2012 11:26:27 +0000 (11:26 +0000)]
Implement pixel snapshot generation in WTR https://bugs.webkit.org/show_bug.cgi?id=95992

Reviewed by Jocelyn Turcotte.

Switch the Qt implementation of the PlatformWebView to use
QQuickWindow::grabWindow to generate the pixel results. This way
we will go through the scenegraph and test the actual rendering backend.
We use QQuickWindowPrivate::setRenderWithoutShowing to avoid the need of
showing the window.

* WebKitTestRunner/Target.pri: Had to added a bunch
of modules to be able to use QQuickWindowPrivate.
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WrapperWindow::handleStatusChanged):
(WTR::PlatformWebView::windowSnapshotImage):

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

9 years agoDo a forced repaint before generating pixel results https://bugs.webkit.org/show_bug...
kbalazs@webkit.org [Thu, 18 Oct 2012 11:26:07 +0000 (11:26 +0000)]
Do a forced repaint before generating pixel results https://bugs.webkit.org/show_bug.cgi?id=98654

Reviewed by Jocelyn Turcotte.

Source/WebKit2:

Added API to convert a QImage to a WKImage so we can
pass it to cross-platform code.

* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateFromQImage):
* Shared/API/c/qt/WKImageQt.h:

Tools:

Do a forced repaint before grabbing the pixel snapshot. This extra
synchronisation is necessary with the CoordinatedGraphics rendering
backend because it has a fully asynchronous nature. This patch make
us using the window snapshot for pixel results which is necessary to
capture animations and other dynamic content. The actual grabbing of
the window has not been implemented in this patch. It will come in
a follow-up.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::dump): Store results in member variables.
Don't close output channels yet.
(WTR::TestInvocation::dumpResults): Added. This is where we dump
the results if no error happened.
(WTR):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/TestInvocation.h:
(TestInvocation):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
* WebKitTestRunner/qt/TestInvocationQt.cpp:
(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

9 years ago[CMake] Depend on the Python scripts in WebKit2/Scripts/webkit2 when regenerating...
rakuco@webkit.org [Thu, 18 Oct 2012 10:41:25 +0000 (10:41 +0000)]
[CMake] Depend on the Python scripts in WebKit2/Scripts/webkit2 when regenerating messages.
https://bugs.webkit.org/show_bug.cgi?id=99702

Reviewed by Gyuyoung Kim.

Be in line with most (or all) the other build systems and
explicitly depend on all the scripts in
${WEBKIT2_DIR}/Scripts/webkit2 for the custom command that
generates messages.

This helps fix the build after the recent change to messages.py,
which did not trigger a regeneration of the required files --
people were just removing their DerivedSources directory
altogether.

* CMakeLists.txt:

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

9 years ago[Qt] Clean up variables controlling Qt module creation/handling
hausmann@webkit.org [Thu, 18 Oct 2012 10:38:18 +0000 (10:38 +0000)]
[Qt] Clean up variables controlling Qt module creation/handling

Reviewed by Tor Arne Vestbø.

We now depend on a Qt 5 version that is new enough to allow us to
clean this up. Qt's default_pre.prf uses MODULE_QMAKE_OUTDIR, but
the other MODULE_BASE_* variables are onl used in qmodule.prf.

.:

* Source/api.pri:

Tools:

* qmake/mkspecs/features/default_pre.prf:

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

9 years ago[WK2] Fix incorrect test expectations of messages_unittest.py.
commit-queue@webkit.org [Thu, 18 Oct 2012 10:25:25 +0000 (10:25 +0000)]
[WK2] Fix incorrect test expectations of messages_unittest.py.
https://bugs.webkit.org/show_bug.cgi?id=99699

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-18
Reviewed by Gyuyoung Kim.

Fix the expected results of messages_unittest.py.

The expected result of messages_unittest.py has bugs, and it makes failure on python test.

* Scripts/webkit2/messages_unittest.py:

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

9 years agoMediaStream API: Add better RTCPeerConnectionHandler creation logic
tommyw@google.com [Thu, 18 Oct 2012 10:23:44 +0000 (10:23 +0000)]
MediaStream API: Add better RTCPeerConnectionHandler creation logic
https://bugs.webkit.org/show_bug.cgi?id=99308

Reviewed by Adam Barth.

This patch makes sure that if the RTCPeerConnectionHandler can't be fully initialized/created
the RTCPeerConnection constructor throws an exception.

Not full testable, existing tests cover the normal case though.

* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandler::create):
(WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
(WebCore::RTCPeerConnectionHandlerChromium::createWebHandler):
(WebCore::RTCPeerConnectionHandlerChromium::initialize):
(WebCore::RTCPeerConnectionHandlerChromium::createOffer):
(WebCore::RTCPeerConnectionHandlerChromium::createAnswer):
(WebCore::RTCPeerConnectionHandlerChromium::setLocalDescription):
(WebCore::RTCPeerConnectionHandlerChromium::setRemoteDescription):
(WebCore::RTCPeerConnectionHandlerChromium::updateIce):
(WebCore::RTCPeerConnectionHandlerChromium::addIceCandidate):
(WebCore::RTCPeerConnectionHandlerChromium::localDescription):
(WebCore::RTCPeerConnectionHandlerChromium::remoteDescription):
(WebCore::RTCPeerConnectionHandlerChromium::addStream):
(WebCore::RTCPeerConnectionHandlerChromium::removeStream):
(WebCore::RTCPeerConnectionHandlerChromium::getStats):
(WebCore::RTCPeerConnectionHandlerChromium::openDataChannel):
(WebCore::RTCPeerConnectionHandlerChromium::sendStringData):
(WebCore::RTCPeerConnectionHandlerChromium::sendRawData):
(WebCore::RTCPeerConnectionHandlerChromium::closeDataChannel):
(WebCore::RTCPeerConnectionHandlerChromium::stop):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

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

9 years agoTemporarily disable use of QCocoaNativeInterface in GraphicsSurfaceMac.
zeno.albisser@digia.com [Thu, 18 Oct 2012 09:48:06 +0000 (09:48 +0000)]
Temporarily disable use of QCocoaNativeInterface in GraphicsSurfaceMac.
https://bugs.webkit.org/show_bug.cgi?id=99320

The current version of Qt5 deployed on the buildbots does not yet have
an implementation for QCocoaNativeInterface::nativeResourceForContext().
Therefore we disable this code path until Qt5/qtbase has been updated to
a revision above Change-Id: Id00efc88a73d7df04a68c022f19d9d1c4f6d386b.

Once Qt5 has been updated, this patch must be reverted.

Reviewed by Noam Rosenthal.

* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):

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

9 years agoGraphicsSurface should not modify the current GL context.
zeno.albisser@digia.com [Thu, 18 Oct 2012 09:44:11 +0000 (09:44 +0000)]
GraphicsSurface should not modify the current GL context.
https://bugs.webkit.org/show_bug.cgi?id=99320

Instead of reusing the currently bound GL context for drawing
the texture onto the GraphicsSurface, GraphicsSurface should
create a new context that shares the texture names with a context
provided by the caller.
This way the OpenGL states are clearly separated and we do not
risk interfeering with the currently bound GL context.

Reviewed by Noam Rosenthal.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
    When creating a GraphicsSurface pass the platform GL context
    as a parameter, so it can be used for sharing textures with.
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
    Pass the texture instead of the FBO. A Texture can be drawn
    directly or bound to another FBO, where a framebuffer
    always needs to be blit onto the surface.
(WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
    Pass the platform GL context as a parameter.
* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::create):
(WebCore::GraphicsSurface::copyFromTexture):
* platform/graphics/surfaces/GraphicsSurface.h:
(GraphicsSurface):
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
    Create a new GL context that shares the textures with the
    context provided by the caller.
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::makeCurrent):
    Add a convenience function to make the context that
    belongs to the surface current.
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::doneCurrent):
    Add a convenience function to make the previously
    bound context current again.
(WebCore::GraphicsSurfacePrivate::copyFromTexture):
    Move blitting of the texture onto the surface
    into a separate function within GraphicsSurfacePrivate.
(WebCore::GraphicsSurface::platformCopyFromTexture):
    Rename function platformCopyFromFramebuffer to
    platformCopyFromTexture, as we are now passing the texture only.
(WebCore::GraphicsSurface::platformCreate):
* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
(WebCore):
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::makeCurrent):
    Add a convenience function to make the context that
    belongs to the surface current.
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::doneCurrent):
    Add a convenience function to make the previously
(WebCore::GraphicsSurfacePrivate::copyFromTexture):
    Move blitting of the texture onto the surface
    into a separate function within GraphicsSurfacePrivate.
(WebCore::resolveGLMethods):
    Resolve additional GL methods necessary for this change.
(WebCore::GraphicsSurface::platformCopyFromTexture):
    Rename function platformCopyFromFramebuffer to
    platformCopyFromTexture, as we are now passing the texture only.
(WebCore::GraphicsSurface::platformCreate):

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

9 years ago[Qt] Reduce memory pressure during link time
hausmann@webkit.org [Thu, 18 Oct 2012 08:53:48 +0000 (08:53 +0000)]
[Qt] Reduce memory pressure during link time

Reviewed by Tor Arne Vestbø.

If possible always pass -fkeep-memory to the linker on i386. The
library has grown so big that we need this not only for i386 debug
builds but at least also for release.

* qmake/mkspecs/features/unix/default_post.prf:

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

9 years agoAdd PluginProcessProxy::platformInitializeLaunchOptions
commit-queue@webkit.org [Thu, 18 Oct 2012 08:51:19 +0000 (08:51 +0000)]
Add PluginProcessProxy::platformInitializeLaunchOptions
https://bugs.webkit.org/show_bug.cgi?id=99583

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-10-18
Reviewed by Sam Weinig.

Add a platform specific launch options initializer. This enables
fixing bug 99297 "[EFL] Make plugin process debugging easier
(PLUGIN_PROCESS_COMMAND_PREFIX)".

* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::PluginProcessProxy):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):

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

9 years ago[Qt] Modularize documentation for QtWebKit
vestbo@webkit.org [Thu, 18 Oct 2012 08:38:19 +0000 (08:38 +0000)]
[Qt] Modularize documentation for QtWebKit

Running 'make docs' would fail unless 'make qmake_all' was ran first,
but qmake_all involved generating all the derived sources, which seems
overly complex just for building documentation.

We solve this by preventing all subdirs except QtWebKit from having a
docs target. This would normally work fine on its own, but since we
use CONFIG += ordered, there's now a missing doc target for the
immediate dependency of the QtWebKit subdir. We solve this by adding
a dummy-target ourselves.

Finally, we clean up the qdocconf file to match the rest of the Qt
documentation modularization efforts.

Reviewed by Simon Hausmann.

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