WebKit-https.git
6 years ago[WK2] Notifications clobber each other with multiple processes
jonlee@apple.com [Tue, 28 May 2013 00:02:46 +0000 (00:02 +0000)]
[WK2] Notifications clobber each other with multiple processes
https://bugs.webkit.org/show_bug.cgi?id=116428
<rdar://problem/13935191>

Reviewed by Darin Adler.

.:

* ManualTests/notification-in-multiple-windows.html: Added.

Source/WebKit2:

With multiple processes, the notification IDs, when passed up to the UI process, can clobber
each other. To fix this, we need to maintain a global map of notification IDs. This map is
keyed by its own unique notification ID, and maps to a pair containing the web page ID and that
web page's ID for the notification.

Now that we maintain groups of notifications based on the web page, we no longer send IPC messages
from WebNotificationManager to WebNotificationManagerProxy; instead we send messages to the
WebPageProxy. This removes the need for WebNotificationManagerProxy to be a message receiver.

When a page closes, all of the web notifications are cleared out. However, by the time the
WebPage::close() is called, the connection between WebPage and WebPageProxy is destroyed. Since
the WebPage is told to close from the UI process anyway, we clear out the notifications separately,
instead of waiting for a message from the WebPage.

* UIProcess/Notifications/WebNotificationManagerProxy.h: Update to take into account the
notification's web page. Remove inheritance of CoreIPC::MessageReceiver. Expose the original message
handlers as public functions, since they will be called from WebPageProxy. Add a new map that
associates a global ID with a notification ID that came from a web page.
    There are now two flavors of clearNotifications(). One clears out all notifications associated
with a web page. This is called when the page is closed. The other clears out a subset of
notifications associated with a web page. This is called when notifications associated with a sub-frame
is closed.
* UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Removed. All messages from
the web process go to WebPageProxy now.

* UIProcess/Notifications/WebNotificationManagerProxy.cpp: Update to take into account the
notification's web page.

(WebKit::generateGlobalNotificationID): The manager proxy now maintains its own global notification
ID generator.
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): The proxy is no longer a
message receiver. Remove code that registers it as such.

(WebKit::WebNotificationManagerProxy::show): Refactor to differentiate between the notification ID
that came from the web process, and the global notification ID the proxy maintains. Add the mapping
from the global ID to the (web page ID, notification ID) pair.
(WebKit::WebNotificationManagerProxy::cancel): Refactor to take into consideration the web page.
(WebKit::WebNotificationManagerProxy::didDestroyNotification): Refactor to take into consideration
the web page. Fixes a leak where we did not remove the item from the maps. This function is called
from the web process, when the ScriptExecutionContext is destroyed, so we remove it from our maps
before we pass the message along to the provider.

Helper functions that evaluate when a given notification in the map matches the desired parameters.
(WebKit::pageIDsMatch): The notification is associated with the provided page.
(WebKit::pageAndNotificationIDsMatch): The notification is associated with the provided page and is
contained within the list of provided notifications.

(WebKit::WebNotificationManagerProxy::clearNotifications): Changed to only remove notifications
associated with the provided web page, and could include a specific list of notifications. This latter
situation occurs if notifications were associated with an iframe, and that iframe was removed.
There is an O(n) walk that could be make more efficient using another hash map, but that's overhead
for a map that should be small in size anyway.

(WebKit::WebNotificationManagerProxy::providerDidShowNotification): Refactor to take into
consideration the web page.
(WebKit::WebNotificationManagerProxy::providerDidClickNotification): Refactor to take into
consideration the web page.
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Now we need to comb through
the list of global IDs and put them in buckets based on the notification's web pages. After that
is done we can send the DidCloseNotifications() to those pages' processes. There is a possible
extra optimization here where we group based on the page's process instead, to reduce the number
of messages sent to processes.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close): When a web page is closed, we clear the notifications associated
with the page.
(WebKit::WebPageProxy::cancelNotification): Forward call to WebNotificationManagerProxy.
(WebKit::WebPageProxy::clearNotifications): Ditto.
(WebKit::WebPageProxy::didDestroyNotification): Ditto.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::didDestroyNotification):
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Remove extraneous include.

* CMakeLists.txt: Remove WebNotificationManagerProxy.messages.in and related files.
* DerivedSources.pri: Ditto.
* DerivedSources.make: Ditto.
* GNUmakefile.list.am: Ditto.
* WebKit2.xcodeproj/project.pbxproj: Ditto.

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

6 years agoFix typo that broke the build.
darin@apple.com [Mon, 27 May 2013 23:55:26 +0000 (23:55 +0000)]
Fix typo that broke the build.

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

6 years agoMove hasNonEmptyBoundingBox from Node to HTMLAnchorElement
darin@apple.com [Mon, 27 May 2013 23:53:47 +0000 (23:53 +0000)]
Move hasNonEmptyBoundingBox from Node to HTMLAnchorElement
https://bugs.webkit.org/show_bug.cgi?id=116842

Reviewed by Antti Koivisto.

* dom/Node.cpp: Removed hasNonEmptyBoundingBox.
* dom/Node.h: Ditto.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isMouseFocusable): Fixed #if to be more readable and
added more-explicit clearer comments. No behavior change.
(WebCore::hasNonEmptyBox): Added.  Has the same code that was in
Node::hasNonEmptyBoundingBox with some additional comments.
(WebCore::HTMLAnchorElement::isKeyboardFocusable): Call hasNonEmptyBox.

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

6 years agoMove isBlockFlowElement and related functions out of the Node class into editing...
darin@apple.com [Mon, 27 May 2013 23:40:38 +0000 (23:40 +0000)]
Move isBlockFlowElement and related functions out of the Node class into editing code
https://bugs.webkit.org/show_bug.cgi?id=116846

Reviewed by Antti Koivisto.

* dom/Node.cpp: Removed isBlockFlowElement, enclosingBlockFlowElement, and
inSameContainingBlockFlowElement. These are all editing functions that don't
belong in the Node class, and mostly-deprecated ones to boot.
* dom/Node.h: Ditto.

* dom/Position.cpp:
(WebCore::inSameEnclosingBlockFlowElement): Added. This editing-specific function
is used only here, so put it here.
(WebCore::Position::rendersInDifferentPosition): Updated to call new function above.
(WebCore::Position::leadingWhitespacePosition): Ditto.

* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::insertNodeAfterPosition): Use
deprecatedEnclosingBlockFlowElement at its new location.
(WebCore::InsertLineBreakCommand::insertNodeBeforePosition): Ditto.

* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApplyForSingleParagraph): use
isBlockFlowElement at its new location.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::enclosingInline): Ditto.

* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::canonicalPosition): Use deprecatedEnclosingBlockFlowElement
at its new location.
(WebCore::enclosingBlockFlowElement): Ditto. Also added FIXME.
* editing/VisibleSelection.cpp:
(WebCore::makeSearchRange): Ditto.

* editing/htmlediting.cpp:
(WebCore::isBlockFlowElement): Added. Same as the Node::isBlockFlowElement
function, but here because this is an editing function, not suitable as a Node member.
(WebCore::deprecatedEnclosingBlockFlowElement): Ditto. Added "deprecated" to the name
since the Node member function had a comment saying it was deprecated. Also changed so
it tolerates a 0 for an argument, which made it easier for one caller.

* editing/htmlediting.h: Added the two new functions.

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

6 years agoAdd a balanced benchmark for QuerySelector
benjamin@webkit.org [Mon, 27 May 2013 22:31:02 +0000 (22:31 +0000)]
Add a balanced benchmark for QuerySelector
https://bugs.webkit.org/show_bug.cgi?id=116811

Reviewed by Sam Weinig.

The goal of this benchmark is to have an overview of querySelector as typically used
by webpages.

It uses queries similar to what is used by popular websites and applies somewhat
similar weighting for each type of query.

The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector
a not purely the overhead of traversal.

* CSS/QuerySelector.html: Added.
* CSS/resources/query-selector.html: Added.

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

6 years ago[BlackBerry] Clear supression flag when caret changes aren't propogated through
commit-queue@webkit.org [Mon, 27 May 2013 21:59:52 +0000 (21:59 +0000)]
[BlackBerry] Clear supression flag when caret changes aren't propogated through
https://bugs.webkit.org/show_bug.cgi?id=116840

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-27
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR339965
We set and clear the flag upon every use. This leaves us vulnerable if
1. midway through processing the selection change event is dismissed and
2. we don't receive a TouchRelease event
One example of this is while dragging the FCC handle we start typing. To
safeguard against this, if the process change guard is set during a
selection change event, we send out to clear the flag status before returning.

* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::selectionChanged):

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

6 years agoAdd guard around paintForFixedRootBackground
commit-queue@webkit.org [Mon, 27 May 2013 21:11:58 +0000 (21:11 +0000)]
Add guard around paintForFixedRootBackground
https://bugs.webkit.org/show_bug.cgi?id=116754

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-27
Reviewed by Simon Fraser.

paintForFixedRootBackground is only used when ACCELERATED_COMPOSITING is enabled.

No new tests, no behavior change.

* rendering/RenderLayer.cpp:
(WebCore):

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

6 years agoRemove a leftover Pagepoup from PickerIndicatorElement.h
commit-queue@webkit.org [Mon, 27 May 2013 21:00:34 +0000 (21:00 +0000)]
Remove a leftover Pagepoup from PickerIndicatorElement.h
https://bugs.webkit.org/show_bug.cgi?id=116801

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-27
Reviewed by Anders Carlsson.

No new tests, no behavior change.

