[webkit-changes] [150688] trunk/Source/WebKit/mac

2013-05-25 Thread mitz
Title: [150688] trunk/Source/WebKit/mac








Revision 150688
Author m...@apple.com
Date 2013-05-25 10:57:19 -0700 (Sat, 25 May 2013)


Log Message
rdar://problem/13924889 -webView:didPerformClientRedirectFromURL:toURL:inFrame: should be given the redirecting URL as the “from” URL
https://bugs.webkit.org/show_bug.cgi?id=116733

Reviewed by Adele Peterson.

By the time the history controller calls updateGlobalHistoryRedirectLinks(), the document
loader already reflects the destination URL. In order to be able to provide the immediate
source URL to the delegate, we make WebFrame track a URL and provisional URL, updating them
in response to FrameLoader callbacks in exactly the same way WebFrameProxy maintains its
m_url and m_provisionalURL member variables.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Update
provisionalURL.
(WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): Update url.
(WebFrameLoaderClient::dispatchDidPushStateWithinPage): Ditto.
(WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): Ditto.
(WebFrameLoaderClient::dispatchDidPopStateWithinPage): Ditto.
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad): Update provisionalURL.
(WebFrameLoaderClient::dispatchDidCommitLoad): Update URL and provisionalURL.
(WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Clear provisionalURL.
(WebFrameLoaderClient::dispatchDidFailLoad): Added an assertion.
(WebFrameLoaderClient::dispatchDidFinishLoad): Ditto.
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Pass the last committed URL as the
source, rather than clientRedirectSourceForHistory().
* WebView/WebFrameInternal.h: Added url and provisionalURL ivars to WebFramePrivate.

Modified Paths

trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
trunk/Source/WebKit/mac/WebView/WebFrameInternal.h




Diff

Modified: trunk/Source/WebKit/mac/ChangeLog (150687 => 150688)

--- trunk/Source/WebKit/mac/ChangeLog	2013-05-25 12:02:35 UTC (rev 150687)
+++ trunk/Source/WebKit/mac/ChangeLog	2013-05-25 17:57:19 UTC (rev 150688)
@@ -1,3 +1,32 @@
+2013-05-25  Dan Bernstein  m...@apple.com
+
+rdar://problem/13924889 -webView:didPerformClientRedirectFromURL:toURL:inFrame: should be given the redirecting URL as the “from” URL
+https://bugs.webkit.org/show_bug.cgi?id=116733
+
+Reviewed by Adele Peterson.
+
+By the time the history controller calls updateGlobalHistoryRedirectLinks(), the document
+loader already reflects the destination URL. In order to be able to provide the immediate
+source URL to the delegate, we make WebFrame track a URL and provisional URL, updating them
+in response to FrameLoader callbacks in exactly the same way WebFrameProxy maintains its
+m_url and m_provisionalURL member variables.
+
+* WebCoreSupport/WebFrameLoaderClient.mm:
+(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Update
+provisionalURL.
+(WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): Update url.
+(WebFrameLoaderClient::dispatchDidPushStateWithinPage): Ditto.
+(WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): Ditto.
+(WebFrameLoaderClient::dispatchDidPopStateWithinPage): Ditto.
+(WebFrameLoaderClient::dispatchDidStartProvisionalLoad): Update provisionalURL.
+(WebFrameLoaderClient::dispatchDidCommitLoad): Update URL and provisionalURL.
+(WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Clear provisionalURL.
+(WebFrameLoaderClient::dispatchDidFailLoad): Added an assertion.
+(WebFrameLoaderClient::dispatchDidFinishLoad): Ditto.
+(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Pass the last committed URL as the
+source, rather than clientRedirectSourceForHistory().
+* WebView/WebFrameInternal.h: Added url and provisionalURL ivars to WebFramePrivate.
+
 2013-05-24  Anders Carlsson  ander...@apple.com
 
 Remove using namespace std from Mac WebKit1


Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm (150687 => 150688)

--- trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm	2013-05-25 12:02:35 UTC (rev 150687)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm	2013-05-25 17:57:19 UTC (rev 150688)
@@ -514,6 +514,8 @@
 
 void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
 {
+m_webFrame-_private-provisionalURL = core(m_webFrame.get())-loader()-provisionalDocumentLoader()-url().string();
+
 WebView *webView = getWebView(m_webFrame.get());
 WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
 if (implementations-didReceiveServerRedirectForProvisionalLoadForFrameFunc)
@@ -540,6 +542,8 @@
 
 void 

[webkit-changes] [150689] trunk/Source/WebKit2

2013-05-25 Thread commit-queue
Title: [150689] trunk/Source/WebKit2








Revision 150689
Author commit-qu...@webkit.org
Date 2013-05-25 11:35:45 -0700 (Sat, 25 May 2013)


Log Message
WebFrameProxy::didFailLoad clears frame title for no apparent reason
https://bugs.webkit.org/show_bug.cgi?id=116655

Patch by Santosh Mahto santosh...@samsung.com on 2013-05-25
Reviewed by Alexey Proskuryakov.

* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didFailLoad):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (150688 => 150689)

--- trunk/Source/WebKit2/ChangeLog	2013-05-25 17:57:19 UTC (rev 150688)
+++ trunk/Source/WebKit2/ChangeLog	2013-05-25 18:35:45 UTC (rev 150689)
@@ -1,3 +1,13 @@
+2013-05-25  Santosh Mahto  santosh...@samsung.com
+
+WebFrameProxy::didFailLoad clears frame title for no apparent reason
+https://bugs.webkit.org/show_bug.cgi?id=116655
+
+Reviewed by Alexey Proskuryakov.
+
+* UIProcess/WebFrameProxy.cpp:
+(WebKit::WebFrameProxy::didFailLoad):
+
 2013-05-24  Seokju Kwon  seokju.k...@gmail.com
 
 [Qt][GTK] Build fix after r150669


Modified: trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp (150688 => 150689)

--- trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp	2013-05-25 17:57:19 UTC (rev 150688)
+++ trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp	2013-05-25 18:35:45 UTC (rev 150689)
@@ -162,7 +162,6 @@
 ASSERT(m_loadState == LoadStateCommitted);
 ASSERT(m_provisionalURL.isEmpty());
 m_loadState = LoadStateFinished;
-m_title = String();
 }
 
 void WebFrameProxy::didSameDocumentNavigation(const String url)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150690] branches/dfgFourthTier/Source

2013-05-25 Thread mark . lam
Title: [150690] branches/dfgFourthTier/Source








Revision 150690
Author mark@apple.com
Date 2013-05-25 13:17:29 -0700 (Sat, 25 May 2013)


Log Message
Remove Interpreter::retrieveLastCaller().
https://bugs.webkit.org/show_bug.cgi?id=116753.

Reviewed by Geoffrey Garen.

This is part of the refactoring effort to get rid of functions walking
the JS stack in their own way.

../_javascript_Core: 

* API/JSContextRef.cpp:
(JSContextCreateBacktrace):
* interpreter/CallFrame.cpp:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::addStackTraceIfNecessary):
* interpreter/Interpreter.h:
(StackFrame):
(JSC::StackFrame::StackFrame):
(Interpreter):
* jsc.cpp:
(functionJSCStack):
* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::addParentForConsoleStart):

../WebCore: 

No new tests.

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

Modified Paths

branches/dfgFourthTier/Source/_javascript_Core/API/JSContextRef.cpp
branches/dfgFourthTier/Source/_javascript_Core/ChangeLog
branches/dfgFourthTier/Source/_javascript_Core/interpreter/CallFrame.cpp
branches/dfgFourthTier/Source/_javascript_Core/interpreter/Interpreter.cpp
branches/dfgFourthTier/Source/_javascript_Core/interpreter/Interpreter.h
branches/dfgFourthTier/Source/_javascript_Core/jsc.cpp
branches/dfgFourthTier/Source/_javascript_Core/profiler/ProfileGenerator.cpp
branches/dfgFourthTier/Source/WebCore/ChangeLog
branches/dfgFourthTier/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
branches/dfgFourthTier/Source/WebCore/bindings/js/ScriptCallStackFactory.cpp




Diff

Modified: branches/dfgFourthTier/Source/_javascript_Core/API/JSContextRef.cpp (150689 => 150690)

--- branches/dfgFourthTier/Source/_javascript_Core/API/JSContextRef.cpp	2013-05-25 18:35:45 UTC (rev 150689)
+++ branches/dfgFourthTier/Source/_javascript_Core/API/JSContextRef.cpp	2013-05-25 20:17:29 UTC (rev 150690)
@@ -178,49 +178,22 @@
 
 unsigned count = 0;
 StringBuilder builder;
-CallFrame* callFrame = exec;
-String functionName;
-if (exec-callee()) {
-if (asObject(exec-callee())-inherits(InternalFunction::s_info)) {
-functionName = asInternalFunction(exec-callee())-name(exec);
-builder.appendLiteral(#0 );
-builder.append(functionName);
-builder.appendLiteral(() );
-count++;
-}
-}
-while (true) {
-RELEASE_ASSERT(callFrame);
-int signedLineNumber;
-intptr_t sourceID;
-String urlString;
-JSValue function;
-
-exec-interpreter()-retrieveLastCaller(callFrame, signedLineNumber, sourceID, urlString, function);
-
-if (function)
-functionName = jsCastJSFunction*(function)-name(exec);
-else {
-// Caller is unknown, but if frame is empty we should still add the frame, because
-// something called us, and gave us arguments.
-if (count)
-break;
-}
-unsigned lineNumber = signedLineNumber = 0 ? signedLineNumber : 0;
+VectorStackFrame stackTrace;
+exec-interpreter()-getStackTrace(stackTrace, maxStackSize);
+maxStackSize = stackTrace.size();
+for (size_t i = 0; i  maxStackSize; i++) {
 if (!builder.isEmpty())
 builder.append('\n');
 builder.append('#');
-builder.appendNumber(count);
+builder.appendNumber(count++);
 builder.append(' ');
-builder.append(functionName);
+builder.append(stackTrace[i].friendlyFunctionName(exec));
 builder.appendLiteral(() at );
-builder.append(urlString);
+builder.append(stackTrace[i].friendlySourceURL());
 builder.append(':');
-builder.appendNumber(lineNumber);
-if (!function || ++count == maxStackSize)
-break;
-callFrame = callFrame-callerFrame();
+builder.appendNumber(stackTrace[i].friendlyLineNumber());
 }
+
 return OpaqueJSString::create(builder.toString()).leakRef();
 }
 


Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (150689 => 150690)

--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-05-25 18:35:45 UTC (rev 150689)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-05-25 20:17:29 UTC (rev 150690)
@@ -1,3 +1,29 @@
+2013-05-25  Mark Lam  mark@apple.com
+
+Remove Interpreter::retrieveLastCaller().
+https://bugs.webkit.org/show_bug.cgi?id=116753.
+
+Reviewed by Geoffrey Garen.
+
+This is part of the refactoring effort to get rid of functions walking
+the JS stack in their own way.
+
+* API/JSContextRef.cpp:
+(JSContextCreateBacktrace):
+* interpreter/CallFrame.cpp:
+* interpreter/Interpreter.cpp:
+(JSC::Interpreter::Interpreter):
+

[webkit-changes] [150691] trunk/Source/WebKit2

2013-05-25 Thread akling
Title: [150691] trunk/Source/WebKit2








Revision 150691
Author akl...@apple.com
Date 2013-05-25 14:34:26 -0700 (Sat, 25 May 2013)


Log Message
REGRESSION: WebProcess is terminated when all Safari windows are closed.
rdar://problem/13990901
http://webkit.org/b/116766

Reviewed by Alexey Proskuryakov.

When closing the last page, only disconnect the web process if we're using a network process.
Otherwise there might be session state in the web process getting lost.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (150690 => 150691)

--- trunk/Source/WebKit2/ChangeLog	2013-05-25 20:17:29 UTC (rev 150690)
+++ trunk/Source/WebKit2/ChangeLog	2013-05-25 21:34:26 UTC (rev 150691)
@@ -1,3 +1,17 @@
+2013-05-25  Andreas Kling  akl...@apple.com
+
+REGRESSION: WebProcess is terminated when all Safari windows are closed.
+rdar://problem/13990901
+http://webkit.org/b/116766
+
+Reviewed by Alexey Proskuryakov.
+
+When closing the last page, only disconnect the web process if we're using a network process.
+Otherwise there might be session state in the web process getting lost.
+
+* UIProcess/WebProcessProxy.cpp:
+(WebKit::WebProcessProxy::removeWebPage):
+
 2013-05-25  Santosh Mahto  santosh...@samsung.com
 
 WebFrameProxy::didFailLoad clears frame title for no apparent reason


Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (150690 => 150691)

--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2013-05-25 20:17:29 UTC (rev 150690)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2013-05-25 21:34:26 UTC (rev 150691)
@@ -201,7 +201,8 @@
 #endif
 
 // If this was the last WebPage open in that web process, and we have no other reason to keep it alive, let it go.
-if (canTerminateChildProcess()) {
+// We only allow this when using a network process, as otherwise the WebProcess needs to preserve its session state.
+if (m_context-usesNetworkProcess()  canTerminateChildProcess()) {
 abortProcessLaunchIfNeeded();
 disconnect();
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150692] trunk/Source

2013-05-25 Thread akling
Title: [150692] trunk/Source








Revision 150692
Author akl...@apple.com
Date 2013-05-25 16:09:29 -0700 (Sat, 25 May 2013)


Log Message
Move Node::isMouseFocusable() to Element.
http://webkit.org/b/116762

Reviewed by Anders Carlsson.

Source/WebCore:

Node::isMouseFocusable() would just return isFocusable(), which is never true for a non-Element
since Node::supportsFocus() always returns false. So move it to Element!

* dom/Node.h:
* dom/Node.cpp:
* dom/Element.h:
* dom/Element.cpp:
(WebCore::Element::isMouseFocusable):

Moved here from Node.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setFocusedNodeIfNeeded):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):

