profile/ivi/webkit-efl.git
12 years ago[GTK] fast/mediastream/peerconnection-argument-types.html fails
commit-queue@webkit.org [Wed, 22 Feb 2012 09:03:02 +0000 (09:03 +0000)]
[GTK] fast/mediastream/peerconnection-argument-types.html fails
https://bugs.webkit.org/show_bug.cgi?id=79096

Patch by Yanbin Zhang <yanbin.zhang@intel.com> on 2012-02-22
Reviewed by Adam Barth.

* fast/mediastream/peerconnection-argument-types-expected.txt:
* fast/mediastream/script-tests/argument-types.js:

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

12 years agoUnreviewed, rolling out r107351.
carlosgc@webkit.org [Wed, 22 Feb 2012 08:55:46 +0000 (08:55 +0000)]
Unreviewed, rolling out r107351.
http://trac.webkit.org/changeset/107351
https://bugs.webkit.org/show_bug.cgi?id=53600

Several issues introduced in WebKitGTK+ API

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::ChromeClient):
(WebKit::ChromeClient::chromeDestroyed):
(WebKit::ChromeClient::canRunModal):
(WebKit::ChromeClient::runModal):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):
* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):

Tools:

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(createWebView):
* GtkLauncher/main.c:
(createWebViewCb):
(createBrowser):
(createWindow):
(main):

LayoutTests:

* platform/gtk/Skipped:

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

12 years ago[chromium] Cull quads outside of the scissoring damage rect
commit-queue@webkit.org [Wed, 22 Feb 2012 08:54:57 +0000 (08:54 +0000)]
[chromium] Cull quads outside of the scissoring damage rect
https://bugs.webkit.org/show_bug.cgi?id=79181

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.

Source/WebCore:

Quads outside of the partial swap cause us to execute GL operations
that actually use a fair amount of CPU time (enough to affect power
usage). Here we cull quads by only keeping their intersection
with the damage rect used for partial swap.

Unit test: CCQuadCuller.cpp

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::cullOccludedQuads):
* platform/graphics/chromium/cc/CCQuadCuller.h:
(CCQuadCuller):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::optimizeQuads):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):

Source/WebKit/chromium:

* tests/CCQuadCullerTest.cpp:
(WebCore::TEST):
(WebCore):

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

12 years agoShort circuit fixed for a 16 bt pattern character and an 8 bit string.
commit-queue@webkit.org [Wed, 22 Feb 2012 08:43:52 +0000 (08:43 +0000)]
Short circuit fixed for a 16 bt pattern character and an 8 bit string.
https://bugs.webkit.org/show_bug.cgi?id=75602

Patch by Hojong Han <hojong.han@samsung.com> on 2012-02-22
Reviewed by Gavin Barraclough.

* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterGreedy):

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

12 years agoUnreviewed, GTK gardening.
philn@webkit.org [Wed, 22 Feb 2012 08:37:18 +0000 (08:37 +0000)]
Unreviewed, GTK gardening.

* platform/gtk/Skipped:
* platform/gtk/fast/forms/float-before-fieldset-expected.txt:

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

12 years agoPart of r108409 was incorrect, and incorporated an older version of a sub-patch.
jonlee@apple.com [Wed, 22 Feb 2012 08:30:01 +0000 (08:30 +0000)]
Part of r108409 was incorrect, and incorporated an older version of a sub-patch.
This is the actual sub-patch that should have been submitted.

* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::show):
(WebNotificationClient::cancel):
(WebNotificationClient::clearNotifications):
(WebNotificationClient::notificationObjectDestroyed):
(WebNotificationClient::notificationControllerDestroyed):

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

12 years ago[Chromium] New CCOcclusionTracker class with tests
commit-queue@webkit.org [Wed, 22 Feb 2012 07:59:51 +0000 (07:59 +0000)]
[Chromium] New CCOcclusionTracker class with tests
https://bugs.webkit.org/show_bug.cgi?id=78549

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by James Robinson.

Source/WebCore:

Adds a CCOcclusionTrackerBase template class that is able to track occlusion
of layers while traversing the layer tree from front-to-back, with typedefed
versions for the main and impl threads.

At each step of the front-to-back traversal, the class should be notified of
changes to the current render target, and when done working with a layer, the
layer is added the tracked occlusion.

The class provides tests for checking if a rect in content space
for a layer/surface is occluded by others in front of it.

Unit tests: CCOcclusionTrackerTest.cpp

* WebCore.gypi:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
(WebCore):
(WebCore::::enterTargetRenderSurface):
(WebCore::::finishedTargetRenderSurface):
(WebCore::transformSurfaceOpaqueRegion):
(WebCore::::leaveToTargetRenderSurface):
(WebCore::contentToScreenSpaceTransform):
(WebCore::contentToTargetSurfaceTransform):
(WebCore::computeOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
(WebCore::testContentRectOccluded):
(WebCore::::occluded):
(WebCore::::surfaceOccluded):
(WebCore::rectSubtractRegion):
(WebCore::computeUnoccludedContentRect):
(WebCore::::unoccludedContentRect):
(WebCore::::surfaceUnoccludedContentRect):
(WebCore::::currentOcclusionInScreenSpace):
(WebCore::::currentOcclusionInTargetSurface):
* platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
(WebCore):
(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
(StackObject):

Source/WebKit/chromium:

* WebKit.gypi:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore):
* tests/CCOcclusionTrackerTest.cpp: Added.
(WebCore):
(WebCore::setLayerPropertiesForTesting):
(LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::drawsContent):
(TestCCOcclusionTracker):
(WebCore::TestCCOcclusionTracker::occlusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::occlusionInTargetSurface):
(WebCore::TestCCOcclusionTracker::setOcclusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::setOcclusionInTargetSurface):
(WebCore::TEST):

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

12 years ago[GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
carlosgc@webkit.org [Wed, 22 Feb 2012 07:37:30 +0000 (07:37 +0000)]
[GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
https://bugs.webkit.org/show_bug.cgi?id=79120

Reviewed by Martin Robinson.

* Shared/gtk/WebCoreArgumentCodersGtk.cpp:
(CoreIPC::::encode): Encode a boolean to indicate whether it's a
Null error.
(CoreIPC::::decode): Check whether the error is Null and do not
continue decoding in such case.

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

12 years agoCache <font face> family lists in CSSValuePool.
kling@webkit.org [Wed, 22 Feb 2012 07:33:56 +0000 (07:33 +0000)]
Cache <font face> family lists in CSSValuePool.
<http://webkit.org/b/79195>

Reviewed by Antti Koivisto.

HTMLFontElements with "face" attributes are very common in legacy web content.
Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
reparsing and recreating duplicate font face values.

This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceValue):
* css/CSSParser.h:
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createFontFaceValue):
* css/CSSValuePool.h:
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::collectStyleForAttribute):

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

12 years agoSeparate the implementation of registerProtocolHandler from Navigator.cpp
abarth@webkit.org [Wed, 22 Feb 2012 07:28:04 +0000 (07:28 +0000)]
Separate the implementation of registerProtocolHandler from Navigator.cpp
https://bugs.webkit.org/show_bug.cgi?id=78945

Reviewed by Eric Seidel.

The implementation of registerProtocolHandler needlessly complicates
the implementation of Navigator.cpp.  In principle,
registerProtocolHandler (and possibly registerContentHandler, when we
implement that feature) could be its own module, but that seems like
overkill for one or two files.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Navigator.cpp:
(WebCore):
* page/Navigator.h:
(Navigator):
* page/Navigator.idl:

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

12 years agoHasIDFlag and HasClassFlag can be removed.
morrita@google.com [Wed, 22 Feb 2012 07:20:19 +0000 (07:20 +0000)]
HasIDFlag and HasClassFlag can be removed.
https://bugs.webkit.org/show_bug.cgi?id=77861

Reviewed by Andreas Kling.

Replaced HasIDFlag and HasClassFlag with a check against
ElementAttributeData. It looks these flags (originally bitfields)
were legacy of ancient era, where we didn't cache @id and @class
values and needed a hash lookup for each check.

No new tests. No behavioral change.

* dom/Element.cpp:
(WebCore::Element::idAttributeChanged):
* dom/Element.h:
(WebCore::Element::hasID):
(WebCore):
(WebCore::Element::hasClass):
(WebCore::Node::hasID):
(WebCore::Node::hasClass):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::hasID):
(WebCore::ElementAttributeData::hasClass):
(ElementAttributeData):
* dom/Node.h:
(Node):
(WebCore::nodeStyleChangeShift):
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):

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

12 years agoBuild fix for systems with case sensitive disks.
fpizlo@apple.com [Wed, 22 Feb 2012 07:15:46 +0000 (07:15 +0000)]
Build fix for systems with case sensitive disks.

* llint/LLIntOfflineAsmConfig.h:

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

12 years ago2D Canvas setTransform makes unnecessary matrix mults
mdelaney@apple.com [Wed, 22 Feb 2012 06:29:33 +0000 (06:29 +0000)]
2D Canvas setTransform makes unnecessary matrix mults
https://bugs.webkit.org/show_bug.cgi?id=79190

Reviewed by Dan Bernstein.

No new tests - plenty of current tests using setTransform.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setTransform):

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

12 years agoINPUT_SPEECH should be implemented as a PageSupplement.
morrita@google.com [Wed, 22 Feb 2012 05:46:08 +0000 (05:46 +0000)]
INPUT_SPEECH should be implemented as a PageSupplement.
https://bugs.webkit.org/show_bug.cgi?id=79051

Source/WebCore:

Turned SpeechInput to a PageSupplement.

Reviewed by Adam Barth.

No new tests. No behavior change.

* html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::speechInput):
(WebCore::InputFieldSpeechButtonElement::attach):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):
* page/SpeechInput.cpp:
(WebCore::SpeechInput::supplementName):
(WebCore):
(WebCore::provideSpeechInputTo):
* page/SpeechInput.h:
(SpeechInput):
(WebCore::SpeechInput::from):
* page/SpeechInputClient.h:
(WebCore):

Source/WebKit/chromium:

Reviewed by Adam Barth.

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

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

12 years ago[chromium] Add three small zoom gesture features
commit-queue@webkit.org [Wed, 22 Feb 2012 05:29:06 +0000 (05:29 +0000)]
[chromium] Add three small zoom gesture features
https://bugs.webkit.org/show_bug.cgi?id=74216

Patch by Alexandre Elias <aelias@google.com> on 2012-02-21
Reviewed by James Robinson.