* html/shadow/PickerIndicatorElement.h:
(WebCore):

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

6 years ago[CSS] -webkit-var prefix is case-sensitive
csaavedra@igalia.com [Mon, 27 May 2013 20:58:52 +0000 (20:58 +0000)]
[CSS] -webkit-var prefix is case-sensitive
https://bugs.webkit.org/show_bug.cgi?id=116829

Reviewed by Darin Adler.

Source/WebCore:

Tests: Added case to fast/css/variables/case-sensitive.html

* css/CSSParser.cpp:
(WebCore::isEqualToCSSCaseSensitiveIdentifier): Add variant to
IsEqualToCSSIdentifier that respects case-sensitivity.
(WebCore::CSSParser::realLex): Use the above method for CSS
variable declarations.

LayoutTests:

* fast/css/variables/case-sensitive.html: Add a
check for case-sensitiveness of the prefix of
variable declarations.
* fast/css/variables/case-sensitive-expected.html: Update.

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

6 years agodrop-shadow filter with overflow:hidden child misbehaves.
commit-queue@webkit.org [Mon, 27 May 2013 20:07:40 +0000 (20:07 +0000)]
drop-shadow filter with overflow:hidden child misbehaves.
https://bugs.webkit.org/show_bug.cgi?id=109783

Patch by Zalan Bujtas <zalan@apple.com> on 2013-05-27
Reviewed by Simon Fraser.

Applying CSS filters only to the scrollbar rect leaves rendering
artefacts. Filters should skip such partial repaints.

Tests: Test framework uses mock theme for scrollbars. Such scrollbars do not
initiate partial repaints.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintLayerContents):
* rendering/RenderLayer.h:
(RenderLayer):

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

6 years agoUnreviewed build fix take 2.
timothy_horton@apple.com [Mon, 27 May 2013 20:04:00 +0000 (20:04 +0000)]
Unreviewed build fix take 2.

* WebProcess/Plugins/PDF/PDFPlugin.mm:

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

6 years agoUnreviewed build fix.
timothy_horton@apple.com [Mon, 27 May 2013 19:58:00 +0000 (19:58 +0000)]
Unreviewed build fix.

* WebProcess/Plugins/PDF/PDFPlugin.mm:

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

6 years agoMove Windows port off legacy clipboard.
commit-queue@webkit.org [Mon, 27 May 2013 19:51:49 +0000 (19:51 +0000)]
Move Windows port off legacy clipboard.
https://bugs.webkit.org/show_bug.cgi?id=116258

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2013-05-27
Reviewed by Darin Adler.

Source/WebCore:

Clipboard refactor, no new tests.

* dom/Clipboard.h:
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::createDraggingClipboard): Create Clipboard instead of ClipboardWin.
* platform/Pasteboard.h:
(WebCore::Pasteboard::dataObject): Get IDataObject by Clipborad.
(WebCore::Pasteboard::writableDataObject): Get WCDataObject by Clipborad.
* platform/win/ClipboardWin.cpp:
(WebCore::Clipboard::createDragImage): Change parameter name loc to dragLocation.
(WebCore::Clipboard::declareAndWriteDragImage): Implement declareAndWriteDragImage use WCDataObject exposed by Pasteboard.
* platform/win/ClipboardWin.h: Removed.
* platform/win/EditorWin.cpp:
(WebCore::Editor::newGeneralClipboard): Create Clipboard instead of ClipboardWin.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard.
(WebCore::Pasteboard::createPrivate): Ditto.
(WebCore::Pasteboard::createForDragAndDrop): Ditto.
(WebCore::Pasteboard::finishCreatingPasteboard): Create Pasteboard use Windows API.
(WebCore::Pasteboard::Pasteboard):
(WebCore::clipboardTypeFromMIMEType): Copied from ClipboardWin.cpp.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::hasData): Ditto.
(WebCore::addMimeTypesForFormat): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.
(WebCore::writeURL): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
(WebCore::Pasteboard::setDragImage): Ditto.
(WebCore::Pasteboard::writeRangeToDataObject): Write range to WCDataObject.
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writePlainTextToDataObject): Write PlainText to WCDataObject.
(WebCore::Pasteboard::writePlainText):
(WebCore::pathRemoveBadFSCharacters): Copied from ClipboardWin.cpp.
(WebCore::filesystemPathFromUrlOrTitle): Ditto.
(WebCore::writeFileToDataObject): Ditto.
(WebCore::Pasteboard::writeURLToDataObject): Write URL to WCDataObject.
(WebCore::Pasteboard::writeURL): Copied from ClipboardWin.cpp.
(WebCore::Pasteboard::writePasteboard): Copied from Pasteboard::writeClipboard.
(WebCore::Pasteboard::documentFragment): Copied from ClipboardWin.cpp.
(WebCore::Pasteboard::setExternalDataObject): Clipboard can set new IDataObject.
(WebCore::getCachedImage): Copied from ClipboardWin.cpp.
(WebCore::createGlobalImageFileDescriptor): Ditto.
(WebCore::createGlobalImageFileContent): Ditto.
(WebCore::createGlobalHDropContent): Ditto.
(WebCore::Pasteboard::writeImageToDataObject): Expose to make Clipboard implement declareAndWriteDragImage.
(WebCore::Pasteboard::writeURLToWritableDataObject): Ditto.

Source/WebKit/win:

* WebCoreSupport/WebDragClient.cpp:
(WebDragClient::willPerformDragSourceAction): Get IDataObject from Pasteboard instead of Clipboard.
(WebDragClient::startDrag): Ditto.

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

6 years agoPDFPlugin: Main-frame PDFPlugin Accessibility
timothy_horton@apple.com [Mon, 27 May 2013 19:50:48 +0000 (19:50 +0000)]
PDFPlugin: Main-frame PDFPlugin Accessibility
https://bugs.webkit.org/show_bug.cgi?id=116563
<rdar://problem/13458534>

Reviewed by Sam Weinig.

* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
Forward-declare a variety of accessibility methods.

* WebProcess/Plugins/PDF/PDFPlugin.h:
Add convertFromPDFViewToScreen, boundsOnScreen, accessibilityObject, and
storage for our accessibility wrapper.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
Add WKPDFPluginAccessibilityObject.

(-[WKPDFPluginAccessibilityObject accessibilityIsIgnored]):
We want to be included in the accessibility tree.

(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:forParameter:]):
Grab values for accessibility attributes from the relevant sources
(mostly from PDFLayerController).

(-[WKPDFPluginAccessibilityObject readingModel]): Ditto.
(-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
(-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]):
(-[WKPDFPluginAccessibilityObject accessibilityActionNames]):
Return the set of accessibility attributes, actions, and parameterized
attributes that we support.

(-[WKPDFPluginAccessibilityObject accessibilityIsAttributeSettable:]):
(-[WKPDFPluginAccessibilityObject accessibilitySetValue:forAttribute:]):
Forward some other accessibility methods to PDFLayerController.

(-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
(-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
We have no children, so if a hit test makes it to us, it's ours.

(WebKit::PDFPlugin::PDFPlugin):
Make a WKPDFPluginAccessibilityObject and hook it up.
[FIXME: this could use some de-crapifying]

(WebKit::PDFPlugin::convertFromPluginToPDFView):
Transform a point from plugin space to PDFLayerController space.

(WebKit::PDFPlugin::convertFromPDFViewToRootView):
(WebKit::PDFPlugin::convertFromPDFViewToScreen): Added.
(WebKit::PDFPlugin::boundsOnScreen):
Return the PDFPlugin's frame in screen coordinates.

(WebKit::PDFPlugin::accessibilityObject):
Return our accessibility wrapper.

* WebProcess/Plugins/PDF/SimplePDFPlugin.h:
* WebProcess/Plugins/Plugin.h:
(WebKit::Plugin::accessibilityObject):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::accessibilityObject):
* WebProcess/Plugins/PluginView.h:
Add accessibilityObject(), to acquire accessibility wrappers from plugins.

* WebProcess/WebPage/WebPage.h:
(WebPage): Add accessibilityObjectForMainFramePlugin();
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityRootObjectWrapper]):
If the main frame has a PluginDocument that has an accessibilityObject,
use that one instead of the WebPage's.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::accessibilityObjectForMainFramePlugin):
Return the accessibilityObject from the main-frame PluginDocument, if
there is one.

* WebCore.exp.in: Export AffineTransform::mapRect.

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

6 years ago[BlackBerry] Find-on-page should be able to convert the active match to selection...
commit-queue@webkit.org [Mon, 27 May 2013 19:27:06 +0000 (19:27 +0000)]
[BlackBerry] Find-on-page should be able to convert the active match to selection when clearing all matches
https://bugs.webkit.org/show_bug.cgi?id=116837

Patch by Andy Chen <andchen@blackberry.com> on 2013-05-27
Reviewed by Rob Buis.

PR 291903
Internally reviewed by Mike Fenton.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::findNextString):
* Api/WebPage.h:
* WebKitSupport/InPageSearchManager.cpp:
(BlackBerry::WebKit::InPageSearchManager::findNextString):
(BlackBerry::WebKit::InPageSearchManager::clearTextMatches):
* WebKitSupport/InPageSearchManager.h:
(InPageSearchManager):

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

6 years agoCheckbox UX update.
commit-queue@webkit.org [Mon, 27 May 2013 18:39:02 +0000 (18:39 +0000)]
Checkbox UX update.
https://bugs.webkit.org/show_bug.cgi?id=116838.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-27
Reviewed by Rob Buis.

