WebKit-https.git
7 years ago [Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events...
ap@apple.com [Tue, 30 Jul 2013 22:01:25 +0000 (22:01 +0000)]
    [Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
        https://bugs.webkit.org/show_bug.cgi?id=113094

        The test still fails on WK1, and needs to be marked accordingly.

        * platform/mac-wk2/TestExpectations:
        * platform/mac/TestExpectations:

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

7 years agoAdd 'colno' attribute to ErrorEvent interface
ch.dumez@sisa.samsung.com [Tue, 30 Jul 2013 21:44:51 +0000 (21:44 +0000)]
Add 'colno' attribute to ErrorEvent interface
https://bugs.webkit.org/show_bug.cgi?id=119257

Reviewed by Darin Adler.

Source/WebCore:

Add 'colno' attribute to ErrorEvent interface to match the latest specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#errorevent

The 'colno' attribute is already supported by IE10 and Blink.

No new tests, covered by existing tests.

* dom/ErrorEvent.cpp:
(WebCore::ErrorEventInit::ErrorEventInit):
(WebCore::ErrorEvent::ErrorEvent):
* dom/ErrorEvent.h:
* dom/ErrorEvent.idl:

LayoutTests:

Update several test cases to check the new ErrorEvent.colno
attribute.

* fast/events/constructors/error-event-constructor-expected.txt:
* fast/events/constructors/error-event-constructor.html:
* fast/events/window-onerror9-expected.txt:
* fast/events/window-onerror9.html:
* fast/workers/worker-script-error-expected.txt:
* fast/workers/worker-script-error.html:
* http/tests/workers/worker-importScriptsOnError-expected.txt:

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

7 years agoInactive style sheets should not trigger style recalc when loaded.
akling@apple.com [Tue, 30 Jul 2013 21:32:54 +0000 (21:32 +0000)]
Inactive style sheets should not trigger style recalc when loaded.
<http://webkit.org/b/119236>
<rdar://problem/14588132>

Reviewed by Antti Koivisto.

Style sheets that are either alternate sheets or are excluded by their media query should not trigger
a full style recalc when they finish loading, since the end result will not be observably different.

The sheets are still inspectable through document.styleSheets.

Changed enums from Blocking/NonBlocking to ActiveSheet/InactiveSheet to clarify what's going on.

* html/HTMLLinkElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::startLoadingDynamicSheet):
(WebCore::HTMLLinkElement::addPendingSheet):
(WebCore::HTMLLinkElement::removePendingSheet):

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

7 years agoFix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
timothy_horton@apple.com [Tue, 30 Jul 2013 21:27:09 +0000 (21:27 +0000)]
Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
https://bugs.webkit.org/show_bug.cgi?id=119275

Reviewed by Simon Fraser.

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::paintContentsForSnapshot):
* page/FrameView.h:
Fix typo.

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::imageForRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaledSnapshotWithOptions):
Fix typo.

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

7 years agoCompile fix for WebGL on 32-bit Windows.
achristensen@apple.com [Tue, 30 Jul 2013 21:19:23 +0000 (21:19 +0000)]
Compile fix for WebGL on 32-bit Windows.
https://bugs.webkit.org/show_bug.cgi?id=119235

Reviewed by Darin Adler.

* platform/graphics/GLContext.cpp:
Created GLNativeWindowType typedef.
(WebCore::GLContext::createContextForWindow):
* platform/graphics/GLContext.h:
Replaced uint64_t with GLNativeWindowType.

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

7 years agoUnreviewed, add my new email to contributors.json.
ch.dumez@sisa.samsung.com [Tue, 30 Jul 2013 20:33:18 +0000 (20:33 +0000)]
Unreviewed, add my new email to contributors.json.

* Scripts/webkitpy/common/config/contributors.json:

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

7 years agoPlug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessag...
andersca@apple.com [Tue, 30 Jul 2013 19:45:09 +0000 (19:45 +0000)]
Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
https://bugs.webkit.org/show_bug.cgi?id=119270
<rdar://problem/13368226>

Reviewed by Darin Adler.

Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
since we don't know the plug-in or connection.

Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::Connection):
(CoreIPC::Connection::sendSyncMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::inSendSync):
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::destroy):

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

7 years agoNull deref under WebPage::scaledSnapshotWithOptions
timothy_horton@apple.com [Tue, 30 Jul 2013 19:42:31 +0000 (19:42 +0000)]
Null deref under WebPage::scaledSnapshotWithOptions
https://bugs.webkit.org/show_bug.cgi?id=119243
<rdar://problem/14502050>

Reviewed by Darin Adler.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaledSnapshotWithOptions):
WebFrame::coreFrame() can be null (if the Frame is already torn down),
so we should check it.

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

7 years agoNull deref under PluginView::handlesPageScaleFactor()
timothy_horton@apple.com [Tue, 30 Jul 2013 19:38:47 +0000 (19:38 +0000)]
Null deref under PluginView::handlesPageScaleFactor()
https://bugs.webkit.org/show_bug.cgi?id=119231
<rdar://problem/14440207>

Reviewed by Darin Adler.

Null-check the PluginView in the caller as well.

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::handlesPageScaleGesture):

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

7 years ago[WIN] Remove dependency on CoreFoundation from DownloadBundle
paroga@webkit.org [Tue, 30 Jul 2013 19:01:07 +0000 (19:01 +0000)]
[WIN] Remove dependency on CoreFoundation from DownloadBundle
https://bugs.webkit.org/show_bug.cgi?id=119247

Reviewed by Anders Carlsson.

* platform/network/cf/DownloadBundle.h:
* platform/network/curl/DownloadBundle.h:
* platform/network/win/DownloadBundleWin.cpp:
(WebCore::DownloadBundle::magicNumber):
(WebCore::DownloadBundle::appendResumeData):
(WebCore::DownloadBundle::extractResumeData):

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

7 years agoRemove unused Download*.cpp files
paroga@webkit.org [Tue, 30 Jul 2013 18:54:58 +0000 (18:54 +0000)]
Remove unused Download*.cpp files
https://bugs.webkit.org/show_bug.cgi?id=119248

Reviewed by Anders Carlsson.

* Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
* Shared/Downloads/curl/DownloadCurl.cpp: Removed.

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

7 years agoMove WindowsExtras.h from WebCore to WTF
paroga@webkit.org [Tue, 30 Jul 2013 18:54:18 +0000 (18:54 +0000)]
Move WindowsExtras.h from WebCore to WTF
https://bugs.webkit.org/show_bug.cgi?id=118125

Reviewed by Anders Carlsson.

Move it to WTF to be able to use the functions in WTF too.

Source/WebCore:

* platform/PlatformKeyboardEvent.h:
* platform/PlatformMouseEvent.h:
* platform/PlatformWheelEvent.h:
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
* platform/win/MIMETypeRegistryWin.cpp:
* platform/win/PasteboardWin.cpp:
* platform/win/PopupMenuWin.cpp:
* platform/win/RunLoopWin.cpp:
* platform/win/SharedTimerWin.cpp:
* platform/win/WindowMessageListener.h:
* plugins/win/PluginDatabaseWin.cpp:

Source/WTF:

* wtf/WindowsExtras.h: Renamed from Source/WebCore/platform/win/WindowsExtras.h.
(WTF::getRegistryValue):
(WTF::getWindowPointer):
(WTF::setWindowPointer):
* wtf/win/MainThreadWin.cpp:
(WTF::initializeMainThreadPlatform):

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

7 years agoPage for WKPageLoaderClient processDidCrash callback always reports a process identif...
jeffm@apple.com [Tue, 30 Jul 2013 18:28:35 +0000 (18:28 +0000)]
Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
https://bugs.webkit.org/show_bug.cgi?id=119269
<rdar://problem/14582393>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processIdentifier):
Return 0 if the page is closed instead of requiring isValid().

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

7 years ago[WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorCl...
kseo@webkit.org [Tue, 30 Jul 2013 17:40:09 +0000 (17:40 +0000)]
[WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
https://bugs.webkit.org/show_bug.cgi?id=119034

Reviewed by Anders Carlsson.

The Mac and EFL ports use the same implementation of
WebEditorClient::checkTextOfParagraph and GTK will use the same
implementation too. So rather than duplicating the same code in
platform specific files, move the implementation to platform agnostic
WebProcess/WebCoreSupport/WebEditorClient.cpp.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::checkTextOfParagraph):
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

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

7 years agoPass column as 4th argument to WorkerGlobalScope.onerror and Window.onerror handlers
ch.dumez@sisa.samsung.com [Tue, 30 Jul 2013 17:38:57 +0000 (17:38 +0000)]
Pass column as 4th argument to WorkerGlobalScope.onerror and Window.onerror handlers
https://bugs.webkit.org/show_bug.cgi?id=119251

Reviewed by Geoffrey Garen.

Source/WebCore:

As per the latest specification, the WorkerGlobalScope.onerror and Window.onerror event
handlers should be given the column as fourth argument:
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#onerroreventhandler

The column argument is already supported by IE10 and Blink.

No new tests, covered by existing tests.

* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::ErrorEvent):
* dom/ErrorEvent.h:
(WebCore::ErrorEvent::create):
(WebCore::ErrorEvent::colno):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::sanitizeScriptError):
(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::dispatchErrorEvent):
* dom/ScriptExecutionContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::performTask):

LayoutTests:

Update several tests to make use of the new column argument passed to
WorkerGlobalScope.onerror and Window.onerror handlers.

* fast/events/window-onerror1-expected.txt:
* fast/events/window-onerror1.html:
* fast/events/window-onerror11-expected.txt:
* fast/events/window-onerror11.html:
* fast/events/window-onerror12-expected.txt:
* fast/events/window-onerror12.html:
* fast/events/window-onerror13.html:
* fast/events/window-onerror14.html:
* fast/events/window-onerror16.html:
* fast/events/window-onerror2-expected.txt:
* fast/events/window-onerror2.html:
* fast/events/window-onerror4-expected.txt:
* fast/events/window-onerror4.html:
* fast/events/window-onerror5-expected.txt:
* fast/events/window-onerror5.html:
* fast/events/window-onerror6-expected.txt:
* fast/events/window-onerror6.html:
* fast/events/window-onerror7-expected.txt:
* fast/events/window-onerror7.html:
* fast/events/window-onerror8-expected.txt:
* fast/events/window-onerror8.html:
* fast/events/window-onerror9-expected.txt:
* fast/events/window-onerror9.html:
* fast/workers/resources/worker-script-error-handled.js:
(onerror):
* fast/workers/worker-script-error-expected.txt:

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