1. Support panning around with two fingers.
2. When double-tap zooming, issue the commit at final/scroll scale as
early as possible.
3. When pinch zooming out, issue a commit at minimum scale to avoid
showing checkerboard.

Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
(The other features are heuristics whose exact behavior we don't need
to lock in with a test.)

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
(WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
(WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
(WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
(WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
(WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

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

12 years agoJSC should be a triple-tier VM
fpizlo@apple.com [Wed, 22 Feb 2012 05:23:19 +0000 (05:23 +0000)]
JSC should be a triple-tier VM
https://bugs.webkit.org/show_bug.cgi?id=75812
<rdar://problem/10079694>

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

Implemented an interpreter that uses the JIT's calling convention. This
interpreter is called LLInt, or the Low Level Interpreter. JSC will now
will start by executing code in LLInt and will only tier up to the old
JIT after the code is proven hot.

LLInt is written in a modified form of our macro assembly. This new macro
assembly is compiled by an offline assembler (see offlineasm), which
implements many modern conveniences such as a Turing-complete CPS-based
macro language and direct access to relevant C++ type information
(basically offsets of fields and sizes of structs/classes).

Code executing in LLInt appears to the rest of the JSC world "as if" it
were executing in the old JIT. Hence, things like exception handling and
cross-execution-engine calls just work and require pretty much no
additional overhead.

This interpreter is 2-2.5x faster than our old interpreter on SunSpider,
V8, and Kraken. With triple-tiering turned on, we're neutral on SunSpider,
V8, and Kraken, but appear to get a double-digit improvement on real-world
websites due to a huge reduction in the amount of JIT'ing.

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/LinkBuffer.h:
* assembler/MacroAssemblerCodeRef.h:
(MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
* bytecode/BytecodeConventions.h: Added.
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC):
(JSC::CallLinkStatus::computeFor):
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::operator!):
(CallLinkStatus):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC):
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::bytecodeOffset):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):
(JSC::ProgramCodeBlock::jitCompileImpl):
(JSC::EvalCodeBlock::jitCompileImpl):
(JSC::FunctionCodeBlock::jitCompileImpl):
* bytecode/CodeBlock.h:
(JSC):
(CodeBlock):
(JSC::CodeBlock::baselineVersion):
(JSC::CodeBlock::linkIncomingCall):
(JSC::CodeBlock::bytecodeOffset):
(JSC::CodeBlock::jitCompile):
(JSC::CodeBlock::hasOptimizedReplacement):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::addGlobalResolveInstruction):
(JSC::CodeBlock::addLLIntCallLinkInfo):
(JSC::CodeBlock::addGlobalResolveInfo):
(JSC::CodeBlock::numberOfMethodCallLinkInfos):
(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
(JSC::CodeBlock::addFrequentExitSite):
(JSC::CodeBlock::dontJITAnytimeSoon):
(JSC::CodeBlock::jitAfterWarmUp):
(JSC::CodeBlock::jitSoon):
(JSC::CodeBlock::llintExecuteCounter):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::wasSeenInJIT):
(GetByIdStatus):
* bytecode/Instruction.h:
(JSC):
(JSC::Instruction::Instruction):
(Instruction):
* bytecode/LLIntCallLinkInfo.h: Added.
(JSC):
(JSC::LLIntCallLinkInfo::LLIntCallLinkInfo):
(LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::~LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::isLinked):
(JSC::LLIntCallLinkInfo::unlink):
* bytecode/MethodCallLinkStatus.cpp:
(JSC::MethodCallLinkStatus::computeFor):
* bytecode/Opcode.cpp:
(JSC):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:
(PutByIdStatus):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitCatch):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOperations.cpp:
* heap/Heap.h:
(JSC):
(JSC::Heap::firstAllocatorWithoutDestructors):
(Heap):
* heap/MarkStack.cpp:
(JSC::visitChildren):
* heap/MarkedAllocator.h:
(JSC):
(MarkedAllocator):
* heap/MarkedSpace.h:
(JSC):
(MarkedSpace):
(JSC::MarkedSpace::firstAllocator):
* interpreter/CallFrame.cpp:
(JSC):
(JSC::CallFrame::bytecodeOffsetForNonDFGCode):
(JSC::CallFrame::setBytecodeOffsetForNonDFGCode):
(JSC::CallFrame::currentVPC):
(JSC::CallFrame::setCurrentVPC):
(JSC::CallFrame::trueCallerFrame):
* interpreter/CallFrame.h:
(JSC::ExecState::hasReturnPC):
(JSC::ExecState::clearReturnPC):
(ExecState):
(JSC::ExecState::bytecodeOffsetForNonDFGCode):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::~Interpreter):
(JSC):
(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):
(JSC::Interpreter::unwindCallFrame):
(JSC::getCallerInfo):
(JSC::Interpreter::privateExecute):
(JSC::Interpreter::retrieveLastCaller):
* interpreter/Interpreter.h:
(JSC):
(Interpreter):
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
(JSC::Interpreter::classicEnabled):
* interpreter/RegisterFile.h:
(JSC):
(RegisterFile):
* jit/ExecutableAllocator.h:
(JSC):
* jit/HostCallReturnValue.cpp: Added.
(JSC):
(JSC::getHostCallReturnValueWithExecState):
* jit/HostCallReturnValue.h: Added.
(JSC):
(JSC::initializeHostCallReturnValue):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JITCode.h:
(JSC::JITCode::isOptimizingJIT):
(JITCode):
(JSC::JITCode::isBaselineCode):
(JSC::JITCode::JITCode):
* jit/JITDriver.h:
(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):
* jit/JITExceptions.cpp:
(JSC::jitThrow):
* jit/JITInlineMethods.h:
(JSC::JIT::updateTopCallFrame):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
(JSC):
* jit/JSInterfaceJIT.h:
* llint: Added.
* llint/LLIntCommon.h: Added.
* llint/LLIntData.cpp: Added.
(LLInt):
(JSC::LLInt::Data::Data):
(JSC::LLInt::Data::performAssertions):
(JSC::LLInt::Data::~Data):
* llint/LLIntData.h: Added.
(JSC):
(LLInt):
(Data):
(JSC::LLInt::Data::exceptionInstructions):
(JSC::LLInt::Data::opcodeMap):
(JSC::LLInt::Data::performAssertions):
* llint/LLIntEntrypoints.cpp: Added.
(LLInt):
(JSC::LLInt::getFunctionEntrypoint):
(JSC::LLInt::getEvalEntrypoint):
(JSC::LLInt::getProgramEntrypoint):
* llint/LLIntEntrypoints.h: Added.
(JSC):
(LLInt):
(JSC::LLInt::getEntrypoint):
* llint/LLIntExceptions.cpp: Added.
(LLInt):
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrowForThrownException):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntExceptions.h: Added.
(JSC):
(LLInt):
* llint/LLIntOfflineAsmConfig.h: Added.
* llint/LLIntOffsetsExtractor.cpp: Added.
(JSC):
(LLIntOffsetsExtractor):
(JSC::LLIntOffsetsExtractor::dummy):
(main):
* llint/LLIntSlowPaths.cpp: Added.
(LLInt):
(JSC::LLInt::llint_trace_operand):
(JSC::LLInt::llint_trace_value):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::traceFunctionPrologue):
(JSC::LLInt::shouldJIT):
(JSC::LLInt::entryOSR):
(JSC::LLInt::resolveGlobal):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::genericCall):
* llint/LLIntSlowPaths.h: Added.
(JSC):
(LLInt):
* llint/LLIntThunks.cpp: Added.
(LLInt):
(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):
* llint/LLIntThunks.h: Added.
(JSC):
(LLInt):
* llint/LowLevelInterpreter.asm: Added.
* llint/LowLevelInterpreter.cpp: Added.
* llint/LowLevelInterpreter.h: Added.
* offlineasm: Added.
* offlineasm/armv7.rb: Added.
* offlineasm/asm.rb: Added.
* offlineasm/ast.rb: Added.
* offlineasm/backends.rb: Added.
* offlineasm/generate_offset_extractor.rb: Added.
* offlineasm/instructions.rb: Added.
* offlineasm/offset_extractor_constants.rb: Added.
* offlineasm/offsets.rb: Added.
* offlineasm/opt.rb: Added.
* offlineasm/parser.rb: Added.
* offlineasm/registers.rb: Added.
* offlineasm/self_hash.rb: Added.
* offlineasm/settings.rb: Added.
* offlineasm/transform.rb: Added.
* offlineasm/x86.rb: Added.
* runtime/CodeSpecializationKind.h: Added.
(JSC):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
(CommonSlowPaths):
* runtime/Executable.cpp:
(JSC::jettisonCodeBlock):
(JSC):
(JSC::EvalExecutable::jitCompile):
(JSC::samplingDescription):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::jitCompile):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::baselineCodeBlockFor):
(JSC::FunctionExecutable::jitCompileForCall):
(JSC::FunctionExecutable::jitCompileForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
* runtime/Executable.h:
(JSC):
(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::jitCompileFor):
* runtime/ExecutionHarness.h: Added.
(JSC):
(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):
* runtime/JSArray.h:
(JSC):
(JSArray):
* runtime/JSCell.h:
(JSC):
(JSCell):
* runtime/JSFunction.h:
(JSC):
(JSFunction):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC):
(JSGlobalData):
* runtime/JSGlobalObject.h:
(JSC):
(JSGlobalObject):
* runtime/JSObject.h:
(JSC):
(JSObject):
(JSFinalObject):
* runtime/JSPropertyNameIterator.h:
(JSC):
(JSPropertyNameIterator):
* runtime/JSString.h:
(JSC):
(JSString):
* runtime/JSTypeInfo.h:
(JSC):
(TypeInfo):
* runtime/JSValue.cpp:
(JSC::JSValue::description):
* runtime/JSValue.h:
(LLInt):
(JSValue):
* runtime/JSVariableObject.h:
(JSC):
(JSVariableObject):
* runtime/Options.cpp:
(Options):
(JSC::Options::initializeOptions):
* runtime/Options.h:
(Options):
* runtime/ScopeChain.h:
(JSC):
(ScopeChainNode):
* runtime/Structure.cpp:
(JSC::Structure::addPropertyTransition):
* runtime/Structure.h:
(JSC):
(Structure):
* runtime/StructureChain.h:
(JSC):
(StructureChain):
* wtf/InlineASM.h:
* wtf/Platform.h:
* wtf/SentinelLinkedList.h:
(SentinelLinkedList):
(WTF::SentinelLinkedList::isEmpty):
* wtf/text/StringImpl.h:
(JSC):
(StringImpl):

Source/WebCore:

Reviewed by Gavin Barraclough.

No new tests, because there is no change in behavior.

* CMakeLists.txt:

Source/WebKit:

Reviewed by Gavin Barraclough.

Changed EFL's build system to include a new directory in JavaScriptCore.

* CMakeLists.txt:

Tools:

Reviewed by Gavin Barraclough.

Changed EFL's build system to include a new directory in JavaScriptCore.

* DumpRenderTree/efl/CMakeLists.txt:

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

12 years agoNavigatorMediaStream.idl defines an interface for NavigatorGamepad
haraken@chromium.org [Wed, 22 Feb 2012 05:13:46 +0000 (05:13 +0000)]
NavigatorMediaStream.idl defines an interface for NavigatorGamepad
https://bugs.webkit.org/show_bug.cgi?id=79152

Reviewed by Adam Barth.

Fixed a typo: NavigatorGamepad => NavigatorMediaStream

This typo fix just changes the name of generated files:

- V8NavigatorGamepad.h => V8NavigatorMediaStream.h
- V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp

The reason why the typo has not caused any serious build issues is that
the generate files for supplemental interfaces are "empty" and not important.
They just exist to control makefile dependencies.

No tests. No change in behavior.

* mediastream/NavigatorMediaStream.idl:

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

12 years ago[Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
commit-queue@webkit.org [Wed, 22 Feb 2012 05:12:15 +0000 (05:12 +0000)]
[Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
https://bugs.webkit.org/show_bug.cgi?id=76017

Patch by Daniel Sievers <sievers@chromium.org> on 2012-02-21
Reviewed by James Robinson.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawSolidColorQuad):

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

12 years agogetCTM() on SVG root element with borders, paddings, and viewbox returns incorrect...
commit-queue@webkit.org [Wed, 22 Feb 2012 04:42:29 +0000 (04:42 +0000)]
getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
https://bugs.webkit.org/show_bug.cgi?id=78631

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-21
Reviewed by Eric Seidel.

Source/WebCore:

SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
borders and paddings, causing the CTM calculation to be off.

Test: svg/dom/SVGLocatable-getCTM-svg-root.html

* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentViewportSize):

    SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
    The contentBoxRect corresponds to the SVG viewport and does not include borders and
    paddings.