BlackBerry PR 342302.
Internally Reviewed by Jeff Rogers.
Remove old background and change pressed checkmark image.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::paintCheckbox):

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

6 years agoWhen the background is completely transparent we should be conservative and use the...
weinig@apple.com [Mon, 27 May 2013 18:25:21 +0000 (18:25 +0000)]
When the background is completely transparent we should be conservative and use the default scrollbar style, not the light one
https://bugs.webkit.org/show_bug.cgi?id=116836
<rdar://problem/13949905>

Reviewed by Simon Fraser.

* page/FrameView.cpp:
(WebCore::FrameView::recalculateScrollbarOverlayStyle):
Don't use the light style when the background is completely transparent.

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

6 years agoUse ICU_INCLUDE_DIRS in BlackBerry CMake files
paroga@webkit.org [Mon, 27 May 2013 18:09:51 +0000 (18:09 +0000)]
Use ICU_INCLUDE_DIRS in BlackBerry CMake files
https://bugs.webkit.org/show_bug.cgi?id=116210

Reviewed by Rob Buis.

Set and use the ICU_INCLUDE_DIRS variable to avoid
duplicated adding of the ICU include directory.

.:

* Source/cmake/OptionsBlackBerry.cmake:

Source/JavaScriptCore:

* PlatformBlackBerry.cmake:

Source/WebCore:

* PlatformBlackBerry.cmake:

Source/WebKit:

* PlatformBlackBerry.cmake:

Source/WTF:

* wtf/PlatformBlackBerry.cmake:

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

6 years ago[BlackBerry] Fix subframe target added to new requests
efidler@rim.com [Mon, 27 May 2013 18:04:02 +0000 (18:04 +0000)]
[BlackBerry] Fix subframe target added to new requests
https://bugs.webkit.org/show_bug.cgi?id=116602

Reviewed by Rob Buis.

In some cases we might be adding TargetIsMainFrame to a subframe
request causing an isMainFrame assert.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
Check we are actually loading the main frame before setting
ResourceRequest::TargetIsMainFrame target.

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

6 years ago[WK2][CoordinatedGraphics] Misuse of DrawingAreaProxy::setVisibleContentsRect() in...
marcelo.lira@openbossa.org [Mon, 27 May 2013 16:52:10 +0000 (16:52 +0000)]
[WK2][CoordinatedGraphics] Misuse of DrawingAreaProxy::setVisibleContentsRect() in WebView::updateViewportSize()
https://bugs.webkit.org/show_bug.cgi?id=116688

Reviewed by Noam Rosenthal.

Visible contents area passed to DrawingAreaProxy::setVisibleContentsRect()
must be calculated including the page scale factor and avoid crossing the
boundaries of the page contents size. In other words the DrawingArea
must know the actual dimensions of what it being drawn. If the
DrawingArea thinks the visible rectangle is bigger than it is, the
contents will be drawn pixelated and blurry.

* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::didChangeContentsSize):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::visibleContentsSize):
(WebKit):
* UIProcess/CoordinatedGraphics/WebView.h:
(WebKit::WebView::contentsSize):
(WebView):

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

6 years ago[GTK] WebKitWebView child widgets are not rendered with recent GTK+
carlosgc@webkit.org [Mon, 27 May 2013 16:10:36 +0000 (16:10 +0000)]
[GTK] WebKitWebView child widgets are not rendered with recent GTK+
https://bugs.webkit.org/show_bug.cgi?id=116794

Reviewed by Xan Lopez.

Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose
events are not propagated to child GdkWindows anymore, and child
widgets are rendered via gtk_container_propagate_draw(). Since all
our children have its own GdkWindow (auth widget, inspector view
and windowed plugins) we don't propagate the draw signal making
them invisible with current GTK+.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDraw): Chain up to the parent draw(), so it's
propagated to the children. This shouldn't have any effect in
previous versions of GTK+ because gtk_container_propagate_draw()
returned early when the child widget had its own GdkWindow.

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

6 years agoTighten FontGlyphs::glyphDataAndPageForCharacter to take FontDescription
antti@apple.com [Mon, 27 May 2013 16:01:27 +0000 (16:01 +0000)]
Tighten FontGlyphs::glyphDataAndPageForCharacter to take FontDescription
https://bugs.webkit.org/show_bug.cgi?id=116823

Reviewed by Andreas Kling.

FontGlyphs does not need to know about Font anymore.

* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::Font::operator=):
* platform/graphics/Font.h:
(WebCore::Font::isPlatformFont):
(WebCore::Font::glyphDataAndPageForCharacter):
(Font):
* platform/graphics/FontCache.h:
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):
* platform/graphics/FontFallbackList.h:
(WebCore):
(WebCore::FontGlyphs::createForPlatformFont):

    Tweaked the name.

(WebCore::FontGlyphs::isForPlatformFont):

    Move knowledge about platform font to FontGlyphs as it is needed for resolving system fallback on Mac.

* platform/graphics/blackberry/FontCacheBlackBerry.cpp:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore::FontCache::systemFallbackForCharacters):

    More descriptive name and tighter interface.

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

6 years ago[CSSRegions] Prevent unnecessary copy of LayoutRect objects
mihnea@adobe.com [Mon, 27 May 2013 15:52:00 +0000 (15:52 +0000)]
[CSSRegions] Prevent unnecessary copy of LayoutRect objects
https://bugs.webkit.org/show_bug.cgi?id=116828

Reviewed by Andreas Kling.

Use const references for parameter passing.
No functional change, no new tests.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
* rendering/RenderFlowThread.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
* rendering/RenderRegion.h:

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

6 years ago[BlackBerry] REGRESSION(r150071): Animation performance issues in some websites with...
commit-queue@webkit.org [Mon, 27 May 2013 15:51:15 +0000 (15:51 +0000)]
[BlackBerry] REGRESSION(r150071): Animation performance issues in some websites with CSS transforms
https://bugs.webkit.org/show_bug.cgi?id=116724

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-27
Reviewed by Rob Buis.

Add another bool variable m_previousFrameDone to make sure we
don't start a new frame until the previous one has been done. Also
make sure we pass the animation start time to
serviceScriptedAnimations().

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Initialize
m_previousFrameDone and m_monotonicAnimationStartTime.
(BlackBerry::WebKit::WebPagePrivate::animationFrameChanged):
Return early if previous frame is not done. Otherwise set
m_previousFrameDone to false and save the animation start time.
(BlackBerry::WebKit::WebPagePrivate::serviceAnimations): Call
serviceScriptedAnimations() passing the saved animation start time
and reset m_animationScheduled and m_previousFrameDone.
(BlackBerry::WebKit::WebPagePrivate::handleServiceScriptedAnimationsOnMainThread):
Call WebPagePrivate::serviceAnimations().
* Api/WebPage_p.h:
(WebPagePrivate):

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

6 years ago[BlackBerry] Reveal HTTP error code for XHR even if there is no response body
leoyang@rim.com [Mon, 27 May 2013 15:45:13 +0000 (15:45 +0000)]
[BlackBerry] Reveal HTTP error code for XHR even if there is no response body
https://bugs.webkit.org/show_bug.cgi?id=116543

Reviewed by Rob Buis.
Reviewed internally by Joe Mason.

It's a regression introduced by r132556.
BlackBerry is doing friendly HTTP error handling: if there is no response body
for an HTTP error it will display an error message made by the port. But for a
XHR request, which usually does not result in displaying error messages to the
end user, HTTP error code should be revealed to let the JavaScript know what
the actual server error code is.

Covered by existing tests:
ManualTests/blackberry/head-xhr-nonexistant-file.html
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::shouldNotifyClientFailed):

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

6 years agoReset all clients on WebPage close
commit-queue@webkit.org [Mon, 27 May 2013 15:43:01 +0000 (15:43 +0000)]
Reset all clients on WebPage close
https://bugs.webkit.org/show_bug.cgi?id=112334

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-27
Reviewed by Anders Carlsson.

We do not reset the clients on WebPage::close(), so there's a
small chance that someone will try to access them after that. This
won't work and will generally cause runtime warnings, crashes or
other issues. Reset them all to null to prevent this situation.

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

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

6 years ago[BlackBerry] Remove encoding parameter from FrameLoaderClientBlackBerry::receivedData()
commit-queue@webkit.org [Mon, 27 May 2013 15:37:16 +0000 (15:37 +0000)]
[BlackBerry] Remove encoding parameter from FrameLoaderClientBlackBerry::receivedData()
https://bugs.webkit.org/show_bug.cgi?id=116598

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-27
Reviewed by Rob Buis.

It's no longer needed since the encoder now checks the override encoding.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::committedLoad): Call
receivedData() passing the DocumentLoader instead of the text
encoding.
(WebCore::FrameLoaderClientBlackBerry::receivedData): Call
DocumentLoader::commitData() directly.
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

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

6 years ago[BlackBerry] Move PagePopup implementation to WebKitSupport
commit-queue@webkit.org [Mon, 27 May 2013 15:35:15 +0000 (15:35 +0000)]
[BlackBerry] Move PagePopup implementation to WebKitSupport
https://bugs.webkit.org/show_bug.cgi?id=116824

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-27
Reviewed by Rob Buis.

Source/WebKit:

* PlatformBlackBerry.cmake: Update new file paths and names.

Source/WebKit/blackberry:

After r150434 PagePopup implementation in BlackBerry port is
independent from WebCore. The classes are now in the
BlackBerry::WebKit namespace so they can be moved from
WebCoresupport to WebKitSupport and renamed to remove the
BlackBerry suffix which is now redundant. Also, now that the
implementation is not shared, it can be simplified a bit more.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Update to
API changes.
(BlackBerry::WebKit::WebPage::initPopupWebView): Ditto.
(BlackBerry::WebKit::WebPagePrivate::openPagePopup): Ditto.
(BlackBerry::WebKit::WebPagePrivate::closePagePopup): Ditto.
(BlackBerry::WebKit::WebPagePrivate::hasOpenedPopup): Ditto.
* Api/WebPage.h:
(WebKit): Ditto.
* Api/WebPage_p.h:
(WebKit): Ditto.
(WebPagePrivate): Rename m_selectPopup as m_pagePopup, since it
can also point to a color picker or date picker page popup. Also
use RefPtr instead of raw pointer.
* WebKitSupport/ColorPickerClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp.
(BlackBerry::WebKit::ColorPickerClient::ColorPickerClient):
(BlackBerry::WebKit::ColorPickerClient::generateHTML):
(BlackBerry::WebKit::ColorPickerClient::setValueAndClosePopup):
Return early if popup has been closed already.
(BlackBerry::WebKit::ColorPickerClient::didClosePopup):
* WebKitSupport/ColorPickerClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h.
* WebKitSupport/DatePickerClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/DatePickerClient.cpp.
(BlackBerry::WebKit::DatePickerClient::DatePickerClient):
(BlackBerry::WebKit::DatePickerClient::~DatePickerClient):
(BlackBerry::WebKit::DatePickerClient::generateHTML):
(BlackBerry::WebKit::DatePickerClient::setValueAndClosePopup):
Return early if popup has been closed already.
(BlackBerry::WebKit::DatePickerClient::didClosePopup):
(BlackBerry::WebKit::DatePickerClient::generateDateLabels):
* WebKitSupport/DatePickerClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/DatePickerClient.h.
* WebKitSupport/PagePopup.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp.
(BlackBerry::WebKit::PagePopup::PagePopup):
(BlackBerry::WebKit::PagePopup::~PagePopup):
(BlackBerry::WebKit::PagePopup::initialize): Renamed as initialize
and made void, since it always returned true and the callers
ignored the return value.
(BlackBerry::WebKit::PagePopup::writeDocument): Renamed from
generateHTML for consistency with PagePopupClient::writeDocument()
and to avoid confusion with generateHTML method in the clients
that create the HTML contents but they don't write the document.
(BlackBerry::WebKit::PagePopup::setValueAndClosePopupCallback):
Make it static member of PagePopup since the JS object now holds a
reference of PagePopup instance as private data.
(BlackBerry::WebKit::popUpExtensionInitialize): Take a reference
of the PagePopup instance saved as private data of the JS object.
(BlackBerry::WebKit::popUpExtensionFinalize): Unref the PagePopup
instance saved as private data of the JS object.
(BlackBerry::WebKit::PagePopup::installDOMFunction): Instead of
saving the client as private data of the JS object using a wrapper
refcounted object, save the PagePopup instance that is now
refcounted and access the client from the PagePopup instance in
the callback.
(BlackBerry::WebKit::PagePopup::close): Renamed from closePagePopup
since PagePopup::closePagePopup was a bit redundant.
* WebKitSupport/PagePopup.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.h.
(BlackBerry::WebKit::PagePopup::create): Static member to create
instances of PagePopup now that it's refcounted.
* WebKitSupport/PagePopupClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerryClient.cpp.
(BlackBerry::WebKit::PagePopupClient::PagePopupClient):
(BlackBerry::WebKit::PagePopupClient::closePopup):
(BlackBerry::WebKit::PagePopupClient::didClosePopup):
(BlackBerry::WebKit::PagePopupClient::contentSize):
(BlackBerry::WebKit::PagePopupClient::writeDocument):
* WebKitSupport/PagePopupClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerryClient.h.
* WebKitSupport/SelectPopupClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.cpp.
(BlackBerry::WebKit::SelectPopupClient::SelectPopupClient):
(BlackBerry::WebKit::SelectPopupClient::~SelectPopupClient):
(BlackBerry::WebKit::SelectPopupClient::generateHTML):
(BlackBerry::WebKit::SelectPopupClient::setValueAndClosePopup):
Return early if popup has been closed already.
(BlackBerry::WebKit::SelectPopupClient::didClosePopup):
(BlackBerry::WebKit::SelectPopupClient::notifySelectionChange):
* WebKitSupport/SelectPopupClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h.

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

6 years ago[EFL][GTK] fast/regions/offsetLeft-offsetTop-in-multiple-regions.html is failing
commit-queue@webkit.org [Mon, 27 May 2013 15:21:16 +0000 (15:21 +0000)]
[EFL][GTK] fast/regions/offsetLeft-offsetTop-in-multiple-regions.html is failing
https://bugs.webkit.org/show_bug.cgi?id=116808

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-27
Reviewed by Anders Carlsson.

The test was failing because of differences between different fonts.

* fast/regions/offsetLeft-offsetTop-in-multiple-regions-expected.txt:
* fast/regions/offsetLeft-offsetTop-in-multiple-regions.html:

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

6 years agoAdjust date input width.
commit-queue@webkit.org [Mon, 27 May 2013 15:03:03 +0000 (15:03 +0000)]
Adjust date input width.
https://bugs.webkit.org/show_bug.cgi?id=100760.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-27
Reviewed by Rob Buis.

BlackBerry PR 343497.
Internally Reviewed by Jeff Rogers.

Set width to auto to fit the string length.

* css/themeBlackBerry.css:
(input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):

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

6 years ago[GTK] Notify WebProcess in WebKitURISchemeRequest when we fail to read the user Input...
commit-queue@webkit.org [Mon, 27 May 2013 13:32:07 +0000 (13:32 +0000)]
[GTK] Notify WebProcess in WebKitURISchemeRequest when we fail to read the user InputStream
https://bugs.webkit.org/show_bug.cgi?id=114347

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-05-27
Reviewed by Carlos Garcia Campos.

While processing a WebKitURISchemeRequest if there is any error reading
the InputStream provided by the user (for example the stream is already
closed) we have to notify the WebProcess that the request has failed.

* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback): Get the error from
g_input_stream_read_finish() and use it to call
webkit_uri_scheme_request_finish_error() in order to finish the failing
WebKitURISchemeRequest properly.
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextURIScheme): Modify test to check the new situation using
an already closed InputStream.

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

6 years agoDocument::setHoveredNode() should be setHoveredElement().
akling@apple.com [Mon, 27 May 2013 13:25:48 +0000 (13:25 +0000)]
Document::setHoveredNode() should be setHoveredElement().
<http://webkit.org/b/116819>

Reviewed by Antti Koivisto.

Only Elements can be hovered, teach Document about this.

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::dispose):
(WebCore::Document::detach):

    m_hoverNode => m_hoveredElement.
    Removed hoverNode() and setHoverNode() since those were only used internally.

(WebCore::Document::updateHoverActiveState):

    Updated for hovered things always being Elements.

(WebCore::Document::hoveredElementDidDetach):
* dom/Element.cpp:
(WebCore::Element::detach):

    Renamed Document::hoveredNodeDetached() to hoveredElementDidDetach() and fix it up
    following the same pattern as elementInActiveChainDidDetach().

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

6 years ago[Qt] Enable parallel GC. Probably it has been fixed in r131791.
kadam@inf.u-szeged.hu [Mon, 27 May 2013 13:00:14 +0000 (13:00 +0000)]
[Qt] Enable parallel GC. Probably it has been fixed in r131791.
https://bugs.webkit.org/show_bug.cgi?id=90957

Reviewed by Csaba Osztrogonác.

* wtf/Platform.h:

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

6 years ago[Qt] REGRESSION(r150716): It made 15 inspector and 1 mozilla test to assert
allan.jensen@digia.com [Mon, 27 May 2013 12:48:18 +0000 (12:48 +0000)]
[Qt] REGRESSION(r150716): It made 15 inspector and 1 mozilla test to assert
https://bugs.webkit.org/show_bug.cgi?id=116822

Reviewed by Andreas Kling.

The input fontDescription may have more than one family defined.

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

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

6 years ago[Qt][Win] Input events aren't mapped properly with windowless plugins.
jocelyn.turcotte@digia.com [Mon, 27 May 2013 12:33:03 +0000 (12:33 +0000)]
[Qt][Win] Input events aren't mapped properly with windowless plugins.
https://bugs.webkit.org/show_bug.cgi?id=116094

Reviewed by Tor Arne Vestbø.

Source/WebCore:

The events are first sent properly but Flash then immediately repaints
and this causes flickering painting.
The issue is that Flash seems to be doing some input event tracking of
its own internally, using the HWND returned through NPN_GetValue(NPNVnetscapeWindow).

We are currently using two coordinate systems for windowless plugins on Windows with Qt:
- FrameView coordinates: Used for input events and ajusted with the WM_WINDOWPOSCHANGED message
- Drawable coordinates: Used by WM_PAINT and adjusted with NPP_SetWindow

This patch fixes the bug by mapping input events to the native window returned
as NPNVnetscapeWindow instead of the FrameView to ensure that those coordinates will match
the ones used by Flash internally.
With this we shouldn't be using FrameView coordinates anywhere for windowless plugins
on Windows with Qt.

* platform/qt/QWebPageClient.h:
(QWebPageClient):
  Added mapToOwnerWindow to the interface, mapping from the FrameView up to the wrapping nativeParentWidget.
* plugins/win/PluginViewWin.cpp:
(WebCore::contentsToNativeWindow):
(WebCore::PluginView::paintIntoTransformedContext):
(WebCore::PluginView::handleMouseEvent):