7 years ago[WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
commit-queue@webkit.org [Tue, 30 Jul 2013 17:30:56 +0000 (17:30 +0000)]
[WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
https://bugs.webkit.org/show_bug.cgi?id=119258

Patch by Brian Holt <brian.holt@samsung.com> on 2013-07-30
Reviewed by Martin Robinson.

Corrected the installed URI response property from PROP_REQUEST to
PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
WEBKIT_TYPE_URI_RESPONSE.

* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
(webkit_response_policy_decision_class_init):

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

7 years agoUse OwnPtr in RenderThemeWin and ScrollbarThemeWin
paroga@webkit.org [Tue, 30 Jul 2013 17:27:22 +0000 (17:27 +0000)]
Use OwnPtr in RenderThemeWin and ScrollbarThemeWin
https://bugs.webkit.org/show_bug.cgi?id=117978

Reviewed by Brent Fulgham.

Use OwnPtr to avoid manual deletion of objects.

* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::paintTrackPiece):
* rendering/RenderThemeWin.cpp:
(WebCore::drawControl):

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

7 years agoFix problems with divot and lineStart mismatches.
mark.lam@apple.com [Tue, 30 Jul 2013 17:01:40 +0000 (17:01 +0000)]
Fix problems with divot and lineStart mismatches.
https://bugs.webkit.org/show_bug.cgi?id=118662.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

r152494 added the recording of lineStart values for divot positions.
This is needed for the computation of column numbers. Similarly, it also
added the recording of line numbers for the divot positions. One problem
with the approach taken was that the line and lineStart values were
recorded independently, and hence were not always guaranteed to be
sampled at the same place that the divot position is recorded. This
resulted in potential mismatches that cause some assertions to fail.

The solution is to introduce a JSTextPosition abstraction that records
the divot position, line, and lineStart as a single quantity. Wherever
we record the divot position as an unsigned int previously, we now record
its JSTextPosition which captures all 3 values in one go. This ensures
that the captured line and lineStart will always match the captured divot
position.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallEval):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitDebugHook):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitExpressionInfo):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* bytecompiler/NodesCodegen.cpp:
(JSC::ThrowableExpressionData::emitThrowReferenceError):
(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::NewExprNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::UnaryOpNode::emitBytecode):
(JSC::BinaryOpNode::emitStrcat):
(JSC::BinaryOpNode::emitBytecode):
(JSC::ThrowableBinaryOpNode::emitBytecode):
(JSC::InstanceOfNode::emitBytecode):
(JSC::emitReadModifyAssignment):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::ThrowNode::emitBytecode):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* parser/ASTBuilder.h:
- Replaced ASTBuilder::PositionInfo with JSTextPosition.
(JSC::ASTBuilder::BinaryOpInfo::BinaryOpInfo):
(JSC::ASTBuilder::AssignmentInfo::AssignmentInfo):
(JSC::ASTBuilder::createResolve):
(JSC::ASTBuilder::createBracketAccess):
(JSC::ASTBuilder::createDotAccess):
(JSC::ASTBuilder::createRegExp):
(JSC::ASTBuilder::createNewExpr):
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createExprStatement):
(JSC::ASTBuilder::createForInLoop):
(JSC::ASTBuilder::createReturnStatement):
(JSC::ASTBuilder::createBreakStatement):
(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createLabelStatement):
(JSC::ASTBuilder::createWithStatement):
(JSC::ASTBuilder::createThrowStatement):
(JSC::ASTBuilder::appendBinaryExpressionInfo):
(JSC::ASTBuilder::appendUnaryToken):
(JSC::ASTBuilder::unaryTokenStackLastStart):
(JSC::ASTBuilder::assignmentStackAppend):
(JSC::ASTBuilder::createAssignment):
(JSC::ASTBuilder::setExceptionLocation):
(JSC::ASTBuilder::makeDeleteNode):
(JSC::ASTBuilder::makeFunctionCallNode):
(JSC::ASTBuilder::makeBinaryNode):
(JSC::ASTBuilder::makeAssignNode):
(JSC::ASTBuilder::makePrefixNode):
(JSC::ASTBuilder::makePostfixNode):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* parser/Lexer.cpp:
(JSC::::lex):
- Added support for capturing the appropriate JSTextPositions instead
  of just the character offset.
* parser/Lexer.h:
(JSC::Lexer::currentPosition):
(JSC::::lexExpectIdentifier):
- Added support for capturing the appropriate JSTextPositions instead
  of just the character offset.
* parser/NodeConstructors.h:
(JSC::Node::Node):
(JSC::ResolveNode::ResolveNode):
(JSC::EvalFunctionCallNode::EvalFunctionCallNode):
(JSC::FunctionCallValueNode::FunctionCallValueNode):
(JSC::FunctionCallResolveNode::FunctionCallResolveNode):
(JSC::FunctionCallBracketNode::FunctionCallBracketNode):
(JSC::FunctionCallDotNode::FunctionCallDotNode):
(JSC::CallFunctionCallDotNode::CallFunctionCallDotNode):
(JSC::ApplyFunctionCallDotNode::ApplyFunctionCallDotNode):
(JSC::PostfixNode::PostfixNode):
(JSC::DeleteResolveNode::DeleteResolveNode):
(JSC::DeleteBracketNode::DeleteBracketNode):
(JSC::DeleteDotNode::DeleteDotNode):
(JSC::PrefixNode::PrefixNode):
(JSC::ReadModifyResolveNode::ReadModifyResolveNode):
(JSC::ReadModifyBracketNode::ReadModifyBracketNode):
(JSC::AssignBracketNode::AssignBracketNode):
(JSC::AssignDotNode::AssignDotNode):
(JSC::ReadModifyDotNode::ReadModifyDotNode):
(JSC::AssignErrorNode::AssignErrorNode):
(JSC::WithNode::WithNode):
(JSC::ForInNode::ForInNode):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* parser/Nodes.cpp:
(JSC::StatementNode::setLoc):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* parser/Nodes.h:
(JSC::Node::lineNo):
(JSC::Node::startOffset):
(JSC::Node::lineStartOffset):
(JSC::Node::position):
(JSC::ThrowableExpressionData::ThrowableExpressionData):
(JSC::ThrowableExpressionData::setExceptionSourceCode):
(JSC::ThrowableExpressionData::divot):
(JSC::ThrowableExpressionData::divotStart):
(JSC::ThrowableExpressionData::divotEnd):
(JSC::ThrowableSubExpressionData::ThrowableSubExpressionData):
(JSC::ThrowableSubExpressionData::setSubexpressionInfo):
(JSC::ThrowableSubExpressionData::subexpressionDivot):
(JSC::ThrowableSubExpressionData::subexpressionStart):
(JSC::ThrowableSubExpressionData::subexpressionEnd):
(JSC::ThrowablePrefixedSubExpressionData::ThrowablePrefixedSubExpressionData):
(JSC::ThrowablePrefixedSubExpressionData::setSubexpressionInfo):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionDivot):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionStart):
(JSC::ThrowablePrefixedSubExpressionData::subexpressionEnd):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* parser/Parser.cpp:
(JSC::::Parser):
(JSC::::parseInner):
- Use JSTextPosition instead of passing line and lineStart explicitly.
(JSC::::didFinishParsing):
- Remove setting of m_lastLine value. We always pass in the value from
  m_lastLine anyway. So, this assignment is effectively a nop.
(JSC::::parseVarDeclaration):
(JSC::::parseVarDeclarationList):
(JSC::::parseForStatement):
(JSC::::parseBreakStatement):
(JSC::::parseContinueStatement):
(JSC::::parseReturnStatement):
(JSC::::parseThrowStatement):
(JSC::::parseWithStatement):
(JSC::::parseTryStatement):
(JSC::::parseBlockStatement):
(JSC::::parseFunctionDeclaration):
(JSC::LabelInfo::LabelInfo):
(JSC::::parseExpressionOrLabelStatement):
(JSC::::parseExpressionStatement):
(JSC::::parseAssignmentExpression):
(JSC::::parseBinaryExpression):
(JSC::::parseProperty):
(JSC::::parsePrimaryExpression):
(JSC::::parseMemberExpression):
(JSC::::parseUnaryExpression):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* parser/Parser.h:
(JSC::Parser::next):
(JSC::Parser::nextExpectIdentifier):
(JSC::Parser::getToken):
(JSC::Parser::tokenStartPosition):
(JSC::Parser::tokenEndPosition):
(JSC::Parser::lastTokenEndPosition):
(JSC::::parse):
- Use JSTextPosition instead of passing line and lineStart explicitly.
* parser/ParserTokens.h:
(JSC::JSTextPosition::JSTextPosition):
(JSC::JSTextPosition::operator+):
(JSC::JSTextPosition::operator-):
(JSC::JSTextPosition::operator int):
- Added JSTextPosition.
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::makeFunctionCallNode):
(JSC::SyntaxChecker::makeAssignNode):
(JSC::SyntaxChecker::makePrefixNode):
(JSC::SyntaxChecker::makePostfixNode):
(JSC::SyntaxChecker::makeDeleteNode):
(JSC::SyntaxChecker::createResolve):
(JSC::SyntaxChecker::createBracketAccess):
(JSC::SyntaxChecker::createDotAccess):
(JSC::SyntaxChecker::createRegExp):
(JSC::SyntaxChecker::createNewExpr):
(JSC::SyntaxChecker::createAssignResolve):
(JSC::SyntaxChecker::createForInLoop):
(JSC::SyntaxChecker::createReturnStatement):
(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createContinueStatement):
(JSC::SyntaxChecker::createWithStatement):
(JSC::SyntaxChecker::createLabelStatement):
(JSC::SyntaxChecker::createThrowStatement):
(JSC::SyntaxChecker::appendBinaryExpressionInfo):
(JSC::SyntaxChecker::operatorStackPop):
- Use JSTextPosition instead of passing line and lineStart explicitly.

LayoutTests:

Added regression test cases from https://bugs.webkit.org/show_bug.cgi?id=118662
and https://bugs.webkit.org/show_bug.cgi?id=118664.

* fast/js/line-column-numbers-expected.txt:
* fast/js/line-column-numbers.html:
* fast/js/script-tests/line-column-numbers.js:
(try.toFuzz1):
(try.toFuzz2):

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

7 years agoAdded include directories to Visual Studio for WebGL.
achristensen@apple.com [Tue, 30 Jul 2013 16:33:08 +0000 (16:33 +0000)]
Added include directories to Visual Studio for WebGL.
https://bugs.webkit.org/show_bug.cgi?id=119161

Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCoreCommon.props: Added more include directories.

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

7 years agoUnreviewed, rolling out r151957 and r152531.
ossy@webkit.org [Tue, 30 Jul 2013 16:32:13 +0000 (16:32 +0000)]
Unreviewed, rolling out r151957 and r152531.
http://trac.webkit.org/changeset/151957
http://trac.webkit.org/changeset/152531
https://bugs.webkit.org/show_bug.cgi?id=119267

They revealed a bug on Mac I can't fix (Requested by Ossy on
#webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-07-30

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::frameIsCompleteAtIndex):
(WebCore::BitmapImage::frameDurationAtIndex):
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
(WebCore::ImageSource::frameIsCompleteAtIndex):
* platform/graphics/ImageSource.h:
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::frameIsCompleteAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::frameHasAlphaAtIndex):
* platform/image-decoders/ImageDecoder.h:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::gifComplete):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::initFrameBuffer):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/gif/GIFImageReader.h:
(GIFImageReader::frameContext):

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

7 years ago[GTK] Unreviewed gardening. Updated TestExpectations
simon.pena@samsung.com [Tue, 30 Jul 2013 16:26:39 +0000 (16:26 +0000)]
[GTK] Unreviewed gardening. Updated TestExpectations

* platform/gtk/TestExpectations: Mark transitions/created-while-suspended.html
as slow after r153396.

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

7 years agoMissing the rename REGISTER_PROCOTOL_HANDLER Macro to NAVIGATOR_CONTENT_UTILS in...
commit-queue@webkit.org [Tue, 30 Jul 2013 16:18:11 +0000 (16:18 +0000)]
Missing the rename REGISTER_PROCOTOL_HANDLER Macro to NAVIGATOR_CONTENT_UTILS in WebKitLibraries.
https://bugs.webkit.org/show_bug.cgi?id=119239

According to "https://bugs.webkit.org/show_bug.cgi?id=94920", REGISTER_PROCOTOL_HANDLER macro was changed to NAVIGATOR_CONTENT_UTILS.
But, FeatureDefines.props and FeatureDefinesCairo.props was not changed.

Patch by Sanghyun Park <sh919.park@samsung.com> on 2013-07-30
Reviewed by Brent Fulgham.

* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

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