Walk up the parent chain with parentOrShadowHostElement() instead of parentOrShadowHostNode().
Removed a misleading no-op hunk about mouse-focusable ShadowRoots, since ShadowRoots are not
Elements and thus cannot be mouse-focusable.

* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::nodeRespondsToTapGesture):

Check that the Node is an Element before asking if it's mouse-focusable.

* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.h:
* html/HTMLFormControlElement.h:
* html/HTMLInputElement.h:
* html/HTMLMediaElement.h:
* html/HTMLSelectElement.h:
* html/HTMLTextAreaElement.h:
* html/shadow/ClearButtonElement.h:
* html/shadow/TextControlInnerElements.h:
* svg/SVGAElement.h:
* svg/SVGStyledElement.h:

Sprinkle OVERRIDE.

Source/WebKit2:

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

Check that the potentially activated Node is an Element before asking if it's mouse-focusable.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/editing/FrameSelection.cpp
trunk/Source/WebCore/html/HTMLAnchorElement.h
trunk/Source/WebCore/html/HTMLAreaElement.h
trunk/Source/WebCore/html/HTMLFormControlElement.h
trunk/Source/WebCore/html/HTMLInputElement.h
trunk/Source/WebCore/html/HTMLMediaElement.h
trunk/Source/WebCore/html/HTMLSelectElement.h
trunk/Source/WebCore/html/HTMLTextAreaElement.h
trunk/Source/WebCore/html/shadow/ClearButtonElement.h
trunk/Source/WebCore/html/shadow/TextControlInnerElements.h
trunk/Source/WebCore/page/EventHandler.cpp
trunk/Source/WebCore/page/TouchAdjustment.cpp
trunk/Source/WebCore/svg/SVGAElement.h
trunk/Source/WebCore/svg/SVGStyledElement.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (150691 => 150692)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 21:34:26 UTC (rev 150691)
+++ trunk/Source/WebCore/ChangeLog	2013-05-25 23:09:29 UTC (rev 150692)
@@ -1,5 +1,51 @@
 2013-05-25  Andreas Kling  akl...@apple.com
 
+Move Node::isMouseFocusable() to Element.
+http://webkit.org/b/116762
+
+Reviewed by Anders Carlsson.
+
+Node::isMouseFocusable() would just return isFocusable(), which is never true for a non-Element
+since Node::supportsFocus() always returns false. So move it to Element!
+
+* dom/Node.h:
+* dom/Node.cpp:
+* dom/Element.h:
+* dom/Element.cpp:
+(WebCore::Element::isMouseFocusable):
+
+Moved here from Node.
+
+* editing/FrameSelection.cpp:
+(WebCore::FrameSelection::setFocusedNodeIfNeeded):
+* page/EventHandler.cpp:
+(WebCore::EventHandler::dispatchMouseEvent):
+
+Walk up the parent chain with parentOrShadowHostElement() instead of parentOrShadowHostNode().
+Removed a misleading no-op hunk about mouse-focusable ShadowRoots, since ShadowRoots are not
+Elements and thus cannot be mouse-focusable.
+
+* page/TouchAdjustment.cpp:
+(WebCore::TouchAdjustment::nodeRespondsToTapGesture):
+
+Check that the Node is an Element before asking if it's mouse-focusable.
+
+* html/HTMLAnchorElement.h:
+* html/HTMLAreaElement.h:
+* html/HTMLFormControlElement.h:
+* html/HTMLInputElement.h:
+* html/HTMLMediaElement.h:
+* html/HTMLSelectElement.h:
+* html/HTMLTextAreaElement.h:
+* html/shadow/ClearButtonElement.h:
+* html/shadow/TextControlInnerElements.h:
+* svg/SVGAElement.h:
+* svg/SVGStyledElement.h:
+
+Sprinkle OVERRIDE.
+
+2013-05-25  Andreas Kling  akl...@apple.com
+
 Move Node::isKeyboardFocusable() to Element.
 http://webkit.org/b/116761
 


Modified: trunk/Source/WebCore/dom/Element.cpp (150691 => 150692)

--- trunk/Source/WebCore/dom/Element.cpp	2013-05-25 21:34:26 UTC (rev 150691)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-05-25 23:09:29 UTC (rev 150692)
@@ -254,6 +254,11 @@
 return isFocusable()  tabIndex() = 0;
 }
 
+bool Element::isMouseFocusable() const
+{
+return isFocusable();
+}

[webkit-changes] [150693] trunk/LayoutTests

2013-05-25 Thread mitz
Title: [150693] trunk/LayoutTests








Revision 150693
Author m...@apple.com
Date 2013-05-25 16:13:15 -0700 (Sat, 25 May 2013)


Log Message
Updated expected results after r150688.

Reviewed by Andreas Kling.

* http/tests/globalhistory/history-delegate-basic-refresh-redirect-expected.txt: Now shows
the URL that performed the client redirect, as expected.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/globalhistory/history-delegate-basic-refresh-redirect-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (150692 => 150693)

--- trunk/LayoutTests/ChangeLog	2013-05-25 23:09:29 UTC (rev 150692)
+++ trunk/LayoutTests/ChangeLog	2013-05-25 23:13:15 UTC (rev 150693)
@@ -1,3 +1,12 @@
+2013-05-25  Dan Bernstein  m...@apple.com
+
+Updated expected results after r150688.
+
+Reviewed by Andreas Kling.
+
+* http/tests/globalhistory/history-delegate-basic-refresh-redirect-expected.txt: Now shows
+the URL that performed the client redirect, as expected.
+
 2013-05-25  Noam Rosenthal  noam.rosent...@nokia.com
 
 Direct pattern compositing breaks when no-repeat is set on a large layer


Modified: trunk/LayoutTests/http/tests/globalhistory/history-delegate-basic-refresh-redirect-expected.txt (150692 => 150693)

--- trunk/LayoutTests/http/tests/globalhistory/history-delegate-basic-refresh-redirect-expected.txt	2013-05-25 23:09:29 UTC (rev 150692)
+++ trunk/LayoutTests/http/tests/globalhistory/history-delegate-basic-refresh-redirect-expected.txt	2013-05-25 23:13:15 UTC (rev 150693)
@@ -12,7 +12,7 @@
 main frame - willPerformClientRedirectToURL: http://127.0.0.1:8000/resources/notify-done.html 
 main frame - didFinishLoadForFrame
 main frame - didStartProvisionalLoadForFrame
-WebView performed a client redirect from http://127.0.0.1:8000/globalhistory/history-delegate-basic-refresh-redirect.html to http://127.0.0.1:8000/resources/notify-done.html.
+WebView performed a client redirect from http://127.0.0.1:8000/resources/redirect.php?url="" to http://127.0.0.1:8000/resources/notify-done.html.
 main frame - didCancelClientRedirectForFrame
 main frame - didCommitLoadForFrame
 main frame - didFinishDocumentLoadForFrame






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150694] trunk

2013-05-25 Thread fpizlo
Title: [150694] trunk








Revision 150694
Author fpi...@apple.com
Date 2013-05-25 16:31:20 -0700 (Sat, 25 May 2013)


Log Message
We broke (-2^31/-1)|0 in the DFG
https://bugs.webkit.org/show_bug.cgi?id=116767

Source/_javascript_Core: 

Reviewed by Andreas Kling.

The bug is that we were assuming that in the -2^31 case, we already had -2^31
in the result register. This was a wrong assumption.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIntegerArithDivForX86):

LayoutTests: 

Reviewed by Andreas Kling.

* fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
* fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.html: Added.
* fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
* fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.html: Added.
* fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc-expected.txt: Added.
* fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.js: Added.
(foo):
* fast/js/script-tests/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.js: Added.
(foo):
* fast/js/script-tests/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.js: Added.
(foo):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/js/jsc-test-list
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp


Added Paths

trunk/LayoutTests/fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt
trunk/LayoutTests/fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.html
trunk/LayoutTests/fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc-expected.txt
trunk/LayoutTests/fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.html
trunk/LayoutTests/fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc-expected.txt
trunk/LayoutTests/fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.html
trunk/LayoutTests/fast/js/script-tests/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.js
trunk/LayoutTests/fast/js/script-tests/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.js
trunk/LayoutTests/fast/js/script-tests/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.js




Diff

Modified: trunk/LayoutTests/ChangeLog (150693 => 150694)

--- trunk/LayoutTests/ChangeLog	2013-05-25 23:13:15 UTC (rev 150693)
+++ trunk/LayoutTests/ChangeLog	2013-05-25 23:31:20 UTC (rev 150694)
@@ -1,3 +1,24 @@
+2013-05-25  Filip Pizlo  fpi...@apple.com
+
+We broke (-2^31/-1)|0 in the DFG
+https://bugs.webkit.org/show_bug.cgi?id=116767
+
+Reviewed by Andreas Kling.
+
+* fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
+* fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.html: Added.
+* fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
+* fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.html: Added.
+* fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc-expected.txt: Added.
+* fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.html: Added.
+* fast/js/jsc-test-list:
+* fast/js/script-tests/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.js: Added.
+(foo):
+* fast/js/script-tests/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.js: Added.
+(foo):
+* fast/js/script-tests/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.js: Added.
+(foo):
+
 2013-05-25  Dan Bernstein  m...@apple.com
 
 Updated expected results after r150688.


Added: trunk/LayoutTests/fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt (0 => 150694)