Source/WebKit/qt:

* WidgetSupport/PageClientQt.cpp:
(WebCore::PageClientQWidget::mapToOwnerWindow):
(WebCore::PageClientQGraphicsWidget::makeOpenGLContextCurrentIfAvailable):
(WebCore::PageClientQGraphicsWidget::screenNumber):
(WebCore::PageClientQGraphicsWidget::geometryRelativeToOwnerWidget):
(WebCore::PageClientQGraphicsWidget::mapToOwnerWindow):
(WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect):
(WebCore::PageClientQGraphicsWidget::firstGraphicsView):
  Extracted this common logic from makeOpenGLContextCurrentIfAvailable,
  screenNumber, geometryRelativeToOwnerWidget and graphicsItemVisibleRect
  to be able to use it in mapToOwnerWindow.
* WidgetSupport/PageClientQt.h:
(PageClientQWidget):
(PageClientQGraphicsWidget):

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

6 years agoMacroAssemblerARM should use xor to swap registers instead of move
rgabor@webkit.org [Mon, 27 May 2013 12:23:13 +0000 (12:23 +0000)]
MacroAssemblerARM should use xor to swap registers instead of move
https://bugs.webkit.org/show_bug.cgi?id=116306

Reviewed by Zoltan Herczeg.

Change register swapping to xor from move and this way we don't need
temporary register anymore.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::swap):

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

6 years agoTighten FontGlyphs interfaces to take FontDescription instead of Font
antti@apple.com [Mon, 27 May 2013 11:05:22 +0000 (11:05 +0000)]
Tighten FontGlyphs interfaces to take FontDescription instead of Font
https://bugs.webkit.org/show_bug.cgi?id=116818

Reviewed by Andreas Kling.

This gives better understanding of what the actual inputs are.

* WebCore.exp.in:
* platform/graphics/Font.h:
(WebCore::Font::primaryFont):
(WebCore::Font::fontDataAt):
(WebCore::Font::isFixedPitch):
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::getFontData):
* platform/graphics/FontCache.h:
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):
* platform/graphics/FontFallbackList.h:
(WebCore::FontGlyphs::primaryFontData):
(WebCore::FontGlyphs::isFixedPitch):
(WebCore::FontGlyphs::primarySimpleFontData):
* platform/graphics/blackberry/FontCacheBlackBerry.cpp:
* platform/graphics/freetype/FontCacheFreeType.cpp:
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::similarFontPlatformData):

    Drop get* naming and make this Mac only as no other platform has it.

* platform/graphics/qt/FontCacheQt.cpp:
* platform/graphics/win/FontCacheWin.cpp:
* platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore):

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

6 years agoNew test direct-pattern-compositing-contain-no-repeat.html fails on Mac
commit-queue@webkit.org [Mon, 27 May 2013 10:27:48 +0000 (10:27 +0000)]
New test direct-pattern-compositing-contain-no-repeat.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=116816

Modified the layer in the reference to still be composited, but have invisible painted content.

Patch by Noam Rosenthal <noam@webkit.org> on 2013-05-27
Reviewed by Andreas Kling.

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

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

6 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Mon, 27 May 2013 10:23:58 +0000 (10:23 +0000)]
Unreviewed. Fix make distcheck.

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

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

6 years agoStrengthen typing of detaching an Element from Document's :active chain.
akling@apple.com [Mon, 27 May 2013 09:45:10 +0000 (09:45 +0000)]
Strengthen typing of detaching an Element from Document's :active chain.
<http://webkit.org/b/116815>

Reviewed by Antti Koivisto.

Tiny cleanup now that the :active chain can only contain elements.
Rename Document::activeChainNodeDetached() to elementInActiveChainDidDetach().

* dom/Element.cpp:
(WebCore::Element::detach):
* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::elementInActiveChainDidDetach):

    Rename, take Element*, remove silly condition that was always true.

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

6 years ago[CSS Regions] Remove the offsetFromLogicalTopOfFirstPage parameter from layout functions
abucur@adobe.com [Mon, 27 May 2013 09:41:47 +0000 (09:41 +0000)]
[CSS Regions] Remove the offsetFromLogicalTopOfFirstPage parameter from layout functions
https://bugs.webkit.org/show_bug.cgi?id=116441

Reviewed by David Hyatt.

The patch changes the following things:
- exposes offsetFromLogicalTopOfFirstPage() to all the RenderBoxes;
- offsetFromLogicalTopOfFirstPage() is now safe to call from any box inside a flow thread, not only the
currently being laid out;
- removes the offsetFromLogicalTopOfFirstPage parameter from all the layout functions
that didn't actually required it; when the value is necessary, the offsetFromLogicalTopOfFirstPage
function is called instead;
- RenderFlowThread now handles its own logic for obtaining the offset from logical top of the first
region for a box, based on the layout states pushed on RenderView; it provides a better caching mechanism
that can be used for all the ancestor containing blocks of the current box being laid out.

The RenderBoxRegionInfo structures are cached only based on the box and the region. This means that
passing around a value for offsetFromLogicalTopOfFirstPage different in some cases than others was
risky. If there is a possibility of having a different box info result for a different offset
then the cache is not working correctly.

Tests: No function change, no tests.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForContent):
(WebCore::RenderBlock::getClearDelta):
(WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
(WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
(WebCore::RenderBlock::logicalWidthChangedInRegions):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::availableLogicalWidthForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::startOffsetForLine):
(WebCore::RenderBlock::endOffsetForLine):
(WebCore::RenderBlock::availableLogicalWidthForContent):
(WebCore::RenderBlock::startOffsetForContent):
(WebCore::RenderBlock::endOffsetForContent):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForContent):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
(WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::renderBoxRegionInfo):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::computeInlineStaticDistance):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced):
(WebCore::RenderBox::offsetFromLogicalTopOfFirstPage):
* rendering/RenderBox.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::hasCachedOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::cachedOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::setOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::clearOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::currentActiveRenderBox):
(WebCore::RenderFlowThread::pushFlowThreadLayoutState):
(WebCore::RenderFlowThread::popFlowThreadLayoutState):
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
* rendering/RenderFlowThread.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::updateLogicalWidth):
* rendering/RenderView.cpp:
(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
(WebCore::RenderView::popLayoutStateForCurrentFlowThread):
* rendering/RenderView.h:
(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::popLayoutState):

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

6 years ago[Qt] Unreviewed gardening. Greening bots.
zarvai@inf.u-szeged.hu [Mon, 27 May 2013 09:21:22 +0000 (09:21 +0000)]
[Qt] Unreviewed gardening. Greening bots.

* platform/qt-5.0-wk1/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:

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

6 years agoActive DOM objects stopped twice
allan.jensen@digia.com [Mon, 27 May 2013 09:13:11 +0000 (09:13 +0000)]
Active DOM objects stopped twice
https://bugs.webkit.org/show_bug.cgi?id=116524

Reviewed by Alexey Proskuryakov.

Only iterate over all active DOM object to stop them once.

To ensure later created active DOM objects are stopped,
suspendActiveDOMObjectIfNeeded now also stops active DOM objects
if needed. This also fixes an existing bug when active DOM
objects were created after stopActiveDOMObjects had been called.

Two existing tests creates new active DOM objects after stopActiveDOMObjects
has been called:
    fast/dom/xmlhttprequest-constructor-in-detached-document.html
    fast/dom/Window/timer-null-script-execution-context.html

* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 27 May 2013 08:34:15 +0000 (08:34 +0000)]
Unreviewed GTK gardening.

* platform/gtk/plugins/mouse-events-expected.txt: Added. Rebaselining after r150558.

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 27 May 2013 08:22:26 +0000 (08:22 +0000)]
Unreviewed GTK gardening.
Adding failure expectations for the current test failures.

* platform/gtk-wk1/TestExpectations:
* platform/gtk/TestExpectations:

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

6 years agoRemove redundant CachedRawResource::loader()
charles.wei@torchmobile.com.cn [Mon, 27 May 2013 08:20:21 +0000 (08:20 +0000)]
Remove redundant CachedRawResource::loader()
https://bugs.webkit.org/show_bug.cgi?id=116805

Reviewed by Andreas Kling.

Just remove redundant code, no test case needed.

* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedRawResource.h:

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 27 May 2013 07:50:12 +0000 (07:50 +0000)]
Unreviewed GTK gardening.

* platform/gtk/fast/dynamic/002-expected.txt: Rebaselining after r150527.
* platform/gtk/fast/js/global-constructors-attributes-worker-expected.txt: Added. Rebaselining after r150664.

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

6 years agoWinCE build TLC: Node::active() moved to Element.
akling@apple.com [Mon, 27 May 2013 07:20:17 +0000 (07:20 +0000)]
WinCE build TLC: Node::active() moved to Element.

* rendering/RenderThemeWinCE.cpp:
(WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):

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

6 years ago[BlackBerry] Make screen updates dependent on the existence of a drawing buffer.
commit-queue@webkit.org [Mon, 27 May 2013 06:55:18 +0000 (06:55 +0000)]
[BlackBerry] Make screen updates dependent on the existence of a drawing buffer.
https://bugs.webkit.org/show_bug.cgi?id=116539
Internal PR 330917

Patch by Jakob Petsovits <jpetsovits@blackberry.com> on 2013-05-26
Reviewed by Carlos Garcia Campos.
Internally reviewed by Xiaobo Wang and Arvid Nilsson.