7 years ago[GTK] Unreviewed gardening. Update TestExpectations
simon.pena@samsung.com [Tue, 30 Jul 2013 14:12:25 +0000 (14:12 +0000)]
[GTK] Unreviewed gardening. Update TestExpectations

Some GTK tests are flaky or time out after the FTL merge.

* platform/gtk/TestExpectations:

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

7 years agoWeb Inspector: doesn't use localized user interface at remote inspector
commit-queue@webkit.org [Tue, 30 Jul 2013 13:52:19 +0000 (13:52 +0000)]
Web Inspector: doesn't use localized user interface at remote inspector
https://bugs.webkit.org/show_bug.cgi?id=119252

Patch by Roland Takács <rtakacs@inf.u-szeged.hu> on 2013-07-30
Reviewed by Timothy Hatcher.

Added a flag in order to not use localizedStrings in remote inspector.

* UserInterface/InspectorFrontendHostStub.js:
* UserInterface/LoadLocalizedStrings.js:
* UserInterface/Main.js:
(WebInspector.UIString):

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

7 years ago[EFL] REGRESSION after r153439: layout tests do not run.
ch.dumez@sisa.samsung.com [Tue, 30 Jul 2013 13:51:25 +0000 (13:51 +0000)]
[EFL] REGRESSION after r153439: layout tests do not run.
https://bugs.webkit.org/show_bug.cgi?id=119240

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-07-30
Reviewed by Christophe Dumez.

Changed attribute name from check_xvfb to check_driver.

* Scripts/webkitpy/port/efl.py:
(EflPort.check_sys_deps):

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

7 years agoRemove using namespace std from SpatialNavigation
kseo@webkit.org [Tue, 30 Jul 2013 13:49:06 +0000 (13:49 +0000)]
Remove using namespace std from SpatialNavigation
https://bugs.webkit.org/show_bug.cgi?id=119242

Reviewed by Antonio Gomes.

"using namespace" statements in headers are dangerous and should be
avoided. check-webkit-style has been changed to flag them as an error
since r152719. Use explicit std:: qualifiers instead.

No behavior change, no new tests needed.

* page/SpatialNavigation.cpp:
(WebCore::scrollInDirection):
* page/SpatialNavigation.h:
(WebCore::maxDistance):

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

7 years ago[GTK] fast/regions/firstletter-inside-flowthread.html is flaky
commit-queue@webkit.org [Tue, 30 Jul 2013 13:38:20 +0000 (13:38 +0000)]
[GTK] fast/regions/firstletter-inside-flowthread.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=106592

Unreviewed gardening.

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-07-30

* platform/gtk/TestExpectations: Unflag test as it is passing without
problems now.

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

7 years ago[Qt] Workaround to make syncqt run and generate forwarding headers in SVN repositorie...
kadam@inf.u-szeged.hu [Tue, 30 Jul 2013 13:34:05 +0000 (13:34 +0000)]
[Qt] Workaround to make syncqt run and generate forwarding headers in SVN repositories too.
https://bugs.webkit.org/show_bug.cgi?id=118725.

Reviewed by Tor Arne Vestbø.

* .qmake.conf:

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

7 years agoUnreviewed. Update NEWS and Versions.m4 for 2.1.4 release.
carlosgc@webkit.org [Tue, 30 Jul 2013 13:14:51 +0000 (13:14 +0000)]
Unreviewed. Update NEWS and Versions.m4 for 2.1.4 release.

.:

* Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

* NEWS: Added release notes for 2.1.4.

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

7 years ago[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
graouts@apple.com [Tue, 30 Jul 2013 12:12:59 +0000 (12:12 +0000)]
[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
https://bugs.webkit.org/show_bug.cgi?id=113094

The test can-read-in-copy-and-cut-events.html now passes on mac-wk2.

* platform/mac/TestExpectations:

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

7 years ago[Qt][Win] Extend disabling of whole-program-optimizations to MSVC 2012
hausmann@webkit.org [Tue, 30 Jul 2013 12:01:00 +0000 (12:01 +0000)]
[Qt][Win] Extend disabling of whole-program-optimizations to MSVC 2012
https://bugs.webkit.org/show_bug.cgi?id=119238

Reviewed by Jocelyn Turcotte.

As suggested in https://bugreports.qt-project.org/browse/QTBUG-20556,
the WebKit build with MSVC 2012 is affected by the same size
limitations.

* WebCore.pri:

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

7 years agoMark compositing/patterns tests as passing for mac-wk2
graouts@apple.com [Tue, 30 Jul 2013 11:42:00 +0000 (11:42 +0000)]
Mark compositing/patterns tests as passing for mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=119246

These tests run fine on WK2.

* platform/mac-wk2/TestExpectations:

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

7 years agoREGRESSION: iframes with composited contents are not transparent in WK1
graouts@apple.com [Tue, 30 Jul 2013 11:23:30 +0000 (11:23 +0000)]
REGRESSION: iframes with composited contents are not transparent in WK1
https://bugs.webkit.org/show_bug.cgi?id=76478

Unskip these tests since the root cause has been fixed long ago already.

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

7 years agoREGRESION(r151091) ASSERTION FAILED: m_readableData || m_writableData
allan.jensen@digia.com [Tue, 30 Jul 2013 11:14:26 +0000 (11:14 +0000)]
REGRESION(r151091) ASSERTION FAILED: m_readableData || m_writableData
https://bugs.webkit.org/show_bug.cgi?id=119142

Reviewed by Jocelyn Turcotte.

Remove invalid assert.

Covered by existing tests.

* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::readData):

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

7 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Tue, 30 Jul 2013 06:42:00 +0000 (06:42 +0000)]
Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

* GNUmakefile.list.am: Add missing files to compilation.
* bytecode/CodeBlock.cpp: Add a ENABLE(FTL_JIT) #if block to
include FTL header files not included in the compilation.
* dfg/DFGDriver.cpp: Ditto.
* dfg/DFGPlan.cpp: Ditto.

Source/ThirdParty/ANGLE:

* GNUmakefile.am: Add missing header files to compilation.

Source/WebCore:

* GNUmakefile.list.am: Add missing header file to compilation.

Source/WebKit2:

* GNUmakefile.list.am: Add missing header file to compilation.

Source/WTF:

* GNUmakefile.list.am: Add missing files to compilation.

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

7 years ago[wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowC...
timothy_horton@apple.com [Tue, 30 Jul 2013 04:45:06 +0000 (04:45 +0000)]
[wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
https://bugs.webkit.org/show_bug.cgi?id=119225
<rdar://problem/14568841>

Reviewed by Simon Fraser.

Tell CoreAnimation to flush the implicit transaction before replying
when using endDeferringViewInWindowChangesSync, as that method's contract
is that the WebProcess is totally ready to be in-window when it returns.

* UIProcess/API/mac/WKView.mm:
(-[WKView endDeferringViewInWindowChanges]):
Adopt viewInWindowStateDidChange.

(-[WKView endDeferringViewInWindowChangesSync]):
Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewInWindowStateDidChange):
(WebKit::WebPageProxy::viewStateDidChange):
Pull viewInWindowStateDidChange out of viewStateDidChange.
Request a reply from SetIsInWindow if we're told to.

* UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didUpdateInWindowStateTimerFired):
Don't build this version on Mac, we'll have a WebPageMac version.

(WebKit::WebPage::setIsInWindow):
Only start the timer to send the didUpdateInWindowState reply if we're asked to.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
Add an argument to the SetIsInWindow message for whether the WebProcess
should inform the UIProcess when SetIsInWindow completes or not.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::didUpdateInWindowStateTimerFired):
Tell CA to flush the implicit transaction before telling the UIProcess that
we're finished moving in-window.

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

7 years agoEager stack trace for error objects.
commit-queue@webkit.org [Tue, 30 Jul 2013 04:33:35 +0000 (04:33 +0000)]
Eager stack trace for error objects.
https://bugs.webkit.org/show_bug.cgi?id=118918

Source/JavaScriptCore:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-29
Reviewed by Geoffrey Garen.

Chrome and Firefox give error objects the stack property and we wanted to match
that functionality. This allows developers to see the stack without throwing an object.

* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):
 For error objects that are not thrown as an exception, we pass the stackTrace in
 as a parameter. This allows the error object to have the stack property.

* interpreter/Interpreter.cpp:
(JSC::stackTraceAsString):
Helper function used to eliminate duplicate code.

(JSC::Interpreter::addStackTraceIfNecessary):
When an error object is created by the user the vm->exceptionStack is not set.
If the user throws this error object later the stack that is in the error object
may not be the correct stack for the throw, so when we set the vm->exception stack,
the stack property on the error object is set as well.

* runtime/ErrorConstructor.cpp:
(JSC::constructWithErrorConstructor):
(JSC::callErrorConstructor):
* runtime/NativeErrorConstructor.cpp:
(JSC::constructWithNativeErrorConstructor):
(JSC::callNativeErrorConstructor):
These functions indicate that the user created an error object. For all error objects
that the user explicitly creates, the topCallFrame is at a new frame created to
handle the user's call. In this case though, the error object needs the caller's
frame to create the stack trace correctly.

* interpreter/Interpreter.h:
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::create):

LayoutTests:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-29
Reviewed by Geoffrey Garen.

Added tests to ensure that the stack property was present at creation for all
error Objects. This test will fail without this patch.

* fast/js/script-tests/stack-at-creation-for-error-objects.js: Added.
(checkStack):
* fast/js/stack-at-creation-for-error-objects-expected.txt: Added.
* fast/js/stack-at-creation-for-error-objects.html: Added.

* inspector/console/console-format-expected.txt:
* inspector/console/console-format.html:
This test was modified by removing the error object from being evaluated. Prior to this patch
error objects did not have the stack property, so the stack information was not being
displayed. The stack trace includes a file path specific to the machine that is running
the test. The results would have differed from one computer to the next. There
is not an easy way to capture the error object to treat it differently. By removing
the error object there is no need to add extra code to treat it differently.
Also there are other tests inside inspector/console that test the  stack trace,
so the testing suite does not lose error testing by removing it.

The .stack property was added to the error objects at creation time.
* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:

The column numbers are modified in the following test. When error objects are explicitly
invoked, the column number points to the beginning "(" instead of end ")".
Functionality between browsers do not match either. Firefox does not output column
numbers. Chrome points columns numbers to the beginning of the "new" call.

* fast/js/line-column-numbers-expected.txt:
* fast/js/stack-trace-expected.txt:

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

7 years ago[Gtk] Improve string use in PasteboardGtk
kseo@webkit.org [Tue, 30 Jul 2013 04:14:22 +0000 (04:14 +0000)]
[Gtk] Improve string use in PasteboardGtk
https://bugs.webkit.org/show_bug.cgi?id=119204

Reviewed by Martin Robinson.

Use emptyString() instead of "" and use ASCIILiteral where appropriate.

No behavior change, no new tests needed.

* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
Use emptyString() instead of "".
(WebCore::Pasteboard::types):
Use ASCIILiteral where appropriate.

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

7 years ago<rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that...
mrowe@apple.com [Tue, 30 Jul 2013 03:33:57 +0000 (03:33 +0000)]
<rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that have already been deallocated

Reviewed by Sam Weinig.

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Mark objects in the transfer cache as being free.

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

7 years agoSome cleanup in PropertySlot
barraclough@apple.com [Tue, 30 Jul 2013 01:15:18 +0000 (01:15 +0000)]
Some cleanup in PropertySlot
https://bugs.webkit.org/show_bug.cgi?id=119189

Reviewed by Geoff Garen.