--- trunk/LayoutTests/fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt	2013-05-25 23:31:20 UTC (rev 150694)
@@ -0,0 +1,109 @@
+Tests that the (x/-1)|0 case in the DFG is handled correctly even when there is some interesting register allocation going on.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+FAIL foo(0, 0, 0, -1) should be 0. Was 0.
+PASS foo(0, 0, 1, -1) is -1
+PASS foo(0, 0, 2, -1) is -2
+PASS foo(0, 0, 3, -1) is -3
+PASS foo(0, 0, 4, -1) is -4
+PASS foo(0, 0, 5, -1) is -5
+PASS foo(0, 0, 6, -1) is -6
+PASS foo(0, 0, 7, -1) is -7
+PASS foo(0, 0, 8, -1) is -8
+PASS foo(0, 0, 9, -1) is -9
+PASS foo(0, 0, 10, -1) is -10
+PASS foo(0, 0, 11, -1) is -11
+PASS foo(0, 0, 12, -1) is -12
+PASS foo(0, 0, 13, -1) is -13
+PASS foo(0, 

[webkit-changes] [150696] trunk/Source/WebCore

2013-05-25 Thread commit-queue
Title: [150696] trunk/Source/WebCore








Revision 150696
Author commit-qu...@webkit.org
Date 2013-05-25 17:51:00 -0700 (Sat, 25 May 2013)


Log Message
Path: clean up addPathForRoundedRect()
https://bugs.webkit.org/show_bug.cgi?id=116765

Patch by Alberto Garcia agar...@igalia.com on 2013-05-25
Reviewed by Andreas Kling.

Reorganize code that is a bit redundant.

No new tests, no behavior change.

* platform/graphics/Path.cpp:
(WebCore::Path::addPathForRoundedRect):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/Path.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (150695 => 150696)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 23:56:01 UTC (rev 150695)
+++ trunk/Source/WebCore/ChangeLog	2013-05-26 00:51:00 UTC (rev 150696)
@@ -1,3 +1,17 @@
+2013-05-25  Alberto Garcia  agar...@igalia.com
+
+Path: clean up addPathForRoundedRect()
+https://bugs.webkit.org/show_bug.cgi?id=116765
+
+Reviewed by Andreas Kling.
+
+Reorganize code that is a bit redundant.
+
+No new tests, no behavior change.
+
+* platform/graphics/Path.cpp:
+(WebCore::Path::addPathForRoundedRect):
+
 2013-05-25  Simon Fraser  simon.fra...@apple.com
 
 Unprefix Page Visibility API


Modified: trunk/Source/WebCore/platform/graphics/Path.cpp (150695 => 150696)

--- trunk/Source/WebCore/platform/graphics/Path.cpp	2013-05-25 23:56:01 UTC (rev 150695)
+++ trunk/Source/WebCore/platform/graphics/Path.cpp	2013-05-26 00:51:00 UTC (rev 150696)
@@ -145,16 +145,14 @@
 
 void Path::addPathForRoundedRect(const FloatRect rect, const FloatSize topLeftRadius, const FloatSize topRightRadius, const FloatSize bottomLeftRadius, const FloatSize bottomRightRadius, RoundedRectStrategy strategy)
 {
-if (strategy == PreferBezierRoundedRect) {
-addBeziersForRoundedRect(rect, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
+if (strategy == PreferNativeRoundedRect) {
+#if USE(CG) || PLATFORM(BLACKBERRY)
+platformAddPathForRoundedRect(rect, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
 return;
+#endif
 }
 
-#if USE(CG) || PLATFORM(BLACKBERRY)
-platformAddPathForRoundedRect(rect, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
-#else
 addBeziersForRoundedRect(rect, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
-#endif
 }
 
 // Approximation of control point positions on a bezier to simulate a quarter of a circle.






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150697] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150697] trunk/Source/WebCore








Revision 150697
Author akl...@apple.com
Date 2013-05-25 19:22:04 -0700 (Sat, 25 May 2013)


Log Message
Move Node::focusDelegate() to Element.
http://webkit.org/b/116768

Reviewed by Anders Carlsson.

Only Element can be a focus delegate (it's currently only ever HTMLInputElement actually)
so move Node::focusDelegate() to Element. Sprinkled isElementNode() checks as needed.

* dom/Node.cpp:
* dom/Node.h:
* dom/Element.h:
* dom/Element.cpp:
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::focusDelegate):
* html/shadow/SliderThumbElement.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isFocused):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp
trunk/Source/WebCore/html/shadow/SliderThumbElement.h
trunk/Source/WebCore/rendering/RenderTheme.cpp
trunk/Source/WebCore/rendering/RenderThemeMac.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (150696 => 150697)

--- trunk/Source/WebCore/ChangeLog	2013-05-26 00:51:00 UTC (rev 150696)
+++ trunk/Source/WebCore/ChangeLog	2013-05-26 02:22:04 UTC (rev 150697)
@@ -1,3 +1,25 @@
+2013-05-25  Andreas Kling  akl...@apple.com
+
+Move Node::focusDelegate() to Element.
+http://webkit.org/b/116768
+
+Reviewed by Anders Carlsson.
+
+Only Element can be a focus delegate (it's currently only ever HTMLInputElement actually)
+so move Node::focusDelegate() to Element. Sprinkled isElementNode() checks as needed.
+
+* dom/Node.cpp:
+* dom/Node.h:
+* dom/Element.h:
+* dom/Element.cpp:
+* html/shadow/SliderThumbElement.cpp:
+(WebCore::SliderThumbElement::focusDelegate):
+* html/shadow/SliderThumbElement.h:
+* rendering/RenderTheme.cpp:
+(WebCore::RenderTheme::isFocused):
+* rendering/RenderThemeMac.mm:
+(WebCore::RenderThemeMac::paintSliderThumb):
+
 2013-05-25  Alberto Garcia  agar...@igalia.com
 
 Path: clean up addPathForRoundedRect()


Modified: trunk/Source/WebCore/dom/Element.cpp (150696 => 150697)

--- trunk/Source/WebCore/dom/Element.cpp	2013-05-26 00:51:00 UTC (rev 150696)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-05-26 02:22:04 UTC (rev 150697)
@@ -244,6 +244,11 @@
 return hasRareData()  elementRareData()-tabIndexSetExplicitly();
 }
 
+Element* Element::focusDelegate()
+{
+return this;
+}
+
 short Element::tabIndex() const
 {
 return hasRareData() ? elementRareData()-tabIndex() : 0;


Modified: trunk/Source/WebCore/dom/Element.h (150696 => 150697)

--- trunk/Source/WebCore/dom/Element.h	2013-05-26 00:51:00 UTC (rev 150696)
+++ trunk/Source/WebCore/dom/Element.h	2013-05-26 02:22:04 UTC (rev 150697)
@@ -435,6 +435,8 @@
 virtual bool isKeyboardFocusable(KeyboardEvent*) const;
 virtual bool isMouseFocusable() const;
 
+virtual Element* focusDelegate();
+
 RenderStyle* computedStyle(PseudoId = NOPSEUDO);
 
 // Methods for indicating the style is affected by dynamic updates (e.g., children changing, our position changing in our sibling list, etc.)


Modified: trunk/Source/WebCore/dom/Node.cpp (150696 => 150697)

--- trunk/Source/WebCore/dom/Node.cpp	2013-05-26 00:51:00 UTC (rev 150696)
+++ trunk/Source/WebCore/dom/Node.cpp	2013-05-26 02:22:04 UTC (rev 150697)
@@ -885,11 +885,6 @@
 return true;
 }
 
-Node* Node::focusDelegate()
-{
-return this;
-}
-
 unsigned Node::nodeIndex() const
 {
 Node *_tempNode = previousSibling();


Modified: trunk/Source/WebCore/dom/Node.h (150696 => 150697)

--- trunk/Source/WebCore/dom/Node.h	2013-05-26 00:51:00 UTC (rev 150696)
+++ trunk/Source/WebCore/dom/Node.h	2013-05-26 02:22:04 UTC (rev 150697)
@@ -406,7 +406,6 @@
 virtual bool supportsFocus() const;
 // Whether the node can actually be focused.
 virtual bool isFocusable() const;
-virtual Node* focusDelegate();
 
 enum UserSelectAllTreatment {
 UserSelectAllDoesNotAffectEditability,


Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (150696 => 150697)

--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp	2013-05-26 00:51:00 UTC (rev 150696)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp	2013-05-26 02:22:04 UTC (rev 150697)
@@ -237,7 +237,7 @@
 return hostInput()-matchesReadWritePseudoClass();
 }
 
-Node* SliderThumbElement::focusDelegate()
+Element* SliderThumbElement::focusDelegate()
 {
 return hostInput();
 }


Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.h (150696 => 150697)

--- trunk/Source/WebCore/html/shadow/SliderThumbElement.h	2013-05-26 00:51:00 UTC (rev 150696)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.h	2013-05-26 02:22:04 UTC (rev 150697)
@@ -68,7 +68,7 @@
 

[webkit-changes] [150698] trunk/Tools

2013-05-25 Thread simon . fraser
Title: [150698] trunk/Tools








Revision 150698
Author simon.fra...@apple.com
Date 2013-05-25 19:22:58 -0700 (Sat, 25 May 2013)


Log Message
Try to fix the EFL build.

* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::setPageVisibility):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/efl/TestRunnerEfl.cpp




Diff

Modified: trunk/Tools/ChangeLog (150697 => 150698)

--- trunk/Tools/ChangeLog	2013-05-26 02:22:04 UTC (rev 150697)
+++ trunk/Tools/ChangeLog	2013-05-26 02:22:58 UTC (rev 150698)
@@ -1,5 +1,12 @@
 2013-05-25  Simon Fraser  simon.fra...@apple.com
 
+Try to fix the EFL build.
+
+* DumpRenderTree/efl/TestRunnerEfl.cpp:
+(TestRunner::setPageVisibility):
+
+2013-05-25  Simon Fraser  simon.fra...@apple.com
+
 Unprefix Page Visibility API
 https://bugs.webkit.org/show_bug.cgi?id=102340
 


Modified: trunk/Tools/DumpRenderTree/efl/TestRunnerEfl.cpp (150697 => 150698)

--- trunk/Tools/DumpRenderTree/efl/TestRunnerEfl.cpp	2013-05-26 02:22:04 UTC (rev 150697)
+++ trunk/Tools/DumpRenderTree/efl/TestRunnerEfl.cpp	2013-05-26 02:22:58 UTC (rev 150698)
@@ -824,8 +824,8 @@
 ewk_view_visibility_state_set(browser-mainView(), EWK_PAGE_VISIBILITY_STATE_HIDDEN, false);
 else if (newVisibility == prerender)
 ewk_view_visibility_state_set(browser-mainView(), EWK_PAGE_VISIBILITY_STATE_PRERENDER, false);
-else if (newVisibility == preview)
-ewk_view_visibility_state_set(browser-mainView(), EWK_PAGE_VISIBILITY_STATE_PREVIEW, false);
+else if (newVisibility == unloaded)
+ewk_view_visibility_state_set(browser-mainView(), EWK_PAGE_VISIBILITY_STATE_UNLOADED, false);
 }
 
 void TestRunner::setAutomaticLinkDetectionEnabled(bool)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150699] trunk/Source

2013-05-25 Thread akling
Title: [150699] trunk/Source








Revision 150699
Author akl...@apple.com
Date 2013-05-25 19:27:32 -0700 (Sat, 25 May 2013)


Log Message
Remove Document::getFocusableNodes().
http://webkit.org/b/116773

Reviewed by Joseph Pecoraro.

Source/WebCore:

This was added in r42191 and there are no remaining clients of the API.

* dom/Document.cpp:
* dom/Document.h:
* WebCore.exp.in:

Source/WebKit/mac:

Remove the private _focusableNodes API on DOMDocument, it has no clients.

* DOM/WebDOMOperations.mm:
* DOM/WebDOMOperationsPrivate.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.exp.in
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/DOM/WebDOMOperations.mm
trunk/Source/WebKit/mac/DOM/WebDOMOperationsPrivate.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (150698 => 150699)

--- trunk/Source/WebCore/ChangeLog	2013-05-26 02:22:58 UTC (rev 150698)
+++ trunk/Source/WebCore/ChangeLog	2013-05-26 02:27:32 UTC (rev 150699)
@@ -1,5 +1,18 @@
 2013-05-25  Andreas Kling  akl...@apple.com
 
+Remove Document::getFocusableNodes().
+http://webkit.org/b/116773
+
+Reviewed by Joseph Pecoraro.
+
+This was added in r42191 and there are no remaining clients of the API.
+
+* dom/Document.cpp:
+* dom/Document.h:
+* WebCore.exp.in:
+
+2013-05-25  Andreas Kling  akl...@apple.com
+
 Move Node::focusDelegate() to Element.
 http://webkit.org/b/116768
 


Modified: trunk/Source/WebCore/WebCore.exp.in (150698 => 150699)

--- trunk/Source/WebCore/WebCore.exp.in	2013-05-26 02:22:58 UTC (rev 150698)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-05-26 02:27:32 UTC (rev 150699)
@@ -1051,7 +1051,6 @@
 __ZN7WebCore8Document14setFocusedNodeEN3WTF10PassRefPtrINS_4NodeEEENS_14FocusDirectionE
 __ZN7WebCore8Document16isPageBoxVisibleEi
 __ZN7WebCore8Document16shortcutIconURLsEv
-__ZN7WebCore8Document17getFocusableNodesERN3WTF6VectorINS1_6RefPtrINS_4NodeEEELm0ENS1_15CrashOnOverflowEEE
 __ZN7WebCore8Document20styleResolverChangedENS_23StyleResolverUpdateFlagE
 __ZN7WebCore8Document22createDocumentFragmentEv
 __ZN7WebCore8Document23didAddWheelEventHandlerEv


Modified: trunk/Source/WebCore/dom/Document.cpp (150698 => 150699)

--- trunk/Source/WebCore/dom/Document.cpp	2013-05-26 02:22:58 UTC (rev 150698)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-05-26 02:27:32 UTC (rev 150699)
@@ -3459,17 +3459,7 @@
 updateStyleIfNeeded();
 return !focusChangeBlocked;
 }
-
-void Document::getFocusableNodes(VectorRefPtrNode  nodes)
-{
-updateLayout();
 
-for (Node* node = firstChild(); node; node = NodeTraversal::next(node)) {
-if (node-isFocusable())
-nodes.append(node);
-}
-}
-  
 void Document::setCSSTarget(Element* n)
 {
 if (m_cssTarget)


Modified: trunk/Source/WebCore/dom/Document.h (150698 => 150699)

--- trunk/Source/WebCore/dom/Document.h	2013-05-26 02:22:58 UTC (rev 150698)
+++ trunk/Source/WebCore/dom/Document.h	2013-05-26 02:27:32 UTC (rev 150699)
@@ -675,8 +675,6 @@
 UserActionElementSet userActionElements()  { return m_userActionElements; }
 const UserActionElementSet userActionElements() const { return m_userActionElements; }
 
-void getFocusableNodes(VectorRefPtrNode );
-
 // The m_ignoreAutofocus flag specifies whether or not the document has been changed by the user enough 
 // for WebCore to ignore the autofocus attribute on any form controls
 bool ignoreAutofocus() const { return m_ignoreAutofocus; };


Modified: trunk/Source/WebKit/mac/ChangeLog (150698 => 150699)

--- trunk/Source/WebKit/mac/ChangeLog	2013-05-26 02:22:58 UTC (rev 150698)
+++ trunk/Source/WebKit/mac/ChangeLog	2013-05-26 02:27:32 UTC (rev 150699)
@@ -1,3 +1,15 @@
+2013-05-25  Andreas Kling  akl...@apple.com
+
+Remove Document::getFocusableNodes().
+http://webkit.org/b/116773
+
+Reviewed by Joseph Pecoraro.
+
+Remove the private _focusableNodes API on DOMDocument, it has no clients.
+
+* DOM/WebDOMOperations.mm:
+* DOM/WebDOMOperationsPrivate.h:
+
 2013-05-25  Simon Fraser  simon.fra...@apple.com
 
 Unprefix Page Visibility API


Modified: trunk/Source/WebKit/mac/DOM/WebDOMOperations.mm (150698 => 150699)

--- trunk/Source/WebKit/mac/DOM/WebDOMOperations.mm	2013-05-26 02:22:58 UTC (rev 150698)
+++ trunk/Source/WebKit/mac/DOM/WebDOMOperations.mm	2013-05-26 02:27:32 UTC (rev 150699)
@@ -183,20 +183,6 @@
 
 @end
 
-@implementation DOMDocument (WebDOMDocumentOperationsPrivate)
-
-- (NSArray *)_focusableNodes
-{
-VectorRefPtrNode  nodes;
-core(self)-getFocusableNodes(nodes);
-NSMutableArray *array = [NSMutableArray arrayWithCapacity:nodes.size()];
-for (unsigned i = 0; i  nodes.size(); ++i)
-[array addObject:kit(nodes[i].get())];
-return array;
-}
-
-@end
-
 @implementation DOMRange (WebDOMRangeOperations)
 
 - (WebArchive *)webArchive



[webkit-changes] [150700] trunk/Source

2013-05-25 Thread akling
Title: [150700] trunk/Source








Revision 150700
Author akl...@apple.com
Date 2013-05-25 19:48:46 -0700 (Sat, 25 May 2013)


Log Message
PluginDocument::pluginNode() should be pluginElement() instead.
http://webkit.org/b/116774

Reviewed by Anders Carlsson.

Source/WebCore:

Make PluginDocument hand out a HTMLPlugInElement* instead of a Node*.

* dom/Document.cpp:
(WebCore::eventTargetNodeForDocument):
* html/PluginDocument.h:
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocument::pluginWidget):
(WebCore::PluginDocument::setPluginElement):
(WebCore::PluginDocument::detach):