This reduces complexity by relying on the current state,
rather than the suspend counter, which in turn makes it
possible to simplify the code in setCompositor().

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setCompositor):

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

6 years agoCSSParser::parseImageResolution doesn't need a parameter.
commit-queue@webkit.org [Mon, 27 May 2013 02:33:09 +0000 (02:33 +0000)]
CSSParser::parseImageResolution doesn't need a parameter.
https://bugs.webkit.org/show_bug.cgi?id=116755

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-05-26
Reviewed by Darin Adler.

parseImageResolution() can get CSSPraserValueList from m_valueList directly.

No new tests, no behavior change.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseImageResolution):
* css/CSSParser.h:

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

6 years agoTurn TreeScope::focusedNode() into focusedElement().
akling@apple.com [Mon, 27 May 2013 02:07:54 +0000 (02:07 +0000)]
Turn TreeScope::focusedNode() into focusedElement().
<http://webkit.org/b/116802>

Reviewed by Darin Adler.

For the hundredth time, only Elements can be focused!

This change mostly reverts r121079 since that made things unnecessarily complicated
just to tweak the behavior of ShadowRoot.activeElement, an API that we don't expose.
Finding a TreeScope's focused element now does a simple walk up the parent chain instead
of running the full Shadow DOM re-targeting algorithm.

(WebCore::TreeScope::focusedElement):

    Simplify and return Element* instead of Node*.

* dom/TreeScope.h:
* dom/TreeScope.cpp:
(WebCore::focusedFrameOwnerElement):

    Make this return Element* as the name already suggested.

* dom/Document.cpp:
(WebCore::Document::removeFocusedNodeOfSubtree):
* dom/Element.cpp:
(WebCore::Element::blur):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::activeElement):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::activeElement):

    Simplified call sites that were paranoid about getting a non-Element focused node.

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

6 years agoThe public WK header file should not include WKAPICast.h
commit-queue@webkit.org [Mon, 27 May 2013 01:57:29 +0000 (01:57 +0000)]
The public WK header file should not include WKAPICast.h
https://bugs.webkit.org/show_bug.cgi?id=115230

Patch by Changhun Kang <temoochin@company100.net> on 2013-05-26
Reviewed by Darin Adler.

Otherwise, WebKit internal headers are exposed.
No new tests. No change in behavior.
* UIProcess/API/C/soup/WKSoupRequestManager.h:
* UIProcess/soup/WebSoupRequestManagerClient.h:

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

6 years agoPlugins with no src but valid type should not snapshot
dino@apple.com [Mon, 27 May 2013 01:44:32 +0000 (01:44 +0000)]
Plugins with no src but valid type should not snapshot
https://bugs.webkit.org/show_bug.cgi?id=116799
<rdar://problem/13695911>

Reviewed by Simon Fraser.

There are a few plug-ins around that don't take any source content
via the src attribute, but rather just load the binary based on the
mime-type. In those cases we shouldn't snapshot until we have a
mechanism to do so.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
    Add MIMEType logging, and detect the case of no src but valid type.
* html/HTMLPlugInImageElement.h: Add another SnapshotReason enum for
    this special case.

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

6 years agoEncapsulate FontGlyphs
antti@apple.com [Mon, 27 May 2013 01:41:27 +0000 (01:41 +0000)]
Encapsulate FontGlyphs
https://bugs.webkit.org/show_bug.cgi?id=116803

Reviewed by Andreas Kling.

FontGlyphs is unfriending Font. Give it a real class interface and some actual code.

* platform/graphics/Font.cpp:
(WebCore::Font::Font):
* platform/graphics/Font.h:
(WebCore::Font::glyphDataForCharacter):
(WebCore::Font::glyphDataAndPageForCharacter):
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::isInRange):
(WebCore::shouldIgnoreRotation):
(WebCore::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation):

    Helpers from FontFastPath.cpp.

(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

    This is the primary interface. The code moves here from FontFastPath.cpp.

* platform/graphics/FontFallbackList.h:
(WebCore::FontGlyphs::createForPlatformData):

    Remove setPlatformData in favor of constructor.

(WebCore::FontGlyphs::primarySimpleFontData):
* platform/graphics/FontFastPath.cpp:
* platform/graphics/GraphicsContext.h:

    Remove a stray function definition also called setPlatformFont().

* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

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

6 years ago[WINCE] Add wtf_bsearch()
paroga@webkit.org [Mon, 27 May 2013 01:25:52 +0000 (01:25 +0000)]
[WINCE] Add wtf_bsearch()
https://bugs.webkit.org/show_bug.cgi?id=116528

Reviewed by Darin Adler.

r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE.
Add our own implementation of this function as wtf_bsearch and define
bsearch as wtf_bsearch to fix compilation on Windwos CE.

* wtf/StdLibExtras.h:
(wtf_bsearch):

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

6 years agoRemove a leftover CALENDAR_PICKER from LocaleNone.cpp
commit-queue@webkit.org [Mon, 27 May 2013 00:00:25 +0000 (00:00 +0000)]
Remove a leftover CALENDAR_PICKER from LocaleNone.cpp
https://bugs.webkit.org/show_bug.cgi?id=116800

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-26
Reviewed by Kent Tamura.

No new tests, no behavior change.

* platform/text/LocaleNone.cpp:
(LocaleNone):

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

6 years agoRename FontFallbackList to FontGlyphs
antti@apple.com [Sun, 26 May 2013 23:39:33 +0000 (23:39 +0000)]
Rename FontFallbackList to FontGlyphs
https://bugs.webkit.org/show_bug.cgi?id=116797

Reviewed by Andreas Kling.

Maybe it was a fallback list once. Nowadays its purpose is to cache realized glyphs and related data.

File renaming will be done separately.

* WebCore.exp.in:
* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::Font::operator=):
(WebCore::Font::operator==):

    Refactored to early return style.

(WebCore::Font::update):
(WebCore::Font::width):
* platform/graphics/Font.h:
(Font):
(WebCore::Font::glyphs):
(WebCore::Font::loadingCustomFonts):
(WebCore::Font::primaryFont):
(WebCore::Font::fontDataAt):
(WebCore::Font::isFixedPitch):
(WebCore::Font::fontSelector):
* platform/graphics/FontCache.h:
(FontCache):
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::invalidate):
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::realizeFontDataAt):

    Renamed for clarity along with m_fontList -> m_realizedFontData.

(WebCore::FontGlyphs::setPlatformFont):
* platform/graphics/FontFallbackList.h:
(FontGlyphs):
(WebCore::FontGlyphs::GlyphPagesStateSaver::GlyphPagesStateSaver):
(WebCore::FontGlyphs::GlyphPagesStateSaver::~GlyphPagesStateSaver):
(GlyphPagesStateSaver):
(WebCore::FontGlyphs::create):
(WebCore::FontGlyphs::~FontGlyphs):
(WebCore::FontGlyphs::primaryFontData):
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

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

6 years agoYet another WKR build fix. Sorry for the mess. It seems like I can't win today :(
rniwa@webkit.org [Sun, 26 May 2013 23:23:10 +0000 (23:23 +0000)]
Yet another WKR build fix. Sorry for the mess. It seems like I can't win today :(

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

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

6 years agoWKR and webkitbot build fixes.
rniwa@webkit.org [Sun, 26 May 2013 22:44:41 +0000 (22:44 +0000)]
WKR and webkitbot build fixes.

* Scripts/webkitpy/tool/bot/irc_command.py:
(RollChromiumDEPS.execute):
* Scripts/webkitpy/tool/commands/newcommitbot.py:
(NewCommitBot.next_work_item):

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

6 years agoRemove ENABLE_CALENDAR_PICKER
tkent@chromium.org [Sun, 26 May 2013 22:35:55 +0000 (22:35 +0000)]
Remove ENABLE_CALENDAR_PICKER
https://bugs.webkit.org/show_bug.cgi?id=116795

Reviewed by Ryosuke Niwa.

Source/WebCore:

This feature was used only by Chromium port.

* Resources/pagepopups/calendarPicker.css: Removed.
* Resources/pagepopups/calendarPicker.js: Removed.
* css/html.css:
* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::LocaleICU):
(WebCore):
* platform/text/LocaleICU.h:
(LocaleICU):
* platform/text/PlatformLocale.h:
(Locale):
* platform/text/mac/LocaleMac.h:
(LocaleMac):
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::monthLabels):
* platform/text/win/LocaleWin.cpp:
(WebCore::LocaleWin::LocaleWin):
(WebCore::LocaleWin::monthLabels):
* platform/text/win/LocaleWin.h:
(LocaleWin):

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:
The list was wrong. Blackberry port doesn't use CALENDAR_PICKER code.

Source/WTF:

* wtf/FeatureDefines.h:

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

6 years agoroll-chromium-deps doesn't repeat the full name.
rniwa@webkit.org [Sun, 26 May 2013 22:32:43 +0000 (22:32 +0000)]
roll-chromium-deps doesn't repeat the full name.

Rubber-stamped by Andreas Kling.

* Scripts/webkitpy/tool/bot/irc_command.py:
(RollChromiumDEPS.execute):

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

6 years agoMove :active chain participation state from Node to Element.
akling@apple.com [Sun, 26 May 2013 22:23:18 +0000 (22:23 +0000)]
Move :active chain participation state from Node to Element.
<http://webkit.org/b/116786>

Reviewed by Antti Koivisto.

Only Elements can be in the :active chain so move the logic there from Node.

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):

    Add isElementNode() type checks when updating the :active chain.

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

    Move the remaining logic for detaching from the UserActionElementSet to Element.