LayoutTests:

* platform/chromium/test_expectations.txt
* platform/mac/svg/dom/SVGLocatable-getCTM-svg-root-expected.png
* svg/dom/SVGLocatable-getCTM-svg-root-expected.txt: Added.
* svg/dom/SVGLocatable-getCTM-svg-root.html: Added.

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

12 years ago[BlackBerry] Upstream Icon class in platform/graphics/blackberry
commit-queue@webkit.org [Wed, 22 Feb 2012 04:34:19 +0000 (04:34 +0000)]
[BlackBerry] Upstream Icon class in platform/graphics/blackberry
https://bugs.webkit.org/show_bug.cgi?id=79088

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-02-21
Reviewed by Antonio Gomes.

Initial upstreaming, no new tests.

* platform/graphics/blackberry/IconBlackBerry.cpp: Added.
(WebCore):
(WebCore::Icon::~Icon):
(WebCore::Icon::paint):
(WebCore::Icon::createIconForFiles):

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

12 years agoRename "reserved1" flag of WebSocketFrame to compress
bashi@chromium.org [Wed, 22 Feb 2012 04:26:26 +0000 (04:26 +0000)]
Rename "reserved1" flag of WebSocketFrame to compress
https://bugs.webkit.org/show_bug.cgi?id=79187

Source/WebCore:

WebSocket deflate-frame extension draft specification defines COMP bit.
http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11

Reviewed by Kent Tamura.

No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.

* websockets/WebSocketChannel.cpp:
(WebCore):
(WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
(WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
(WebCore::makeFrameData):
(WebCore::WebSocketChannel::sendFrame):
* websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
(WebCore::WebSocketFrame::WebSocketFrame):
(WebSocketFrame):

LayoutTests:

Reviewed by Kent Tamura.

* http/tests/websocket/tests/hybi/reserved-bits-expected.txt: Revised to follow the change in meaning rsv1 bit.
* http/tests/websocket/tests/hybi/reserved-bits.html: Ditto.

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

12 years ago[Texmap] Move all TextureMapper related files to graphics/texmap
yael.aharon@nokia.com [Wed, 22 Feb 2012 04:02:26 +0000 (04:02 +0000)]
[Texmap] Move all TextureMapper related files to graphics/texmap
https://bugs.webkit.org/show_bug.cgi?id=79141

Reviewed by Martin Robinson.

Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
No new tests.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* platform/graphics/qt/GraphicsContext3DQt.cpp
* platform/graphics/opengl/TextureMapperGL.cpp: Removed.
* platform/graphics/opengl/TextureMapperGL.h: Removed.
* platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
* platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
* platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
* platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
* platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
* platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.

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

12 years agoMEDIA_STREAM should be implemented as a PageSupplement.
morrita@google.com [Wed, 22 Feb 2012 03:56:43 +0000 (03:56 +0000)]
MEDIA_STREAM should be implemented as a PageSupplement.
https://bugs.webkit.org/show_bug.cgi?id=79050

Reviewed by Adam Barth.

Source/WebCore:

Added UserMediaController which implements PageSupplement. This
controller mediates WebCore-to-client communication and lifecycle
management. Then pushed UserMediaController out as a
PageSupplement module.

No new tests. No behavior change.

* WebCore.gypi:
* GNUmakefile.list.am:
* mediastream/NavigatorMediaStream.cpp:
(WebCore::NavigatorMediaStream::webkitGetUserMedia):
* mediastream/UserMediaClient.h:
(WebCore):
* mediastream/UserMediaController.cpp: Added.
(WebCore):
(WebCore::UserMediaController::supplementName):
(WebCore::UserMediaController::UserMediaController):
(WebCore::UserMediaController::~UserMediaController):
(WebCore::UserMediaController::create):
(WebCore::provideUserMediaTo):
* mediastream/UserMediaController.h: Added.
(WebCore):
(UserMediaController):
(WebCore::UserMediaController::client):
(WebCore::UserMediaController::from):
(WebCore::UserMediaController::requestUserMedia):
(WebCore::UserMediaController::cancelUserMediaRequest):
* mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::didCompleteQuery):
(WebCore::UserMediaRequest::contextDestroyed):
* mediastream/UserMediaRequest.h:
(WebCore):
(UserMediaRequest):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):

Source/WebKit/chromium:

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

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

12 years agoNode::isContentEditable should only update styles, not layout
commit-queue@webkit.org [Wed, 22 Feb 2012 03:35:32 +0000 (03:35 +0000)]
Node::isContentEditable should only update styles, not layout
https://bugs.webkit.org/show_bug.cgi?id=78637

Patch by James Robinson <jamesr@chromium.org> on 2012-02-21
Reviewed by Ryosuke Niwa.

isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
out of date.  It does not depend on knowing any layout-derived properties, however, so updating layout is just a
waste of time.

Behavior is covered by existing layout tests, primarily in editing/

* dom/Node.cpp:
(WebCore::Node::isContentEditable):
(WebCore::Node::isContentRichlyEditable):

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

12 years agoPartially revert r108418 - move allowEventDispatch() call back to where it used to be.
jamesr@google.com [Wed, 22 Feb 2012 03:16:11 +0000 (03:16 +0000)]
Partially revert r108418 - move allowEventDispatch() call back to where it used to be.

Rubber-stamped by Ryosuke Niwa.

Tested by fast/text/find-layout-crash.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):

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

12 years agoBackground jitters on pages with background-attachment: fixed
andersca@apple.com [Wed, 22 Feb 2012 03:11:59 +0000 (03:11 +0000)]
Background jitters on pages with background-attachment: fixed
https://bugs.webkit.org/show_bug.cgi?id=79182

Reviewed by Dan Bernstein.

Make sure to update the main frame scroll position before updating the scrolling layer.
This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
position if the main frame didn't have a scroll layer.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):

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

12 years agoEarly-out in Region::unite() for adding an empty region.
commit-queue@webkit.org [Wed, 22 Feb 2012 02:58:54 +0000 (02:58 +0000)]
Early-out in Region::unite() for adding an empty region.
https://bugs.webkit.org/show_bug.cgi?id=79174

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by Anders Carlsson.

* platform/graphics/Region.cpp:
(WebCore::Region::unite):

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

12 years agoUnbreak double-typed arrays on ARMv7
oliver@apple.com [Wed, 22 Feb 2012 02:46:54 +0000 (02:46 +0000)]
Unbreak double-typed arrays on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=79177

Reviewed by Gavin Barraclough.

The existing code had completely broken address arithmetic.

* JSCTypedArrayStubs.h:
(JSC):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::storeDouble):
(JSC::MacroAssemblerARMv7::storeFloat):

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

12 years ago[chromium] Painting a layer clears opaque rect in untouched tiles
commit-queue@webkit.org [Wed, 22 Feb 2012 02:45:19 +0000 (02:45 +0000)]
[chromium] Painting a layer clears opaque rect in untouched tiles
https://bugs.webkit.org/show_bug.cgi?id=79157

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by James Robinson.

Source/WebCore:

When painting a tiled layer, we would throw away the saved opaque rect
for any tiles that were not part of the paint. So now we check
if we are able to save the existing saved opaque rect in a more
proper way:
1. If any pixels of the saved rect are painted non-opaque, we replace
the saved rect.
2. If an opaque rect is drawn outside of the saved rect, we replace
the saved rect.

Unit test: TiledLayerChromiumTest.cpp

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
(WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):

Source/WebKit/chromium:

* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):

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

12 years agoSmall typo in AudioPannerNode.cpp
commit-queue@webkit.org [Wed, 22 Feb 2012 02:42:35 +0000 (02:42 +0000)]
Small typo in AudioPannerNode.cpp
https://bugs.webkit.org/show_bug.cgi?id=75890

Change to check elevation as intended instead of azimuth.

Patch by Raymond Toy <rtoy@google.com> on 2012-02-21
Reviewed by Chris Rogers.

No new tests for correction of typo.

* webaudio/AudioPannerNode.cpp:
(WebCore::AudioPannerNode::getAzimuthElevation):

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

12 years agoBuild fix. Push ENABLE_NOTIFICATIONS into .mm file.
jonlee@apple.com [Wed, 22 Feb 2012 02:35:55 +0000 (02:35 +0000)]
Build fix. Push ENABLE_NOTIFICATIONS into .mm file.

* WebCoreSupport/WebNotificationClient.h:
* WebView/WebNotification.h:
* WebView/WebNotification.mm:
(-[WebNotification title]):
(-[WebNotification body]):
(-[WebNotification origin]):
(-[WebNotification notificationID]):
(-[WebNotification dispatchShowEvent]):
(-[WebNotification dispatchCloseEvent]):
(-[WebNotification dispatchClickEvent]):
(-[WebNotification dispatchErrorEvent]):

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

12 years agoFrame and Navigator shouldn't need to worry about Geolocation
abarth@webkit.org [Wed, 22 Feb 2012 02:22:15 +0000 (02:22 +0000)]
Frame and Navigator shouldn't need to worry about Geolocation
https://bugs.webkit.org/show_bug.cgi?id=78860

Reviewed by Eric Seidel.

This patch removes some Geolocation-specific code from Frame and
Navigator in favor of our new supplemental module mechanism.  We're
still refining the module system, but we seem to be converging on a
simple Observer/Supplement design.

In a future patch, I'll move the remaining Geolocation-related files in
WebCore into Modules/geolocation.  This patch appears to be the first
patch that introduces a module used by all the various build systems,
which is why there's a bit more build system overhead than usual.

* Modules/geolocation: Added.
* Modules/geolocation/NavigatorGeolocation.cpp: Added.
(WebCore):
(WebCore::NavigatorGeolocation::NavigatorGeolocation):
(WebCore::NavigatorGeolocation::~NavigatorGeolocation):
(WebCore::NavigatorGeolocation::pageDestroyed):
(WebCore::NavigatorGeolocation::from):
(WebCore::NavigatorGeolocation::geolocation):
* Modules/geolocation/NavigatorGeolocation.h: Added.
(WebCore):
(NavigatorGeolocation):
* Modules/geolocation/NavigatorGeolocation.idl: Added.
    - I've temporarily disabled this API for GObject because it generates
      a strange compile error.  Once I land this patch, I'll spend some
      more time fixing the compile error.
* page/DOMWindow.cpp:
(WebCore):
* page/DOMWindow.h:
(DOMWindow):
* page/Frame.cpp:
(WebCore::Frame::pageDestroyed):
(WebCore::Frame::transferChildFrameToNewDocument):
* page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::pageDestroyed):
(WebCore):
* page/FrameDestructionObserver.h:
(FrameDestructionObserver):
* page/Navigator.cpp:
(WebCore):
* page/Navigator.h:
(WebCore):
(Navigator):
* page/Navigator.idl:

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

12 years agoShould be able to reconfigure a non-configurable property as read-only
barraclough@apple.com [Wed, 22 Feb 2012 01:51:25 +0000 (01:51 +0000)]
Should be able to reconfigure a non-configurable property as read-only
https://bugs.webkit.org/show_bug.cgi?id=79170

Reviewed by Sam Weinig.

See ES5.1 8.12.9 10.a.i - the spec prohibits making a read-only property writable,
but does not inhibit making a writable property read-only.

Source/JavaScriptCore:

* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC::JSGlobalData::setInDefineOwnProperty):
(JSGlobalData):
(JSC::JSGlobalData::isInDefineOwnProperty):
    - Added flag, tracking whether we are in JSObject::defineOwnProperty.
* runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
(DefineOwnPropertyScope):
    - Always allow properties to be deleted by DefineOwnProperty - assume it knows what it is doing!
(JSC::DefineOwnPropertyScope::DefineOwnPropertyScope):
(JSC::DefineOwnPropertyScope::~DefineOwnPropertyScope):
    - Added RAII helper.
(JSC::JSObject::defineOwnProperty):
    - Track on the globalData when we are in this method.

LayoutTests:

* fast/js/Object-defineProperty-expected.txt:
* fast/js/script-tests/Object-defineProperty.js:
    - Update test result (this was enforcing incorrect behaviour).

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

12 years ago[chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface...
shawnsingh@chromium.org [Wed, 22 Feb 2012 01:49:36 +0000 (01:49 +0000)]
[chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
https://bugs.webkit.org/show_bug.cgi?id=78936

Reviewed by James Robinson.

No change in behavior, the code moved around already covered by existing tests.

In calculateDrawTransformsAndVisibility(), there are two separate
if-else statements where setTargetRenderSurface logic is
performed, and this makes the code less readable and more error
prone. This patch merges the logic, removing the redundant if-else
statements.

This code also merges one other set of if-statements that are
equivalent, if (layer->parent()) and if (layer!=rootLayer).

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::createRenderSurface):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::createRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):

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

12 years agoBuild fix.
sullivan@apple.com [Wed, 22 Feb 2012 01:36:11 +0000 (01:36 +0000)]
Build fix.

* WebView/WebUIDelegatePrivate.h:
Added @class declarations for DOMNode and DOMElement.

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

12 years agoRemove FIXME from resolve-supplemental.pl
haraken@chromium.org [Wed, 22 Feb 2012 01:23:24 +0000 (01:23 +0000)]
Remove FIXME from resolve-supplemental.pl
https://bugs.webkit.org/show_bug.cgi?id=79160

Reviewed by Adam Barth.

The IDL attribute checker has been enabled in all build systems.
This patch removes FIXME in resolve-supplemental.pl.
Also, this patch improves a comment in IDLAttributes.txt.

No tests. No change in behavior.

* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/resolve-supplemental.pl:

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

12 years agoAdd FractionalLayoutRect for sub-pixel layout
eae@chromium.org [Wed, 22 Feb 2012 01:19:11 +0000 (01:19 +0000)]
Add FractionalLayoutRect for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=78924

Reviewed by Eric Seidel.

Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
and FractionalLayoutSize internally.

Also add conversions to int/float versions of same.

No new tests.

* GNUmakefile.list.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::FloatRect):
(WebCore):
* platform/graphics/FloatRect.h:
(WebCore):
(FloatRect):
* platform/graphics/FractionalLayoutRect.cpp: Added.
(WebCore):
(WebCore::FractionalLayoutRect::FractionalLayoutRect):
(WebCore::FractionalLayoutRect::intersects):
(WebCore::FractionalLayoutRect::contains):
(WebCore::FractionalLayoutRect::intersect):
(WebCore::FractionalLayoutRect::unite):
(WebCore::FractionalLayoutRect::uniteIfNonZero):
(WebCore::FractionalLayoutRect::scale):
(WebCore::unionRect):
(WebCore::enclosingIntRect):
(WebCore::enclosingFractionalLayoutRect):
(WebCore::pixelSnappedIntRect):
* platform/graphics/FractionalLayoutRect.h: Added.
(WebCore):
(FractionalLayoutRect):
(WebCore::FractionalLayoutRect::FractionalLayoutRect):
(WebCore::FractionalLayoutRect::location):
(WebCore::FractionalLayoutRect::size):
(WebCore::FractionalLayoutRect::setLocation):
(WebCore::FractionalLayoutRect::setSize):
(WebCore::FractionalLayoutRect::x):
(WebCore::FractionalLayoutRect::y):
(WebCore::FractionalLayoutRect::maxX):
(WebCore::FractionalLayoutRect::maxY):
(WebCore::FractionalLayoutRect::width):
(WebCore::FractionalLayoutRect::height):
(WebCore::FractionalLayoutRect::setX):
(WebCore::FractionalLayoutRect::setY):
(WebCore::FractionalLayoutRect::setWidth):
(WebCore::FractionalLayoutRect::setHeight):
(WebCore::FractionalLayoutRect::isEmpty):
(WebCore::FractionalLayoutRect::center):
(WebCore::FractionalLayoutRect::move):
(WebCore::FractionalLayoutRect::moveBy):
(WebCore::FractionalLayoutRect::expand):
(WebCore::FractionalLayoutRect::contract):
(WebCore::FractionalLayoutRect::shiftXEdgeTo):
(WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
(WebCore::FractionalLayoutRect::shiftYEdgeTo):
(WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
(WebCore::FractionalLayoutRect::minXMinYCorner):
(WebCore::FractionalLayoutRect::maxXMinYCorner):
(WebCore::FractionalLayoutRect::minXMaxYCorner):
(WebCore::FractionalLayoutRect::maxXMaxYCorner):
(WebCore::FractionalLayoutRect::contains):
(WebCore::FractionalLayoutRect::inflateX):
(WebCore::FractionalLayoutRect::inflateY):
(WebCore::FractionalLayoutRect::inflate):
(WebCore::FractionalLayoutRect::transposedRect):
(WebCore::FractionalLayoutRect::infiniteRect):
(WebCore::intersection):
(WebCore::unionRect):
(WebCore::operator==):
(WebCore::operator!=):
* platform/graphics/IntRect.cpp:
(WebCore::IntRect::IntRect):
(WebCore):
* platform/graphics/IntRect.h:
(WebCore):
(IntRect):

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

12 years agoEnable ScrollingCoordinator in chromium whenever compositing is enabled
jamesr@google.com [Wed, 22 Feb 2012 01:04:21 +0000 (01:04 +0000)]
Enable ScrollingCoordinator in chromium whenever compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=79165

Reviewed by Adam Barth.

Source/WebCore:

As the title says.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
    Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
    Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
* rendering/RenderLayerCompositor.cpp:
(WebCore::shouldCompositeOverflowControls):
    Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
    want to composite overflow controls even for FrameViews that we aren't coordinating via the
    ScrollingCoordinator.

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
    Whenever the ScrollingCoordinator is enabled the scroll layer's position is expected to be updated
    externally to RenderLayerCompositor, so set it here.
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setAcceleratedCompositingEnabled):

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

12 years agoBuild fix for r108409.
jonlee@apple.com [Wed, 22 Feb 2012 01:01:31 +0000 (01:01 +0000)]
Build fix for r108409.

* WebCoreSupport/WebNotificationClient.h:
(WebCore):
* WebCoreSupport/WebNotificationClient.mm:
* WebView/WebNotification.h:
(WebSecurityOrigin):
* WebView/WebNotification.mm:
(core):
(-[WebNotification initWithCoreNotification:notificationID:]):

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

12 years agoMake TypedArrays be available in commandline jsc
oliver@apple.com [Wed, 22 Feb 2012 00:49:48 +0000 (00:49 +0000)]
Make TypedArrays be available in commandline jsc
https://bugs.webkit.org/show_bug.cgi?id=79163

Reviewed by Gavin Barraclough.

Adds a compile time option to have jsc support a basic implementation
of the TypedArrays available in WebCore.  This lets us test the typed
array logic in the JIT witout having to build webcore.

* JSCTypedArrayStubs.h: Added.
(JSC):
* JavaScriptCore.xcodeproj/project.pbxproj:
* jsc.cpp:
(GlobalObject::finishCreation):
(GlobalObject):
(GlobalObject::addConstructableFunction):
* runtime/JSGlobalData.h:
(JSGlobalData):

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

12 years ago[chromium] Fix image drag out on Chromium
dcheng@chromium.org [Wed, 22 Feb 2012 00:47:28 +0000 (00:47 +0000)]
[chromium] Fix image drag out on Chromium
https://bugs.webkit.org/show_bug.cgi?id=79158

Reviewed by Tony Chang.

Source/WebKit/chromium:

We constructed the WebDragData::Item for dragging out an image but never added it to the
item list. This is normally covered by the fast/events/drag-image-filename.html layout test,
but the bug wasn't caught in the original patch since the implementations in Chrome and DRT
had diverged.

* src/WebDragData.cpp:
(WebKit::WebDragData::items):

Tools:

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::dumpFilenameBeingDragged):
(EventSender::beginDragWithFiles):
* DumpRenderTree/chromium/WebViewHost.cpp:
(addDRTFakeFileToDataObject):

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

12 years agoSetting innerText causes DOMSubtreeModified to be dispatched too early
adamk@chromium.org [Wed, 22 Feb 2012 00:46:38 +0000 (00:46 +0000)]
Setting innerText causes DOMSubtreeModified to be dispatched too early
https://bugs.webkit.org/show_bug.cgi?id=79140

Reviewed by Ryosuke Niwa.

Source/WebCore:

Followup to r108152: move children change notifications later in
ContainerNode::removeChildren(), thus making sure Node::inDocument()
is in the correct state when we call into script.

Tests: fast/dom/getElementById-consistency3.html
       fast/dom/getElementById-consistency4.html
       fast/dom/getElementById-consistency5.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):

LayoutTests:

* fast/dom/getElementById-consistency3-expected.txt: Added.
* fast/dom/getElementById-consistency3.html: Added.
* fast/dom/getElementById-consistency4-expected.txt: Added.
* fast/dom/getElementById-consistency4.html: Added.
* fast/dom/getElementById-consistency5-expected.txt: Added.
* fast/dom/getElementById-consistency5.html: Added.

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

12 years agoAssertion failure in TextIterator::handleTextBox
rniwa@webkit.org [Wed, 22 Feb 2012 00:42:37 +0000 (00:42 +0000)]
Assertion failure in TextIterator::handleTextBox
https://bugs.webkit.org/show_bug.cgi?id=78530

Source/WebCore:

Reviewed by Eric Seidel.

The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
when we have a first-letter.

Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html

* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::TextIterator::handleTextNodeFirstLetter):

LayoutTests:

Reviewed by Enrica Casucci.

Add a regression test. Also rebaseline a crash test.

* editing/text-iterator/rtl-first-letter-text-iterator-crash-expected.txt: Added.
* editing/text-iterator/rtl-first-letter-text-iterator-crash.html: Added.
* editing/text-iterator/rtl-selection-crash-expected.txt:

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

12 years agoUnreviewed build fix.
yael.aharon@nokia.com [Wed, 22 Feb 2012 00:38:06 +0000 (00:38 +0000)]
Unreviewed build fix.

No new tests.

* platform/graphics/opengl/TextureMapperGL.cpp:

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

12 years agoContainerNode::childrenChanged must be called immediately after removing children
adamk@chromium.org [Wed, 22 Feb 2012 00:34:19 +0000 (00:34 +0000)]
ContainerNode::childrenChanged must be called immediately after removing children
https://bugs.webkit.org/show_bug.cgi?id=79162

Reviewed by Ryosuke Niwa.

Source/WebCore:

In r108152, a call to childrenChanged() was erroneously moved
below the call to child->removedFromDocument(). This breaks, at the
least, the behavior of the <title> element. This patch corrects the
mistake and adds a test.

Test: fast/dom/title-directionality-removeChild.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild):

LayoutTests:

* fast/dom/title-directionality-removeChild-expected.txt: Added.
* fast/dom/title-directionality-removeChild.html: Added.

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