Source/WebKit2:

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

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.exp.in
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/html/PluginDocument.cpp
trunk/Source/WebCore/html/PluginDocument.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (150699 => 150700)

--- trunk/Source/WebCore/ChangeLog	2013-05-26 02:27:32 UTC (rev 150699)
+++ trunk/Source/WebCore/ChangeLog	2013-05-26 02:48:46 UTC (rev 150700)
@@ -1,5 +1,23 @@
 2013-05-25  Andreas Kling  akl...@apple.com
 
+PluginDocument::pluginNode() should be pluginElement() instead.
+http://webkit.org/b/116774
+
+Reviewed by Anders Carlsson.
+
+Make PluginDocument hand out a HTMLPlugInElement* instead of a Node*.
+
+* dom/Document.cpp:
+(WebCore::eventTargetNodeForDocument):
+* html/PluginDocument.h:
+* html/PluginDocument.cpp:
+(WebCore::PluginDocumentParser::createDocumentStructure):
+(WebCore::PluginDocument::pluginWidget):
+(WebCore::PluginDocument::setPluginElement):
+(WebCore::PluginDocument::detach):
+
+2013-05-25  Andreas Kling  akl...@apple.com
+
 Remove Document::getFocusableNodes().
 http://webkit.org/b/116773
 


Modified: trunk/Source/WebCore/WebCore.exp.in (150699 => 150700)

--- trunk/Source/WebCore/WebCore.exp.in	2013-05-26 02:27:32 UTC (rev 150699)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-05-26 02:48:46 UTC (rev 150700)
@@ -329,7 +329,6 @@
 __ZN7WebCore14FrameSelectionC1EPNS_5FrameE
 __ZN7WebCore14LoaderStrategy21resourceLoadSchedulerEv
 __ZN7WebCore14LoaderStrategy25loadResourceSynchronouslyEPNS_17NetworkingContextEmRKNS_15ResourceRequestENS_17StoredCredentialsENS_22ClientCredentialPolicyERNS_13ResourceErrorERNS_16ResourceResponseERN3WTF6VectorIcLm0ENSC_15CrashOnOverflowEEE
-__ZN7WebCore14PluginDocument10pluginNodeEv
 __ZN7WebCore14PluginDocument12pluginWidgetEv
 __ZN7WebCore14ResourceBuffer12createNSDataEv
 __ZN7WebCore14ResourceBuffer6appendEPKcj


Modified: trunk/Source/WebCore/dom/Document.cpp (150699 => 150700)

--- trunk/Source/WebCore/dom/Document.cpp	2013-05-26 02:27:32 UTC (rev 150699)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-05-26 02:48:46 UTC (rev 150700)
@@ -100,6 +100,7 @@
 #include HTMLNameCollection.h
 #include HTMLNames.h
 #include HTMLParserIdioms.h
+#include HTMLPlugInElement.h
 #include HTMLStyleElement.h
 #include HTMLTitleElement.h
 #include HTTPParsers.h
@@ -5770,7 +5771,7 @@
 Node* node = doc-focusedNode();
 if (!node  doc-isPluginDocument()) {
 PluginDocument* pluginDocument = toPluginDocument(doc);
-node =  pluginDocument-pluginNode();
+node = pluginDocument-pluginElement();
 }
 if (!node  doc-isHTMLDocument())
 node = doc-body();


Modified: trunk/Source/WebCore/html/PluginDocument.cpp (150699 => 150700)

--- trunk/Source/WebCore/html/PluginDocument.cpp	2013-05-26 02:27:32 UTC (rev 150699)
+++ trunk/Source/WebCore/html/PluginDocument.cpp	2013-05-26 02:48:46 UTC (rev 150700)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2008, 2013 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -34,7 +34,6 @@
 #include HTMLEmbedElement.h
 #include HTMLHtmlElement.h
 #include HTMLNames.h
-#include NodeList.h
 #include Page.h
 #include RawDataDocumentParser.h
 #include RenderEmbeddedObject.h
@@ -96,7 +95,7 @@
 if (loader)
 m_embedElement-setAttribute(typeAttr, loader-writer()-mimeType());
 
-toPluginDocument(document())-setPluginNode(m_embedElement);
+toPluginDocument(document())-setPluginElement(m_embedElement);
 
 body-appendChild(embedElement, IGNORE_EXCEPTION);
 }
@@ -150,22 +149,22 @@
 
 Widget* PluginDocument::pluginWidget()
 {
-if (m_pluginNode  m_pluginNode-renderer()) {
-ASSERT(m_pluginNode-renderer()-isEmbeddedObject());
-return toRenderEmbeddedObject(m_pluginNode-renderer())-widget();
+if (m_pluginElement  m_pluginElement-renderer()) {
+ASSERT(m_pluginElement-renderer()-isEmbeddedObject());

[webkit-changes] [150701] trunk/Tools

2013-05-25 Thread rniwa
Title: [150701] trunk/Tools








Revision 150701
Author rn...@webkit.org
Date 2013-05-25 19:57:51 -0700 (Sat, 25 May 2013)


Log Message
Teach webkitbot and WKR how to respond to yt?
https://bugs.webkit.org/show_bug.cgi?id=116775

Reviewed by Andreas Kling.

* Scripts/webkitpy/tool/bot/irc_command.py:
(Hi): Fixed the usage string.
(Hi.execute): Made it more generic so that it works in WKR.
(YouThere): Added.
(YouThere.execute): Added.
* Scripts/webkitpy/tool/commands/newcommitbot.py:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py
trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py




Diff

Modified: trunk/Tools/ChangeLog (150700 => 150701)

--- trunk/Tools/ChangeLog	2013-05-26 02:48:46 UTC (rev 150700)
+++ trunk/Tools/ChangeLog	2013-05-26 02:57:51 UTC (rev 150701)
@@ -1,3 +1,17 @@
+2013-05-25  Ryosuke Niwa  rn...@webkit.org
+
+Teach webkitbot and WKR how to respond to yt?
+https://bugs.webkit.org/show_bug.cgi?id=116775
+
+Reviewed by Andreas Kling.
+
+* Scripts/webkitpy/tool/bot/irc_command.py:
+(Hi): Fixed the usage string.
+(Hi.execute): Made it more generic so that it works in WKR.
+(YouThere): Added.
+(YouThere.execute): Added.
+* Scripts/webkitpy/tool/commands/newcommitbot.py:
+
 2013-05-25  Simon Fraser  simon.fra...@apple.com
 
 Try to fix the EFL build.


Modified: trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py (150700 => 150701)

--- trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py	2013-05-26 02:48:46 UTC (rev 150700)
+++ trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py	2013-05-26 02:57:51 UTC (rev 150701)
@@ -111,10 +111,10 @@
 
 class Hi(IRCCommand):
 usage_string = hi
-help_string = Retrieves a random quip from Bugzilla.
+help_string = Responds with hi.
 
 def execute(self, nick, args, tool, sheriff):
-if len(args) and re.match(r'webkitbot_*\s*!\s*', ' '.join(args)):
+if len(args) and re.match(sheriff.name() + r'_*\s*!\s*', ' '.join(args)):
 return %s: hi %s! % (nick, nick)
 quips = tool.bugs.quips()
 quips.append('Only you can prevent forest fires. -- Smokey the Bear')
@@ -129,6 +129,14 @@
 return nick + : pong
 
 
+class YouThere(IRCCommand):
+usage_string = yt?
+help_string = Responds with yes.
+
+def execute(self, nick, args, tool, sheriff):
+return %s: yes % nick
+
+
 class Restart(IRCCommand):
 usage_string = restart
 help_string = Restarts sherrifbot.  Will update its WebKit checkout, and re-join the channel momentarily.
@@ -298,6 +306,7 @@
 roll-chromium-deps: RollChromiumDEPS,
 rollout: Rollout,
 whois: Whois,
+yt?: YouThere,
 }
 
 # Add revert as an easter egg command. Why?


Modified: trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py (150700 => 150701)

--- trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py	2013-05-26 02:48:46 UTC (rev 150700)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py	2013-05-26 02:57:51 UTC (rev 150701)
@@ -37,6 +37,7 @@
 from webkitpy.tool.bot.irc_command import Hi
 from webkitpy.tool.bot.irc_command import PingPong
 from webkitpy.tool.bot.irc_command import Restart
+from webkitpy.tool.bot.irc_command import YouThere
 from webkitpy.tool.bot.ircbot import IRCBot
 from webkitpy.tool.commands.queues import AbstractQueue
 from webkitpy.tool.commands.stepsequence import StepSequenceErrorHandler
@@ -52,6 +53,7 @@
 hi: Hi,
 ping: PingPong,
 restart: Restart,
+yt?: YouThere,
 }
 
 _maximum_number_of_revisions_to_avoid_spamming_irc = 10






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150702] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150702] trunk/Source/WebCore








Revision 150702
Author akl...@apple.com
Date 2013-05-25 20:29:12 -0700 (Sat, 25 May 2013)


Log Message
Don't instantiate ChildNodeLists just to get a child count.
http://webkit.org/b/116776

Reviewed by Ryosuke Niwa.

Use ContainerNode::childNodeCount() instead of Node::childNodes()-length().

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/ApplyStyleCommand.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (150701 => 150702)

--- trunk/Source/WebCore/ChangeLog	2013-05-26 02:57:51 UTC (rev 150701)
+++ trunk/Source/WebCore/ChangeLog	2013-05-26 03:29:12 UTC (rev 150702)
@@ -1,5 +1,17 @@
 2013-05-25  Andreas Kling  akl...@apple.com
 
+Don't instantiate ChildNodeLists just to get a child count.
+http://webkit.org/b/116776
+
+Reviewed by Ryosuke Niwa.
+
+Use ContainerNode::childNodeCount() instead of Node::childNodes()-length().
+
+* editing/ApplyStyleCommand.cpp:
+(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
+
+2013-05-25  Andreas Kling  akl...@apple.com
+
 PluginDocument::pluginNode() should be pluginElement() instead.
 http://webkit.org/b/116774
 


Modified: trunk/Source/WebCore/editing/ApplyStyleCommand.cpp (150701 => 150702)

--- trunk/Source/WebCore/editing/ApplyStyleCommand.cpp	2013-05-26 02:57:51 UTC (rev 150701)
+++ trunk/Source/WebCore/editing/ApplyStyleCommand.cpp	2013-05-26 03:29:12 UTC (rev 150702)
@@ -1304,7 +1304,7 @@
 if (offsetIsBeforeLastNodeOffset(endOffset, endNode))
 return false;
 
-unsigned parentLastOffset = end.deprecatedNode()-parentNode()-childNodes()-length() - 1;
+unsigned parentLastOffset = end.deprecatedNode()-parentNode()-childNodeCount() - 1;
 if (end.deprecatedNode()-nextSibling())
 return false;
 
@@ -1324,7 +1324,7 @@
 mergeIdenticalElements(element, nextElement);
 
 bool shouldUpdateStart = start.containerNode() == endNode;
-int endOffset = nextChild ? nextChild-nodeIndex() : nextElement-childNodes()-length();
+int endOffset = nextChild ? nextChild-nodeIndex() : nextElement-childNodeCount();
 updateStartEnd(shouldUpdateStart ? Position(nextElement, start.offsetInContainerNode(), Position::PositionIsOffsetInAnchor) : start,
Position(nextElement, endOffset, Position::PositionIsOffsetInAnchor));
 return true;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150703] branches/dfgFourthTier/Source/JavaScriptCore

2013-05-25 Thread fpizlo
Title: [150703] branches/dfgFourthTier/Source/_javascript_Core








Revision 150703
Author fpi...@apple.com
Date 2013-05-25 20:35:12 -0700 (Sat, 25 May 2013)


Log Message
fourthTier: FTL should support ArithDiv
https://bugs.webkit.org/show_bug.cgi?id=116771

Reviewed by Oliver Hunt.