PropertySlot represents a property in one of four states - value, getter, custom, or custom-index.
The state is currently tracked redundantly by two mechanisms - the custom getter function (m_getValue)
is set to a special value to indicate the type (other than custom), and the type is also tracked by
an enum - but only if cacheable. Cacheability can typically be determined by the value of m_offset
(this is invalidOffset if not cacheable).

    * Internally, always track the type of the property using an enum value, PropertyType.
    * Use m_offset to indicate cacheable.
    * Keep the external interface (CachedPropertyType) unchanged.
    * Better pack data into the m_data union.

Performance neutral.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
    - cachedPropertyType() -> isCacheable*()
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
    - cachedPropertyType() -> isCacheable*()
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
    - cachedPropertyType() -> isCacheable*()
* jit/JITStubs.cpp:
(JSC::tryCacheGetByID):
    - cachedPropertyType() -> isCacheable*()
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
    - cachedPropertyType() -> isCacheable*()
* runtime/PropertySlot.cpp:
(JSC::PropertySlot::functionGetter):
    - refactoring described above.
* runtime/PropertySlot.h:
(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::getValue):
(JSC::PropertySlot::isCacheable):
(JSC::PropertySlot::isCacheableValue):
(JSC::PropertySlot::isCacheableGetter):
(JSC::PropertySlot::isCacheableCustom):
(JSC::PropertySlot::cachedOffset):
(JSC::PropertySlot::customGetter):
(JSC::PropertySlot::setValue):
(JSC::PropertySlot::setCustom):
(JSC::PropertySlot::setCacheableCustom):
(JSC::PropertySlot::setCustomIndex):
(JSC::PropertySlot::setGetterSlot):
(JSC::PropertySlot::setCacheableGetterSlot):
(JSC::PropertySlot::setUndefined):
(JSC::PropertySlot::slotBase):
(JSC::PropertySlot::setBase):
    - refactoring described above.

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

7 years agoPage count can be incorrect if there is a pending style recalc
simon.fraser@apple.com [Tue, 30 Jul 2013 01:06:27 +0000 (01:06 +0000)]
Page count can be incorrect if there is a pending style recalc
https://bugs.webkit.org/show_bug.cgi?id=119232

Reviewed by Beth Dakin.

If style is changed in a way that schedules a style recalc on the Document,
and then Page::pageCount() is called, we may give the wrong answer because
the existing code only checked FrameView::needsLayout(), not whether a style
recale was pending.

Fix by having Page::pageCount() call updateLayoutIgnorePendingStylesheets()
as we do for other properties that require layer, and are exposed to JS
or via API.

* page/Page.cpp:
(WebCore::Page::pageCount):

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

7 years agoMoved GLContext.cpp and .h out of cairo directory to be used by non-cairo ports.
achristensen@apple.com [Tue, 30 Jul 2013 00:25:33 +0000 (00:25 +0000)]
Moved GLContext.cpp and .h out of cairo directory to be used by non-cairo ports.
https://bugs.webkit.org/show_bug.cgi?id=119223

Reviewed by Kenneth Rohde Christiansen.

* GNUmakefile.list.am:
* PlatformGTK.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
Changed location of GLContext.cpp and GLContext.h.
* platform/graphics/GLContext.cpp: Copied from WebCore/platform/graphics/cairo/GLContext.cpp.
* platform/graphics/GLContext.h: Copied from WebCore/platform/graphics/cairo/GLContext.h.
* platform/graphics/cairo/GLContext.cpp: Removed.
* platform/graphics/cairo/GLContext.h: Removed.

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

7 years agoNull deref under PluginView::handlesPageScaleFactor()
timothy_horton@apple.com [Tue, 30 Jul 2013 00:20:03 +0000 (00:20 +0000)]
Null deref under PluginView::handlesPageScaleFactor()
https://bugs.webkit.org/show_bug.cgi?id=119231
<rdar://problem/14440207>

Reviewed by Simon Fraser.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::handlesPageScaleFactor):
* WebProcess/Plugins/PluginView.h:
Null-check m_plugin and check m_isInitialized.
Make pageScaleFactor() and handlesPageScaleFactor const.

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

7 years agoTextTrackRepresentation captions often disappear then appear again.
jer.noble@apple.com [Tue, 30 Jul 2013 00:15:43 +0000 (00:15 +0000)]
TextTrackRepresentation captions often disappear then appear again.
https://bugs.webkit.org/show_bug.cgi?id=119228

Reviewed by Simon Fraser.

Calling updateTextTrackDisplay() will cause the entire DOM subtree containing the active cues
to be torn down and rebuilt. Only call into this method when text tracks have actually changed.

Add an enum parameter to configureTextTrackDisplay() which allows the caller to specify that
method should assume that the list of visible text tracks has changed, forcing a call to
updateTextTrackDisplay().

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Remove the unnecessary call to updateTextTrackDisplay().
(WebCore::HTMLMediaElement::textTrackModeChanged): Pass AssumeVisibleTextTracksChanged to configureTextTrackDisplay().
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Check the passed flags and exit early only if
    AssumeVisibleTextTracksChanged is not set.
* html/HTMLMediaElement.h:

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

7 years agoFix crash due to unexpected Node deletion during MutationObserver registration book...
rniwa@webkit.org [Tue, 30 Jul 2013 00:12:02 +0000 (00:12 +0000)]
Fix crash due to unexpected Node deletion during MutationObserver registration book-keeping
https://bugs.webkit.org/show_bug.cgi?id=119124

Reviewed by Sam Weinig.

Merge https://chromium.googlesource.com/chromium/blink/+/b6afb927695b3acf2c75c25f05e99682660993e2

No new tests since I could not reproduce the crash with the test attached in the Blink change.

The bug was caused by Node::unregisterMutationObserver removing the MutationObserverRegistration
that holds the last ref to the node. Avoid that by explicitly allocating a local RefPtr to the node
in MutationObserverRegistration::unregister. Also rename it to unregisterAndDelete to clarify
the semantics and make it a static member function to be even safer.

* dom/MutationObserver.cpp:
(WebCore::MutationObserver::disconnect):
* dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::unregisterAndDelete):
* dom/MutationObserverRegistration.h:

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

7 years agoUnreviewed, rolling out r152860.
commit-queue@webkit.org [Mon, 29 Jul 2013 23:00:54 +0000 (23:00 +0000)]
Unreviewed, rolling out r152860.
http://trac.webkit.org/changeset/152860
https://bugs.webkit.org/show_bug.cgi?id=119227

Disable WinEWS tests until tests stop crashing (Requested by
rfong on #webkit).

* Scripts/webkitpy/common/config/ews.json:

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

7 years agoMoved GLTransportSurface.h and .cpp out of efl-specific directory.
achristensen@apple.com [Mon, 29 Jul 2013 22:40:12 +0000 (22:40 +0000)]
Moved GLTransportSurface.h and .cpp out of efl-specific directory.
https://bugs.webkit.org/show_bug.cgi?id=119163

Reviewed by Alexis Menard.

* PlatformEfl.cmake: Changed directory of GLTransportSurface.cpp.
* platform/graphics/surfaces/GLTransportSurface.cpp: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.cpp.
* platform/graphics/surfaces/GLTransportSurface.h: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.h.
* platform/graphics/surfaces/efl/GLTransportSurface.cpp: Removed.
* platform/graphics/surfaces/efl/GLTransportSurface.h: Removed.

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

7 years agoSpeculative implementation of missing GraphicsContext3D methods on Windows.
achristensen@apple.com [Mon, 29 Jul 2013 21:25:33 +0000 (21:25 +0000)]
Speculative implementation of missing GraphicsContext3D methods on Windows.
https://bugs.webkit.org/show_bug.cgi?id=119167

Reviewed by Dean Jackson.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/graphics/win/GraphicsContext3DWin.cpp: Added.
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::platformTexture):
(WebCore::GraphicsContext3D::isGLES2Compliant):
(WebCore::GraphicsContext3D::platformLayer):

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

7 years agoReintroduce convenience CheckedInt*, CheckedUint* types
zandobersek@gmail.com [Mon, 29 Jul 2013 20:10:27 +0000 (20:10 +0000)]
Reintroduce convenience CheckedInt*, CheckedUint* types
https://bugs.webkit.org/show_bug.cgi?id=119213

Reviewed by Oliver Hunt.

Reintroduce CheckedInt* and CheckedUint* types that were previously provided for convenience
through the CheckedInt header that was removed in r153095. The types are now based on the
Checked class, using the RecordOverflow class as the overflow handler.

* wtf/CheckedArithmetic.h:

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

7 years ago[GTK] Add WestonDriver, use it when appropriate
zandobersek@gmail.com [Mon, 29 Jul 2013 20:09:26 +0000 (20:09 +0000)]
[GTK] Add WestonDriver, use it when appropriate
https://bugs.webkit.org/show_bug.cgi?id=119100

Reviewed by Dirk Pranke.

Introduce the WestonDriver, a Driver-implementing class that sets up an instance of Weston, the Wayland compositor,
and sets up an environment that enables the test runner to run inside it.

The design very much mimics the XvfbDriver class. It is currently used by the GTK port when the WAYLAND_DISPLAY
environment variable is set, that is when NRWT is being run under a Wayland display.

* Scripts/webkitpy/port/base.py:
(Port.to.setup_environ_for_server): Also copy the XDG_RUNTIME_DIR env from the original environment for Linux-using ports.
* Scripts/webkitpy/port/gtk.py:
(GtkPort):
(GtkPort._driver_class): Make the method memoized - the display type is not going to change during the testing, so we
should only check once for the presence of the WAYLAND_DISPLAY env and determine the proper driver class to use based on that.
(GtkPort.check_sys_deps): Call the static check_driver method on the class as returned by the _driver_class method
instead of hard-coding the XvfbDriver class in the check.
* Scripts/webkitpy/port/westondriver.py: Added.
(WestonDriver):
(WestonDriver.check_driver): Similarly to XvfbDriver, this checks for existance of the weston executable.
(WestonDriver.__init__): Again, like in XvfbDriver, we use a small delay between launching the Weston display and launching the driver.
(WestonDriver._start): Sets up the driver-specific temporary directory, launches the Weston display, sets up the environment for the
driver and then launches the driver in said environment, using the driver's Weston display.
(WestonDriver.stop): Cleans up the Weston instance and the temporary directory.
(WestonDriver._ensure_driver_tmpdir_subdirectory): A helper function that creates a subdirectory in the driver's temporary directory
and returns the absolute path to it.
* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver.check_driver): Renamed from check_xvfb.
(XvfbDriver._start): Access the FileSystem object through the Port's Host object, instead of the Port's private member.

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

7 years agoMax IOSurfaceDimension should be an inclusive upper bound
dino@apple.com [Mon, 29 Jul 2013 19:25:17 +0000 (19:25 +0000)]
Max IOSurfaceDimension should be an inclusive upper bound
https://bugs.webkit.org/show_bug.cgi?id=119206
<rdar://problem/14555311>

Reviewed by Simon Fraser.

The maxIOSurfaceDimension value should be an inclusive upper bound.
Change the greater than or equal to into a greater than. This will
allow canvas elements of this dimension to be accelerated.

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer): Change >= to >

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

7 years ago[CSS Shapes] New positioning model: update percentage rectangle and inset rectangle...
commit-queue@webkit.org [Mon, 29 Jul 2013 19:20:24 +0000 (19:20 +0000)]
[CSS Shapes] New positioning model: update percentage rectangle and inset rectangle tests
https://bugs.webkit.org/show_bug.cgi?id=118086

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-07-29
Reviewed by Dirk Schulze.

Update percentage based tests to work with the new positioning model.
Also move the tests to be W3C spec tests, so they have been impored
back here from the CSSWG repo.

* TestExpectations: Remove skipping for replaced tests.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Added.
* csswg/submitted/shapes/shape-outside/w3c-import.log:
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle-percentage-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle-percentage.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage.html: Removed.

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