12 years agowebkitpy: speed up hot filesystem_mock functions
dpranke@chromium.org [Wed, 22 Feb 2012 00:32:33 +0000 (00:32 +0000)]
webkitpy: speed up hot filesystem_mock functions
https://bugs.webkit.org/show_bug.cgi?id=79159

Reviewed by Adam Barth.

Profiling run_webkit_tests_integrationtest.py revealed that
isdir(), normpath(), and join() are called a lot and were very
slow.This patch speeds them up substantially, shaving 20 seconds
off of the execution time.

* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.isdir):
(MockFileSystem._slow_but_correct_join):
(MockFileSystem.join):
(MockFileSystem.listdir):
(MockFileSystem._slow_but_correct_normpath):
(MockFileSystem.normpath):
(MockFileSystem.write_binary_file):
* Scripts/webkitpy/common/system/filesystem_mock_unittest.py:
(MockFileSystemTest.quick_check):
(MockFileSystemTest):
(MockFileSystemTest.test_join):
(MockFileSystemTest.test_normpath):
* Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
(get_test_config): Call write_binary_file() instead of updating
  filesystem.files directly, so that we create directories as
  needed.

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

12 years agonrwt: make the delay between starting workers configurable per-port
dpranke@chromium.org [Wed, 22 Feb 2012 00:29:33 +0000 (00:29 +0000)]
nrwt: make the delay between starting workers configurable per-port
https://bugs.webkit.org/show_bug.cgi?id=79148

Reviewed by Eric Seidel.

Because of bug 79147, we have to sleep a bit in between starting
DRTs; however, doing so across the board slows down the Test
port. Making this configurable shaves 10 seconds off of
run_webkit_tests_integrationtest.py

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.worker_startup_delay_secs):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.worker_startup_delay_secs):

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

12 years agoequalIgnoringNullity() only comparing half the bytes for equality
tsepez@chromium.org [Wed, 22 Feb 2012 00:19:26 +0000 (00:19 +0000)]
equalIgnoringNullity() only comparing half the bytes for equality
https://bugs.webkit.org/show_bug.cgi?id=79135

Reviewed by Adam Barth.

Source/JavaScriptCore:

* wtf/text/StringImpl.h:
(WTF::equalIgnoringNullity):

LayoutTests:

* http/tests/security/xssAuditor/script-tag.html:

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

12 years ago[chromium] Update chromium expectations for accessibility/aria-invalid.html
jamesr@google.com [Wed, 22 Feb 2012 00:12:09 +0000 (00:12 +0000)]
[chromium] Update chromium expectations for accessibility/aria-invalid.html

* platform/chromium/test_expectations.txt:

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

12 years agoImplement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApply...
macpherson@chromium.org [Wed, 22 Feb 2012 00:03:28 +0000 (00:03 +0000)]
Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=79067

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* rendering/style/RenderStyle.h:

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

12 years agoSource/WebCore: Bring notifications support to WK1 mac
jonlee@apple.com [Wed, 22 Feb 2012 00:00:59 +0000 (00:00 +0000)]
Source/WebCore: Bring notifications support to WK1 mac
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/10610578>

Reviewed by Anders Carlsson.

* WebCore.exp.in: Expose dispatchErrorEvent on Notification.

Source/WebKit: Bring notifications support to WK1 mac: showing, canceling, removing notifications
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/10610578>

Reviewed by Anders Carlsson.

* WebKit.xcodeproj/project.pbxproj: Added new files.

Source/WebKit/mac: Bring notifications support to WK1 mac: permission requests
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/10610578>

Reviewed by Anders Carlsson.

* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm: Create policy listener, which conforms to the
WebAllowDenyPolicyListener protocol, similar to geolocation.
(WebNotificationClient::requestPermission):
(WebNotificationClient::checkPermission):
(-[WebNotificationPolicyListener initWithCallback:]):
(-[WebNotificationPolicyListener allow]): Call the callback.
(-[WebNotificationPolicyListener deny]): Call the callback.
* WebView/WebUIDelegatePrivate.h: Define new UI delegate method to ask the user to decide a
policy for navigations.

====
Bring notifications support to WK1 mac: showing, canceling, removing notifications

Create a WebKit wrapper object for WebCore::Notification, which also keeps track of an assigned
ID.
* WebView/WebNotification.h: Added.
(WebSecurityOrigin):
* WebView/WebNotification.mm: Added.
(core):
(-[WebNotification initWithCoreNotification:notificationID:]):
(-[WebNotification init]):
(-[WebNotification dealloc]):
(-[WebNotification title]):
(-[WebNotification body]):
(-[WebNotification origin]):
(-[WebNotification notificationID]):
(-[WebNotification dispatchShowEvent]):
(-[WebNotification dispatchCloseEvent]):
(-[WebNotification dispatchClickEvent]):
(-[WebNotification dispatchErrorEvent]):
* WebView/WebNotificationInternal.h: Added.
(WebCore): Internal category to allow creating instances with WebCore objects.

Extend WebView to include a WebNotificationProvider, which clients implement.
* WebView/WebViewData.h: Add a private member for the provider.
* WebView/WebViewPrivate.h:
    * Define an enum WebNotificationPermission that mirrors WebCore::NotificationPresenter::Permission
    that client which implement the provider can use to return policy decisions.
    * Define WebNotificationProvider.
    * Category WebViewNotification extends WebView with methods that set and manager the
    notification provider, and handle events from the platform notifications.
* WebView/WebView.mm:
(-[WebView _setNotificationProvider:]): Sets the provider when initializing the WebView.
(-[WebView _notificationControllerDestroyed]):
(-[WebView _notificationProvider]):
(-[WebView _notificationDidShow:]):
(-[WebView _notificationDidClick:]):
(-[WebView _notificationsDidClose:]):

* WebCoreSupport/WebNotificationClient.h: Add variables that map between WebCore::Notification
instances, their assigned IDs, their contexts, and corresponding WebKit wrapper objects.
* WebCoreSupport/WebNotificationClient.mm:
(generateNotificationID): Created unique IDs for each shown notification.
(WebNotificationClient::show): Create wrapper object for notification, assign ID, cache the
mappings between the objects, and forward it to the provider.
(WebNotificationClient::cancel):
(WebNotificationClient::clearNotifications): Clear all notifications associated with the
provided context.
(WebNotificationClient::notificationObjectDestroyed): Remove the notification from the maps.
(WebNotificationClient::notificationControllerDestroyed): If the controller is destroyed, tell
the provider to clear of the notifications related to this web view.

====
(Prep work for) Bring notifications support to WK1 mac

Rename WebGeolocationPolicyListener. The interface is generic enough to be reused for
notification requests. To avoid having to create a new listener type, instead rename it
to WebAllowDenyPolicyListener.
* WebView/WebUIDelegatePrivate.h: Rename the protocol.
* WebCoreSupport/WebGeolocationClient.mm: Refactor geolocation request listener to use
new name.

Add preference to keep track of whether notifications are enabled in general.
* WebView/WebPreferenceKeysPrivate.h: Add WebNotificationsEnabledKey for storing the
preference.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): By default have them enabled.
(-[WebPreferences setNotificationsEnabled:]):
(-[WebPreferences notificationsEnabled]):
* WebView/WebPreferencesPrivate.h:

Add a stringValue method that exposes WebCore::SecurityOrigin::toString() for storing the
notification policy for a given origin.
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin stringValue]):
* WebCoreSupport/WebSecurityOriginPrivate.h:

Tools: Bring notifications support to WK1 mac
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/10610578>

Reviewed by Anders Carlsson.

* DumpRenderTree/mac/UIDelegate.mm: Refactor WebGeolocationPolicyListener to WebAllowDenyPolicyListener.
(-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]):
(-[UIDelegate timerFired]):

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

12 years ago[Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't inter...
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 23:33:49 +0000 (23:33 +0000)]
[Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
https://bugs.webkit.org/show_bug.cgi?id=78962

Only avoid painting old-scale tiles in semi-transparent situtations if the old
tiles intersect with existing tiles.

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::paintToTextureMapper):

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

12 years ago[Qt] Previous web page appears outside content rect
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 23:30:52 +0000 (23:30 +0000)]
[Qt] Previous web page appears outside content rect
https://bugs.webkit.org/show_bug.cgi?id=78816

Source/WebCore:

Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
not sizes.

Reviewed by Kenneth Rohde Christiansen.

No new functionality.

* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::scissorClip):

Source/WebKit2:

Apply a clip on painted tiles if some of the tiles fall outside of the target rect.

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::paintToTextureMapper):

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

12 years agoSource/WebCore: Added support for pause-on-exit flag on a TextTrackCue.
commit-queue@webkit.org [Tue, 21 Feb 2012 23:28:00 +0000 (23:28 +0000)]
Source/WebCore: Added support for pause-on-exit flag on a TextTrackCue.
https://bugs.webkit.org/show_bug.cgi?id=72173

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-02-21
Reviewed by Eric Carlson.

Test: media/track/track-cues-pause-on-exit.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
support for pausing the video if the pause-on-exit flag is set on
a cue that is currently exiting.

LayoutTests: Added relevant tests and functionality for supporting pause-on-exit
flag for a TextTrackCue.

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

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-02-21
Reviewed by Eric Carlson.

* media/track/captions-webvtt/simple-captions.vtt: Added.
* media/track/track-cues-pause-on-exit-expected.txt: Added.
* media/track/track-cues-pause-on-exit.html: Added.

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

12 years ago[Qt][WK2] Accelerated animations don't work on Mac
noam.rosenthal@nokia.com [Tue, 21 Feb 2012 22:57:55 +0000 (22:57 +0000)]
[Qt][WK2] Accelerated animations don't work on Mac
https://bugs.webkit.org/show_bug.cgi?id=78963

Problem came from using a non-RunLoop timer.
Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
Use a continuous timer that we only stop when animations stop.

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
(WebKit):
(WebKit::LayerTreeHostProxy::syncAnimations):

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

12 years agoEnable the IDL attribute checker in all build systems
haraken@chromium.org [Tue, 21 Feb 2012 22:51:31 +0000 (22:51 +0000)]
Enable the IDL attribute checker in all build systems
https://bugs.webkit.org/show_bug.cgi?id=79090

Reviewed by Adam Barth.

We have enabled the IDL attribute checker in Chromium in r108322.
This patch enables the IDL attribute checker in all other
build systems.

No tests. I manually checked that [Custommm], [CallWith=],
[CallWith=ScriptExecutionContext|Foo] cause build failures.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
since I forgot to add it in r108322.

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

12 years agoFix more typos.
rniwa@webkit.org [Tue, 21 Feb 2012 22:46:01 +0000 (22:46 +0000)]
Fix more typos.

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

12 years ago[Texmap] Better management of shaders in TextureMapperGL
yael.aharon@nokia.com [Tue, 21 Feb 2012 22:44:59 +0000 (22:44 +0000)]
[Texmap] Better management of shaders in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=78674

Reviewed by Noam Rosenthal.

Split TextureMapperGL.cpp into two files.
Get rid of the enums that we were using to identify shaders and to identify variables.
Switch flip and opaque from using bool to using enums.