* ftl/FTLAbbreviations.h:
(JSC::FTL::buildDiv):
(JSC::FTL::buildRem):
(JSC::FTL::buildFDiv):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLCommonValues.cpp:
(JSC::FTL::CommonValues::CommonValues):
* ftl/FTLCommonValues.h:
(CommonValues):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(LowerDFGToLLVM):
* ftl/FTLOutput.h:
(JSC::FTL::Output::div):
(JSC::FTL::Output::rem):
(JSC::FTL::Output::doubleDiv):

Modified Paths

branches/dfgFourthTier/Source/_javascript_Core/ChangeLog
branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLAbbreviations.h
branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCapabilities.cpp
branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCommonValues.cpp
branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCommonValues.h
branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp
branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLOutput.h




Diff

Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (150702 => 150703)

--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-05-26 03:29:12 UTC (rev 150702)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-05-26 03:35:12 UTC (rev 150703)
@@ -1,3 +1,30 @@
+2013-05-25  Filip Pizlo  fpi...@apple.com
+
+fourthTier: FTL should support ArithDiv
+https://bugs.webkit.org/show_bug.cgi?id=116771
+
+Reviewed by Oliver Hunt.
+
+* ftl/FTLAbbreviations.h:
+(JSC::FTL::buildDiv):
+(JSC::FTL::buildRem):
+(JSC::FTL::buildFDiv):
+* ftl/FTLCapabilities.cpp:
+(JSC::FTL::canCompile):
+* ftl/FTLCommonValues.cpp:
+(JSC::FTL::CommonValues::CommonValues):
+* ftl/FTLCommonValues.h:
+(CommonValues):
+* ftl/FTLLowerDFGToLLVM.cpp:
+(JSC::FTL::LowerDFGToLLVM::compileNode):
+(JSC::FTL::LowerDFGToLLVM::compileArithMul):
+(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
+(LowerDFGToLLVM):
+* ftl/FTLOutput.h:
+(JSC::FTL::Output::div):
+(JSC::FTL::Output::rem):
+(JSC::FTL::Output::doubleDiv):
+
 2013-05-25  Mark Lam  mark@apple.com
 
 Remove Interpreter::retrieveLastCaller().


Modified: branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLAbbreviations.h (150702 => 150703)

--- branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLAbbreviations.h	2013-05-26 03:29:12 UTC (rev 150702)
+++ branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLAbbreviations.h	2013-05-26 03:35:12 UTC (rev 150703)
@@ -170,10 +170,13 @@
 static inline LValue buildAdd(LBuilder builder, LValue left, LValue right) { return LLVMBuildAdd(builder, left, right, ); }
 static inline LValue buildSub(LBuilder builder, LValue left, LValue right) { return LLVMBuildSub(builder, left, right, ); }
 static inline LValue buildMul(LBuilder builder, LValue left, LValue right) { return LLVMBuildMul(builder, left, right, ); }
+static inline LValue buildDiv(LBuilder builder, LValue left, LValue right) { return LLVMBuildSDiv(builder, left, right, ); }
+static inline LValue buildRem(LBuilder builder, LValue left, LValue right) { return LLVMBuildSRem(builder, left, right, ); }
 static inline LValue buildNeg(LBuilder builder, LValue value) { return LLVMBuildNeg(builder, value, ); }
 static inline LValue buildFAdd(LBuilder builder, LValue left, LValue right) { return LLVMBuildFAdd(builder, left, right, ); }
 static inline LValue buildFSub(LBuilder builder, LValue left, LValue right) { return LLVMBuildFSub(builder, left, right, ); }
 static inline LValue buildFMul(LBuilder builder, LValue left, LValue right) { return LLVMBuildFMul(builder, left, right, ); }
+static inline LValue buildFDiv(LBuilder builder, LValue left, LValue right) { return LLVMBuildFDiv(builder, left, right, ); }
 static inline LValue buildFNeg(LBuilder builder, LValue value) { return LLVMBuildFNeg(builder, value, ); }
 static inline LValue buildAnd(LBuilder builder, LValue left, LValue right) { return LLVMBuildAnd(builder, left, right, ); }
 static inline LValue buildOr(LBuilder builder, LValue left, LValue right) { return LLVMBuildOr(builder, left, right, ); }


Modified: branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCapabilities.cpp (150702 => 150703)

--- branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2013-05-26 03:29:12 UTC (rev 150702)
+++ branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2013-05-26 03:35:12 UTC (rev 150703)
@@ -66,6 +66,7 @@
 case ArithAdd:
 case ArithSub:
 case ArithMul:
+case ArithDiv:
 case ArithNegate:
  

[webkit-changes] [150704] trunk/Tools

2013-05-25 Thread rniwa
Title: [150704] trunk/Tools








Revision 150704
Author rn...@webkit.org
Date 2013-05-25 20:39:30 -0700 (Sat, 25 May 2013)


Log Message
Some build fixes for WKR and webkitbot.

* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
(IRCBotTest.test_help):
* Scripts/webkitpy/tool/commands/newcommitbot.py:
(Agent):
(Agent.__init__):
(Agent.name):
(NewCommitBot):
(NewCommitBot.begin_work_queue):
(NewCommitBot.next_work_item):
* Scripts/webkitpy/tool/commands/sheriffbot.py:
(SheriffBot):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/tool/bot/ircbot_unittest.py
trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py
trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py




Diff

Modified: trunk/Tools/ChangeLog (150703 => 150704)

--- trunk/Tools/ChangeLog	2013-05-26 03:35:12 UTC (rev 150703)
+++ trunk/Tools/ChangeLog	2013-05-26 03:39:30 UTC (rev 150704)
@@ -1,5 +1,21 @@
 2013-05-25  Ryosuke Niwa  rn...@webkit.org
 
+Some build fixes for WKR and webkitbot.
+
+* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
+(IRCBotTest.test_help):
+* Scripts/webkitpy/tool/commands/newcommitbot.py:
+(Agent):
+(Agent.__init__):
+(Agent.name):
+(NewCommitBot):
+(NewCommitBot.begin_work_queue):
+(NewCommitBot.next_work_item):
+* Scripts/webkitpy/tool/commands/sheriffbot.py:
+(SheriffBot):
+
+2013-05-25  Ryosuke Niwa  rn...@webkit.org
+
 Teach webkitbot and WKR how to respond to yt?
 https://bugs.webkit.org/show_bug.cgi?id=116775
 


Modified: trunk/Tools/Scripts/webkitpy/tool/bot/ircbot_unittest.py (150703 => 150704)

--- trunk/Tools/Scripts/webkitpy/tool/bot/ircbot_unittest.py	2013-05-26 03:35:12 UTC (rev 150703)
+++ trunk/Tools/Scripts/webkitpy/tool/bot/ircbot_unittest.py	2013-05-26 03:39:30 UTC (rev 150704)
@@ -88,9 +88,9 @@
 OutputCapture().assert_outputs(self, run, args=[hi], expected_logs=expected_logs)
 
 def test_help(self):
-expected_logs = 'MOCK: irc.post: mock_nick: Available commands: create-bug, help, hi, ping, restart, roll-chromium-deps, rollout, whois\nMOCK: irc.post: mock_nick: Type mock-sheriff-bot: help COMMAND for help on my individual commands.\n'
+expected_logs = 'MOCK: irc.post: mock_nick: Available commands: create-bug, help, hi, ping, restart, roll-chromium-deps, rollout, whois, yt?\nMOCK: irc.post: mock_nick: Type mock-sheriff-bot: help COMMAND for help on my individual commands.\n'
 OutputCapture().assert_outputs(self, run, args=[help], expected_logs=expected_logs)
-expected_logs = 'MOCK: irc.post: mock_nick: Usage: hi\nMOCK: irc.post: mock_nick: Retrieves a random quip from Bugzilla.\nMOCK: irc.post: mock_nick: Aliases: hello\n'
+expected_logs = 'MOCK: irc.post: mock_nick: Usage: hi\nMOCK: irc.post: mock_nick: Responds with hi.\nMOCK: irc.post: mock_nick: Aliases: hello\n'
 OutputCapture().assert_outputs(self, run, args=[help hi], expected_logs=expected_logs)
 OutputCapture().assert_outputs(self, run, args=[help hello], expected_logs=expected_logs)
 


Modified: trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py (150703 => 150704)

--- trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py	2013-05-26 03:35:12 UTC (rev 150703)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py	2013-05-26 03:39:30 UTC (rev 150704)
@@ -45,8 +45,17 @@
 _log = logging.getLogger(__name__)
 
 
+class Agent(object):
+def __init__(self, tool, newcommitbot):
+self._tool = tool
+self._newcommitbot = newcommitbot
+
+def name(self):
+return 'WKR'
+
+
 class NewCommitBot(AbstractQueue, StepSequenceErrorHandler):
-name = new-commit-bot
+name = WKR
 watchers = AbstractQueue.watchers + [rn...@webkit.org]
 
 _commands = {
@@ -63,7 +72,7 @@
 def begin_work_queue(self):
 AbstractQueue.begin_work_queue(self)
 self._last_svn_revision = int(self._tool.scm().head_svn_revision())
-self._irc_bot = IRCBot('WKR', self._tool, None, self._commands)
+self._irc_bot = IRCBot(self.name, self._tool, Agent(self._tool, self), self._commands)
 self._tool.ensure_irc_connected(self._irc_bot.irc_delegate())
 
 def work_item_log_path(self, failure_map):
@@ -74,6 +83,7 @@
 
 _log.info('Last SVN revision: %d' % self._last_svn_revision)
 
+return
 count = 0
 while count  self._maximum_number_of_revisions_to_avoid_spamming_irc:
 new_revision = self._last_svn_revision + 1


Modified: trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py (150703 => 150704)

--- trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py	2013-05-26 03:35:12 UTC (rev 150703)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py	2013-05-26 03:39:30 UTC (rev 150704)
@@ -38,7 +38,7 @@
 
 
 class SheriffBot(AbstractQueue, StepSequenceErrorHandler):
-name = webkitbot
+name = rniwabot
 watchers = 

[webkit-changes] [150705] trunk/Tools

2013-05-25 Thread rniwa
Title: [150705] trunk/Tools








Revision 150705
Author rn...@webkit.org
Date 2013-05-25 21:13:33 -0700 (Sat, 25 May 2013)


Log Message
Revert an erroneous change.

* Scripts/webkitpy/tool/commands/sheriffbot.py:
(SheriffBot):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py




Diff

Modified: trunk/Tools/ChangeLog (150704 => 150705)

--- trunk/Tools/ChangeLog	2013-05-26 03:39:30 UTC (rev 150704)
+++ trunk/Tools/ChangeLog	2013-05-26 04:13:33 UTC (rev 150705)
@@ -1,5 +1,12 @@
 2013-05-25  Ryosuke Niwa  rn...@webkit.org
 
+Revert an erroneous change.
+
+* Scripts/webkitpy/tool/commands/sheriffbot.py:
+(SheriffBot):
+
+2013-05-25  Ryosuke Niwa  rn...@webkit.org
+
 Some build fixes for WKR and webkitbot.
 
 * Scripts/webkitpy/tool/bot/ircbot_unittest.py:


Modified: trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py (150704 => 150705)

--- trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py	2013-05-26 03:39:30 UTC (rev 150704)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot.py	2013-05-26 04:13:33 UTC (rev 150705)
@@ -38,7 +38,7 @@
 
 
 class SheriffBot(AbstractQueue, StepSequenceErrorHandler):
-name = rniwabot
+name = webkitbot
 watchers = AbstractQueue.watchers + [
 aba...@webkit.org,
 e...@webkit.org,






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150706] trunk/Tools

2013-05-25 Thread rniwa
Title: [150706] trunk/Tools








Revision 150706
Author rn...@webkit.org
Date 2013-05-25 21:31:13 -0700 (Sat, 25 May 2013)


Log Message
Revert another erroneous change.

* Scripts/webkitpy/tool/commands/newcommitbot.py:
(NewCommitBot.next_work_item):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py




Diff

Modified: trunk/Tools/ChangeLog (150705 => 150706)

--- trunk/Tools/ChangeLog	2013-05-26 04:13:33 UTC (rev 150705)
+++ trunk/Tools/ChangeLog	2013-05-26 04:31:13 UTC (rev 150706)
@@ -1,5 +1,12 @@
 2013-05-25  Ryosuke Niwa  rn...@webkit.org
 
+Revert another erroneous change.
+
+* Scripts/webkitpy/tool/commands/newcommitbot.py:
+(NewCommitBot.next_work_item):
+
+2013-05-25  Ryosuke Niwa  rn...@webkit.org
+
 Revert an erroneous change.
 
 * Scripts/webkitpy/tool/commands/sheriffbot.py:


Modified: trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py (150705 => 150706)

--- trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py	2013-05-26 04:13:33 UTC (rev 150705)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/newcommitbot.py	2013-05-26 04:31:13 UTC (rev 150706)
@@ -83,7 +83,6 @@
 
 _log.info('Last SVN revision: %d' % self._last_svn_revision)
 
-return
 count = 0
 while count  self._maximum_number_of_revisions_to_avoid_spamming_irc:
 new_revision = self._last_svn_revision + 1






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150707] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150707] trunk/Source/WebCore








Revision 150707
Author akl...@apple.com
Date 2013-05-25 21:33:35 -0700 (Sat, 25 May 2013)