7 years agoSource/ThirdParty/ANGLE: Separated translator into preprocessor, translator_common,
achristensen@apple.com [Mon, 29 Jul 2013 18:51:55 +0000 (18:51 +0000)]
Source/ThirdParty/ANGLE: Separated translator into preprocessor, translator_common,
translator_hlsl (for libGLESv2), and translator_glsl
(for ANGLEWebKitBridge).
https://bugs.webkit.org/show_bug.cgi?id=119221

Reviewed by Brent Fulgham.

* ANGLE.vcxproj/ANGLEGenerated.vcxproj:
Removed unused preprocessor definitions.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
Removed dependency on removed translator project.
* ANGLE.vcxproj/libGLESv2Common.props:
Link to translator_hlsl libraries.
* ANGLE.vcxproj/preprocessor.vcxproj: Added.
* ANGLE.vcxproj/preprocessor.vcxproj.filters: Added.
* ANGLE.vcxproj/translator.vcxproj: Removed.
* ANGLE.vcxproj/translator.vcxproj.filters: Removed.
* ANGLE.vcxproj/translator_common.vcxproj: Added.
* ANGLE.vcxproj/translator_common.vcxproj.filters: Added.
* ANGLE.vcxproj/translator_glsl.vcxproj: Added.
* ANGLE.vcxproj/translator_glsl.vcxproj.filters: Added.
* ANGLE.vcxproj/translator_hlsl.vcxproj: Added.
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Added.

Source/WebKit: Separated translator into preprocessor, translator_common,
translator_hlsl (for libGLESv2), and translator_glsl (for ANGLEWebKitBridge).
These projects are still not built by default.
https://bugs.webkit.org/show_bug.cgi?id=119221

Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKit.sln:
Added separate ANGLE translator projects.

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

7 years ago[ATK] Implement attributesOfChildren() for AccessibilityUIElement
mario@webkit.org [Mon, 29 Jul 2013 18:26:52 +0000 (18:26 +0000)]
[ATK] Implement attributesOfChildren() for AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118967

Reviewed by Gustavo Noronha Silva.

Tools:

Implemented AccessibilityUIElement::attributesOfChildren() both
in DumpRenderTree and the WebKitTestRunner.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::attributesOfChildren): Implemented.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::attributesOfChildren): Implemented.

LayoutTests:

Removed fixed tests from TestExpectations and added/updated expected
results for tests that are now dumping more useful information.

* platform/gtk/TestExpectations: Removed three fixed tests.
* platform/gtk/accessibility/image-map2-expected.txt: Updated.
* platform/gtk/accessibility/lists-expected.txt: Added.
* platform/gtk/accessibility/plugin-expected.txt: Added.
* platform/gtk/accessibility/table-with-aria-role-expected.txt: Added.

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

7 years agoRemove setUnderlayPage() and associated code
andersca@apple.com [Mon, 29 Jul 2013 18:10:32 +0000 (18:10 +0000)]
Remove setUnderlayPage() and associated code
https://bugs.webkit.org/show_bug.cgi?id=119220
<rdar://problem/14392426>

Reviewed by Jessie Berlin.

This is dead code, get rid of it.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):
(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::drawRect):
* WebProcess/WebPage/WebPage.h:

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

7 years agoASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
reni@webkit.org [Mon, 29 Jul 2013 17:45:51 +0000 (17:45 +0000)]
ASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
https://bugs.webkit.org/show_bug.cgi?id=118744

Reviewed by Philip Rogers.

Source/WebCore:

If we have an <animateTransform> tag that sets the attributeName and attributeType
properties however they are not consistent and we shouldn't try to apply it.
It is already checked and catched in SVGAnimateElement::resetAnimatedType() but
DontApplyAnimation case isn't handled properly. The patch forces an early return
in this case.

Test: svg/animations/attributeNameAndAttributeTypeMissmatch.svg

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::resetAnimatedType):

LayoutTests:

Adding test to check whether attributeName and attributeType are consistent in <animateTransform>.

* platform/qt/svg/animations/attributeNameAndAttributeTypeMissmatch-expected.txt: Added.
* svg/animations/attributeNameAndAttributeTypeMissmatch.svg: Added.

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

7 years ago[ATK] Implement allAttributes() for AccessibilityUIElement
mario@webkit.org [Mon, 29 Jul 2013 17:16:25 +0000 (17:16 +0000)]
[ATK] Implement allAttributes() for AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118966

Reviewed by Gustavo Noronha Silva.

Tools:

Implemented AccessibilityUIElement::allAttributes() both in
DumpRenderTree and the WebKitTestRunner.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(getAtkAttributeSetAsString): Moved up in the file, and refactored
to use StringBuilder and return a String instead of a gchar*.
(roleToString): Changed not to return the "AXRole: " prefix, so
we can use it as well from attributesOfElement().
(attributesOfElement): New function to dump attributes for an object.
(AccessibilityUIElement::allAttributes): Call attributesOfElement().
(AccessibilityUIElement::role): Updated to prefix "AXRole: ".

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(getAtkAttributeSetAsString): Refactored to use StringBuilder and return
a String instead of a gchar*.

(WTF::roleToString): Changed not to return the "AXRole: " prefix,
so we can use it as well from attributesOfElement().
(WTF::attributesOfElement): New function to dump attributes for an object.
(WTR::AccessibilityUIElement::allAttributes): Call attributesOfElement().
(WTR::AccessibilityUIElement::role): Updated to prefix "AXRole: ".

LayoutTests:

Removed fixed tests from TestExpectations and added/updated expected
results for tests that are now dumping more useful information.

* platform/gtk/TestExpectations: Removed four fixed tests.
* platform/gtk/accessibility/image-link-expected.txt: Updated.
* platform/gtk/accessibility/table-cell-spans-expected.txt: Updated
* platform/gtk/accessibility/table-cells-expected.txt: Updated
* platform/gtk/accessibility/table-detection-expected.txt: Added.
* platform/gtk/accessibility/table-one-cell-expected.txt: Added.
* platform/gtk/accessibility/table-with-rules-expected.txt: Added.
* platform/gtk/accessibility/transformed-element-expected.txt: Added.

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

7 years agoREGRESSION(148300) GIFs not reanimated after resumeActiveDOMObjectAndAnimations
allan.jensen@digia.com [Mon, 29 Jul 2013 17:10:31 +0000 (17:10 +0000)]
REGRESSION(148300) GIFs not reanimated after resumeActiveDOMObjectAndAnimations
https://bugs.webkit.org/show_bug.cgi?id=119217

Reviewed by Tim Horton.

Commit 148300 introduced a new better was of restarting GIF animations after
they have been suspended. Unfortunately the method was not activated when a page
is resumed but only when it is returning from background.

This fixes GIF animations that are stopped during user interaction on Qt and other
platforms using suspendActiveDOMObjectAndAnimations.

* page/Frame.cpp:
(WebCore::Frame::resumeActiveDOMObjectsAndAnimations):

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

7 years agoAdd support infrastructure for iOS WebKit port
dbates@webkit.org [Mon, 29 Jul 2013 16:35:34 +0000 (16:35 +0000)]
Add support infrastructure for iOS WebKit port
https://bugs.webkit.org/show_bug.cgi?id=119168

Reviewed by Ryosuke Niwa.

Implement support infrastructure towards building iOS WebKit.

* Scripts/webkitdirs.pm:
(xcodeSDKPlatformName): Added.
(determineConfigurationProductDir):
(builtDylibPathForName):
(willUseIOSDeviceSDKWhenBuilding): Added.
(willUseIOSSimulatorSDKWhenBuilding): Added.
(isIOSWebKit): Added.
(copyInspectorFrontendFiles):

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

7 years agoMade EGL useable by non-cairo ports.
achristensen@apple.com [Mon, 29 Jul 2013 16:34:47 +0000 (16:34 +0000)]
Made EGL useable by non-cairo ports.
https://bugs.webkit.org/show_bug.cgi?id=119177

Reviewed by Brent Fulgham.

* platform/graphics/cairo/GLContext.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::GLContextEGL):
* platform/graphics/egl/GLContextEGL.h:
Protected Cairo-specific code with #if USE(CAIRO)

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

7 years agoCoordinatedGraphics: Add API to get and set the active state of a WebView
commit-queue@webkit.org [Mon, 29 Jul 2013 16:25:08 +0000 (16:25 +0000)]
CoordinatedGraphics: Add API to get and set the active state of a WebView
https://bugs.webkit.org/show_bug.cgi?id=119067

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-07-29
Reviewed by Noam Rosenthal.

Source/WebCore:

Added a method to return whether a scene is active or not.

No new tests, no behavior change.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
(WebCore::CoordinatedGraphicsScene::isActive): Added method to return the
active state of the scene.

Source/WebKit2:

A view being in the "active" state generally means that it is not in the
"background", although this definition can vary depending on the platform
under consideration.

This patch adds the following APIs to WKView:
- bool WKViewIsActive(WKViewRef)
This API accepts a WKViewRef as parameter and returns a boolean indicating
whether the given view is active.

- void WKViewSetIsActive(WKViewRef, bool)
This API accepts a WKViewRef and a boolean as parameteres, and it sets the
active state of the given view to the given boolean argument.

* UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
(WKViewIsActive): API added.
(WKViewSetIsActive): Ditto.
* UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::initialize): Use new setActive method.
(WebKit::WebView::setActive): Added method to set the active state of the
view.
(WebKit::WebView::isActive): Added method to return the active state of
view.
(WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
method.
(WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
* UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
and setActive.

Tools:

Added API tests for WKViewIsActive and WKViewSetIsActive.

* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::webProcessCrashed):
(TestWebKitAPI::webProcessRelaunched):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp:
Bundle added to allow crashing the WebProcess and testing the active state of a view
under such condition.
(TestWebKitAPI::WKViewIsActiveSetIsActiveTest::WKViewIsActiveSetIsActiveTest):
(TestWebKitAPI::WKViewIsActiveSetIsActiveTest::didReceiveMessage):

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

7 years ago[ATK] Issues with edge cases when getting offsets for a text range in AtkText
mario@webkit.org [Mon, 29 Jul 2013 15:46:35 +0000 (15:46 +0000)]
[ATK] Issues with edge cases when getting offsets for a text range in AtkText
https://bugs.webkit.org/show_bug.cgi?id=118908

Reviewed by Martin Robinson.

Source/WebCore:

Reimplement getSelectionOffsetsForObject() just in term of
Positions instead of using ranges, which makes it simpler and
works better. Also, make sure we use the right Node as reference
for the accessibility object by getting the proper one both for
text control objects (e.g. input, text area) and normal ones.

* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getNodeForAccessibilityObject): New helper function to ensure we
always get the relevant object from the DOM tree for a given
accessibility object, in the context of the implementation of
AtkText, so it works both with Text Controls and other elements.
(getSelectionOffsetsForObject): Rewritten this function in terms
of VisiblePositions and avoiding weird operations with ranges, so
we have more control to fine tune the results and give more
accurate ones. Besides, now it works better with edge cases.

Source/WebKit/gtk:

* tests/testatk.c:
(runGetTextTests): Updated unit tests to check more cases of
calling the atk_text_get_text_*_offset() functions for WORD.

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

7 years agoRemove duplicated LayerTreeHost::supportsAcceleratedCompositing
commit-queue@webkit.org [Mon, 29 Jul 2013 15:36:54 +0000 (15:36 +0000)]
Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
https://bugs.webkit.org/show_bug.cgi?id=118949

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-07-29
Reviewed by Noam Rosenthal.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::supportsAcceleratedCompositing):

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

7 years agofast/spatial-navigation test fail on mac-wk2
graouts@apple.com [Mon, 29 Jul 2013 15:30:56 +0000 (15:30 +0000)]
fast/spatial-navigation test fail on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=96438

This test now passes on Mac so we don't need to skip it any longer.

Reviewed by Antonio Gomes.

* platform/mac/TestExpectations:

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

7 years agoClean up DragImage
zandobersek@gmail.com [Mon, 29 Jul 2013 14:37:40 +0000 (14:37 +0000)]
Clean up DragImage
https://bugs.webkit.org/show_bug.cgi?id=118981

Reviewed by Anders Carlsson.

* dom/Clipboard.h: Add forward declaration for the Range class. This was not necessary until now as the forward
declaration was introduced in the DragImage header, from where it's being removed due to not being required in that class.
* page/Frame.h: Ditto.
* platform/DragImage.cpp: Remove the unnecessary DragController and FontRenderingMode header inclusions.
The latter is already included in the header.
* platform/DragImage.h: Remove the forward declaration for the Range class - it's not used by the DragImage class at all.

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

7 years agoUpdated Telugu [te] Translations for WebKitGTK+ HEAD
kov@webkit.org [Mon, 29 Jul 2013 13:50:32 +0000 (13:50 +0000)]
Updated Telugu [te] Translations for WebKitGTK+ HEAD
https://bugs.webkit.org/show_bug.cgi?id=117501

Patch by Krishnababu Krothapalli <k.meetme@gmail.com> on 2013-07-29
Reviewed by Gustavo Noronha.

* te.po: Updated.

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

7 years ago[l10n] [mr] Updated WebKitGTK+ Translation(s) in Marathi [mr] language
kov@webkit.org [Mon, 29 Jul 2013 13:34:43 +0000 (13:34 +0000)]
[l10n] [mr] Updated WebKitGTK+ Translation(s) in Marathi [mr] language
https://bugs.webkit.org/show_bug.cgi?id=119001

Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2013-07-29
Reviewed by Gustavo Noronha.

* mr.po: Updated.

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

7 years ago[Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
zandobersek@gmail.com [Mon, 29 Jul 2013 13:23:36 +0000 (13:23 +0000)]
[Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
https://bugs.webkit.org/show_bug.cgi?id=119212

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

* GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
variables that are not defined during the configuration process.

Tools:

* GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
variables that are not defined during the configuration process.
* TestWebKitAPI/GNUmakefile.am: Ditto.
* WebKitTestRunner/GNUmakefile.am: Ditto.

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

7 years ago[EFL] Improve string use in ErrorsEfl
kseo@webkit.org [Mon, 29 Jul 2013 07:45:44 +0000 (07:45 +0000)]
[EFL] Improve string use in ErrorsEfl
https://bugs.webkit.org/show_bug.cgi?id=119207

Reviewed by Christophe Dumez.

Use ASCIILiteral for constant strings becoming WTFStrings.

No behavior change.

* platform/efl/ErrorsEfl.cpp:
(WebCore::cancelledError):
(WebCore::blockedError):
(WebCore::cannotShowURLError):
(WebCore::interruptedForPolicyChangeError):
(WebCore::cannotShowMIMETypeError):
(WebCore::fileDoesNotExistError):
(WebCore::pluginWillHandleLoadError):
(WebCore::downloadCancelledByUserError):
(WebCore::printerNotFoundError):
(WebCore::invalidPageRangeToPrint):

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

7 years ago[EFL][WK2] Simplify context_menu_spelling_items_availability unit test
g.czajkowski@samsung.com [Mon, 29 Jul 2013 07:17:01 +0000 (07:17 +0000)]
[EFL][WK2] Simplify context_menu_spelling_items_availability unit test
https://bugs.webkit.org/show_bug.cgi?id=119085

Reviewed by Gyuyoung Kim.

Use findContextMenuItem method to check whether the item
appears in context menu.

* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
(EWK2TextCheckerTest::findContextMenuItem):
Do not report failure inside the method.
It doesn't allow to test the negative test cases.

(EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
Use findContextMenuItem method.

(EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
(EWK2TextCheckerTest::selectLearnSpelling):
(EWK2TextCheckerTest::selectIgnoreSpelling):
Verify the return value of findContextMenuItem.

(TEST_F):
Reset wasContextMenuShown variable, it's needed after r152153.
Use waitUntilTrue method.

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

7 years agoDon't update the text track override CSS every time a media element is created.
akling@apple.com [Mon, 29 Jul 2013 06:23:55 +0000 (06:23 +0000)]
Don't update the text track override CSS every time a media element is created.
<http://webkit.org/b/119199>
<rdar://problem/14572855>

Reviewed by Darin Adler.

We should only have to update the CSS if the accessibility caption preferences are changed.
This was forcing a full style recalc in every Document any time a media element is instantiated.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):

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

7 years agoInclude <stdio.h> to declare perror()
aestes@apple.com [Mon, 29 Jul 2013 03:08:09 +0000 (03:08 +0000)]
Include <stdio.h> to declare perror()
https://bugs.webkit.org/show_bug.cgi?id=119198

Reviewed by Andreas Kling.

Silences an implicit declaration warning.

* DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c:

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

7 years agoStop exporting Widget::frameRectsChanged()
aestes@apple.com [Mon, 29 Jul 2013 01:16:22 +0000 (01:16 +0000)]
Stop exporting Widget::frameRectsChanged()
https://bugs.webkit.org/show_bug.cgi?id=119196

Reviewed by Darin Adler.

The definition is inlined in a private header, so there's no need to
export a symbol to link against. On the Mac, since we compile with
-fvisibility-inlines-hidden, removing the symbol from the export file
silences an ld warning about exporting a hidden symbol.

* WebCore.exp.in: Removed __ZN7WebCore6Widget17frameRectsChangedEv.

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

7 years agoClean up CSSPrimitiveValue::equals a bit
weinig@apple.com [Sun, 28 Jul 2013 23:36:18 +0000 (23:36 +0000)]
Clean up CSSPrimitiveValue::equals a bit
https://bugs.webkit.org/show_bug.cgi?id=119195

Reviewed by Andreas Kling.

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::equals):
This should not change behavior, but is quite a bit clearer.

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

7 years agofast/forms/input-in-table-cell-no-value.html fails on platform without ENABLE(INPUT_T...
graouts@apple.com [Sun, 28 Jul 2013 22:08:58 +0000 (22:08 +0000)]
fast/forms/input-in-table-cell-no-value.html fails on platform without ENABLE(INPUT_TYPE_DATE)
https://bugs.webkit.org/show_bug.cgi?id=90987

This test now passes on Mac so we don't need to skip it any longer.

Reviewed by Anders Carlsson.

* platform/mac/TestExpectations:

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

7 years agoREGRESSION: Crash when opening Facebook.com
oliver@apple.com [Sun, 28 Jul 2013 18:04:18 +0000 (18:04 +0000)]
REGRESSION: Crash when opening Facebook.com
https://bugs.webkit.org/show_bug.cgi?id=119155

Reviewed by Andreas Kling.

Scope nodes are always objects, so we should be using SpecObjectOther
rather than SpecCellOther.  Marking Scopes as CellOther leads to a
contradiction in the CFA, resulting in bogus codegen.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):

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

7 years ago[EFL] Bump required version of EFL to 1.7
ryuan.choi@samsung.com [Sun, 28 Jul 2013 06:48:35 +0000 (06:48 +0000)]
[EFL] Bump required version of EFL to 1.7
https://bugs.webkit.org/show_bug.cgi?id=119144

Reviewed by Christophe Dumez.

.:

We have supported 1.6 for Tizen build since r137203.
But Tizen now supports 1.7+ after Tizen released 2.0.

* Source/cmake/OptionsEfl.cmake:
Bumped EFL to 1.7 and removed promotion.

Source/WebCore:

* platform/efl/FileSystemEfl.cpp: Removed workaround code which was fixed at Eina 1.7
(WebCore::listDirectory):

Tools:

* MiniBrowser/efl/CMakeLists.txt: Bumped EFL to 1.7

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

7 years agoReplace all uses of GraphicsLayer::create function with the one that takes a Graphics...
commit-queue@webkit.org [Sun, 28 Jul 2013 05:14:33 +0000 (05:14 +0000)]
Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
https://bugs.webkit.org/show_bug.cgi?id=119186

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-07-27
Reviewed by Anders Carlsson.

Source/WebCore:

Remove GraphicsLayer::create(GraphicsLayerClient*) function since it's
been deprecated by r130072.

* WebCore.exp.in:
* WebCore.order:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

Source/WebKit/blackberry:

Replace GraphicsLayer::create calls and add a new function WebPagePrivate::graphicsLayerFactory().

* Api/WebOverlay.cpp:
(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::WebOverlayPrivateWebKitThread):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::graphicsLayerFactory):
(BlackBerry::WebKit::WebPagePrivate::overlayLayer):
* Api/WebPage_p.h:
* WebKitSupport/FrameLayers.cpp:
(BlackBerry::WebKit::FrameLayers::addLayer):
* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::draw):

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):

Source/WebKit/qt:

* WebCoreSupport/TextureMapperLayerClientQt.cpp:
(TextureMapperLayerClientQt::setRootGraphicsLayer):

Source/WebKit2:

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::getOrCreateLayer):

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

7 years agoHTMLParserScheduler gets into an inconsistent state when suspended for reasons
ap@apple.com [Sun, 28 Jul 2013 00:05:11 +0000 (00:05 +0000)]
HTMLParserScheduler gets into an inconsistent state when suspended for reasons
other than WillDeferLoading
https://bugs.webkit.org/show_bug.cgi?id=119172

Reviewed by Sam Weinig.

When loading is not deferred, even a suspended parser will be processing new data
from network, potentially starting its next chunk timer.

Limit suspending to when we can actually enforce it.

Here is what happens for each ReasonForSuspension:
- JavaScriptDebuggerPaused: continuing to parse is probably wrong, but in practice,
this is unlikely to happen while debugging, and wasn't properly prevented before
this patch anyway.
- WillDeferLoading: No change in behavior.
- DocumentWillBecomeInactive: This is about page cache, and documents are only allowed
to be cached when fully loaded.
- PageWillBeSuspended: This appears to be part of Frame::suspendActiveDOMObjectsAndAnimations()
implementation, I'm guessing that it is appropriate to continue loading.

* dom/Document.cpp:
(WebCore::Document::suspendScheduledTasks):
(WebCore::Document::resumeScheduledTasks):
Only suspend/resume parsing when loading is deferred. This is not expressed directly,
but it's important to do this to avoid executing JS behind alerts and other modal dialogs.

* html/parser/HTMLParserScheduler.h: Added m_suspended member variable for assertions.

* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
(WebCore::HTMLParserScheduler::scheduleForResume):
(WebCore::HTMLParserScheduler::suspend):
(WebCore::HTMLParserScheduler::resume):
Update m_suspended and assert as appropriate. No behavior changes for release mode.

* page/Frame.cpp: (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
Added a FIXME.

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

7 years agoMake SuspendableTimer safer
ap@apple.com [Sun, 28 Jul 2013 00:04:14 +0000 (00:04 +0000)]
Make SuspendableTimer safer
https://bugs.webkit.org/show_bug.cgi?id=119127

Reviewed by Sam Weinig.

SuspendableTimer now enforces that it stays suspended until resumed (or until stopped
and started again). To ensure this, TimerBase is now a private base class, and parts of
its interface that clients use are reimplemented with suspend/resume in mind.

Derived classes are still allowed to override TimerBase virtual functions (notably
fired() and alignedFireTime()).

* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueueTimer): Removed an extraneous WTF_MAKE_NONCOPYABLE,
TimerBase has it already.
(WebCore::DocumentEventQueueTimer::create): Use our normal create() pattern.
(WebCore::DocumentEventQueue::DocumentEventQueue): Made the constructor private, accordingly.
(WebCore::DocumentEventQueue::cancelEvent): Use SuspendableTimer::cancel(), which
is a new name to disambiguate TimerBase::stop() and ActiveDOMObject::stop().
(WebCore::DocumentEventQueue::close): Ditto.