No new tests. This is refactoring only.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* platform/graphics/OpenGLShims.h:
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore):
(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
(WebCore::TextureMapperGLData::TextureMapperGLData):
(TextureMapperGLData):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
(WebCore::TextureMapperGL::drawTextureSimple):
(WebCore::TextureMapperGL::beginClip):
* platform/graphics/opengl/TextureMapperGL.h:
* platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
(WebCore):
(WebCore::FRAGMENT_SHADER):
(WebCore::TextureMapperShaderProgram::initializeProgram):
(WebCore::TextureMapperShaderProgram::getUniformLocation):
(WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgramSimple::create):
(WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
(WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
(WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
(WebCore::TextureMapperShaderProgramOpacityAndMask::create):
(WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
(WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
(WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
(WebCore::TextureMapperShaderProgramClip::create):
(WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
(WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
(WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
(WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
* platform/graphics/opengl/TextureMapperShaderManager.h: Added.
(WebCore):
(WebCore::debugGLCommand):
(TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::id):
(WebCore::TextureMapperShaderProgram::vertexAttrib):
(WebCore::TextureMapperShaderProgram::shaderType):
(TextureMapperShaderProgramSimple):
(WebCore::TextureMapperShaderProgramSimple::matrixVariable):
(WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
(WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
(WebCore::TextureMapperShaderProgramSimple::opacityVariable):
(TextureMapperShaderProgramOpacityAndMask):
(WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
(WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
(TextureMapperShaderProgramClip):
(WebCore::TextureMapperShaderProgramClip::matrixVariable):
(TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::getShaderProgram):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::reset):
(WebCore::BitmapTexture::isOpaque):
(BitmapTexture):

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

12 years agoFix the typo.
rniwa@webkit.org [Tue, 21 Feb 2012 22:37:43 +0000 (22:37 +0000)]
Fix the typo.

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

12 years agoEnable the IDL attribute checker in run-bindings-tests
haraken@chromium.org [Tue, 21 Feb 2012 22:29:36 +0000 (22:29 +0000)]
Enable the IDL attribute checker in run-bindings-tests
https://bugs.webkit.org/show_bug.cgi?id=79091

Reviewed by Adam Barth.

We have enabled the IDL attribute checker in Chromium in r108322.
This patch enables the IDL attribute checker in run-bindings-tests.

No tests. I manually checked that [Custommm], [CallWith=],
[CallWith=ScriptExecutionContext|Foo] in TestObj.idl cause
run-bindings-tests failures.

* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency):

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

12 years agoperf-o-matic: Extract logic to generate JSON responses as classes to unit test
rniwa@webkit.org [Tue, 21 Feb 2012 22:26:41 +0000 (22:26 +0000)]
perf-o-matic: Extract logic to generate JSON responses as classes to unit test
https://bugs.webkit.org/show_bug.cgi?id=79018

Rubber-stamped by Adam Birth.

Extracted DashboardJSONGenerator, ManifestJSONGenerator, and RunsJSONGenerator
into json_generators.py from DashboardHandler, ManifestHandler, and RunsHandler
and added unit tests for the former three classes.

Merged the latter three classes into controler.py since they have become too trivial
to have their own files.

* Websites/webkit-perf.appspot.com/controller.py:
(ManifestUpdateHandler):
(ManifestUpdateHandler.get):
(ManifestUpdateHandler.post):
(DashboardUpdateHandler):
(DashboardUpdateHandler.get):
(DashboardUpdateHandler.post):
(_get_test_branch_platform_ids):
(RunsUpdateHandler):
(RunsUpdateHandler.get):
(CachedRunsHandler.get):
* Websites/webkit-perf.appspot.com/dashboard_handler.py: Removed.
* Websites/webkit-perf.appspot.com/json_generators.py: Added.
(JSONGeneratorBase):
(JSONGeneratorBase.to_json):
(DashboardJSONGenerator):
(DashboardJSONGenerator.__init__):
(DashboardJSONGenerator.value):
(ManifestJSONGenerator):
(ManifestJSONGenerator.__init__):
(ManifestJSONGenerator.value):
(RunsJSONGenerator):
(RunsJSONGenerator.__init__):
(RunsJSONGenerator._generate_runs):
(RunsJSONGenerator._entry_from_build_and_result):
(RunsJSONGenerator.value):
* Websites/webkit-perf.appspot.com/json_generators_unittest.py: Added.
(_create_results):
(JSONGeneratorBaseTest):
(JSONGeneratorBaseTest.test_to_json):
(JSONGeneratorBaseTest.test_to_json.AJSONGenerator):
(JSONGeneratorBaseTest.test_to_json.AJSONGenerator.value):
(DashboardJSONGeneratorTest):
(DashboardJSONGeneratorTest.test_value_no_branch):
(DashboardJSONGeneratorTest.test_value_no_plaforms):
(DashboardJSONGeneratorTest.test_value_single_platform):
(DashboardJSONGeneratorTest.test_value_two_platforms):
(ManifestJSONGeneratorTest):
(ManifestJSONGeneratorTest.test_value_no_branch):
(ManifestJSONGeneratorTest.test_value_no_plaforms):
(ManifestJSONGeneratorTest._assert_single_test):
(ManifestJSONGeneratorTest.test_value_single_platform):
(ManifestJSONGeneratorTest.test_value_two_platforms):
(ManifestJSONGeneratorTest.test_value_two_tests):
(RunsJSONGeneratorTest):
(RunsJSONGeneratorTest._create_results):
(RunsJSONGeneratorTest.test_generate_runs):
(RunsJSONGeneratorTest.test_value_without_results):
(RunsJSONGeneratorTest.test_value_with_results):
(RunsJSONGeneratorTest._assert_entry):
(RunsJSONGeneratorTest.test_run_from_build_and_result):
(RunsJSONGeneratorTest.test_run_from_build_and_result.create_build):
* Websites/webkit-perf.appspot.com/main.py:
* Websites/webkit-perf.appspot.com/manifest_handler.py: Removed.
* Websites/webkit-perf.appspot.com/models.py:
(Test.update_or_insert.execute):
(Test):
(TestResult.get_or_insert_from_parsed_json):
* Websites/webkit-perf.appspot.com/models_unittest.py:
(TestModelTests.test_update_or_insert_to_update):
(TestResultTests.test_get_or_insert_stat_value):
* Websites/webkit-perf.appspot.com/runs_handler.py: Removed.

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

12 years agoThe tile cache should keep track of the tile coverage rect
andersca@apple.com [Tue, 21 Feb 2012 22:21:51 +0000 (22:21 +0000)]
The tile cache should keep track of the tile coverage rect
https://bugs.webkit.org/show_bug.cgi?id=79149
<rdar://problem/10877338>

Reviewed by Andreas Kling.

Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.

* platform/graphics/ca/mac/TileCache.h:
(TileCache):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::setNeedsDisplayInRect):
(WebCore::TileCache::revalidateTiles):

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

12 years agoMake WebKitCSSShaderValue inherit directly from CSSValue.
kling@webkit.org [Tue, 21 Feb 2012 22:05:28 +0000 (22:05 +0000)]
Make WebKitCSSShaderValue inherit directly from CSSValue.
<http://webkit.org/b/79144>

Reviewed by Antti Koivisto.

WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
it for storing the shader URL. Moved that to a String member instead.

WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
there should be no behavior change whatsoever here.

* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
(WebCore::WebKitCSSShaderValue::cachedShader):
(WebCore::WebKitCSSShaderValue::customCssText):
* css/WebKitCSSShaderValue.h:
(WebKitCSSShaderValue):

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

12 years agoUnreviewed windows build fix - avoid return statement after return if USE(ACCELERATED...
jamesr@google.com [Tue, 21 Feb 2012 21:57:06 +0000 (21:57 +0000)]
Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):

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

12 years ago[Qt] Unreviewed gardening. Typo fix.
ossy@webkit.org [Tue, 21 Feb 2012 21:40:52 +0000 (21:40 +0000)]
[Qt] Unreviewed gardening. Typo fix.

* platform/qt-5.0-wk2/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/http/tests/websocket/test/hybi/bad-sub-protocol-non-ascii-expected.txt.

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

12 years agoScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compo...
jamesr@google.com [Tue, 21 Feb 2012 21:39:00 +0000 (21:39 +0000)]
ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
https://bugs.webkit.org/show_bug.cgi?id=79126

Reviewed by Anders Carlsson.

The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
about manipulating GraphicsLayers. Adds a runtime check.

Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.

* page/FrameView.cpp:
(WebCore::FrameView::addFixedObject):
(WebCore::FrameView::removeFixedObject):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):

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

12 years agoChromium build fix. Unreviwed but rubber-stamped by Antti.
jamesr@google.com [Tue, 21 Feb 2012 21:35:38 +0000 (21:35 +0000)]
Chromium build fix. Unreviwed but rubber-stamped by Antti.

* dom/Document.cpp:
* editing/ReplaceSelectionCommand.cpp:
* inspector/InspectorStyleSheet.h:

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

12 years ago[Qt] Unreviewed evening gardening after r108364.
ossy@webkit.org [Tue, 21 Feb 2012 21:20:33 +0000 (21:20 +0000)]
[Qt] Unreviewed evening gardening after r108364.

* platform/qt/fast/forms/float-before-fieldset-expected.png: Added.
* platform/qt/fast/forms/float-before-fieldset-expected.txt: Updated.

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

12 years ago[chromium] Enable compositor filter layout tests (except on mac and win debug)
wjmaclean@chromium.org [Tue, 21 Feb 2012 21:14:31 +0000 (21:14 +0000)]
[chromium] Enable compositor filter layout tests (except on mac and win debug)
https://bugs.webkit.org/show_bug.cgi?id=79111

Reviewed by Stephen White.

* platform/chromium/test_expectations.txt:

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

12 years agoSet Referrer header for media downloads
eric.carlson@apple.com [Tue, 21 Feb 2012 21:08:43 +0000 (21:08 +0000)]
Set Referrer header for media downloads
https://bugs.webkit.org/show_bug.cgi?id=78614

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/media/video-referer.html was modified to test this change.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
* html/HTMLMediaElement.h:

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerReferrer):

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
    a referer header.

LayoutTests:

* http/tests/media/resources/video-referer-check-referer.php: Get the test file and content-type
    from parameters on the url. Fail if referrer is anything but video-referer.html. Add support for
    byte-range requests so it will work with AVFoundation.
* http/tests/media/video-referer.html: Pass video file name and content-type as url parameters
    instead of having another cgi set a cookie. Set the php script as the 'src' on a <source> element
    instead of on the <video> element so we can also add a 'type' attribute.

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

12 years agoNot reviewed.
antti@apple.com [Tue, 21 Feb 2012 20:58:40 +0000 (20:58 +0000)]
Not reviewed.

Remove some obsolete comments, use consistent name for propertyID.

* css/StylePropertySet.h:
(StylePropertySet):

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

12 years agoClean up StylePropertySet included headers
antti@apple.com [Tue, 21 Feb 2012 20:48:05 +0000 (20:48 +0000)]
Clean up StylePropertySet included headers
https://bugs.webkit.org/show_bug.cgi?id=79134

Reviewed by Andreas Kling.

Remove unneccesary includes.

* bindings/js/JSDOMBinding.h:
* css/StylePropertySet.cpp:
* css/StylePropertySet.h:
(WebCore):
(StylePropertySet):
* editing/RemoveCSSPropertyCommand.cpp:

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

12 years agoAX: move aria-invalid test to top level, so other platforms can use it
cfleizach@apple.com [Tue, 21 Feb 2012 20:43:24 +0000 (20:43 +0000)]
AX: move aria-invalid test to top level, so other platforms can use it
https://bugs.webkit.org/show_bug.cgi?id=79041

Unreviewed. Forgot to update paths.

* accessibility/aria-invalid.html:

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

12 years agoFix bug from r107672.
commit-queue@webkit.org [Tue, 21 Feb 2012 20:10:51 +0000 (20:10 +0000)]
Fix bug from r107672.
https://bugs.webkit.org/show_bug.cgi?id=78773

Before set MediaStreamTrack disable/enable operation,
checking the status of MediaStream that contains this MediaStreamTrack.
if MediaStream is finished, then skipping operation of
didSetMediaStreamTrackEnabled().

Patch by Lin Wei <wei.a.lin@intel.com> on 2012-02-21
Reviewed by Adam Barth.
* mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::setEnabled):

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

12 years agoMove RenderLayer::scrolledContentOffset calls to a common function
jchaffraix@webkit.org [Tue, 21 Feb 2012 19:59:42 +0000 (19:59 +0000)]
Move RenderLayer::scrolledContentOffset calls to a common function
https://bugs.webkit.org/show_bug.cgi?id=76971

Reviewed by David Hyatt.

Refactoring without any change in behavior.

This change adds a RenderBox::scrolledContentOffset function to handle all
the calls that goes through the layer(). This indirection will enable us to
add layer() checks without patching a lot of call sites as part of bug 75568.

We also moved down the concept of scroll offset down to RenderBox where it belongs!

* rendering/RenderLayer.h:
(RenderLayer):
(WebCore::RenderLayer::scrolledContentOffset):
Moved scrolledContent to the private section of the class to prevent misuse.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrolledContentOffset):
New function to add an indirection with RenderLayer.

* editing/visible_units.cpp:
(WebCore::absoluteLineDirectionPointToLocalPointInBlock):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::offsetForContents):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::offsetFromContainer):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::offsetFromContainer):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlInnerBlock::positionForPoint):
Patched all those call sites to use the new function.

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

12 years agoAdd rafaelw as a committer.
rafaelw@chromium.org [Tue, 21 Feb 2012 19:55:18 +0000 (19:55 +0000)]
Add rafaelw as a committer.

Unreviewed.

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

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

12 years ago2012-02-18 Antonio Gomes <agomes@rim.com>
tonikitoo@webkit.org [Tue, 21 Feb 2012 19:49:21 +0000 (19:49 +0000)]
2012-02-18  Antonio Gomes  <agomes@rim.com>

        Fat fingers - cache the first rect-based hit test so we do not need to do it again
        https://bugs.webkit.org/show_bug.cgi?id=79115

        Reviewed by Adam Treat.

        Our FatFingers implementation runs currently in two phases:
        the first checks for the elements intrinsically clickable;
        the second checks for elements made clickable by the page
        (for example, a div with a onclick event listener attached to it).
        For each phase, we perform a rect hittest, which is not needed since
        the result of each is the same.

        Patch introduces a caching mechanism so we avoid on rect hittest:
        when the first phase runs, it caches each nodeset per document in
        a hashmap. This second phase works with the cached results.

        No behavioral change, but performance is better since we
        avoid one (possibly expensive) rect hittest.

        I measured the performance gain on https://www.kvd.se/, and we
        save up to 0.04 seconds, by caching and re-using the results.

        * WebKitSupport/FatFingers.cpp:
        (BlackBerry::WebKit::dumpHitTestResult):
        (BlackBerry::WebKit::FatFingers::findBestPoint):
        (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
        (BlackBerry::WebKit::FatFingers::cachingStrategy):
        (WebKit):
        (BlackBerry::WebKit::FatFingers::getNodesFromRect):
        * WebKitSupport/FatFingers.h:

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

12 years agowebkitpy: update names after deleting message_broker
dpranke@chromium.org [Tue, 21 Feb 2012 19:41:23 +0000 (19:41 +0000)]
webkitpy: update names after deleting message_broker
https://bugs.webkit.org/show_bug.cgi?id=79000

Reviewed by Eric Seidel.

Part 3 of 3 in deleting message_broker.py; this change just
adjusts the names for the newly merged symbols so that they are
private as appropriate.

* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(get):
(_Broker):
(_BrokerConnection):
(_BrokerConnection.__init__):
(AbstractWorker.__init__):
(_ManagerConnection):
(_ManagerConnection.__init__):
(_WorkerConnection):
(_WorkerConnection.__init__):

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

12 years agowebkitpy: merge message_broker.py into manager_worker_broker.py
dpranke@chromium.org [Tue, 21 Feb 2012 19:33:42 +0000 (19:33 +0000)]
webkitpy: merge message_broker.py into manager_worker_broker.py
https://bugs.webkit.org/show_bug.cgi?id=78999

Reviewed by Tony Chang.

This is pretty much a straight cut-and-paste of one file into
another (broken up so that docstrings and imports are in the
right place).

* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(BrokerClient):
(BrokerClient.is_done):
(BrokerClient.name):
(Broker):
(Broker.__init__):
(Broker.add_topic):
(Broker._get_queue_for_topic):
(Broker.post_message):
(Broker.run_message_loop):
(Broker.run_all_pending):
(Broker._run_loop):
(Broker._dispatch_message):
(_Message):
(_Message.loads):
(_Message.__init__):
(_Message.dumps):
(_Message.__repr__):
(BrokerConnection):
(BrokerConnection.__init__):
(BrokerConnection.run_message_loop):
(BrokerConnection.post_message):
(BrokerConnection.raise_exception):
* Scripts/webkitpy/layout_tests/controllers/message_broker.py: Removed.

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

12 years agoRemove obsolete float comparison FIXMEs
eae@chromium.org [Tue, 21 Feb 2012 19:33:02 +0000 (19:33 +0000)]
Remove obsolete float comparison FIXMEs
https://bugs.webkit.org/show_bug.cgi?id=79127

Reviewed by Eric Seidel.

Remove obsolete FIXME comments added back when we were planning to use
floating point units for layout.

No new tests, no code changes.

* page/FrameView.cpp:
(WebCore::FrameView::init):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
(WebCore::RenderBlock::getClearDelta):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computePercentageLogicalHeight):
* rendering/RenderBoxModelObject.cpp:
(WebCore::ImageQualityController::shouldPaintAtLowQuality):

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

12 years agowebkitpy: prepare to delete message_broker.py
dpranke@chromium.org [Tue, 21 Feb 2012 19:28:03 +0000 (19:28 +0000)]
webkitpy: prepare to delete message_broker.py
https://bugs.webkit.org/show_bug.cgi?id=78997

Reviewed by Eric Seidel.

This is part 1 of 3 changes to fix bug 78187. This change
prepares the code for merging message_broker.py into
manager_worker_broker.py; the tests in message_broker_unittest
are merged into manager_worker_broker_unittest, the symbols
needed by the tests are exported from manager_worker_broker.py,
and manager_worker_broker itself is updated to refer to the
symbols directly (without the module prefix).

* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(get):
(AbstractWorker):
(AbstractWorker.__init__):
(_ManagerConnection):
(_ManagerConnection.__init__):
(_WorkerConnection):
(_WorkerConnection.__init__):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(InterfaceTest.test_brokerclient_is_abstract):
(InterfaceTest.test_brokerclient_is_abstract.methods):
(MessageTest):
(MessageTest.test__no_body):
(MessageTest.test__body):
* Scripts/webkitpy/layout_tests/controllers/message_broker_unittest.py: Removed.

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

12 years agoIndexedDB: webFrame isn't threadsafe, don't use it from a worker thread
dgrogan@chromium.org [Tue, 21 Feb 2012 19:25:22 +0000 (19:25 +0000)]
IndexedDB: webFrame isn't threadsafe, don't use it from a worker thread
https://bugs.webkit.org/show_bug.cgi?id=78659

After crrev.com/121669, indexed db doesn't use the web frame for
anything if called from a web worker.

No new tests - this check was defensive and possibly not ever
triggered.

Reviewed by Tony Chang.

* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::openFromWorker):

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

12 years agoWeb Inspector: it is nearly impossible to select and copy text on the Elements panel.
apavlov@chromium.org [Tue, 21 Feb 2012 19:17:40 +0000 (19:17 +0000)]
Web Inspector: it is nearly impossible to select and copy text on the Elements panel.
https://bugs.webkit.org/show_bug.cgi?id=60814

Reviewed by Pavel Feldman.

* inspector/front-end/inspector.js:
(WebInspector.documentClick.followLink):
(WebInspector.documentClick):

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

12 years agoAX: move aria-invalid test to top level, so other platforms can use it
cfleizach@apple.com [Tue, 21 Feb 2012 19:13:34 +0000 (19:13 +0000)]
AX: move aria-invalid test to top level, so other platforms can use it
https://bugs.webkit.org/show_bug.cgi?id=79041

Reviewed by David Kilzer.

* accessibility/aria-invalid-expected.txt: Copied from LayoutTests/platform/mac/accessibility/aria-invalid-expected.txt.
* accessibility/aria-invalid.html: Copied from LayoutTests/platform/mac/accessibility/aria-invalid.html.
* platform/gtk/Skipped:
* platform/mac/accessibility/aria-invalid-expected.txt: Removed.
* platform/mac/accessibility/aria-invalid.html: Removed.
* platform/win/Skipped:

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

12 years agoCrash in RenderTableSection::nodeAtPoint.
inferno@chromium.org [Tue, 21 Feb 2012 19:10:05 +0000 (19:10 +0000)]
Crash in RenderTableSection::nodeAtPoint.
https://bugs.webkit.org/show_bug.cgi?id=78922

Reviewed by Julien Chaffraix.

Source/WebCore:

Test: fast/table/table-section-node-at-point-crash.html

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint): recalc cells if the
m_needsCellRecalc is set. Otherwise, we will end up accessing
removed table cells.

LayoutTests:

* fast/table/table-section-node-at-point-crash-expected.txt: Added.
* fast/table/table-section-node-at-point-crash.html: Added.

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

12 years ago[chromium] Unreviewed, update chromium leopard baselines for r108364
jamesr@google.com [Tue, 21 Feb 2012 18:54:53 +0000 (18:54 +0000)]
[chromium] Unreviewed, update chromium leopard baselines for r108364

* platform/chromium-mac-leopard/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/chromium-mac-leopard/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/float-before-fieldset-expected.png:

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

12 years agoMove PropertySetCSSStyleDeclaration to a file of its own
antti@apple.com [Tue, 21 Feb 2012 18:38:48 +0000 (18:38 +0000)]
Move PropertySetCSSStyleDeclaration to a file of its own
https://bugs.webkit.org/show_bug.cgi?id=79121

Rubber-stamped by Andreas Kling.

This makes StylePropertySet.cpp more readable.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp.
(WebCore::PropertySetCSSStyleDeclaration::ref):
(WebCore::PropertySetCSSStyleDeclaration::deref):
(WebCore):
* css/PropertySetCSSStyleDeclaration.h: Added.
(WebCore):
(PropertySetCSSStyleDeclaration):
(WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
(WebCore::PropertySetCSSStyleDeclaration::parentElement):
(WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
(WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
(WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
(WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
(RuleCSSStyleDeclaration):
(WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
(WebCore::RuleCSSStyleDeclaration::parentRule):
(WebCore::RuleCSSStyleDeclaration::clearParentRule):
(InlineCSSStyleDeclaration):
(WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
(WebCore::InlineCSSStyleDeclaration::parentElement):
(WebCore::InlineCSSStyleDeclaration::clearParentElement):
* css/StylePropertySet.cpp:
(WebCore):

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

12 years agoUnnecessary preprocessor macros in MainThread.h/cpp
paroga@webkit.org [Tue, 21 Feb 2012 18:24:05 +0000 (18:24 +0000)]
Unnecessary preprocessor macros in MainThread.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=79083

Removed invalid/wrong PLATFORM(WINDOWS) preprocessor macro.

Patch by Roland Takacs <takacs.roland@stud.u-szeged.hu> on 2012-02-21

* wtf/MainThread.cpp:
(WTF):
* wtf/MainThread.h:
(WTF):

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

12 years ago[chromium] Unreviewed, update chromium baselines for r108364
jamesr@google.com [Tue, 21 Feb 2012 18:22:08 +0000 (18:22 +0000)]
[chromium] Unreviewed, update chromium baselines for r108364

* platform/chromium-linux/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/chromium-linux/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/chromium-linux/fast/forms/float-before-fieldset-expected.png:
* platform/chromium-mac-snowleopard/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/float-before-fieldset-expected.png: Added.
* platform/chromium-mac/fast/forms/float-before-fieldset-expected.png: Removed.
* platform/chromium-win/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/chromium-win/fast/block/float/centered-float-avoidance-complexity-expected.txt: Added.
* platform/chromium-win/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/chromium-win/fast/block/float/shrink-to-avoid-float-complexity-expected.txt: Added.
* platform/chromium-win/fast/forms/float-before-fieldset-expected.png:
* platform/chromium-win/fast/forms/float-before-fieldset-expected.txt:

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

12 years ago[GTK] WebAudio build is broken
commit-queue@webkit.org [Tue, 21 Feb 2012 18:20:06 +0000 (18:20 +0000)]
[GTK] WebAudio build is broken
https://bugs.webkit.org/show_bug.cgi?id=79113

Patch by Philippe Normand <pnormand@igalia.com> on 2012-02-21
Reviewed by Martin Robinson.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioGStreamerChannelPosition): Set a default value for
the position variable.
* platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed
for sharedResourcesPath().

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

12 years agoKill FontFamilyValue.
kling@webkit.org [Tue, 21 Feb 2012 18:00:00 +0000 (18:00 +0000)]
Kill FontFamilyValue.
<http://webkit.org/b/79103>

Reviewed by Antti Koivisto.

Source/WebCore:

Remove FontFamilyValue and replace all usage by CSSPrimitiveValue.
The class was only used to filter font family names, removing bracketed
suffixes, e.g "[Xft]".

This was added to KHTML in 2002 to support the use of specific X11 font
families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808>

Test: fast/css/font-family-trailing-bracket-gunk.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSParser.cpp:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createFontFamilyValue):
* css/CSSValuePool.h:
(CSSValuePool):
* css/FontFamilyValue.cpp: Removed.
* css/FontFamilyValue.h: Removed.

LayoutTests:

* fast/css/font-family-trailing-bracket-gunk-expected.txt: Added.
* fast/css/font-family-trailing-bracket-gunk.html: Added.

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

12 years agoLittle optimization for CSSParser::parseFillShorthand.
alexis.menard@openbossa.org [Tue, 21 Feb 2012 17:35:17 +0000 (17:35 +0000)]
Little optimization for CSSParser::parseFillShorthand.
https://bugs.webkit.org/show_bug.cgi?id=79042

Reviewed by Hajime Morita.

Remove one extra loop that we can combine with the following one
which adds the properties to the parser's list of properties. I also
removed a useless check.
Instruments shows on the css-parser-yui benchmark an improvement
of 13ms (from 77ms spent in the function to 64ms).

No new tests : refactoring, existings tests should cover.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillShorthand):

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

12 years agoSource/WebCore: https://bugs.webkit.org/show_bug.cgi?id=79046
hyatt@apple.com [Tue, 21 Feb 2012 17:17:43 +0000 (17:17 +0000)]
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=79046

width of overflow:hidden blocks is wrong when their margins overlap floats.

Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html

This patch makes the following changes to how objects shrink when avoiding floats:
(1) The containing block width used for percentage calculations is now constant. This means that
an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
shrinkToAvoidFloats() objects.

(2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
the object to the available line width minus our margins, and then expand the width back out to the content edge
or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
correct in that case.

Reviewed by Dan Bernstein.

Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
in fast/block/float.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::containsFloat):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::containsFloats):
Changed to be const.

(WebCore::RenderBlock::endOffsetForLine):
(WebCore::RenderBlock::endOffsetForContent):
Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
float and/or content edges as needed).

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
Patched to no longer do the shrinking of objects to avoid floats.

(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
Patched to handle calling the new shrinking code to adjust our logical width.

* rendering/RenderBox.h:
(RenderBox):
The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
to efficiently perform the shrinking.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
Patched to handle calling the new shrinking code to adjust our logical width.

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

width of overflow:hidden blocks is wrong when their margins overlap floats.

Added new tests from www-style thread: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html

Reviewed by Dan Bernstein.

* fast/block/float/centered-float-avoidance-complexity.html: Added.
* fast/block/float/shrink-to-avoid-float-complexity.html: Added.
* platform/mac/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/mac/fast/block/float/centered-float-avoidance-complexity-expected.txt: Added.
* platform/mac/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/mac/fast/block/float/shrink-to-avoid-float-complexity-expected.txt: Added.

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

12 years agoAttempt to fix the Snow Leopard build.
weinig@apple.com [Tue, 21 Feb 2012 17:01:54 +0000 (17:01 +0000)]
Attempt to fix the Snow Leopard build.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Configurations/Base.xcconfig:

Source/WebKit2:

* Configurations/Base.xcconfig:

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

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

12 years ago[Qt] Unreviewed gardening, add platform specific expected file after r107689.
ossy@webkit.org [Tue, 21 Feb 2012 16:49:53 +0000 (16:49 +0000)]
[Qt] Unreviewed gardening, add platform specific expected file after r107689.

* platform/qt-5.0-wk2/http/tests/websocket/test/hybi/bad-sub-protocol-non-ascii-expected.txt: Added.

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

12 years agoUse libc++ when building with Clang on Mac
weinig@apple.com [Tue, 21 Feb 2012 16:44:31 +0000 (16:44 +0000)]
Use libc++ when building with Clang on Mac
https://bugs.webkit.org/show_bug.cgi?id=78981

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig:
In addition to enabling libc++ when building with Clang,
disable gtest's use of tr1::tuple, which doesn't exist in
libc++.

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Configurations/Base.xcconfig:

Source/WebKit2:

* Configurations/Base.xcconfig:

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

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

12 years agoMac build fix
aroben@apple.com [Tue, 21 Feb 2012 16:38:02 +0000 (16:38 +0000)]
Mac build fix

* WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
WebKit can include them.

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

12 years ago[Qt][WK2] Fix the N9 build
abecsi@webkit.org [Tue, 21 Feb 2012 16:26:57 +0000 (16:26 +0000)]
[Qt][WK2] Fix the N9 build
https://bugs.webkit.org/show_bug.cgi?id=79101

Reviewed by Noam Rosenthal.

No new tests needed.

* platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.

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

12 years agoRoll out r108309, r108323, and r108326
aroben@apple.com [Tue, 21 Feb 2012 16:26:12 +0000 (16:26 +0000)]
Roll out r108309, r108323, and r108326

They broke the 32-bit Lion build.

Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.

Source/JavaScriptCore:

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/LinkBuffer.h:
* assembler/MacroAssemblerCodeRef.h:
* bytecode/BytecodeConventions.h: Removed.
* bytecode/CallLinkStatus.cpp:
* bytecode/CallLinkStatus.h:
* bytecode/CodeBlock.cpp:
* bytecode/CodeBlock.h:
* bytecode/GetByIdStatus.cpp:
* bytecode/GetByIdStatus.h:
* bytecode/Instruction.h:
* bytecode/LLIntCallLinkInfo.h: Removed.
* bytecode/MethodCallLinkStatus.cpp:
* bytecode/Opcode.cpp:
* bytecode/Opcode.h:
* bytecode/PutByIdStatus.cpp:
* bytecode/PutByIdStatus.h:
* bytecompiler/BytecodeGenerator.cpp:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCapabilities.h:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOperations.cpp:
* heap/Heap.h:
* heap/MarkStack.cpp:
* heap/MarkedAllocator.h:
* heap/MarkedSpace.h:
* interpreter/CallFrame.cpp:
* interpreter/CallFrame.h:
* interpreter/Interpreter.cpp:
* interpreter/Interpreter.h:
* interpreter/RegisterFile.h:
* jit/ExecutableAllocator.h:
* jit/HostCallReturnValue.cpp: Removed.
* jit/HostCallReturnValue.h: Removed.
* jit/JIT.cpp:
* jit/JITCode.h:
* jit/JITDriver.h:
* jit/JITExceptions.cpp:
* jit/JITInlineMethods.h:
* jit/JITStubs.cpp:
* jit/JITStubs.h:
* jit/JSInterfaceJIT.h:
* llint/LLIntCommon.h: Removed.
* llint/LLIntData.cpp: Removed.
* llint/LLIntData.h: Removed.
* llint/LLIntEntrypoints.cpp: Removed.
* llint/LLIntEntrypoints.h: Removed.
* llint/LLIntExceptions.cpp: Removed.
* llint/LLIntExceptions.h: Removed.
* llint/LLIntOfflineAsmConfig.h: Removed.
* llint/LLIntOffsetsExtractor.cpp: Removed.
* llint/LLIntSlowPaths.cpp: Removed.
* llint/LLIntSlowPaths.h: Removed.
* llint/LLIntThunks.cpp: Removed.
* llint/LLIntThunks.h: Removed.
* llint/LowLevelInterpreter.asm: Removed.
* llint/LowLevelInterpreter.cpp: Removed.
* llint/LowLevelInterpreter.h: Removed.
* offlineasm/armv7.rb: Removed.
* offlineasm/asm.rb: Removed.
* offlineasm/ast.rb: Removed.
* offlineasm/backends.rb: Removed.
* offlineasm/generate_offset_extractor.rb: Removed.
* offlineasm/instructions.rb: Removed.
* offlineasm/offset_extractor_constants.rb: Removed.
* offlineasm/offsets.rb: Removed.
* offlineasm/opt.rb: Removed.
* offlineasm/parser.rb: Removed.
* offlineasm/registers.rb: Removed.
* offlineasm/self_hash.rb: Removed.
* offlineasm/settings.rb: Removed.
* offlineasm/transform.rb: Removed.
* offlineasm/x86.rb: Removed.
* runtime/CodeSpecializationKind.h: Removed.
* runtime/CommonSlowPaths.h:
* runtime/Executable.cpp:
* runtime/Executable.h:
* runtime/ExecutionHarness.h: Removed.
* runtime/JSArray.h:
* runtime/JSCell.h:
* runtime/JSFunction.h:
* runtime/JSGlobalData.cpp:
* runtime/JSGlobalData.h:
* runtime/JSGlobalObject.h:
* runtime/JSObject.h:
* runtime/JSPropertyNameIterator.h:
* runtime/JSString.h:
* runtime/JSTypeInfo.h:
* runtime/JSValue.cpp:
* runtime/JSValue.h:
* runtime/JSVariableObject.h:
* runtime/Options.cpp:
* runtime/Options.h:
* runtime/ScopeChain.h:
* runtime/Structure.cpp:
* runtime/Structure.h:
* runtime/StructureChain.h:
* wtf/InlineASM.h:
* wtf/Platform.h:
* wtf/SentinelLinkedList.h:
* wtf/text/StringImpl.h:

Source/WebCore:

* CMakeLists.txt:

Source/WebKit:

* CMakeLists.txt:

Tools:

* DumpRenderTree/efl/CMakeLists.txt:

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

12 years ago[Qt]REGRESSION(r92254): It made 2 tests timeout
ossy@webkit.org [Tue, 21 Feb 2012 16:20:29 +0000 (16:20 +0000)]
[Qt]REGRESSION(r92254): It made 2 tests timeout
https://bugs.webkit.org/show_bug.cgi?id=65609

* platform/qt/Skipped: Unskip now passing tests.

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