Log Message
Move Node::tabIndex() to Element.
http://webkit.org/b/116772

Reviewed by Ryosuke Niwa.

Since only Elements are keyboard-focusable, it doesn't make sense for Node to have a tabIndex().

* dom/Element.h:
* dom/Node.cpp:
* dom/Node.h:

A Node can't have a tab index, so move tabIndex() to Element.

* page/FocusController.h:
* page/FocusController.cpp:
(WebCore::adjustedTabIndex):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

Make this code deal in Element* when doing tab index stuff. FocusController needs
more Node-Element cleanup, but let's do that separately.

* html/HTMLAnchorElement.h:
* html/HTMLElement.h:
* html/HTMLFormControlElement.h:

Sprinkle OVERRIDE.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/html/HTMLAnchorElement.h
trunk/Source/WebCore/html/HTMLElement.h
trunk/Source/WebCore/html/HTMLFormControlElement.h
trunk/Source/WebCore/page/FocusController.cpp
trunk/Source/WebCore/page/FocusController.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (150706 => 150707)

--- trunk/Source/WebCore/ChangeLog	2013-05-26 04:31:13 UTC (rev 150706)
+++ trunk/Source/WebCore/ChangeLog	2013-05-26 04:33:35 UTC (rev 150707)
@@ -1,5 +1,38 @@
 2013-05-25  Andreas Kling  akl...@apple.com
 
+Move Node::tabIndex() to Element.
+http://webkit.org/b/116772
+
+Reviewed by Ryosuke Niwa.
+
+Since only Elements are keyboard-focusable, it doesn't make sense for Node to have a tabIndex().
+
+* dom/Element.h:
+* dom/Node.cpp:
+* dom/Node.h:
+
+A Node can't have a tab index, so move tabIndex() to Element.
+
+* page/FocusController.h:
+* page/FocusController.cpp:
+(WebCore::adjustedTabIndex):
+(WebCore::FocusController::findElementWithExactTabIndex):
+(WebCore::nextElementWithGreaterTabIndex):
+(WebCore::previousElementWithLowerTabIndex):
+(WebCore::FocusController::nextFocusableNode):
+(WebCore::FocusController::previousFocusableNode):
+
+Make this code deal in Element* when doing tab index stuff. FocusController needs
+more Node-Element cleanup, but let's do that separately.
+
+* html/HTMLAnchorElement.h:
+* html/HTMLElement.h:
+* html/HTMLFormControlElement.h:
+
+Sprinkle OVERRIDE.
+
+2013-05-25  Andreas Kling  akl...@apple.com
+
 Don't instantiate ChildNodeLists just to get a child count.
 http://webkit.org/b/116776
 


Modified: trunk/Source/WebCore/dom/Element.h (150706 => 150707)

--- trunk/Source/WebCore/dom/Element.h	2013-05-26 04:31:13 UTC (rev 150706)
+++ trunk/Source/WebCore/dom/Element.h	2013-05-26 04:33:35 UTC (rev 150707)
@@ -435,6 +435,7 @@
 virtual bool isKeyboardFocusable(KeyboardEvent*) const;
 virtual bool isMouseFocusable() const;
 
+virtual short tabIndex() const;
 virtual Element* focusDelegate();
 
 RenderStyle* computedStyle(PseudoId = NOPSEUDO);
@@ -654,7 +655,6 @@
 void clearTabIndexExplicitlyIfNeeded();
 void setTabIndexExplicitly(short);
 virtual bool supportsFocus() const OVERRIDE;
-virtual short tabIndex() const OVERRIDE;
 
 PassRefPtrHTMLCollection ensureCachedHTMLCollection(CollectionType);
 HTMLCollection* cachedHTMLCollection(CollectionType);


Modified: trunk/Source/WebCore/dom/Node.cpp (150706 => 150707)

--- trunk/Source/WebCore/dom/Node.cpp	2013-05-26 04:31:13 UTC (rev 150706)
+++ trunk/Source/WebCore/dom/Node.cpp	2013-05-26 04:33:35 UTC (rev 150707)
@@ -499,11 +499,6 @@
 return 0;
 }
 
-short Node::tabIndex() const
-{
-return 0;
-}
-
 String Node::nodeValue() const
 {
 return String();


Modified: trunk/Source/WebCore/dom/Node.h (150706 => 150707)

--- trunk/Source/WebCore/dom/Node.h	2013-05-26 04:31:13 UTC (rev 150706)
+++ trunk/Source/WebCore/dom/Node.h	2013-05-26 04:33:35 UTC (rev 150707)
@@ -399,8 +399,6 @@
 
 virtual void setActive(bool flag = true, bool pause = false);
 
-virtual short tabIndex() const;
-
 // Whether this kind of node can receive focus by default. Most nodes are
 // not focusable but some elements, such as form controls and links, are.
 virtual bool supportsFocus() const;


Modified: trunk/Source/WebCore/html/HTMLAnchorElement.h (150706 => 150707)

--- trunk/Source/WebCore/html/HTMLAnchorElement.h	2013-05-26 04:31:13 UTC (rev 150706)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.h	2013-05-26 04:33:35 UTC (rev 150707)
@@ -117,7 +117,7 @@
 virtual bool isURLAttribute(const Attribute) const OVERRIDE;
 

[webkit-changes] [150708] trunk/Websites/webkit.org

2013-05-25 Thread commit-queue
Title: [150708] trunk/Websites/webkit.org








Revision 150708
Author commit-qu...@webkit.org
Date 2013-05-25 21:42:36 -0700 (Sat, 25 May 2013)


Log Message
Broken link to committers list on contributing web page
https://bugs.webkit.org/show_bug.cgi?id=116722

Patch by Bem Jones-Bey bjone...@adobe.com on 2013-05-25
Reviewed by Andreas Kling.

* coding/contributing.html:
Changed broken link to point to the team page instead.

Modified Paths

trunk/Websites/webkit.org/ChangeLog
trunk/Websites/webkit.org/coding/contributing.html




Diff

Modified: trunk/Websites/webkit.org/ChangeLog (150707 => 150708)

--- trunk/Websites/webkit.org/ChangeLog	2013-05-26 04:33:35 UTC (rev 150707)
+++ trunk/Websites/webkit.org/ChangeLog	2013-05-26 04:42:36 UTC (rev 150708)
@@ -1,3 +1,13 @@
+2013-05-25  Bem Jones-Bey  bjone...@adobe.com
+
+Broken link to committers list on contributing web page
+https://bugs.webkit.org/show_bug.cgi?id=116722
+
+Reviewed by Andreas Kling.
+
+* coding/contributing.html:
+Changed broken link to point to the team page instead.
+
 2013-05-24  Bem Jones-Bey  bjone...@adobe.com
 
 Make team.html have each contributor's area of expertise


Modified: trunk/Websites/webkit.org/coding/contributing.html (150707 => 150708)

--- trunk/Websites/webkit.org/coding/contributing.html	2013-05-26 04:33:35 UTC (rev 150707)
+++ trunk/Websites/webkit.org/coding/contributing.html	2013-05-26 04:42:36 UTC (rev 150708)
@@ -164,7 +164,7 @@
 the reviewer as you submit revised patches./p
 
 h3 id=landingLanding in the tree/h3
-pOnce a patch is approved, you should ask a href="" with commit access/a to land your patch. Alternatively you can request that your patch be committed by our a href="" bot/a./p
+pOnce a patch is approved, you should ask a href="" committer or reviewer/a to land your patch. Alternatively you can request that your patch be committed by our a href="" bot/a./p
 
 h4Keeping the tree green/h4
 pIn either case, your responsibility for the patch does not end with the patch landing in the tree. There may be regressions from your change or additional feedback from reviewers after the patch has landed. You can watch the tree at a href="" to make sure your patch builds and passes tests on all platforms.  It is your responsibility to be available should regressions arise and to respond to additional feedback that happens after a check-in./p






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150709] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150709] trunk/Source/WebCore








Revision 150709
Author akl...@apple.com
Date 2013-05-25 22:05:37 -0700 (Sat, 25 May 2013)


Log Message
Move Node::isFocusable() to Element.
http://webkit.org/b/116777

Reviewed by Anders Carlsson.

Nodes cannot be focusable, so move isFocusable() from Node to Element.

* dom/Node.cpp:
* dom/Node.h:
* dom/Element.h:
* dom/Element.cpp:
(WebCore::Element::isFocusable):

Moved here from Node.

* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):

Check that the underlying node is an Element before asking if it's focusable.

* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):

Renamed the 'anchorNode' variable to 'anchorElement' because reasons.

* html/HTMLAreaElement.h:
* html/HTMLFormControlElement.h:
* html/HTMLLabelElement.h:
* html/HTMLOptionElement.h:
* svg/SVGAElement.h:

Sprinkle OVERRIDE.

* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::setMessage):

Update a comment to refer to Element::isFocusable() instead of Node.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/html/HTMLAreaElement.h
trunk/Source/WebCore/html/HTMLFormControlElement.h
trunk/Source/WebCore/html/HTMLLabelElement.h
trunk/Source/WebCore/html/HTMLOptionElement.h
trunk/Source/WebCore/html/ValidationMessage.cpp
trunk/Source/WebCore/page/FrameView.cpp
trunk/Source/WebCore/svg/SVGAElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (150708 => 150709)

--- trunk/Source/WebCore/ChangeLog	2013-05-26 04:42:36 UTC (rev 150708)
+++ trunk/Source/WebCore/ChangeLog	2013-05-26 05:05:37 UTC (rev 150709)
@@ -1,5 +1,47 @@
 2013-05-25  Andreas Kling  akl...@apple.com
 
+Move Node::isFocusable() to Element.
+http://webkit.org/b/116777
+
+Reviewed by Anders Carlsson.
+
+Nodes cannot be focusable, so move isFocusable() from Node to Element.
+
+* dom/Node.cpp:
+* dom/Node.h:
+* dom/Element.h:
+* dom/Element.cpp:
+(WebCore::Element::isFocusable):
+
+Moved here from Node.
+
+* dom/Document.cpp:
+(WebCore::Document::setFocusedNode):
+* accessibility/AccessibilityNodeObject.cpp:
+(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
+
+Check that the underlying node is an Element before asking if it's focusable.
+
+* page/FrameView.cpp:
+(WebCore::FrameView::scrollToAnchor):
+
+Renamed the 'anchorNode' variable to 'anchorElement' because reasons.
+
+* html/HTMLAreaElement.h:
+* html/HTMLFormControlElement.h:
+* html/HTMLLabelElement.h:
+* html/HTMLOptionElement.h:
+* svg/SVGAElement.h:
+
+Sprinkle OVERRIDE.
+
+* html/ValidationMessage.cpp:
+(WebCore::ValidationMessage::setMessage):
+
+Update a comment to refer to Element::isFocusable() instead of Node.
+
+2013-05-25  Andreas Kling  akl...@apple.com
+
 Move Node::tabIndex() to Element.
 http://webkit.org/b/116772
 


Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (150708 => 150709)

--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2013-05-26 04:42:36 UTC (rev 150708)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2013-05-26 05:05:37 UTC (rev 150709)
@@ -315,7 +315,7 @@
 return ParagraphRole;
 if (node()-hasTagName(labelTag))
 return LabelRole;
-if (node()-isFocusable())
+if (node()-isElementNode()  toElement(node())-isFocusable())
 return GroupRole;
 
 return UnknownRole;


Modified: trunk/Source/WebCore/dom/Document.cpp (150708 => 150709)

--- trunk/Source/WebCore/dom/Document.cpp	2013-05-26 04:42:36 UTC (rev 150708)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-05-26 05:05:37 UTC (rev 150709)
@@ -3386,7 +3386,7 @@
 }
 }
 