* page/DOMTimer.cpp:
(WebCore::DOMTimer::fired): Now that SuspendableTimer knows whether it's currently
suspended, assert that it's not.
(WebCore::DOMTimer::didStop): Separated ActiveDOMObject::stop() implementation from
additional cleanup, allowing for better SuspendableTimer encapsulation.

* page/DOMTimer.h: Added FINAL and OVVERIDE specifiers as appropriate.

* page/SuspendableTimer.h: Added FINAL (and OVERRIDE) qualifiers to ActiveDOMObject
methods. A derived class that wants to override current behavior is most likely not
a timer, and thus shouldn't be a derived class.
(WebCore::SuspendableTimer::isActive): SuspendableTimer with a next fire time is
active even if suspended, we shouldn't overwrite its saved data thinking that it's
inactive.
(WebCore::SuspendableTimer::isSuspended): Exposed to clients (m_suspended is no
longer debug only).

* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::SuspendableTimer): Updated for new variable names.
(WebCore::SuspendableTimer::stop): This is ActiveDOMObject::stop(), which is called
before final destruction. We don't track this state directly, but can approximate
with setting m_suspended, so even if someone tries to start the timer afterwards,
it won't fire.
(WebCore::SuspendableTimer::suspend): Updated for new names.
(WebCore::SuspendableTimer::resume): Ditto.
(WebCore::SuspendableTimer::didStop): No-op default implementation for client hook.
(WebCore::SuspendableTimer::cancel): Equivalent of TimerBase::stop(), which also
works when suspended.
(WebCore::SuspendableTimer::startRepeating): Replacement for TimerBase function with
the same name, which works correctly when suspended. We don't want to actually start
the timer in this case.
(WebCore::SuspendableTimer::startOneShot): Ditto.
(WebCore::SuspendableTimer::repeatInterval): Ditto.
(WebCore::SuspendableTimer::augmentFireInterval): Ditto.
(WebCore::SuspendableTimer::augmentRepeatInterval): Ditto.

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

7 years agoAX: VoiceOver not working with data detection page overlays
cfleizach@apple.com [Sat, 27 Jul 2013 23:44:27 +0000 (23:44 +0000)]
AX: VoiceOver not working with data detection page overlays
https://bugs.webkit.org/show_bug.cgi?id=118680

Reviewed by Sam Weinig.

Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
This requires two methods in a new callback struct. One to copy the attribute names, and the other to
copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
overlay at this time as there are no clients with such a need.

* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(PageOverlayClientImpl::setAccessibilityClient):
(PageOverlayClientImpl::PageOverlayClientImpl):
(PageOverlayClientImpl::copyAccessibilityAttributeValue):
(PageOverlayClientImpl::copyAccessibilityAttributeNames):
(WKBundlePageOverlaySetAccessibilityClient):
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
* WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::copyAccessibilityAttributeValue):
(WebKit::PageOverlay::copyAccessibilityAttributeNames):
* WebProcess/WebPage/PageOverlay.h:
(WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
(WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
(WebKit::PageOverlay::client):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
(WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
(-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

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

7 years agoFix builds against an SDK.
mrowe@apple.com [Sat, 27 Jul 2013 23:20:15 +0000 (23:20 +0000)]
Fix builds against an SDK.

* gtest/xcode/Config/FrameworkTarget.xcconfig: Ensure that gtest.framework is installed
in a location compatible with the SDK generation process.

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

7 years agoIf entering fullscreen for a window fails, don't leave things in a bad state
simon.fraser@apple.com [Sat, 27 Jul 2013 23:14:07 +0000 (23:14 +0000)]
If entering fullscreen for a window fails, don't leave things in a bad state
https://bugs.webkit.org/show_bug.cgi?id=119179
<rdar://problem/14517068>

Reviewed by Sam Weinig.

On Lion, attempting to take a video fullscreen when the Safari window is already
fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:

When this happens we have to undo the work done when entering fullscreen, to
avoid leaving things in a bad state.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):

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

7 years agoAdd assertions for CSSPrimitiveValue's m_value.valueID accessor
weinig@apple.com [Sat, 27 Jul 2013 22:23:38 +0000 (22:23 +0000)]
Add assertions for CSSPrimitiveValue's m_value.valueID accessor
https://bugs.webkit.org/show_bug.cgi?id=119180

Reviewed by Andreas Kling.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
(WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
(WebCore::CSSPrimitiveValue::operator EBorderStyle):
(WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
(WebCore::CSSPrimitiveValue::operator CompositeOperator):
(WebCore::CSSPrimitiveValue::operator ControlPart):
(WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
(WebCore::CSSPrimitiveValue::operator EFillAttachment):
(WebCore::CSSPrimitiveValue::operator EFillBox):
(WebCore::CSSPrimitiveValue::operator EFillRepeat):
(WebCore::CSSPrimitiveValue::operator EBoxPack):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):
(WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
(WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
(WebCore::CSSPrimitiveValue::operator EBoxSizing):
(WebCore::CSSPrimitiveValue::operator EBoxDirection):
(WebCore::CSSPrimitiveValue::operator EBoxLines):
(WebCore::CSSPrimitiveValue::operator EBoxOrient):
(WebCore::CSSPrimitiveValue::operator ECaptionSide):
(WebCore::CSSPrimitiveValue::operator EClear):
(WebCore::CSSPrimitiveValue::operator ECursor):
(WebCore::CSSPrimitiveValue::operator CursorVisibility):
(WebCore::CSSPrimitiveValue::operator EDisplay):
(WebCore::CSSPrimitiveValue::operator EEmptyCell):
(WebCore::CSSPrimitiveValue::operator EAlignItems):
(WebCore::CSSPrimitiveValue::operator EJustifyContent):
(WebCore::CSSPrimitiveValue::operator EFlexDirection):
(WebCore::CSSPrimitiveValue::operator EAlignContent):
(WebCore::CSSPrimitiveValue::operator EFlexWrap):
(WebCore::CSSPrimitiveValue::operator EFloat):
(WebCore::CSSPrimitiveValue::operator LineBreak):
(WebCore::CSSPrimitiveValue::operator EListStylePosition):
(WebCore::CSSPrimitiveValue::operator EListStyleType):
(WebCore::CSSPrimitiveValue::operator EMarginCollapse):
(WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
(WebCore::CSSPrimitiveValue::operator RegionFragment):
(WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
(WebCore::CSSPrimitiveValue::operator ENBSPMode):
(WebCore::CSSPrimitiveValue::operator EOverflow):
(WebCore::CSSPrimitiveValue::operator EPageBreak):
(WebCore::CSSPrimitiveValue::operator EPosition):
(WebCore::CSSPrimitiveValue::operator EResize):
(WebCore::CSSPrimitiveValue::operator ETableLayout):
(WebCore::CSSPrimitiveValue::operator ETextAlign):
(WebCore::CSSPrimitiveValue::operator TextAlignLast):
(WebCore::CSSPrimitiveValue::operator TextJustify):
(WebCore::CSSPrimitiveValue::operator TextDecoration):
(WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
(WebCore::CSSPrimitiveValue::operator ETextSecurity):
(WebCore::CSSPrimitiveValue::operator ETextTransform):
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
(WebCore::CSSPrimitiveValue::operator EUserDrag):
(WebCore::CSSPrimitiveValue::operator EUserModify):
(WebCore::CSSPrimitiveValue::operator EUserSelect):
(WebCore::CSSPrimitiveValue::operator EVerticalAlign):
(WebCore::CSSPrimitiveValue::operator EVisibility):
(WebCore::CSSPrimitiveValue::operator EWhiteSpace):
(WebCore::CSSPrimitiveValue::operator EWordBreak):
(WebCore::CSSPrimitiveValue::operator EOverflowWrap):
(WebCore::CSSPrimitiveValue::operator TextDirection):
(WebCore::CSSPrimitiveValue::operator WritingMode):
(WebCore::CSSPrimitiveValue::operator TextCombine):
(WebCore::CSSPrimitiveValue::operator RubyPosition):
(WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
(WebCore::CSSPrimitiveValue::operator TextOverflow):
(WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
(WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
(WebCore::CSSPrimitiveValue::operator TextOrientation):
(WebCore::CSSPrimitiveValue::operator EPointerEvents):
(WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
(WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
(WebCore::CSSPrimitiveValue::operator FontWeight):
(WebCore::CSSPrimitiveValue::operator FontItalic):
(WebCore::CSSPrimitiveValue::operator FontSmallCaps):
(WebCore::CSSPrimitiveValue::operator TextRenderingMode):
(WebCore::CSSPrimitiveValue::operator ColorSpace):
(WebCore::CSSPrimitiveValue::operator Hyphens):
(WebCore::CSSPrimitiveValue::operator LineSnap):
(WebCore::CSSPrimitiveValue::operator LineAlign):
(WebCore::CSSPrimitiveValue::operator Order):
(WebCore::CSSPrimitiveValue::operator ESpeak):
(WebCore::CSSPrimitiveValue::operator BlendMode):
(WebCore::CSSPrimitiveValue::operator LineCap):
(WebCore::CSSPrimitiveValue::operator LineJoin):
(WebCore::CSSPrimitiveValue::operator WindRule):
(WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
(WebCore::CSSPrimitiveValue::operator EBorderCollapse):
(WebCore::CSSPrimitiveValue::operator EBorderFit):
(WebCore::CSSPrimitiveValue::operator EImageRendering):
(WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
(WebCore::CSSPrimitiveValue::operator ColumnAxis):
(WebCore::CSSPrimitiveValue::operator ColumnProgression):
(WebCore::CSSPrimitiveValue::operator WrapFlow):
(WebCore::CSSPrimitiveValue::operator WrapThrough):
(WebCore::CSSPrimitiveValue::operator GridAutoFlow):
(WebCore::CSSPrimitiveValue::operator EBufferedRendering):
(WebCore::CSSPrimitiveValue::operator EColorInterpolation):
(WebCore::CSSPrimitiveValue::operator EColorRendering):
(WebCore::CSSPrimitiveValue::operator EDominantBaseline):
(WebCore::CSSPrimitiveValue::operator EShapeRendering):
(WebCore::CSSPrimitiveValue::operator ETextAnchor):
(WebCore::CSSPrimitiveValue::operator SVGWritingMode):
(WebCore::CSSPrimitiveValue::operator EVectorEffect):
(WebCore::CSSPrimitiveValue::operator EMaskType):
Assert that the CSSPrimitiveValue is holding a CSSValueID before accessing it.

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

7 years agoREGRESSION(r153380): Can't open messages on Gmail
akling@apple.com [Sat, 27 Jul 2013 21:40:26 +0000 (21:40 +0000)]
REGRESSION(r153380): Can't open messages on Gmail
https://bugs.webkit.org/show_bug.cgi?id=119165

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2013-07-27
Reviewed by Andreas Kling.

This bug was caused by r153380. The bug doesn't reproduce as long as WebKit is built by clang 4.2 and later
or final is disabled (it could be clang 4.1 and later but we don't have information about that).

Fix the bug by disabling final on earlier versions of clang. Unfortunately we can only check versions of
Apple clang since __clang_major__ and __clang_minor__ are vendor dependent.

* wtf/Compiler.h:

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

7 years agoStop pretending to support <string> for text-align.
weinig@apple.com [Sat, 27 Jul 2013 20:49:12 +0000 (20:49 +0000)]
Stop pretending to support <string> for text-align.
https://bugs.webkit.org/show_bug.cgi?id=119107

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/text-align-string-crash.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Stop pretending to support <string> for text-align.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyTextAlign::applyValue):
ASSERT that only value IDs get passed.

LayoutTests:

* fast/css/text-align-string-crash-expected.txt: Added.
* fast/css/text-align-string-crash.html: Added.

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

7 years agoIntroduce toSVGRectElement(), use it
gyuyoung.kim@samsung.com [Sat, 27 Jul 2013 04:48:54 +0000 (04:48 +0000)]
Introduce toSVGRectElement(), use it
https://bugs.webkit.org/show_bug.cgi?id=119126

Reviewed by Andreas Kling.

As a step to change static_cast with toSVGXXX, static_cast<SVGRectElement*> can
be changed with toSVGRectElement().

No new tests, no behavior change.

* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::updateShapeFromElement):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromRectElement):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* svg/SVGRectElement.h:
(WebCore::toSVGRectElement):

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

7 years agoWith frame flattening on, too many resize events fired if document is resized in...
commit-queue@webkit.org [Sat, 27 Jul 2013 01:17:04 +0000 (01:17 +0000)]
With frame flattening on, too many resize events fired if document is resized in onresize handler.
https://bugs.webkit.org/show_bug.cgi?id=119075

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-07-26
Reviewed by Simon Fraser.

With http://trac.webkit.org/changeset/149287, WebCore also sends resize event in FrameView::setFrameRect.  When
flattening an iframe, setFrameRect could be called multiple times from RenderFrameBase::layoutWithFlattening and
we could get multiple resize events.  This patch adds a flag in FrameView to disallow sending resize events if
we are inside layoutWithFlattening.  The resize event will be sent in performPostLayoutTasks after the iframe
is done laying out.

Manually tested by verifying the rendering slowness in www.hi-pda.com is fixed when frame flattening is enabled.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::setFrameRect):
* page/FrameView.h:
(WebCore::FrameView::setResizeEventAllowed):
(WebCore::FrameView::resizeEventAllowed):
* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening):

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

7 years agoAllow new transitions to run even when controller is suspended
dino@apple.com [Sat, 27 Jul 2013 00:57:31 +0000 (00:57 +0000)]
Allow new transitions to run even when controller is suspended
https://bugs.webkit.org/show_bug.cgi?id=119171
<rdar://problem/14511404>

Reviewed by Simon Fraser.

Source/WebCore:

Expose a new property on AnimationController that allows newly created
animations to run even if the controller says it is suspended. See WebKit
ChangeLog for more details.

Test: transitions/created-while-suspended.html

* WebCore.exp.in: Export the new methods so WebView can use them.
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
(WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Check new flag is not true.
(WebCore::AnimationControllerPrivate::setAllowsNewAnimationsWhileSuspended): Expose setter.
(WebCore::AnimationController::allowsNewAnimationsWhileSuspended): "Public" getter.
(WebCore::AnimationController::setAllowsNewAnimationsWhileSuspended): "Public" setter.
* page/animation/AnimationController.h:
* page/animation/AnimationControllerPrivate.h:
(WebCore::AnimationControllerPrivate::allowsNewAnimationsWhileSuspended):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::CompositeAnimation): Only suspend if new flag is false. Everything else
relies on the m_suspended flag, so the real code change is this one line.

Source/WebKit/mac:

Expose a new SPI on WebView that triggers the (buggy) old behaviour
for animations, such that any newly created animations will start even
when the document is supposedly suspended. It turns out that client content was
unknowingly relying on this behaviour - e.g. suspending a view, loading a
bunch of new content, bringing the view on screen and then unsuspending. In this
situation, we were not running CSS transitions, because the page was suspended.
However, JS was still triggering them, and content was expecting a transitionEnd event.

* WebView/WebView.mm:
(-[WebView allowsNewCSSAnimationsWhileSuspended]): Calls into AnimationController.
(-[WebView setAllowsNewCSSAnimationsWhileSuspended:]): Ditto.
* WebView/WebViewPrivate.h: New methods listed above.

LayoutTests:

This is actually a test to make sure this fix didn't break anything. There is no
way to trigger the new behaviour from the test system (or from Safari).

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

7 years agoASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
msaboff@apple.com [Fri, 26 Jul 2013 23:19:30 +0000 (23:19 +0000)]
ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
https://bugs.webkit.org/show_bug.cgi?id=119170

Reviewed by Michael Saboff.

Added a copy constructor to CheckedBoolean.

* wtf/CheckedBoolean.h:
(CheckedBoolean::CheckedBoolean):

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

7 years ago[CSS Shapes] New positioning model: support for polygon shape-outside
commit-queue@webkit.org [Fri, 26 Jul 2013 23:00:24 +0000 (23:00 +0000)]
[CSS Shapes] New positioning model: support for polygon shape-outside
https://bugs.webkit.org/show_bug.cgi?id=118085

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-07-26
Reviewed by Dirk Schulze.

Update polygon tests to work for new positioning model and migrate
them to be W3C spec tests. Thus, they have been imported from the
CSSWG repository now.

* TestExpectations: Remove skip for replaced test.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html: Added.
* csswg/submitted/shapes/shape-outside/w3c-import.log:
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon.html: Removed.

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

7 years agoAdded module definition file for building libEGL.
achristensen@apple.com [Fri, 26 Jul 2013 22:54:59 +0000 (22:54 +0000)]
Added module definition file for building libEGL.
https://bugs.webkit.org/show_bug.cgi?id=119162

Reviewed by Brent Fulgham.

* ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.

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

7 years ago[Windows] Unreviewed build fix.
bfulgham@apple.com [Fri, 26 Jul 2013 21:57:56 +0000 (21:57 +0000)]
[Windows] Unreviewed build fix.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::createMetadataKeyNames): Do not include Media Selection
synbols when building without Media Selection API.

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

7 years agoREGRESSION(FTL?): Crashes in plugin tests
oliver@apple.com [Fri, 26 Jul 2013 21:21:18 +0000 (21:21 +0000)]
REGRESSION(FTL?): Crashes in plugin tests
https://bugs.webkit.org/show_bug.cgi?id=119141

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Re-export getStackTrace

* interpreter/Interpreter.h:

Source/WebCore:

Getting the correct semantics to appease the inspector is fairly
awful with the iterator system.  For the time being lets just revert
to requesting a full stack trace as we did in the past.

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):

LayoutTests:

Bring back plugin tests

* platform/mac/TestExpectations:

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

7 years ago[Windows] Unreviewed build fix.
bfulgham@apple.com [Fri, 26 Jul 2013 21:17:59 +0000 (21:17 +0000)]
[Windows] Unreviewed build fix.

Correct build when targeting a release that does not have the AVCF
Legible Output infrastructure.

* platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Exclude
a soft-link target when the API doesn't exist.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
Correct include options for non-Legible Output supporting environments.
(WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
Prevent build failure when building with legacy caption support.

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

7 years agoREGRESSION: Crash when opening a message on Gmail
fpizlo@apple.com [Fri, 26 Jul 2013 21:12:30 +0000 (21:12 +0000)]
REGRESSION: Crash when opening a message on Gmail
https://bugs.webkit.org/show_bug.cgi?id=119105

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Mark Hahnenberg.

- GetById patching in the DFG needs to be more disciplined about how it derives the
  slow path.

- Fix some dumping code thread safety issues.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::dump):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* dfg/DFGRepatch.cpp:
(JSC::DFG::getPolymorphicStructureList):
(JSC::DFG::tryBuildGetByIDList):

LayoutTests:

Reviewed by Oliver Hunt and Mark Hahnenberg.

* fast/js/dfg-get-by-id-unset-then-proto-less-warmup.html: Added.
* fast/js/dfg-get-by-id-unset-then-proto-more-warmup.html: Added.
* fast/js/dfg-get-by-id-unset-then-proto.html: Added.
* fast/js/jsc-test-list
* fast/js/script-tests/dfg-get-by-id-unset-then-proto-less-warmup.js: Added.
(foo):
(Blah):
* fast/js/script-tests/dfg-get-by-id-unset-then-proto-more-warmup.js: Added.
(foo):
(Blah):
* fast/js/script-tests/dfg-get-by-id-unset-then-proto.js: Added.
(foo):
(Blah):

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

7 years agoApply FINAL to the RenderObject hierarchy.
akling@apple.com [Fri, 26 Jul 2013 20:41:32 +0000 (20:41 +0000)]
Apply FINAL to the RenderObject hierarchy.
<http://webkit.org/b/115977>

Mostly from Blink r148795 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=148795>

* rendering/: Beat things with the FINAL stick.
* WebCore.exp.in: Export a now-needed symbol.

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

7 years agoAdd another method that we need to set aside subviews for
andersca@apple.com [Fri, 26 Jul 2013 20:39:57 +0000 (20:39 +0000)]
Add another method that we need to set aside subviews for
https://bugs.webkit.org/show_bug.cgi?id=119157
<rdar://problem/14554723>

Reviewed by Beth Dakin.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):

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

7 years agoAdd a mode where autosizing fixes the FrameView height to at least the WKView height
timothy_horton@apple.com [Fri, 26 Jul 2013 20:09:25 +0000 (20:09 +0000)]
Add a mode where autosizing fixes the FrameView height to at least the WKView height
https://bugs.webkit.org/show_bug.cgi?id=119104
<rdar://problem/14549021>

Reviewed by Anders Carlsson.

* WebCore.exp.in: Export FrameView::setAutoSizeFixedMinimumHeight.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
Initialize m_autoSizeFixedMinimumHeight to 0.

(WebCore::FrameView::autoSizeIfEnabled):
Increase the FrameView height to m_autoSizeFixedMinimumHeight if necessary,
and do another layout. Store the computed intrinsic content size.

(WebCore::FrameView::setAutoSizeFixedMinimumHeight): Added.

* page/FrameView.h:
(WebCore::FrameView::autoSizingIntrinsicContentSize): Added.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
Add autoSizingShouldExpandToViewHeight parameter.

* UIProcess/API/mac/WKView.mm:
(-[WKView minimumWidthForAutoLayout]):
(-[WKView setMinimumWidthForAutoLayout:]):
Un-deprecate these as they're still useful if not sending a height.

(-[WKView shouldExpandToViewHeightForAutoLayout]):
(-[WKView setShouldExpandToViewHeightForAutoLayout:]):
* UIProcess/API/mac/WKViewPrivate.h:
New property, forward to WebPageProxy.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
New property, forward to WebPage.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
If enabled, update the FrameView's autoSizeFixedMinimumHeight.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::autoSizingShouldExpandToViewHeight):
New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
otherwise reset it to 0.

* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Retrieve intrinsic content size explicitly from the FrameView, as
it may not have used it as its final contentsSize if
autoSizeFixedMinimumHeight is set.

Set the WebPage's size in case the load is committed so that the
WebFrameLoaderClient doesn't reset us to the wrong size.

Update autoSizeFixedMinimumHeight if enabled when the view size changes.

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

7 years ago[Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
bfulgham@apple.com [Fri, 26 Jul 2013 19:19:34 +0000 (19:19 +0000)]
[Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
https://bugs.webkit.org/show_bug.cgi?id=119150

Reviewed by Anders Carlsson.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createPlayer): Remove workaround to add legible output
after player is created.
(WebCore::AVFWrapper::createPlayerItem): Remove workaround to delay adding
legible output until player is created.
(WebCore::AVFWrapper::platformLayer): Get rid of unused temporary.

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