(WebCore::Element::isUserActionElementInActiveChain):
* dom/Element.h:
(WebCore::Element::inActiveChain):

    Move all the :active chain stuff from Node to Element.

* dom/UserActionElementSet.cpp:
(WebCore::UserActionElementSet::didDetach):
* dom/UserActionElementSet.h:
(WebCore::UserActionElementSet::isInActiveChain):
(WebCore::UserActionElementSet::setInActiveChain):

    UserActionElementSet now only takes Element* in its API.

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

6 years agoRemove FontFamily.h/.cpp
antti@apple.com [Sun, 26 May 2013 16:20:12 +0000 (16:20 +0000)]
Remove FontFamily.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=116788

Reviewed by Anders Carlsson.

Empty files.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FontDescription.h:
* platform/graphics/FontFamily.cpp: Removed.
* platform/graphics/FontFamily.h: Removed.

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

6 years agoAnother build fix.
antti@apple.com [Sun, 26 May 2013 15:15:09 +0000 (15:15 +0000)]
Another build fix.

Not reviewed.

* DOMCoreClasses.cpp:
(DOMElement::font):
* FullscreenVideoController.cpp:
(FullscreenVideoController::draw):

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

6 years agoBuild fix
antti@apple.com [Sun, 26 May 2013 15:11:34 +0000 (15:11 +0000)]
Build fix

Not reviewed.

* WebKitGraphics.cpp:
(makeFont):

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

6 years agoUse Vector instead of custom linked list for font families
antti@apple.com [Sun, 26 May 2013 14:50:51 +0000 (14:50 +0000)]
Use Vector instead of custom linked list for font families
https://bugs.webkit.org/show_bug.cgi?id=116783

Reviewed by Andreas Kling.

Get rid of FontFamily and SharedFontFamily.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::hasSameFont):
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getAttributeSetForAccessibilityObject):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontFamilyFromStyle):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFontFamily::applyInheritValue):
(WebCore::ApplyPropertyFontFamily::applyInitialValue):
(WebCore::ApplyPropertyFontFamily::applyValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForDocument):
(WebCore::StyleResolver::initializeFontStyle):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::font):
(WebCore::CanvasRenderingContext2D::setFont):
* page/PrintContext.cpp:
(WebCore::PrintContext::pageProperty):
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::systemFont):
* platform/graphics/Font.h:
(WebCore::Font::firstFamily):
(WebCore::Font::familyCount):
(WebCore::Font::familyAt):
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::getFontData):
* platform/graphics/FontDescription.cpp:
(SameSizeAsFontDescription):
* platform/graphics/FontDescription.h:
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::familyCount):
(WebCore::FontDescription::firstFamily):
(WebCore::FontDescription::familyAt):
(WebCore::FontDescription::families):
(WebCore::FontDescription::useFixedDefaultSize):
(WebCore::FontDescription::setOneFamily):
(WebCore::FontDescription::setFamilies):
(WebCore::FontDescription::adoptFamilies):
(WebCore::FontDescription::operator==):
* platform/graphics/FontFamily.cpp:
* platform/graphics/FontFamily.h:
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::displayCallback):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getSimilarFontPlatformData):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::systemFont):
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::controlFont):
* platform/qt/RenderThemeQStyle.cpp:
(WebCore::RenderThemeQStyle::adjustButtonStyle):
* platform/text/transcoder/FontTranscoder.cpp:
(WebCore::FontTranscoder::converterType):
* platform/win/DragImageWin.cpp:
(WebCore::dragLabelFont):
* rendering/RenderText.cpp:
(WebCore::RenderText::styleDidChange):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemFont):
(WebCore::RenderThemeMac::setFontFromControlSize):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::systemFont):
(WebCore::RenderThemeSafari::setFontFromControlSize):
* rendering/RenderThemeWin.cpp:
(WebCore::fillFontDescription):

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

6 years agoMove "active" state logic from Node to Element.
akling@apple.com [Sun, 26 May 2013 14:29:15 +0000 (14:29 +0000)]
Move "active" state logic from Node to Element.
<http://webkit.org/b/116785>

Reviewed by Antti Koivisto.

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

* dom/UserActionElementSet.h:
(WebCore::UserActionElementSet::isActive):
(WebCore::UserActionElementSet::setActive):
* dom/ContainerNode.cpp:
* dom/ContainerNode.h:
* dom/Node.cpp:
* dom/Node.h:
* dom/Element.h:
(WebCore::Element::active):
* dom/Element.cpp:
(WebCore::Element::isUserActionElementActive):
(WebCore::Element::setActive):

    Moved here from Node/ContainerNode.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isPressed):
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
(WebCore::Document::updateHoverActiveState):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
* rendering/RenderThemeMac.mm:
(WebCore::getMediaUIPartStateFlags):
(WebCore::RenderThemeMac::updatePressedState):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::getMediaControlForegroundColor):

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

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setActive):

    Call the right superclass.

* html/HTMLAnchorElement.h:
* html/HTMLLabelElement.h:
* html/shadow/MediaControlElementTypes.h:

    Sprinkle OVERRIDE>

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

6 years agoMove Node::dispatchSimulatedClick() to Element.
akling@apple.com [Sun, 26 May 2013 13:32:36 +0000 (13:32 +0000)]
Move Node::dispatchSimulatedClick() to Element.
<http://webkit.org/b/116784>

Reviewed by Antti Koivisto.

Only Elements use the dispatchSimulatedClick() functionality, so move it there.

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

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

6 years agoTreeScope::rootNode() should return a ContainerNode.
akling@apple.com [Sun, 26 May 2013 12:10:23 +0000 (12:10 +0000)]
TreeScope::rootNode() should return a ContainerNode.
<http://webkit.org/b/116782>

Reviewed by Antti Koivisto.

The rootNode() of a TreeScope is always a ContainerNode, so update pointer types to reflect that.
This lets us take advantage of Antti's optimized traversal functions.

* dom/ContainerNode.h:
(WebCore::Node::isTreeScope):
* dom/Document.cpp:
(WebCore::Document::buildAccessKeyMap):
* dom/Node.cpp:
(WebCore::Node::containingShadowRoot):
* dom/Node.h:
* dom/TreeScope.h:
(WebCore::TreeScope::rootNode):
(TreeScope):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::rootNode):
(WebCore::FocusNavigationScope::owner):
* page/FocusController.h:
(FocusNavigationScope):

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

6 years agoFocusController::setFocusedNode() should be setFocusedElement().
akling@apple.com [Sun, 26 May 2013 11:39:01 +0000 (11:39 +0000)]
FocusController::setFocusedNode() should be setFocusedElement().
<http://webkit.org/b/116780>

Reviewed by Antti Koivisto.

Source/WebCore:

Only Elements can have focus, so make the public API of FocusController take Element*.

* WebCore.exp.in:
* page/FocusController.h:
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedElement):

    Out with the setFocusedNode(), in with the setFocusedElement().

* dom/Element.cpp:
(WebCore::Element::focus):
(WebCore::Element::blur):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):
* plugins/PluginView.cpp:
(WebCore::PluginView::focusPluginElement):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setFocusedNodeIfNeeded):

    Tweak for FocusController taking Element* instead of Node*.

(WebCore::FrameSelection::setFocusedElementIfNeeded):

    Renamed from setFocusedNodeIfNeeded().

* editing/htmlediting.h:
* editing/htmlediting.cpp:
(WebCore::enclosingAnchorElement):

    Cleaned up the loop for readability and made it return an Element.

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::clearFocusNode):
(BlackBerry::WebKit::WebPage::setNodeFocus):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectObject):

Source/WebKit/win:

* WebView.cpp:
(WebView::clearFocusNode):

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::focusPluginElement):

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

6 years agoMove some form control things from Element to HTMLFormControlElement.
akling@apple.com [Sun, 26 May 2013 09:43:22 +0000 (09:43 +0000)]
Move some form control things from Element to HTMLFormControlElement.
<http://webkit.org/b/116779>

Reviewed by Antti Koivisto.

The following methods sit better on HTMLFormControlElement than on Element:

    - formControlType()
    - wasChangedSinceLastFormControlChangeEvent()
    - setChangedSinceLastFormControlChangeEvent()
    - dispatchFormControlChangeEvent()

Moved them, and devirtualized as much as possible.

* dom/Document.cpp:
(WebCore::Document::setFocusedNode):

    Check if the old focus target is an Element before (possibly) dispatching a change event.

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

    Removed some stub methods that were only used by HTMLFormControlElement subclasses.

* html/HTMLFormControlElement.cpp:
* html/HTMLFormControlElement.h:
(WebCore::isHTMLFormControlElement):
(WebCore::toHTMLFormControlElement):

    Add toHTMLFormControlElement() helper with ASSERT_WITH_SECURITY_IMPLICATION.

* html/HTMLTextFormControlElement.h:

    Sprinkle OVERRIDE.

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

6 years agoMove Node::supportsFocus() to Element.
akling@apple.com [Sun, 26 May 2013 09:39:24 +0000 (09:39 +0000)]
Move Node::supportsFocus() to Element.
<http://webkit.org/b/116778>

Reviewed by Antti Koivisto.

Node never supports focus, so move supportsFocus() to Element instead.

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

    Removed Node::supportsFocus(), it always returned false anyway.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canSetFocusAttribute):

    Check that the underlying Node is an Element before asking if it supports focus.

* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.h:
* html/HTMLBodyElement.h:
* html/HTMLElement.h:
* html/HTMLFieldSetElement.h:
* html/HTMLFormControlElement.h:
* html/HTMLFrameElementBase.h:
* html/HTMLMediaElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLOutputElement.h:
* svg/SVGAElement.h:
* svg/SVGCircleElement.h:
* svg/SVGEllipseElement.h:
* svg/SVGGElement.h:
* svg/SVGImageElement.h:
* svg/SVGLineElement.h:
* svg/SVGPathElement.h:
* svg/SVGPolyElement.h:
* svg/SVGRectElement.h:
* svg/SVGSVGElement.h:
* svg/SVGSwitchElement.h:
* svg/SVGSymbolElement.h:
* svg/SVGTextElement.h:
* svg/SVGUseElement.h:

    OVERRIDE ALL THE THINGS!

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

6 years agoMove Node::isFocusable() to Element.
akling@apple.com [Sun, 26 May 2013 05:05:37 +0000 (05:05 +0000)]
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.

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

6 years agoBroken link to committers list on contributing web page
commit-queue@webkit.org [Sun, 26 May 2013 04:42:36 +0000 (04:42 +0000)]
Broken link to committers list on contributing web page
https://bugs.webkit.org/show_bug.cgi?id=116722

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

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

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

6 years agoMove Node::tabIndex() to Element.
akling@apple.com [Sun, 26 May 2013 04:33:35 +0000 (04:33 +0000)]
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.

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

6 years agoRevert another erroneous change.
rniwa@webkit.org [Sun, 26 May 2013 04:31:13 +0000 (04:31 +0000)]
Revert another erroneous change.

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

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

6 years agoRevert an erroneous change.
rniwa@webkit.org [Sun, 26 May 2013 04:13:33 +0000 (04:13 +0000)]
Revert an erroneous change.

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

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

6 years agoSome build fixes for WKR and webkitbot.
rniwa@webkit.org [Sun, 26 May 2013 03:39:30 +0000 (03:39 +0000)]
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):

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

6 years agoDon't instantiate ChildNodeLists just to get a child count.
akling@apple.com [Sun, 26 May 2013 03:29:12 +0000 (03:29 +0000)]
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):

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

6 years agoTeach webkitbot and WKR how to respond to yt?
rniwa@webkit.org [Sun, 26 May 2013 02:57:51 +0000 (02:57 +0000)]
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:

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

6 years agoPluginDocument::pluginNode() should be pluginElement() instead.
akling@apple.com [Sun, 26 May 2013 02:48:46 +0000 (02:48 +0000)]
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):

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

6 years agoRemove Document::getFocusableNodes().
akling@apple.com [Sun, 26 May 2013 02:27:32 +0000 (02:27 +0000)]
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:

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

6 years agoTry to fix the EFL build.
simon.fraser@apple.com [Sun, 26 May 2013 02:22:58 +0000 (02:22 +0000)]
Try to fix the EFL build.

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

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

6 years agoMove Node::focusDelegate() to Element.
akling@apple.com [Sun, 26 May 2013 02:22:04 +0000 (02:22 +0000)]
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):

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

6 years agoPath: clean up addPathForRoundedRect()
commit-queue@webkit.org [Sun, 26 May 2013 00:51:00 +0000 (00:51 +0000)]
Path: clean up addPathForRoundedRect()
https://bugs.webkit.org/show_bug.cgi?id=116765

Patch by Alberto Garcia <agarcia@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):

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

6 years agoUnprefix Page Visibility API
simon.fraser@apple.com [Sat, 25 May 2013 23:56:01 +0000 (23:56 +0000)]
Unprefix Page Visibility API
https://bugs.webkit.org/show_bug.cgi?id=102340

Source/WebCore:

Reviewed by Tim Horton.

Remove prefixes from the document properties, and the visibilitychanged event.

Rename the "preview" state to "unloaded". The "unloaded" state is never
reached yet (see https://bugs.webkit.org/show_bug.cgi?id=116769).

Add some comments to places where we should update the visibility state
when going in and out of the page cache, but cannot safely do so yet.

Tested by existing Page Visibility tests.

* dom/Document.cpp:
(WebCore::Document::pageVisibilityState):
(WebCore::Document::visibilityState):
(WebCore::Document::hidden):
(WebCore::Document::dispatchVisibilityStateChangeEvent):
* dom/Document.h:
* dom/Document.idl:
* dom/EventNames.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
* page/Page.cpp:
(WebCore::Page::setVisibilityState):
* page/PageVisibilityState.cpp:
(WebCore::pageVisibilityStateString):
* page/PageVisibilityState.h:

Source/WebKit/efl:

Reviewed by Tim Horton.

Rename "preview" state to "unloaded" state.

* WebCoreSupport/AssertMatchingEnums.cpp:
* ewk/ewk_view.h:

Source/WebKit/mac:

Reviewed by Tim Horton.

Renaming of the "preview" state to "unloaded".

* WebView/WebView.mm:
* WebView/WebViewPrivate.h:

Source/WebKit2:

Reviewed by Tim Horton.

Renaming of the "preview" state to "unloaded".

* Shared/API/c/WKPageVisibilityTypes.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toPageVisibilityState):

Tools:

Reviewed by Tim Horton.

Rename "preview" state to "unloaded" state, and adjust the tests
to test for it.

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setPageVisibility):
* TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp:
(TestWebKitAPI::setPageVisibilityStateWithEvalContinuation):
(TestWebKitAPI::didRunStep2StateChangeHiddenToPrerender):
(TestWebKitAPI::didRunStep3StateChangePrerenderToUnloaded):
(TestWebKitAPI::didRunStep4InStateUnloaded):
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.html:
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPageVisibility):

LayoutTests:

Reviewed by Tim Horton.

Remove prefixes, adjust to state name changes.

* fast/events/page-visibility-iframe-delete-test.html:
* fast/events/page-visibility-iframe-move-test-expected.txt:
* fast/events/page-visibility-iframe-move-test.html:
* fast/events/page-visibility-iframe-propagation-test-expected.txt:
* fast/events/page-visibility-iframe-propagation-test.html:
* fast/events/page-visibility-null-view-expected.txt:
* fast/events/page-visibility-null-view.html:
* fast/events/page-visibility-transition-test-expected.txt:
* fast/events/page-visibility-transition-test.html:

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

6 years agoWe broke (-2^31/-1)|0 in the DFG
fpizlo@apple.com [Sat, 25 May 2013 23:31:20 +0000 (23:31 +0000)]
We broke (-2^31/-1)|0 in the DFG
https://bugs.webkit.org/show_bug.cgi?id=116767

Source/JavaScriptCore:

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):

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

6 years agoUpdated expected results after r150688.
mitz@apple.com [Sat, 25 May 2013 23:13:15 +0000 (23:13 +0000)]
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.

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

6 years agoMove Node::isMouseFocusable() to Element.
akling@apple.com [Sat, 25 May 2013 23:09:29 +0000 (23:09 +0000)]
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.

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

6 years agoREGRESSION: WebProcess is terminated when all Safari windows are closed.
akling@apple.com [Sat, 25 May 2013 21:34:26 +0000 (21:34 +0000)]
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):

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

6 years agoWebFrameProxy::didFailLoad clears frame title for no apparent reason
commit-queue@webkit.org [Sat, 25 May 2013 18:35:45 +0000 (18:35 +0000)]
WebFrameProxy::didFailLoad clears frame title for no apparent reason
https://bugs.webkit.org/show_bug.cgi?id=116655

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

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

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

6 years ago<rdar://problem/13924889> -webView:didPerformClientRedirectFromURL:toURL:inFrame...
mitz@apple.com [Sat, 25 May 2013 17:57:19 +0000 (17:57 +0000)]
<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.

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

6 years agoMove Node::isKeyboardFocusable() to Element.
akling@apple.com [Sat, 25 May 2013 12:02:35 +0000 (12:02 +0000)]
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.

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

6 years agoBegin moving "focus" state logic from Node to Element.
akling@apple.com [Sat, 25 May 2013 10:27:37 +0000 (10:27 +0000)]
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.

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

6 years agoDirect pattern compositing breaks when no-repeat is set on a large layer
noam.rosenthal@nokia.com [Sat, 25 May 2013 09:51:25 +0000 (09:51 +0000)]
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.

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

6 years agoMove "hover" state logic from Node to Element.
akling@apple.com [Sat, 25 May 2013 09:16:30 +0000 (09:16 +0000)]
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.

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

6 years agoDocument::formController() should return a reference.
akling@apple.com [Sat, 25 May 2013 09:08:38 +0000 (09:08 +0000)]
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):

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

6 years agoReducing CSS code duplication in declaration list error recovery
sergio@webkit.org [Sat, 25 May 2013 08:29:42 +0000 (08:29 +0000)]
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 <serya@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:

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

6 years ago[Qt][GTK] Build fix after r150669
commit-queue@webkit.org [Sat, 25 May 2013 04:20:37 +0000 (04:20 +0000)]
[Qt][GTK] Build fix after r150669
https://bugs.webkit.org/show_bug.cgi?id=116751

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-24
Reviewed by Christophe Dumez.

* GNUmakefile.list.am:
* Target.pri:
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::getEditorCommandsForKeyEvent):

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

6 years ago[EFL] Remove obsolete Page forward declaration from InspectorClientEfl.h
commit-queue@webkit.org [Sat, 25 May 2013 04:01:55 +0000 (04:01 +0000)]
[EFL] Remove obsolete Page forward declaration from InspectorClientEfl.h
https://bugs.webkit.org/show_bug.cgi?id=116752

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-24
Reviewed by Christophe Dumez.

* WebCoreSupport/InspectorClientEfl.h:

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