-if (newFocusedNode  newFocusedNode-isFocusable()) {
+if (newFocusedNode  newFocusedNode-isElementNode()  toElement(newFocusedNode.get())-isFocusable()) {
 if (newFocusedNode-isRootEditableElement()  !acceptsEditingFocus(newFocusedNode.get())) {
 // delegate blocks focus change
 focusChangeBlocked = true;


Modified: trunk/Source/WebCore/dom/Element.cpp (150708 => 150709)

--- trunk/Source/WebCore/dom/Element.cpp	2013-05-26 04:42:36 UTC (rev 150708)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-05-26 05:05:37 UTC (rev 150709)
@@ -417,6 +417,37 @@
 return nullAtom;
 }
 
+bool Element::isFocusable() const
+{
+if (!inDocument() || !supportsFocus())
+return false;
+
+// Elements in canvas fallback 

[webkit-changes] [150682] trunk/Source/WebCore

2013-05-25 Thread sergio
Title: [150682] trunk/Source/WebCore








Revision 150682
Author ser...@webkit.org
Date 2013-05-25 01:29:42 -0700 (Sat, 25 May 2013)


Log Message
Reducing CSS code duplication in declaration list error recovery
https://bugs.webkit.org/show_bug.cgi?id=115157

Reviewed by Andreas Kling.

>From Blink r148974 by se...@chromium.org

Refactor invalid_block_list error | /* empty */ in a new
decl_list_recovery rule that allows to remove 4 redundant rules.

No new test required as we're just refactoring code, no new behaviour.

* css/CSSGrammar.y.in:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSGrammar.y.in




Diff

Modified: trunk/Source/WebCore/ChangeLog (150681 => 150682)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 04:20:37 UTC (rev 150681)
+++ trunk/Source/WebCore/ChangeLog	2013-05-25 08:29:42 UTC (rev 150682)
@@ -1,3 +1,19 @@
+2013-05-25  Sergio Villar Senin  svil...@igalia.com
+
+Reducing CSS code duplication in declaration list error recovery
+https://bugs.webkit.org/show_bug.cgi?id=115157
+
+Reviewed by Andreas Kling.
+
+From Blink r148974 by se...@chromium.org
+
+Refactor invalid_block_list error | /* empty */ in a new
+decl_list_recovery rule that allows to remove 4 redundant rules.
+
+No new test required as we're just refactoring code, no new behaviour.
+
+* css/CSSGrammar.y.in:
+
 2013-05-24  Ryosuke Niwa  rn...@webkit.org
 
 Build fix after r150664.


Modified: trunk/Source/WebCore/css/CSSGrammar.y.in (150681 => 150682)

--- trunk/Source/WebCore/css/CSSGrammar.y.in	2013-05-25 04:20:37 UTC (rev 150681)
+++ trunk/Source/WebCore/css/CSSGrammar.y.in	2013-05-25 08:29:42 UTC (rev 150682)
@@ -1532,22 +1532,14 @@
 | decl_list {
 $$ = $1;
 }
-| errors invalid_block_list error {
+| errors decl_list_recovery {
 parser-syntaxError($1, CSSParser::PropertyDeclarationError);
 $$ = false;
 }
-| errors {
-parser-syntaxError($1, CSSParser::PropertyDeclarationError);
-$$ = false;
-}
-| decl_list errors {
+| decl_list errors decl_list_recovery {
 parser-syntaxError($2, CSSParser::PropertyDeclarationError);
 $$ = $1;
 }
-| decl_list errors invalid_block_list error {
-parser-syntaxError($2, CSSParser::PropertyDeclarationError);
-$$ = $1;
-}
 ;
 
 decl_list:
@@ -1563,33 +1555,29 @@
 parser-syntaxError($2);
 $$ = false;
 }
-| errors ';' maybe_space {
+| errors decl_list_recovery ';' maybe_space {
 parser-syntaxError($1, CSSParser::PropertyDeclarationError);
 parser-markPropertyStart();
 $$ = false;
 }
-| errors invalid_block_list error ';' maybe_space {
-parser-syntaxError($1, CSSParser::PropertyDeclarationError);
-$$ = false;
-}
 | decl_list declaration ';' maybe_space {
 parser-markPropertyStart();
 $$ = $1;
 if ($2)
 $$ = $2;
 }
-| decl_list errors ';' maybe_space {
+| decl_list errors decl_list_recovery ';' maybe_space {
 parser-syntaxError($2, CSSParser::PropertyDeclarationError);
 parser-markPropertyStart();
 $$ = $1;
 }
-| decl_list errors invalid_block_list error ';' maybe_space {
-parser-syntaxError($2, CSSParser::PropertyDeclarationError);
-parser-markPropertyStart();
-$$ = $1;
-}
 ;
 
+decl_list_recovery:
+invalid_block_list error
+| /* empty */
+;
+
 declaration:
 VAR_DEFINITION maybe_space ':' maybe_space expr prio {
 #if ENABLE_CSS_VARIABLES






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [150683] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150683] trunk/Source/WebCore








Revision 150683
Author akl...@apple.com
Date 2013-05-25 02:08:38 -0700 (Sat, 25 May 2013)


Log Message
Document::formController() should return a reference.
http://webkit.org/b/116758

Reviewed by Antti Koivisto.

The formController() is created on demand, so return a reference instead.

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::formController):
(WebCore::Document::setStateForNewFormElements):
* html/HTMLFormControlElementWithState.cpp:
(WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
(WebCore::HTMLFormControlElementWithState::finishParsingChildren):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::finishParsingChildren):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::didMoveToNewDocument):
(WebCore::HTMLInputElement::checkedRadioButtons):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/html/HTMLFormControlElementWithState.cpp
trunk/Source/WebCore/html/HTMLFormElement.cpp
trunk/Source/WebCore/html/HTMLInputElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (150682 => 150683)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 08:29:42 UTC (rev 150682)
+++ trunk/Source/WebCore/ChangeLog	2013-05-25 09:08:38 UTC (rev 150683)
@@ -1,3 +1,29 @@
+2013-05-25  Andreas Kling  akl...@apple.com
+
+Document::formController() should return a reference.
+http://webkit.org/b/116758
+
+Reviewed by Antti Koivisto.
+
+The formController() is created on demand, so return a reference instead.
+
+* dom/Document.h:
+* dom/Document.cpp:
+(WebCore::Document::formController):
+(WebCore::Document::setStateForNewFormElements):
+* html/HTMLFormControlElementWithState.cpp:
+(WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
+(WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
+(WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
+(WebCore::HTMLFormControlElementWithState::finishParsingChildren):
+* html/HTMLFormElement.cpp:
+(WebCore::HTMLFormElement::~HTMLFormElement):
+(WebCore::HTMLFormElement::finishParsingChildren):
+* html/HTMLInputElement.cpp:
+(WebCore::HTMLInputElement::~HTMLInputElement):
+(WebCore::HTMLInputElement::didMoveToNewDocument):
+(WebCore::HTMLInputElement::checkedRadioButtons):
+
 2013-05-25  Sergio Villar Senin  svil...@igalia.com
 
 Reducing CSS code duplication in declaration list error recovery


Modified: trunk/Source/WebCore/dom/Document.cpp (150682 => 150683)

--- trunk/Source/WebCore/dom/Document.cpp	2013-05-25 08:29:42 UTC (rev 150682)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-05-25 09:08:38 UTC (rev 150683)
@@ -1644,11 +1644,11 @@
 return DOCUMENT_NODE;
 }
 
-FormController* Document::formController()
+FormController Document::formController()
 {
 if (!m_formController)
 m_formController = FormController::create();
-return m_formController.get();
+return *m_formController;
 }
 
 VectorString Document::formElementsState() const
@@ -1662,7 +1662,7 @@
 {
 if (!stateVector.size()  !m_formController)
 return;
-formController()-setStateForNewFormElements(stateVector);
+formController().setStateForNewFormElements(stateVector);
 }
 
 FrameView* Document::view() const


Modified: trunk/Source/WebCore/dom/Document.h (150682 => 150683)

--- trunk/Source/WebCore/dom/Document.h	2013-05-25 08:29:42 UTC (rev 150682)
+++ trunk/Source/WebCore/dom/Document.h	2013-05-25 09:08:38 UTC (rev 150683)
@@ -491,8 +491,7 @@
 
 void evaluateMediaQueryList();
 
-// Never returns 0.
-FormController* formController();
+FormController formController();
 VectorString formElementsState() const;
 void setStateForNewFormElements(const VectorString);
 


Modified: trunk/Source/WebCore/html/HTMLFormControlElementWithState.cpp (150682 => 150683)

--- trunk/Source/WebCore/html/HTMLFormControlElementWithState.cpp	2013-05-25 08:29:42 UTC (rev 150682)
+++ trunk/Source/WebCore/html/HTMLFormControlElementWithState.cpp	2013-05-25 09:08:38 UTC (rev 150683)
@@ -37,19 +37,19 @@
 HTMLFormControlElementWithState::HTMLFormControlElementWithState(const QualifiedName tagName, Document* doc, HTMLFormElement* f)
 : HTMLFormControlElement(tagName, doc, f)
 {
-document()-formController()-registerFormElementWithState(this);
+document()-formController().registerFormElementWithState(this);
 }
 
 HTMLFormControlElementWithState::~HTMLFormControlElementWithState()
 {
-

[webkit-changes] [150684] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150684] trunk/Source/WebCore








Revision 150684
Author akl...@apple.com
Date 2013-05-25 02:16:30 -0700 (Sat, 25 May 2013)


Log Message
Move hover state logic from Node to Element.
http://webkit.org/b/116757

Reviewed by Antti Koivisto.

Resolve a 7 year old FIXME by merging the hover state logic from Node and ContainerNode
and moving it all to Element instead.

* dom/Node.cpp:
(WebCore::Node::detach):
* dom/Element.cpp:
(WebCore::Element::detach):

Move Document::hoveredNodeDetached() call from Node::detach() to Element::detach().

(WebCore::Element::isUserActionElementHovered):
(WebCore::Element::setHovered):
* dom/Element.h:
(WebCore::Element::hovered):

Moved here from Node/ContainerNode.

* dom/UserActionElementSet.h:
(WebCore::UserActionElementSet::setHovered):
(WebCore::UserActionElementSet::setFlags):

Make setHovered() take an Element* instead of a Node*. I'd like to do this will all
of these methods eventually, so added a setFlags() helper with the tighter type.

* html/HTMLLabelElement.h:
* html/shadow/SpinButtonElement.h:

Sprinkle OVERRIDE on setHovered() overrides.

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isHovered):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isHovered):

Check if the inspected Node is an element before asking if it's hovered.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
trunk/Source/WebCore/dom/ContainerNode.cpp
trunk/Source/WebCore/dom/ContainerNode.h
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/UserActionElementSet.cpp
trunk/Source/WebCore/dom/UserActionElementSet.h
trunk/Source/WebCore/html/HTMLLabelElement.h
trunk/Source/WebCore/html/shadow/SpinButtonElement.h
trunk/Source/WebCore/rendering/RenderTheme.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (150683 => 150684)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 09:08:38 UTC (rev 150683)
+++ trunk/Source/WebCore/ChangeLog	2013-05-25 09:16:30 UTC (rev 150684)
@@ -1,3 +1,48 @@
+2013-05-24  Andreas Kling  akl...@apple.com
+
+Move hover state logic from Node to Element.
+http://webkit.org/b/116757
+
+Reviewed by Antti Koivisto.
+
+Resolve a 7 year old FIXME by merging the hover state logic from Node and ContainerNode
+and moving it all to Element instead.
+
+* dom/Node.cpp:
+(WebCore::Node::detach):
+* dom/Element.cpp:
+(WebCore::Element::detach):
+
+Move Document::hoveredNodeDetached() call from Node::detach() to Element::detach().
+
+(WebCore::Element::isUserActionElementHovered):
+(WebCore::Element::setHovered):
+* dom/Element.h:
+(WebCore::Element::hovered):
+
+Moved here from Node/ContainerNode.
+
+* dom/UserActionElementSet.h:
+(WebCore::UserActionElementSet::setHovered):
+(WebCore::UserActionElementSet::setFlags):
+
+Make setHovered() take an Element* instead of a Node*. I'd like to do this will all
+of these methods eventually, so added a setFlags() helper with the tighter type.
+
+* html/HTMLLabelElement.h:
+* html/shadow/SpinButtonElement.h:
+
+Sprinkle OVERRIDE on setHovered() overrides.
+
+* dom/Document.cpp:
+(WebCore::Document::updateHoverActiveState):
+* accessibility/AccessibilityNodeObject.cpp:
+(WebCore::AccessibilityNodeObject::isHovered):
+* rendering/RenderTheme.cpp:
+(WebCore::RenderTheme::isHovered):
+
+Check if the inspected Node is an element before asking if it's hovered.
+
 2013-05-25  Andreas Kling  akl...@apple.com
 
 Document::formController() should return a reference.


Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (150683 => 150684)

--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2013-05-25 09:08:38 UTC (rev 150683)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2013-05-25 09:16:30 UTC (rev 150684)
@@ -672,7 +672,7 @@
 if (!node)
 return false;
 
-return node-hovered();
+return node-isElementNode()  toElement(node)-hovered();
 }
 
 bool AccessibilityNodeObject::isMultiSelectable() const


Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (150683 => 150684)

--- trunk/Source/WebCore/dom/ContainerNode.cpp	2013-05-25 09:08:38 UTC (rev 150683)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp	2013-05-25 09:16:30 UTC (rev 150684)
@@ -1029,22 +1029,6 @@
 }
 }
 
-void ContainerNode::setHovered(bool over)
-{
-if (over == hovered()) return;
-
-Node::setHovered(over);
-
-// note that we need to recalc the style
-// FIXME: Move to Element
-if 

[webkit-changes] [150685] trunk

2013-05-25 Thread noam . rosenthal
Title: [150685] trunk








Revision 150685
Author noam.rosent...@nokia.com
Date 2013-05-25 02:51:25 -0700 (Sat, 25 May 2013)


Log Message
Direct pattern compositing breaks when no-repeat is set on a large layer
https://bugs.webkit.org/show_bug.cgi?id=116140

Source/WebCore:

Reviewed by Antti Koivisto.

In some cases the directly composited background color logic overrides the layer's
contentsRect, which results in wrong rendering of tiled images.
This patch makes sure that the background image is applied after the solid color,
which ensures the correct contentsRect.

Test: compositing/patterns/direct-pattern-compositing-contain-no-repeat.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDirectlyCompositedContents):

LayoutTests:

Added a ref-test to make sure that direct pattern compositing works well with no-repeat
in a particular geometry.

Reviewed by Antti Koivisto.

* compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html: Added.
* compositing/patterns/direct-pattern-compositing-contain-no-repeat.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp


Added Paths

trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html
trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat.html




Diff

Modified: trunk/LayoutTests/ChangeLog (150684 => 150685)

--- trunk/LayoutTests/ChangeLog	2013-05-25 09:16:30 UTC (rev 150684)
+++ trunk/LayoutTests/ChangeLog	2013-05-25 09:51:25 UTC (rev 150685)
@@ -1,3 +1,16 @@
+2013-05-25  Noam Rosenthal  noam.rosent...@nokia.com
+
+Direct pattern compositing breaks when no-repeat is set on a large layer
+https://bugs.webkit.org/show_bug.cgi?id=116140
+
+Added a ref-test to make sure that direct pattern compositing works well with no-repeat
+in a particular geometry.
+
+Reviewed by Antti Koivisto.
+
+* compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html: Added.
+* compositing/patterns/direct-pattern-compositing-contain-no-repeat.html: Added.
+
 2013-05-24  Brent Fulgham  bfulg...@apple.com
 
 Unreviewed change to get Windows bots green.  Disable a number


Added: trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html (0 => 150685)

--- trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html	(rev 0)
+++ trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html	2013-05-25 09:51:25 UTC (rev 150685)
@@ -0,0 +1,16 @@
+html lang=en
+head
+  style
+.test {
+  height: 200px;
+  width: 300px;
+  background-image: url(../resources/simple_image.png);
+  -webkit-background-size: contain;
+  background-repeat: no-repeat;
+}
+   /style
+/head
+body
+  div class=test/div
+/body
+/html


Added: trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat.html (0 => 150685)

--- trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat.html	(rev 0)
+++ trunk/LayoutTests/compositing/patterns/direct-pattern-compositing-contain-no-repeat.html	2013-05-25 09:51:25 UTC (rev 150685)
@@ -0,0 +1,17 @@
+html lang=en
+head
+  style
+.composited { -webkit-transform: translateZ(0); }
+.test {
+  height: 200px;
+  width: 300px;
+  background-image: url(../resources/simple_image.png);
+  -webkit-background-size: contain;
+  background-repeat: no-repeat;
+}
+   /style
+/head
+body
+  div class=test composited/div
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (150684 => 150685)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 09:16:30 UTC (rev 150684)
+++ trunk/Source/WebCore/ChangeLog	2013-05-25 09:51:25 UTC (rev 150685)
@@ -1,3 +1,20 @@
+2013-05-25  Noam Rosenthal  noam.rosent...@nokia.com
+
+Direct pattern compositing breaks when no-repeat is set on a large layer
+https://bugs.webkit.org/show_bug.cgi?id=116140
+
+Reviewed by Antti Koivisto.
+
+In some cases the directly composited background color logic overrides the layer's
+contentsRect, which results in wrong rendering of tiled images.
+This patch makes sure that the background image is applied after the solid color,
+which ensures the correct contentsRect.
+
+Test: compositing/patterns/direct-pattern-compositing-contain-no-repeat.html
+
+* rendering/RenderLayerBacking.cpp:
+(WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
+
 2013-05-24  Andreas Kling  akl...@apple.com
 
 Move hover state logic from Node to Element.


Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (150684 => 150685)

--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	

[webkit-changes] [150686] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150686] trunk/Source/WebCore








Revision 150686
Author akl...@apple.com
Date 2013-05-25 03:27:37 -0700 (Sat, 25 May 2013)


Log Message
Begin moving focus state logic from Node to Element.
http://webkit.org/b/116760

Reviewed by Antti Koivisto.

Only Elements can be focused, so merge the focus state logic from Node and ContainerNode
and move it into Element. There's a lot more iceberg under this tip, but we'll be starting
with setFocus(bool) and focused().

* dom/Node.h:
* dom/ContainerNode.cpp:
* dom/ContainerNode.h:
* dom/Element.cpp:
(WebCore::Element::isUserActionElementFocused):
(WebCore::Element::setFocus):
* dom/Element.h:
(WebCore::Element::focused):
* dom/Node.cpp:

Move focused() and setFocus(bool) from Node/ContainerNode to Element.

* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):

Check if the inspected Node is an Element before asking if it's focused.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp
trunk/Source/WebCore/dom/ContainerNode.h
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/UserActionElementSet.h
trunk/Source/WebCore/page/EventHandler.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (150685 => 150686)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 09:51:25 UTC (rev 150685)
+++ trunk/Source/WebCore/ChangeLog	2013-05-25 10:27:37 UTC (rev 150686)
@@ -1,3 +1,33 @@
+2013-05-25  Andreas Kling  akl...@apple.com
+
+Begin moving focus state logic from Node to Element.
+http://webkit.org/b/116760
+
+Reviewed by Antti Koivisto.
+
+Only Elements can be focused, so merge the focus state logic from Node and ContainerNode
+and move it into Element. There's a lot more iceberg under this tip, but we'll be starting
+with setFocus(bool) and focused().
+
+* dom/Node.h:
+* dom/ContainerNode.cpp:
+* dom/ContainerNode.h:
+* dom/Element.cpp:
+(WebCore::Element::isUserActionElementFocused):
+(WebCore::Element::setFocus):
+* dom/Element.h:
+(WebCore::Element::focused):
+* dom/Node.cpp:
+
+Move focused() and setFocus(bool) from Node/ContainerNode to Element.
+
+* dom/Document.cpp:
+(WebCore::Document::setFocusedNode):
+* page/EventHandler.cpp:
+(WebCore::EventHandler::dispatchMouseEvent):
+
+Check if the inspected Node is an Element before asking if it's focused.
+
 2013-05-25  Noam Rosenthal  noam.rosent...@nokia.com
 
 Direct pattern compositing breaks when no-repeat is set on a large layer


Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (150685 => 150686)

--- trunk/Source/WebCore/dom/ContainerNode.cpp	2013-05-25 09:51:25 UTC (rev 150685)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp	2013-05-25 10:27:37 UTC (rev 150686)
@@ -968,17 +968,6 @@
 return enclosingLayoutRect(FloatRect(upperLeft, lowerRight.expandedTo(upperLeft) - upperLeft));
 }
 
-void ContainerNode::setFocus(bool received)
-{
-if (focused() == received)
-return;
-
-Node::setFocus(received);
-
-// note that we need to recalc the style
-setNeedsStyleRecalc();
-}
-
 void ContainerNode::setActive(bool down, bool pause)
 {
 if (down == active()) return;


Modified: trunk/Source/WebCore/dom/ContainerNode.h (150685 => 150686)

--- trunk/Source/WebCore/dom/ContainerNode.h	2013-05-25 09:51:25 UTC (rev 150685)
+++ trunk/Source/WebCore/dom/ContainerNode.h	2013-05-25 10:27:37 UTC (rev 150686)
@@ -109,7 +109,6 @@
 virtual void attach() OVERRIDE;
 virtual void detach() OVERRIDE;
 virtual LayoutRect boundingBox() const OVERRIDE;
-virtual void setFocus(bool) OVERRIDE;
 virtual void setActive(bool active = true, bool pause = false) OVERRIDE;
 virtual void scheduleSetNeedsStyleRecalc(StyleChangeType = FullStyleChange) OVERRIDE FINAL;
 


Modified: trunk/Source/WebCore/dom/Document.cpp (150685 => 150686)

--- trunk/Source/WebCore/dom/Document.cpp	2013-05-25 09:51:25 UTC (rev 150685)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-05-25 10:27:37 UTC (rev 150686)
@@ -3341,7 +3341,8 @@
 if (oldFocusedNode-active())
 oldFocusedNode-setActive(false);
 
-oldFocusedNode-setFocus(false);
+if (oldFocusedNode-isElementNode())
+toElement(oldFocusedNode.get())-setFocus(false);
 
 // Dispatch a change event for text fields or textareas that have been edited
 if (oldFocusedNode-isElementNode()) {
@@ -3419,8 +3420,10 @@
 focusChangeBlocked = true;
 goto SetFocusedNodeDone;
 }
-m_focusedNode-setFocus(true);
 
+if (m_focusedNode-isElementNode())
+toElement(m_focusedNode.get())-setFocus(true);
+
 if 

[webkit-changes] [150687] trunk/Source/WebCore

2013-05-25 Thread akling
Title: [150687] trunk/Source/WebCore








Revision 150687
Author akl...@apple.com
Date 2013-05-25 05:02:35 -0700 (Sat, 25 May 2013)


Log Message
Move Node::isKeyboardFocusable() to Element.
http://webkit.org/b/116761

Reviewed by Antti Koivisto.

Only Elements can be keyboard-focusable. Move the base isKeyboardFocusable() implementation to Element
and sprinkle OVERRIDE on subclass overrides.
FocusController gets some temporary type checks that will go away as that code moves to dealing in
Elements instead of Node.

* dom/Node.h:
* dom/Node.cpp:
* dom/Element.h:
* dom/Element.cpp:
(WebCore::Element::isKeyboardFocusable):

Move isKeyboardFocusable() from Node to Element.

* page/FocusController.cpp:
(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::shouldVisit):
(WebCore::FocusController::advanceFocusInDocumentOrder):

Check that the inspected Node is an Element before querying isKeyboardFocusable().

* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.h:
* html/HTMLFormControlElement.h:
* html/HTMLFrameOwnerElement.h:
* html/HTMLInputElement.h:
* html/HTMLPlugInElement.h:
* html/HTMLSelectElement.h:
* html/HTMLTextAreaElement.h:
* svg/SVGAElement.h:
* svg/SVGStyledElement.h:

Sprinkle OVERRIDE.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/html/HTMLAnchorElement.h
trunk/Source/WebCore/html/HTMLAreaElement.h
trunk/Source/WebCore/html/HTMLFormControlElement.h
trunk/Source/WebCore/html/HTMLFrameOwnerElement.h
trunk/Source/WebCore/html/HTMLInputElement.h
trunk/Source/WebCore/html/HTMLPlugInElement.h
trunk/Source/WebCore/html/HTMLSelectElement.h
trunk/Source/WebCore/html/HTMLTextAreaElement.h
trunk/Source/WebCore/page/FocusController.cpp
trunk/Source/WebCore/svg/SVGAElement.h
trunk/Source/WebCore/svg/SVGStyledElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (150686 => 150687)

--- trunk/Source/WebCore/ChangeLog	2013-05-25 10:27:37 UTC (rev 150686)
+++ trunk/Source/WebCore/ChangeLog	2013-05-25 12:02:35 UTC (rev 150687)
@@ -1,5 +1,46 @@
 2013-05-25  Andreas Kling  akl...@apple.com
 
+Move Node::isKeyboardFocusable() to Element.
+http://webkit.org/b/116761
+
+Reviewed by Antti Koivisto.
+
+Only Elements can be keyboard-focusable. Move the base isKeyboardFocusable() implementation to Element
+and sprinkle OVERRIDE on subclass overrides.
+FocusController gets some temporary type checks that will go away as that code moves to dealing in
+Elements instead of Node.
+
+* dom/Node.h:
+* dom/Node.cpp:
+* dom/Element.h:
+* dom/Element.cpp:
+(WebCore::Element::isKeyboardFocusable):
+
+Move isKeyboardFocusable() from Node to Element.
+
+* page/FocusController.cpp:
+(WebCore::isNonFocusableShadowHost):
+(WebCore::isFocusableShadowHost):
+(WebCore::shouldVisit):
+(WebCore::FocusController::advanceFocusInDocumentOrder):
+
+Check that the inspected Node is an Element before querying isKeyboardFocusable().
+
+* html/HTMLAnchorElement.h:
+* html/HTMLAreaElement.h:
+* html/HTMLFormControlElement.h:
+* html/HTMLFrameOwnerElement.h:
+* html/HTMLInputElement.h:
+* html/HTMLPlugInElement.h:
+* html/HTMLSelectElement.h:
+* html/HTMLTextAreaElement.h:
+* svg/SVGAElement.h:
+* svg/SVGStyledElement.h:
+
+Sprinkle OVERRIDE.
+
+2013-05-25  Andreas Kling  akl...@apple.com
+
 Begin moving focus state logic from Node to Element.
 http://webkit.org/b/116760
 


Modified: trunk/Source/WebCore/dom/Element.cpp (150686 => 150687)

--- trunk/Source/WebCore/dom/Element.cpp	2013-05-25 10:27:37 UTC (rev 150686)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-05-25 12:02:35 UTC (rev 150687)
@@ -249,6 +249,11 @@
 return hasRareData() ? elementRareData()-tabIndex() : 0;
 }
 
+bool Element::isKeyboardFocusable(KeyboardEvent*) const
+{
+return isFocusable()  tabIndex() = 0;
+}
+
 DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(Element, blur);
 DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(Element, error);
 DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(Element, focus);


Modified: trunk/Source/WebCore/dom/Element.h (150686 => 150687)

--- trunk/Source/WebCore/dom/Element.h	2013-05-25 10:27:37 UTC (rev 150686)
+++ trunk/Source/WebCore/dom/Element.h	2013-05-25 12:02:35 UTC (rev 150687)
@@ -432,6 +432,8 @@
 virtual void setHovered(bool flag = true);
 virtual void setFocus(bool flag);
 
+virtual bool isKeyboardFocusable(KeyboardEvent*) const;
+
 RenderStyle* computedStyle(PseudoId = NOPSEUDO);
 
 // Methods for indicating the style is affected by dynamic updates (e.g., children changing, our position changing in our sibling list, etc.)


Modified: