WebKit-https.git
5 years agoWeb Inspector: new glyphs are visible on OS X 10.9 builds
timothy@apple.com [Sun, 10 Aug 2014 10:25:27 +0000 (10:25 +0000)]
Web Inspector: new glyphs are visible on OS X 10.9 builds
https://bugs.webkit.org/show_bug.cgi?id=135743

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

* UserInterface/Images/Legacy/UserInputPrompt.svg: Removed.
* UserInterface/Images/Legacy/UserInputPromptPrevious.svg: Removed.
* UserInterface/Images/Legacy/UserInputResult.svg: Removed.
Removed images that were not used.

* UserInterface/Views/DashboardContainerView.css:
(body.mac-platform.legacy .dashboard-container .advance-arrow):
* UserInterface/Views/DebuggerDashboardView.js:
(WebInspector.DebuggerDashboardView):
* UserInterface/Views/FolderIcon.css:
(body.mac-platform.legacy .folder-icon .icon):
* UserInterface/Views/HierarchicalPathComponent.css:
(body.mac-platform.legacy .hierarchical-path-component > .selector-arrows):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
Use legacy images.

* UserInterface/Views/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected .subtitle):
Fix color for selected subtitle.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
Use legacy images.

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]): Use 10100 instead of 1090 for the version.

Source/WebKit2:

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::createInspectorWindow): Use 10100 instead of 1090 for the version.

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

5 years agoUpdate HashTable's operator= after r172167 per review comments
benjamin@webkit.org [Sun, 10 Aug 2014 08:45:13 +0000 (08:45 +0000)]
Update HashTable's operator= after r172167 per review comments

* wtf/HashTable.h:
Update the type as suggested by Darin.

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

5 years ago[GTK] REGRESSION(r166239): The ld version script is not being used
carlosgc@webkit.org [Sun, 10 Aug 2014 07:30:26 +0000 (07:30 +0000)]
[GTK] REGRESSION(r166239): The ld version script is not being used
https://bugs.webkit.org/show_bug.cgi?id=135694

Reviewed by Martin Robinson.

.:

Move the symbols filter file from Tools/gtk to Source/cmake and rename
it as gtksymbols.filter. Also updated it, since some of the symbols
exported were renamed.

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/gtksymbols.filter: Renamed from Tools/gtk/symbols.filter.

Source/WebKit2:

* CMakeLists.txt: Add VERSION_SCRIPT to WebKit2 link flags if present.

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

5 years ago[GTK] Child processes should be installed in a versioned directory
carlosgc@webkit.org [Sun, 10 Aug 2014 07:09:47 +0000 (07:09 +0000)]
[GTK] Child processes should be installed in a versioned directory
https://bugs.webkit.org/show_bug.cgi?id=135754

Reviewed by Gustavo Noronha Silva.

Define LIBEXEC_INSTALL_DIR as
${CMAKE_INSTALL_FULL_LIBEXECDIR}/webkitgtk-${WEBKITGTK_API_VERSION}
so that the child processes are installed in $libexec/webkitgtk-4.0.
This makes it possible to install 2.6 in parallel to older versions.

* Source/cmake/OptionsGTK.cmake:

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

5 years agoWeb Inspector: TimelineManager should reuse empty recordings
burg@cs.washington.edu [Sun, 10 Aug 2014 04:34:34 +0000 (04:34 +0000)]
Web Inspector: TimelineManager should reuse empty recordings
https://bugs.webkit.org/show_bug.cgi?id=135749

Reviewed by Timothy Hatcher.

Check whether the recording is empty before creating a new one.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._loadNewRecording):
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.isEmpty):
(WebInspector.TimelineRecording.prototype.unloaded):

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

5 years agoREGRESSION (r172301): Combined phone number highlight doesn't appear if rich content...
timothy_horton@apple.com [Sun, 10 Aug 2014 01:04:23 +0000 (01:04 +0000)]
REGRESSION (r172301): Combined phone number highlight doesn't appear if rich content is selected and we have no rich content services
https://bugs.webkit.org/show_bug.cgi?id=135785
<rdar://problem/17969843>

Reviewed by Brady Eidson.

* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::drawSelectionHighlight):
We can't early return in the rich-content-but-no-rich-services case
if we have telephone numbers in the selection, because we want to offer
them up in the combined menu.

* UIProcess/mac/WebContextMenuProxyMac.mm:
If we end up with no menu, because there were no services available,
make a fresh one that we can fill with combined telephone number items.

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

5 years agoSubpixel rendering: Transforms on non-compositing layers leave bits behind when the...
zalan@apple.com [Sun, 10 Aug 2014 00:48:59 +0000 (00:48 +0000)]
Subpixel rendering: Transforms on non-compositing layers leave bits behind when the box boundaries changes.
https://bugs.webkit.org/show_bug.cgi?id=135786

Reviewed by Simon Fraser.

Since we don't control the transformed context painting's snapping strategy, our best bet to fully
include the transformed box when requesting for repaint is to use enclosing.
Pixelsnapping doesn't work here for all cases. For example, a scaled box at 0.8px can be anti-aliased painted
both at 0.5px and 1px, while with pixelsnapping we'd expect it to be painted starting from 1px;

Source/WebCore:

Test: fast/repaint/hidpi-transform-on-subpixel-repaintrect.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint): enclose the result of the transform.

LayoutTests:

* fast/repaint/hidpi-transform-on-subpixel-repaintrect-expected.txt: Added.
* fast/repaint/hidpi-transform-on-subpixel-repaintrect.html: Added.

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

5 years agoREGRESSION: Inspector crashes when debugger is paused and injected scripts access...
mark.lam@apple.com [Sat, 9 Aug 2014 06:50:19 +0000 (06:50 +0000)]
REGRESSION: Inspector crashes when debugger is paused and injected scripts access window.screen().
<https://webkit.org/b/135656>

Not reviewed.

Rolling out r170680 which was merged to ToT in r172129.

Source/JavaScriptCore:

* debugger/Debugger.h:
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::invalidate):
* debugger/DebuggerCallFrame.h:
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::DebuggerScope):
(JSC::DebuggerScope::finishCreation):
(JSC::DebuggerScope::visitChildren):
(JSC::DebuggerScope::className):
(JSC::DebuggerScope::getOwnPropertySlot):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
(JSC::DebuggerScope::next): Deleted.
(JSC::DebuggerScope::invalidateChain): Deleted.
(JSC::DebuggerScope::isWithScope): Deleted.
(JSC::DebuggerScope::isGlobalScope): Deleted.
(JSC::DebuggerScope::isFunctionScope): Deleted.
* debugger/DebuggerScope.h:
(JSC::DebuggerScope::create):
(JSC::DebuggerScope::Iterator::Iterator): Deleted.
(JSC::DebuggerScope::Iterator::get): Deleted.
(JSC::DebuggerScope::Iterator::operator++): Deleted.
(JSC::DebuggerScope::Iterator::operator==): Deleted.
(JSC::DebuggerScope::Iterator::operator!=): Deleted.
(JSC::DebuggerScope::isValid): Deleted.
(JSC::DebuggerScope::jsScope): Deleted.
(JSC::DebuggerScope::begin): Deleted.
(JSC::DebuggerScope::end): Deleted.
* inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::scopeType):
(Inspector::JSJavaScriptCallFrame::scopeChain):
* inspector/JavaScriptCallFrame.h:
(Inspector::JavaScriptCallFrame::scopeChain):
* inspector/ScriptDebugServer.cpp:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::debuggerScopeStructure): Deleted.
* runtime/JSObject.h:
(JSC::JSObject::isWithScope): Deleted.
* runtime/JSScope.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

Source/WebCore:

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::attachDebugger):

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

5 years ago[EFL] Do not initialize g_type in WebProcessMain::platformInitialize()
g.czajkowski@samsung.com [Sat, 9 Aug 2014 02:37:31 +0000 (02:37 +0000)]
[EFL] Do not initialize g_type in WebProcessMain::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=135700

Reviewed by Gyuyoung Kim.

Inspired by r171788.
Glib since 2.36 itself initializes g_type_init.

* WebProcess/efl/WebProcessMainEfl.cpp:

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

5 years agoUnbreak webkitpy unit tests by checking for the existence of the image diff template
simon.fraser@apple.com [Sat, 9 Aug 2014 01:14:52 +0000 (01:14 +0000)]
Unbreak webkitpy unit tests by checking for the existence of the image diff template
file before trying to open it (as the tests do for results.html).

* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.write_image_diff_files):

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

5 years agoBuild fix for 32-bit.
timothy_horton@apple.com [Sat, 9 Aug 2014 01:12:28 +0000 (01:12 +0000)]
Build fix for 32-bit.

* UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::ServicesController):
Don't dynamically refresh services in 32-bit apps. It's not possible
to write a 32-bit app with the Modern API, so this doesn't matter.

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

5 years agoLoad the layout test result image diff HTML from a file, rather than having it inline...
simon.fraser@apple.com [Sat, 9 Aug 2014 00:23:38 +0000 (00:23 +0000)]
Load the layout test result image diff HTML from a file, rather than having it inline in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=135780

Reviewed by Dan Bates.

Tools:

Pull the HTML for the image diff file into a separate file, for easier hackability.

* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.write_image_diff_files):

LayoutTests:

Add image-diff-template.html and expected result (crazy, but this is what we do
for results.html too).

* fast/harness/image-diff-template-expected.txt: Added.
* fast/harness/image-diff-template.html: Added.

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

5 years agoImplement long mouse press over links. Part of 135257 - Add long mouse press gesture.
commit-queue@webkit.org [Sat, 9 Aug 2014 00:00:04 +0000 (00:00 +0000)]
Implement long mouse press over links. Part of 135257 - Add long mouse press gesture.
https://bugs.webkit.org/show_bug.cgi?id=135476

Patch by Peyton Randolph <prandolph@apple.com> on 2014-08-08
Reviewed by Tim Horton.

* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear): Clear long press state.
(WebCore::EventHandler::handleMousePressEvent): Start the long-press if the mouse press is a left
mouse press over a link.
(WebCore::EventHandler::eventMayStartDrag): We cannot start a drag if we've recognized a long press.
(WebCore::EventHandler::handleMouseReleaseEvent):
If we didn't recognize a long press, cancel the long press.
(WebCore::EventHandler::beginTrackingPotentialLongMousePress):
Begin the long mouse press by kicking off a timer. If the timer fires before the long press is
cancelled, the long press is recognized.
(WebCore::EventHandler::recognizeLongMousePress): Added. Trigger the long-press and disable other
actions like dragging.
(WebCore::EventHandler::cancelTrackingPotentialLongMousePress): Added. Cancel the long press by
clearing related state.
(WebCore::EventHandler::clearLongMousePressState): Added. Clear long press state.
(WebCore::EventHandler::handleLongMousePressMouseMovedEvent): Added. Cancel the long press if
the mouse moves outside a specified hysteresis interval.
(WebCore::EventHandler::handleMouseMoveEvent): Ask handleLongMousePressMouseMovedEvent whether to
return early and not update hovers, cursors, drags, etc.
(WebCore::EventHandler::dragHysteresisExceeded): Factor out the hysteresis bounds check into
mouseHysteresisExceeded().
(WebCore::EventHandler::handleDrag): Cancel long press upon starting drag.
(WebCore::EventHandler::mouseHysteresisExceeded): Added. General hysteresis function that takes an
arbitrary mouse movement threshold. Factored out from dragHysteresisExceeded.
* page/EventHandler.h:

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

5 years ago[mac] Dynamically update serviceability when the set of services changes
timothy_horton@apple.com [Fri, 8 Aug 2014 23:27:25 +0000 (23:27 +0000)]
[mac] Dynamically update serviceability when the set of services changes
https://bugs.webkit.org/show_bug.cgi?id=135738
<rdar://problem/17533459>

Reviewed by Brady Eidson.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
Adopt the new universal refreshExistingServices.

(WebKit::WebContext::refreshExistingServices): Deleted.
* UIProcess/WebContext.h:
Remove WebContext::refreshExistingServices; there's no need for it.

* UIProcess/mac/ServicesController.h:
* UIProcess/mac/ServicesController.mm:
Fix the build with only public headers by including NSSharingService.h itself.
Place the NSSharingServicePicker (Details) category outside the #ifdef.
Forward-declare and possibly import NSExtension SPI.

(WebKit::ServicesController::ServicesController):
Register a callback to be notified whenever the set of services changes.
When this occurs, call refreshExistingServices. We let refreshExistingServices
coalesce updates because these notifications can come in small batches.

(WebKit::ServicesController::refreshExistingServices):
Dispatch changes in service availability to all processes in all contexts.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Adjust the referenced rdar:// and call ServicesController::refreshExistingServices
instead of the now-removed WebContext:: variant. We can't remove this
yet because our services state can still be stale because NSServiceSharingPicker
can still sometimes lie about the current service state immediately after a change occurs;
once that is fixed, we should get rid of this as well as the refresh in Web Process creation.

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

5 years ago[WK2] Scrolling does not work inside nested frames
simon.fraser@apple.com [Fri, 8 Aug 2014 23:24:02 +0000 (23:24 +0000)]
[WK2] Scrolling does not work inside nested frames
https://bugs.webkit.org/show_bug.cgi?id=135775
<rdar://problem/17959896>

Reviewed by Tim Horton.

Source/WebCore:

r169733 added an "isMainFrame" check in AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged.
However we have to rebuild the non-fast-scrollable region when any subframe changes,
even a deeply nested one. So always rebuild it, starting from the root frame.

Fixes scrolling on nested framesets like http://www.opengl.org/sdk/docs/man3/.

Test: platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):

LayoutTests:

Nested frameset test that dumps the scrolling tree.

* platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/frames/resources/frameset-frame.html: Added.

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

5 years agoClients that request the selection services menu after WebKit2 will get one with...
timothy_horton@apple.com [Fri, 8 Aug 2014 23:15:55 +0000 (23:15 +0000)]
Clients that request the selection services menu after WebKit2 will get one with different metrics than otherwise
https://bugs.webkit.org/show_bug.cgi?id=135765
<rdar://problem/17962180>

Reviewed by Brady Eidson.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
The menu is cached between clients, but we make adjustments to it.
We should copy it before adjusting.

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

5 years ago[CSS Shapes] Refactor getExcludedIntervals since only one LineSegment is ever returned
bjonesbe@adobe.com [Fri, 8 Aug 2014 21:12:06 +0000 (21:12 +0000)]
[CSS Shapes] Refactor getExcludedIntervals since only one LineSegment is ever returned
https://bugs.webkit.org/show_bug.cgi?id=135757

Reviewed by Zoltan Horvath.

The interface for getExcludedIntervals was designed when shape-inside
was still a thing, and it was possible for a line in a shape to have
multiple segments. shape-outside can only have one segment per line,
so this refactors the code to simplify and reflect that reality.

No new test, no behavior change.

* rendering/shapes/BoxShape.cpp:
(WebCore::BoxShape::getExcludedInterval):
(WebCore::BoxShape::getExcludedIntervals): Deleted.
* rendering/shapes/BoxShape.h:
* rendering/shapes/PolygonShape.cpp:
(WebCore::PolygonShape::getExcludedInterval):
(WebCore::PolygonShape::getExcludedIntervals): Deleted.
* rendering/shapes/PolygonShape.h:
* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShape::getExcludedInterval):
(WebCore::RasterShape::getExcludedIntervals): Deleted.
* rendering/shapes/RasterShape.h:
* rendering/shapes/RectangleShape.cpp:
(WebCore::RectangleShape::getExcludedInterval):
(WebCore::RectangleShape::getExcludedIntervals): Deleted.
* rendering/shapes/RectangleShape.h:
* rendering/shapes/Shape.h:
(WebCore::LineSegment::LineSegment):
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::logicalLeftOffset):
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
(WebCore::ShapeOutsideInfo::computeSegmentsForLine): Deleted.
* rendering/shapes/ShapeOutsideInfo.h:

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

5 years agoWeb Inspector: add debugging flag to InspectorTest for unbuffered logging to stderr
burg@cs.washington.edu [Fri, 8 Aug 2014 20:21:59 +0000 (20:21 +0000)]
Web Inspector: add debugging flag to InspectorTest for unbuffered logging to stderr
https://bugs.webkit.org/show_bug.cgi?id=135726

Reviewed by Timothy Hatcher.

Source/WebCore:

Add a bridge so that InspectorTest can synchronously log to the console.

* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::unbufferedLog): Added.
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:

Source/WebInspectorUI:

Added a flag for debugging inspector tests which will synchronously log messages.
This avoids failure modes that prevent logging from being added to the test page.

* UserInterface/Base/Test.js:
(InspectorTest.debugLog):
(InspectorTest.addResult):

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

5 years agoGardening: fix Windows build after r172259.
mark.lam@apple.com [Fri, 8 Aug 2014 20:04:19 +0000 (20:04 +0000)]
Gardening: fix Windows build after r172259.

Not reviewed.

* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::addMockSpeechInputResult): Deleted.
(TestRunner::setMockSpeechInputDumpRect): Deleted.
(TestRunner::startSpeechInput): Deleted.

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

5 years agoWeb Inspector: When Switching Recordings, the UI datagrids do not update to match...
commit-queue@webkit.org [Fri, 8 Aug 2014 20:00:39 +0000 (20:00 +0000)]
Web Inspector: When Switching Recordings, the UI datagrids do not update to match selection
https://bugs.webkit.org/show_bug.cgi?id=135764

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-08
Reviewed by Timothy Hatcher.

* UserInterface/Views/TimelineSidebarPanel.js:
When changing the activeContentView trigger an update of the datagrids by
re-applying the filter, which will be different now that the view is different.

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

5 years agoAdjustments to CueBox CSS Width calculations.
roger_fong@apple.com [Fri, 8 Aug 2014 19:53:52 +0000 (19:53 +0000)]
Adjustments to CueBox CSS Width calculations.
https://bugs.webkit.org/show_bug.cgi?id=135759
<rdar://problem/17954473>.

Reviewed by Eric Carlson.

This is a followup patch that addresses some of the test failures caused by r172224.
These tests were skipped in r172253.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateActiveCuesFontSize):
Tell the cue boxes that they need to be updated when the font size specified in the user prefs changes.

Cap width to 100%, calculate max-width in percentages instead of pixels.
* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):

(WebCore::VTTCue::setFontSize):
Remove some unnecessary code that doesn't actually work.
Make sure to tell cuebox that it needs to be updated.

* TestExpectations:
Unskip tests media/track/track-cue-rendering-horizontal.html and media/track/track-cue-rendering-rtl.html.

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

5 years agoWeb Inspector: Uncaught Exception opening Web Inspector - TypeError: undefined is...
commit-queue@webkit.org [Fri, 8 Aug 2014 19:33:46 +0000 (19:33 +0000)]
Web Inspector: Uncaught Exception opening Web Inspector - TypeError: undefined is not a function - candidateObjectCookie.every
https://bugs.webkit.org/show_bug.cgi?id=135762

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-08
Reviewed by Timothy Hatcher.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
Fix a typo, the wrong object was being used.

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

5 years agomake clean does not work in OpenSource, fails in WebKitLibraries
commit-queue@webkit.org [Fri, 8 Aug 2014 19:20:19 +0000 (19:20 +0000)]
make clean does not work in OpenSource, fails in WebKitLibraries
https://bugs.webkit.org/show_bug.cgi?id=135734

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-08
Reviewed by David Kilzer.

Tools:

* Scripts/copy-webkitlibraries-to-product-directory:
Add a --clean switch that removes possible WebKitSystemInterface
and LLVM libraries and headers that may have been copied to the
product directory.

WebKitLibraries:

* Makefile:
Add a "clean" target that runs copy-webkitlibraries-to-product-dir
with the new --clean switch.

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

5 years agoClean up image subsampling code, make it less iOS-specific
simon.fraser@apple.com [Fri, 8 Aug 2014 18:55:51 +0000 (18:55 +0000)]
Clean up image subsampling code, make it less iOS-specific
https://bugs.webkit.org/show_bug.cgi?id=134916

Reviewed by Dean Jackson.

Compile the image subsampling code on both Mac and iOS, and make it more platform
neutral in general. Add a setting to allow it to be enabled on Mac for testing.

The most significant changes are in ImageSourceCG and BitmapImageCG. CG's ImageSource
is no longer stateful with respect to subsampling; its functions take a SubsamplingLevel
when appropriate. CG's BitmapImage now determines which level of subsampling to use
for a given frame, storing the subsampling level in the frame data. It can replace
an aggressively subsampled frame with a less subsampled frame if necessary.

To reduce the chances of subsampling affecting rendering, BitmapImage::size() now
always returns the non-subsampled size; subsampling is strictly internal to BitmapImage.
BitmapImage::draw() takes care of scaling the srcRect for subsampled images.

iOS had a code path that enabled caching of frame metadata in BitmapImage without
actually decoding the frame; make this cross-platform.

Fix a couple of issues in the original pathc: remove a log, and ImageSource::allowSubsamplingOfFrameAtIndex()
return false.

* WebCore.exp.in: Changed signature for GraphicsContext::drawNativeImage().
* WebCore.xcodeproj/project.pbxproj: Added ImageSource.cpp, which is not built
for Cocoa but useful for reference.
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer): Remove iOS-specific subsampling code.
(WebCore::CachedImage::createImage): Call setAllowSubsampling() on the image if we
can get to Settings (m_loader is null for image documents).
(WebCore::CachedImage::currentFrameKnownToBeOpaque): This forced decode always
caused creation of the non-subsampled image, so remove it. There's no reason to
eagerly decode the frame here.
* loader/cache/CachedImage.h: Fix comment.
* page/Settings.cpp: Add defaultImageSubsamplingEnabled, true for iOS and false for Mac.
* page/Settings.in: Added imageSubsamplingEnabled.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage): Init some more things. Default m_allowSubsampling to
true for iOS to catch images created in code paths where we can't get to Settings.
(WebCore::BitmapImage::haveFrameAtIndex): Handy helper.
(WebCore::BitmapImage::cacheFrame): Now takes the subsampling level and whether to cache
just metadata, or also the frame.
(WebCore::BitmapImage::didDecodeProperties): No need to store originalSize.
(WebCore::BitmapImage::updateSize): When we get the size for the first time, call
determineMinimumSubsamplingLevel() to choose a reasonable subsampling level which takes
platform-specific limits into account.
(WebCore::BitmapImage::dataChanged): Comment.
(WebCore::BitmapImage::ensureFrameIsCached): Take ImageFrameCaching into account.
(WebCore::BitmapImage::frameAtIndex): Choose a subsampling level given the scale,
then determine if we can use the currently cached frame, or whether we should resample.
(WebCore::BitmapImage::frameIsCompleteAtIndex): Caching m_isComplete is now done when caching
frame metadata.
(WebCore::BitmapImage::frameDurationAtIndex):
(WebCore::BitmapImage::frameHasAlphaAtIndex): The 'true' return is the safe return value.
(WebCore::BitmapImage::frameOrientationAtIndex): Caching m_orientation is now done when caching
frame metadata.
(WebCore::BitmapImage::cacheFrameInfo): Deleted.
(WebCore::BitmapImage::originalSize): Deleted.
(WebCore::BitmapImage::originalSizeRespectingOrientation): Deleted.
(WebCore::BitmapImage::currentFrameSize): Deleted.
(WebCore::BitmapImage::ensureFrameInfoIsCached): Deleted.
* platform/graphics/BitmapImage.h:
(WebCore::FrameData::FrameData):
* platform/graphics/GraphicsContext.h: No need to pass a scale param now.
* platform/graphics/ImageSource.cpp: Non-Cocoa changes.
(WebCore::ImageSource::subsamplingLevelForScale):
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageSource::size):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameBytesAtIndex):
* platform/graphics/ImageSource.h: No longer stores subsampling state.
(WebCore::ImageSource::isSubsampled): Deleted.
* platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::determineMinimumSubsamplingLevel):
* platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::FrameData::clear):
(WebCore::BitmapImage::BitmapImage): Init more members.
(WebCore::BitmapImage::determineMinimumSubsamplingLevel): Choose a minimum subsampling
level for the platform (subsample until the image area falls under a threshold).
(WebCore::BitmapImage::checkForSolidColor): Don't bother decoding frames if the image
is not 1x1. Also take care not to decode a non-subsampled image.
(WebCore::BitmapImage::draw): The actual bug fix is here; remove logic that
computed srcRectForCurrentFrame from m_size and m_originalSize; for some callers
srcRect was computed using the pre-subsampled size, and for others it was the subsampled size.
Instead, scale srcRect by mapping between the non-subsampled size, and the size of the CGImageRef
which is affected by subsampling.
(WebCore::BitmapImage::copyUnscaledFrameAtIndex):
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage): Remove #ifdeffed code.
(WebCore::GraphicsContext3D::paintToCanvas):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage): No more weird scaling!
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::ImageSource):
(WebCore::createImageSourceOptions): Helper that always returns a new CFDictionaryRef.
(WebCore::imageSourceOptions): If not subsampling, return the cached CFDictionaryRef, otherwise
make a new options dict and return it.
(WebCore::ImageSource::subsamplingLevelForScale): Helper that returns a subsampling level
between 0 and 3 given a scale.
(WebCore::ImageSource::isSizeAvailable): SkipMetadata is a default value for the param now.
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex): We turn off subsampling for progressive
JPEGs because of a bug, so need this to know if a frame should be subsampled.
(WebCore::ImageSource::frameSizeAtIndex): The looping to find a subsampling level is now in BitmapImageCG.
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::size): Always use a subsampling level of 0 for size().
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex): The caller mapped a scale to a level.
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameBytesAtIndex):
(WebCore::ImageSource::imageSourceOptions): Deleted.
(WebCore::ImageSource::originalSize): Deleted.
* platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::invalidatePlatformData): 0 -> nullptr
* platform/graphics/wince/ImageWinCE.cpp:
(WebCore::BitmapImage::determineMinimumSubsamplingLevel):

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

5 years agoProgress towards using CMake on Mac.
achristensen@apple.com [Fri, 8 Aug 2014 18:13:54 +0000 (18:13 +0000)]
Progress towards using CMake on Mac.
https://bugs.webkit.org/show_bug.cgi?id=135662

Reviewed by Laszlo Gombos.

* CMakeLists.txt:
.:

Mavericks has a flex version of "flex 2.5.35 Apple(flex-31)" which CMake doesn't like on Mac.
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
Added features that are needed by the Mac port.
* Source/cmake/OptionsMac.cmake:
Enable CSS_IMAGE_SET based on FeatureDefines.h.
Disable the FTL with CMake for now.
* Source/cmake/OptionsEFL.cmake:
* Source/cmake/OptionsGTK.cmake:
Enable subpixel layout to not conflict with FeatureDefines.h

Source/WebCore:

Added necessary include directories and idls.
* PlatformEfl.cmake:
* PlatformGTK.cmake:
Moved ImageSource.cpp and image-decoders to platform CMake files because they are not used on mac.
* PlatformMac.cmake:
Corrected some sources.
* config.h:
Added workaround for not using prefix headers with CMake.
* platform/graphics/ANGLEWebKitBridge.h:
Compile fix to find ANGLE headers while using CMake.
* platform/graphics/FormatConverter.h:
* platform/mac/NSScrollerImpDetails.h:
Removed unnecessary config.h includes.

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

5 years agoUndo some erroneous changes to the Xcode scheme files from r172259.
simon.fraser@apple.com [Fri, 8 Aug 2014 17:41:24 +0000 (17:41 +0000)]
Undo some erroneous changes to the Xcode scheme files from r172259.

* WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

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

5 years agoServices overlay dropdown is often in the wrong place with zoomed pages or horizontal...
timothy_horton@apple.com [Fri, 8 Aug 2014 16:19:37 +0000 (16:19 +0000)]
Services overlay dropdown is often in the wrong place with zoomed pages or horizontal scrolling
https://bugs.webkit.org/show_bug.cgi?id=135755
<rdar://problem/17907752>

Reviewed by Brady Eidson.

* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight):
(WebKit::ServicesOverlayController::maybeCreateSelectionHighlight):
DDHighlightCreateWithRectsInVisibleRectWithStyleAndDirection adjusts the
location of the button based on the visible rect, trying to keep the button visible.

We're handing it the wrong visible rect, though, not taking scrolling into account.

This leads to pages that scroll horizontally showing the button on the left
even if there's space for it on the right, or sometimes not showing it at all.

Instead, provide the actual main FrameView visible rect; the same coordinate
space that the highlight rects are provided in.

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

5 years agoAdditional items added to selection services menus are misaligned
timothy_horton@apple.com [Fri, 8 Aug 2014 16:18:46 +0000 (16:18 +0000)]
Additional items added to selection services menus are misaligned
https://bugs.webkit.org/show_bug.cgi?id=135747
<rdar://problem/17933167>

Reviewed by Brady Eidson.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Use NSSharingServicePickerStyleRollover for the rollover image services menu;
use NSSharingServicePickerStyleTextSelection for the selection services menu.

Set NSMenu's showsStateColumn to YES for selection services menus, so that
other items added to the menu line up correctly.

Remove an unncessary .get()

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

5 years ago[EFL] Remove unnecessary ewk_private.h includes
g.czajkowski@samsung.com [Fri, 8 Aug 2014 12:57:19 +0000 (12:57 +0000)]
[EFL] Remove unnecessary ewk_private.h includes
https://bugs.webkit.org/show_bug.cgi?id=135753

Reviewed by Gyuyoung Kim.

Neither the below file uses the functionality from ewk_private.h.

* UIProcess/API/efl/ewk_context.cpp:
* UIProcess/API/efl/ewk_context_menu_item.cpp:
* UIProcess/API/efl/ewk_cookie_manager.cpp:
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
* UIProcess/API/efl/ewk_view.cpp:

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

5 years ago[GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
carlosgc@webkit.org [Fri, 8 Aug 2014 09:31:41 +0000 (09:31 +0000)]
[GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
https://bugs.webkit.org/show_bug.cgi?id=135699

Reviewed by Philippe Normand.

Resize grips support have been removed from GTK+ since 3.13.4, the
API has been deprecated and does nothing.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetToplevelOnScreenWindow):
(resizeWebKitWebViewBaseFromAllocation):

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

5 years ago[CMake] Drop the required version of CMake down to 2.8.8
zandobersek@gmail.com [Fri, 8 Aug 2014 08:17:01 +0000 (08:17 +0000)]
[CMake] Drop the required version of CMake down to 2.8.8
https://bugs.webkit.org/show_bug.cgi?id=135713

Reviewed by Alex Christensen.

.:

* CMakeLists.txt: Require CMake 2.8.8.

Source/WebCore:

* CMakeLists.txt: Use set_property() to set INCLUDE_DIRECTORIES for
the ANGLESupport library. This avoids using target_include_directories()
which requires CMake 2.8.11.

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

5 years agocommit-log-message has extra blank line at the top of pre-populated message
commit-queue@webkit.org [Fri, 8 Aug 2014 08:09:08 +0000 (08:09 +0000)]
commit-log-message has extra blank line at the top of pre-populated message
https://bugs.webkit.org/show_bug.cgi?id=135744

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-08
Reviewed by Csaba Osztrogon√°c.

Do not add a blank leading line in single ChangeLog commit messages.

* Scripts/commit-log-editor:
(createCommitMessage):
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
(test_commit_message_for_one_reviewed_changelog):
(test_commit_message_for_one_rollout_changelog):

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

5 years ago[GStreamer][1.4] Caps negotiation failure in playback pipeline
philn@webkit.org [Fri, 8 Aug 2014 07:46:15 +0000 (07:46 +0000)]
[GStreamer][1.4] Caps negotiation failure in playback pipeline
https://bugs.webkit.org/show_bug.cgi?id=135607

Reviewed by Carlos Garcia Campos.

Ensure the capsfilters used in front of interleave negotiate their
caps correctly with audioconvert which requires audio buffers with
interleaved layout.

No new tests, existing webaudio tests will cover this change once
we bump our JHBuild moduleset to GStreamer 1.4.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(getGStreamerMonoAudioCaps):

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

5 years agoREGRESSION(r172094): timeline views are blank after reloading in some situations
burg@cs.washington.edu [Fri, 8 Aug 2014 07:05:47 +0000 (07:05 +0000)]
REGRESSION(r172094): timeline views are blank after reloading in some situations
https://bugs.webkit.org/show_bug.cgi?id=135742

Reviewed by Timothy Hatcher.

Address various bugs that cause the wrong timeline content views to appear when
starting a recording by reloading the inspected page. Fix other small oversights
that were encountered in the sidebar-based view state restoration code.

* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.saveIdentityToCookie): Add a dummy implementation.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
This code erroneously matches any tree element whose represented object's
saveIdentityToCookie function produces an empty cookie.

* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._showTimelineView): Add an assertion
that will find mismatches between represented objects of the TimelineContentView
and TimelineViews.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): Don't call
the superclass's implementation, since we do not want to perform a relaxed match
against any of our tree elements. The only thing that can be restored across reopen
is a selected timeline tree element, which is already handled by this override.

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

5 years agoWeb Inspector: Fix accidental always true comparison
commit-queue@webkit.org [Fri, 8 Aug 2014 06:57:32 +0000 (06:57 +0000)]
Web Inspector: Fix accidental always true comparison
https://bugs.webkit.org/show_bug.cgi?id=135741

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-07
Reviewed by Timothy Hatcher.

Remove accidental "!" that would always cause this comparison to succeed.

* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.updateLayout):

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

5 years agoWeb Inspector: Timeline Filter Bars are not appearing at all
commit-queue@webkit.org [Fri, 8 Aug 2014 06:56:24 +0000 (06:56 +0000)]
Web Inspector: Timeline Filter Bars are not appearing at all
https://bugs.webkit.org/show_bug.cgi?id=135740

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-07
Reviewed by Timothy Hatcher.

* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline.has-non-default-filter > .navigation-bar-container):
(.data-grid.timeline > .navigation-bar-container > .navigation-bar):
(body.mac-platform.legacy .data-grid.timeline > .navigation-bar-container > .navigation-bar):
Update the positioning and height for non-legacy because the console is now taller.

* UserInterface/Views/ScopeBar.js:
(WebInspector.ScopeBar.prototype.hasNonDefaultItemSelected):
Helper to know if there is a non-default filter.

* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
(WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
Update scope bar visibility. If non-default we want to always show it.

(WebInspector.TimelineDataGrid.prototype._updateScopeBarForcedVisibility):
If there is a non-default filter, force showing the bar.

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

5 years agoWeb Inspector: breakpoints enabled state is not persisted across re-opening the inspector
commit-queue@webkit.org [Fri, 8 Aug 2014 06:53:22 +0000 (06:53 +0000)]
Web Inspector: breakpoints enabled state is not persisted across re-opening the inspector
https://bugs.webkit.org/show_bug.cgi?id=135745

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-07
Reviewed by Timothy Hatcher.

When restoring breakpoints when the inspector is initializing, do not
let setting these breakpoints automatically enable breakpoints. We should
respect the setting in this case.

* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.restoreBreakpointsSoon):
(WebInspector.DebuggerManager):

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

5 years agoUnreviewed, rolling out r172291.
commit-queue@webkit.org [Fri, 8 Aug 2014 06:50:29 +0000 (06:50 +0000)]
Unreviewed, rolling out r172291.
https://bugs.webkit.org/show_bug.cgi?id=135748

broke background-attachment-fixed with backround-size-contain
(e.g. iCloud.com) (Requested by thorton on #webkit).

Reverted changeset:

"Fixed backgrounds don't paint in blurred inset areas"
https://bugs.webkit.org/show_bug.cgi?id=135712
http://trac.webkit.org/changeset/172291

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

5 years agoWeb Inspector: Combine and minify Esprima
timothy@apple.com [Fri, 8 Aug 2014 06:48:52 +0000 (06:48 +0000)]
Web Inspector: Combine and minify Esprima
https://bugs.webkit.org/show_bug.cgi?id=135728

Reviewed by Joseph Pecoraro.

* Scripts/combine-resources.pl:
* Scripts/copy-user-interface-resources.pl:
* UserInterface/External/Esprima/LICENSE: Added.

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

5 years agoSubpixel rendering: Border thickness and length flooring can result empty borders
zalan@apple.com [Fri, 8 Aug 2014 03:51:44 +0000 (03:51 +0000)]
Subpixel rendering: Border thickness and length flooring can result empty borders
due to losing precision during multiple float <-> LayoutUnit conversions.
https://bugs.webkit.org/show_bug.cgi?id=135686

Reviewed by Simon Fraser.

The combination of losing precision and flooring the border thickness/length to avoid
empty border rect drawing can lead to false positives of missing borders.
This patch moves empty border checking right before painting where we can safely use round
instead of floor.

Source/WebCore:

Tests: fast/borders/hidpi-border-width-flooring.html

* rendering/RenderObject.cpp:
(WebCore::drawBorderLineRect):
(WebCore::drawBorderLine):
(WebCore::RenderObject::drawLineForBoxSide):

LayoutTests:

* fast/borders/hidpi-border-width-flooring-expected.html: Added.
* fast/borders/hidpi-border-width-flooring.html: Added.

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

5 years ago[EFL] Build break with mpegts since r167025
ryuan.choi@samsung.com [Fri, 8 Aug 2014 02:40:07 +0000 (02:40 +0000)]
[EFL] Build break with mpegts since r167025
https://bugs.webkit.org/show_bug.cgi?id=135737

Reviewed by Gyuyoung Kim.

* PlatformEfl.cmake: Added includes and libraries about MPEG-TS

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

5 years agoCreate a more generic way for VMEntryScope to notify those interested that it will...
commit-queue@webkit.org [Fri, 8 Aug 2014 02:29:22 +0000 (02:29 +0000)]
Create a more generic way for VMEntryScope to notify those interested that it will be destroyed
https://bugs.webkit.org/show_bug.cgi?id=135358

Patch by Saam Barati <sbarati@apple.com> on 2014-08-07
Reviewed by Geoffrey Garen.

When VMEntryScope is destroyed, and it has a flag set indicating that the
Debugger needs to recompile all functions, it calls Debugger::recompileAllJSFunctions.
This flag is only used by Debugger to have VMEntryScope notify it when the
Debugger is safe to recompile all functions. This patch will substitute this
Debugger-specific recompilation flag with a list of callbacks that are notified
when the outermost VMEntryScope dies. This creates a general purpose interface
for being notified when the VM stops executing code via the event of the outermost
VMEntryScope dying.

* debugger/Debugger.cpp:
(JSC::Debugger::recompileAllJSFunctions):
* runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::setEntryScopeDidPopListener):
(JSC::VMEntryScope::~VMEntryScope):
* runtime/VMEntryScope.h:
(JSC::VMEntryScope::setRecompilationNeeded): Deleted.

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

5 years ago[Services with UI] Action menu does not appear if selection includes both text and...
timothy_horton@apple.com [Fri, 8 Aug 2014 01:17:52 +0000 (01:17 +0000)]
[Services with UI] Action menu does not appear if selection includes both text and an image
https://bugs.webkit.org/show_bug.cgi?id=135731
<rdar://problem/17837491>

Reviewed by Dean Jackson.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
Initialize hasRichContentServices with the cached value.

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

5 years agoGet rid of SCRIPTED_SPEECH
bfulgham@apple.com [Fri, 8 Aug 2014 00:38:01 +0000 (00:38 +0000)]
Get rid of SCRIPTED_SPEECH
https://bugs.webkit.org/show_bug.cgi?id=135729

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-07
Reviewed by Brent Fulgham.

* fast/events/constructors/speech-recognition-error-constructor-expected.txt: Removed.
* fast/events/constructors/speech-recognition-error-constructor.html: Removed.
* fast/events/constructors/speech-recognition-event-constructor-expected.txt: Removed.
* fast/events/constructors/speech-recognition-event-constructor.html: Removed.
* fast/speech/scripted/basics-expected.txt: Removed.
* fast/speech/scripted/basics.html: Removed.
* fast/speech/scripted/navigate-away-expected.txt: Removed.
* fast/speech/scripted/navigate-away-iframe-expected.txt: Removed.
* fast/speech/scripted/navigate-away-iframe.html: Removed.
* fast/speech/scripted/navigate-away.html: Removed.
* fast/speech/scripted/speechgrammar-basics-expected.txt: Removed.
* fast/speech/scripted/speechgrammar-basics.html: Removed.
* fast/speech/scripted/speechrecognition-basics-expected.txt: Removed.
* fast/speech/scripted/speechrecognition-basics.html: Removed.
* fast/speech/scripted/speechrecognition-errors-expected.txt: Removed.
* fast/speech/scripted/speechrecognition-errors.html: Removed.
* fast/speech/scripted/speechrecognitionerror-basics-expected.txt: Removed.
* fast/speech/scripted/speechrecognitionerror-basics.html: Removed.
* fast/speech/scripted/start-exception-expected.txt: Removed.
* fast/speech/scripted/start-exception.html: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/gtk/fast/speech/speech-bidi-rendering-expected.txt: Removed.
* platform/mac/TestExpectations:
* platform/mac/fast/speech/speech-bidi-rendering-expected.png: Removed.
* platform/mac/fast/speech/speech-bidi-rendering-expected.txt: Removed.
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

5 years agoHTML <sub> and <sup> elements do not work in some 64-bit builds
simon.fraser@apple.com [Fri, 8 Aug 2014 00:35:33 +0000 (00:35 +0000)]
HTML <sub> and <sup> elements do not work in some 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=135736

Reviewed by Tim Horton.

RootInlineBox::verticalPositionForBox() had some implicit conversions between
LayoutUnit and int that caused overflow, and resulted in different comparison
behavior with an int constant in different architectures, since overflow behavior
is undefined.

Specifically, VerticalPositionCache was written in terms of ints with a special
0x80000000 "not found" value. However, 0x80000000 was being assigned to
a LayoutUnit, which multiplies by 64 causing overflow. The result was then
compared again with 0x80000000 which could pass or fail depending on overflow
behavior.

Fix by converting VerticalPositionCache to use LayoutUnits, and to have a bool
return value with a result out param, instead of a special return value.

Not easily testable, since the difference does not show in DRT output,
and a ref test would be flakey.

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ascentAndDescentForBox):
* rendering/VerticalPositionCache.h:
(WebCore::VerticalPositionCache::get):
(WebCore::VerticalPositionCache::set):

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

5 years agoGet rid of SCRIPTED_SPEECH
bfulgham@apple.com [Fri, 8 Aug 2014 00:32:36 +0000 (00:32 +0000)]
Get rid of SCRIPTED_SPEECH
https://bugs.webkit.org/show_bug.cgi?id=135729

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-07
Reviewed by Brent Fulgham.

../JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

../WebCore:

* Configurations/FeatureDefines.xcconfig:
* Modules/speech/SpeechGrammar.cpp: Removed.
* Modules/speech/SpeechGrammar.h: Removed.
* Modules/speech/SpeechGrammar.idl: Removed.
* Modules/speech/SpeechGrammarList.cpp: Removed.
* Modules/speech/SpeechGrammarList.h: Removed.
* Modules/speech/SpeechGrammarList.idl: Removed.
* Modules/speech/SpeechRecognition.cpp: Removed.
* Modules/speech/SpeechRecognition.h: Removed.
* Modules/speech/SpeechRecognition.idl: Removed.
* Modules/speech/SpeechRecognitionAlternative.cpp: Removed.
* Modules/speech/SpeechRecognitionAlternative.h: Removed.
* Modules/speech/SpeechRecognitionAlternative.idl: Removed.
* Modules/speech/SpeechRecognitionClient.h: Removed.
* Modules/speech/SpeechRecognitionController.cpp: Removed.
* Modules/speech/SpeechRecognitionController.h: Removed.
* Modules/speech/SpeechRecognitionError.cpp: Removed.
* Modules/speech/SpeechRecognitionError.h: Removed.
* Modules/speech/SpeechRecognitionError.idl: Removed.
* Modules/speech/SpeechRecognitionEvent.cpp: Removed.
* Modules/speech/SpeechRecognitionEvent.h: Removed.
* Modules/speech/SpeechRecognitionEvent.idl: Removed.
* Modules/speech/SpeechRecognitionResult.cpp: Removed.
* Modules/speech/SpeechRecognitionResult.h: Removed.
* Modules/speech/SpeechRecognitionResult.idl: Removed.
* Modules/speech/SpeechRecognitionResultList.cpp: Removed.
* Modules/speech/SpeechRecognitionResultList.h: Removed.
* Modules/speech/SpeechRecognitionResultList.idl: Removed.
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setScriptedSpeechEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::scriptedSpeechEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionErrorEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEventEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarListEnabled): Deleted.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue): Deleted.
* bindings/js/JSDictionary.h:
* dom/EventNames.in:
* dom/EventTargetFactory.in:

../WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

../WebKit2:

* Configurations/FeatureDefines.xcconfig:

../WTF:

* wtf/FeatureDefines.h:

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

5 years agoFix regression where tree outline keyboard navigation is broken.
timothy@apple.com [Fri, 8 Aug 2014 00:15:52 +0000 (00:15 +0000)]
Fix regression where tree outline keyboard navigation is broken.

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

Reviewed by Joseph Pecoraro.

* UserInterface/Views/TreeOutline.js:
(TreeElement.prototype.revealed): Fix the check for currentAncestor.hidden.

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

5 years agoWeb Inspector: Filter bar text and icon are positioned too low and tight
timothy@apple.com [Fri, 8 Aug 2014 00:08:17 +0000 (00:08 +0000)]
Web Inspector: Filter bar text and icon are positioned too low and tight
https://bugs.webkit.org/show_bug.cgi?id=135723

Reviewed by Joseph Pecoraro.

* UserInterface/Views/FilterBar.css:
(.filter-bar > input[type="search"]):
(.filter-bar > input[type="search"]::-webkit-search-decoration):
* UserInterface/Views/SearchBar.css:
(.search-bar > input[type="search"]):

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

5 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Thu, 7 Aug 2014 23:43:08 +0000 (23:43 +0000)]
[Win] Unreviewed gardening.

Have 'Assemble Build Logs' step work properly for DebugSuffix target
(both 32-bit and 64-bit).

* win/AssembleBuildLogs/AssembleBuildLogs.vcxproj:

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

5 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Thu, 7 Aug 2014 23:35:33 +0000 (23:35 +0000)]
[Win] Unreviewed gardening.

Don't build the JSFileException and JSFileReaderSync files in 64-bit; they are already part
of DerivedObjects.cpp.

* WebCore.vcxproj/WebCore.vcxproj: Exclude JSFileException and JSFileReaderSync to avoid
multiple definitions of symbols.

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

5 years agosetCustomSwipeViews inside didChangeBackForwardList client callback is ignored
timothy_horton@apple.com [Thu, 7 Aug 2014 23:29:31 +0000 (23:29 +0000)]
setCustomSwipeViews inside didChangeBackForwardList client callback is ignored
https://bugs.webkit.org/show_bug.cgi?id=135633
<rdar://problem/17926507>

Reviewed by Sam Weinig.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeBackForwardList):
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
WebKit clears the set of custom swipe views at the end of WebPageProxy::didChangeBackForwardList,
*after* calling into the client. This means that if the client wants to setCustomSwipeViews in
didChangeBackForwardList, it won't be respected.

Since there's only one client of this SPI, let's just stop clearing the list of custom swipe
views in WebKit and leave that totally up to the client.

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

5 years ago[Services with UI] Action menu does not appear if selection includes both text and...
enrica@apple.com [Thu, 7 Aug 2014 23:08:38 +0000 (23:08 +0000)]
[Services with UI] Action menu does not appear if selection includes both text and an image.
https://bugs.webkit.org/show_bug.cgi?id=135731
<rdar://problem/17837491>

Reviewed by Brady Eidson.

Source/WebCore:

When collecting selection rects via SelectionRectGatherer we should also note if the selection
contains non text elements. This way the Notifier class can send that information to ServicesOverlayController
to properly handle the highlight for the service.

* editing/SelectionRectGatherer.cpp:
(WebCore::SelectionRectGatherer::SelectionRectGatherer):
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
(WebCore::SelectionRectGatherer::clearAndCreateNotifier):
* editing/SelectionRectGatherer.h:
(WebCore::SelectionRectGatherer::setTextOnly):
(WebCore::SelectionRectGatherer::isTextOnly):
* page/EditorClient.h:
(WebCore::EditorClient::selectionRectsDidChange):
* rendering/RenderView.cpp:
(WebCore::RenderView::applySubtreeSelection):

Source/WebKit2:

Adding a new setting to ServicesController to communicate to the WebProcess if
there are services installed that can handle a combination of text and images.
This way ServicesOverlayController can decide if it appropriate to show the hightlight
based on the type of selection (text only or non text only). This information is retrieved
when the selection rects are collected by SelectionGatherer and used by
SelectionGatherer::Notifier to communicate the selection change.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
* Shared/WebProcessCreationParameters.h:
* UIProcess/mac/ServicesController.h:
(WebKit::ServicesController::hasRichContentServices):
* UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::ServicesController):
(WebKit::ServicesController::refreshExistingServices):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::selectionRectsDidChange):
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebPage/ServicesOverlayController.h:
* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::ServicesOverlayController):
(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::drawSelectionHighlight):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::setEnabledServices):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::hasRichContentServices):
* WebProcess/WebProcess.messages.in:

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

5 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Thu, 7 Aug 2014 23:02:08 +0000 (23:02 +0000)]
[Win] Unreviewed gardening.

* WebKit.vcxproj/WebKit/WebKitCommon.props: Add $(DebugSuffix) to libraries so
that the DebugSuffix target works properly.

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

5 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Thu, 7 Aug 2014 22:47:33 +0000 (22:47 +0000)]
[Win] Unreviewed gardening.

DebugSuffix targets should use our debugsuffix property sheet, and
will therefore build to the proper output location with the proper
suffix tags.

Also, we must use the WebKit_Libraries environment variable, not a set
of relative paths to the property sheets.

* ANGLE.vcxproj/libEGL.vcxproj: Use 'debugsuffix.props' sheet.
* ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
* ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
* ANGLE.vcxproj/translator_common.vcxproj: Ditto.
* ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
* ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
* ANGLE.vcxproj/libEGLCommon.props: Use $(DebugSuffix) endings.
* ANGLE.vcxproj/libGLESv2Common.props: Ditto.
* ANGLE.vcxproj/translatorCommon.props: Output to 'lib' folder,
not 'bin' folder. These are libraries!

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

5 years ago[Mac] Parental Controls content filter is mistakenly enabled for HTTP responses
aestes@apple.com [Thu, 7 Aug 2014 22:27:18 +0000 (22:27 +0000)]
[Mac] Parental Controls content filter is mistakenly enabled for HTTP responses
https://bugs.webkit.org/show_bug.cgi?id=135730

Reviewed by Brady Eidson.

On the Mac, the WebFilterEvaluator (Parental Controls) content filter should only be enabled for HTTPS
responses. During iOS upstreaming we mistakenly enabled it for HTTP responses as well, and this causes HTTP
responses to be filtered twice -- once by the Parental Controls HTTP proxy and once by WebCore. Revert to the
pre-upstreaming behavior and only enable the content filter for HTTPS responses.

No new tests. Content filtering is not testable from WebKit.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived): Passed the response to ContentFilter::canHandleResponse().
* platform/ContentFilter.h:
* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::canHandleResponse): Renamed from isEnabled(). Checks the response's scheme on Mac to
determine whether WebFilterEvaluator should be used.
(WebCore::ContentFilter::isEnabled): Deleted.

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

5 years agoFixed backgrounds don't paint in blurred inset areas
bdakin@apple.com [Thu, 7 Aug 2014 22:25:11 +0000 (22:25 +0000)]
Fixed backgrounds don't paint in blurred inset areas
https://bugs.webkit.org/show_bug.cgi?id=135712

Reviewed by Simon Fraser.

Source/WebCore:

Background geometry calculations for fixed background need to use the larger
visible rect.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

LayoutTests:

Unfortunately for this test to be valid in WK2, it needs to be run from the
platform/mac-wk2/tiled-drawing directory so that tiled drawing is enabled. So
there are two copies of the test so that we can get coverage for WK1 and WK2.
* platform/mac-wk1/TestExpectations:
* platform/mac-wk1/fast: Added.
* platform/mac-wk1/fast/backgrounds: Added.
* platform/mac-wk1/fast/backgrounds/resources: Added.
* platform/mac-wk1/fast/backgrounds/resources/green.png: Added.
* platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment-expected.html: Added.
* platform/mac-wk1/fast/backgrounds/top-content-inset-fixed-attachment.html: Added.
* platform/mac-wk2/tiled-drawing/resources/green.png: Added.
* platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-expected.html: Added.
* platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment.html: Added.
* platform/mac/fast/backgrounds/resources: Added.

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

5 years agoWeb Inspector: Dashboard error and warning icons should be filled when enabled
timothy@apple.com [Thu, 7 Aug 2014 22:21:25 +0000 (22:21 +0000)]
Web Inspector: Dashboard error and warning icons should be filled when enabled
https://bugs.webkit.org/show_bug.cgi?id=135725

Reviewed by Joseph Pecoraro.

* UserInterface/Images/ErrorsEnabled.svg:
* UserInterface/Images/IssuesEnabled.svg:

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

5 years ago[EME][Mac] Error codes returned by AVSampleBufferDisplayLayer are negative; clip...
jer.noble@apple.com [Thu, 7 Aug 2014 22:17:50 +0000 (22:17 +0000)]
[EME][Mac] Error codes returned by AVSampleBufferDisplayLayer are negative; clip when passed to JavaScript as doubles.
https://bugs.webkit.org/show_bug.cgi?id=135710

Reviewed by Brent Fulgham.

Return the absolute value of the error codes returned by AVSampleBufferDisplayLayer, so that the conversion from
unsigned -> double does not clip due to the (converted) value being greater than 2^53.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):

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

5 years agoWeb Inspector: Dashboard contents shift when window changes active state
commit-queue@webkit.org [Thu, 7 Aug 2014 22:14:44 +0000 (22:14 +0000)]
Web Inspector: Dashboard contents shift when window changes active state
https://bugs.webkit.org/show_bug.cgi?id=135724

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-07
Reviewed by Timothy Hatcher.

The container was getting a 1px border when inactive and none when active.
Give it a transparent border when active so contents don't change size.

* UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):

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

5 years ago[EFL] Fix several warnings of doxygen
ryuan.choi@samsung.com [Thu, 7 Aug 2014 22:11:50 +0000 (22:11 +0000)]
[EFL] Fix several warnings of doxygen
https://bugs.webkit.org/show_bug.cgi?id=135643

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/ewk_context_menu_item.h: Removed /info which is not doxygen keyword and unnecessary to the user.
* UIProcess/API/efl/ewk_cookie_manager.h: Fixed parameter name.
* UIProcess/API/efl/ewk_form_submission_request.h: Removed # from Eina_List because doxygen may not know the EFL structures.
* UIProcess/API/efl/ewk_page_group.h: Fixed to match with parameter name.
* UIProcess/API/efl/ewk_settings.h: Fixed wrong keyword and parameter name.
* UIProcess/API/efl/ewk_text_checker.h: Ditto.
* UIProcess/API/efl/ewk_view.h:
- Used escape string for the tag.
- Used @code, @endcode for media query example.

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

5 years agoSpeculateInt32Operand is sometimes used in a 64-bit context, which has undefined...
mhahnenberg@apple.com [Thu, 7 Aug 2014 22:08:19 +0000 (22:08 +0000)]
SpeculateInt32Operand is sometimes used in a 64-bit context, which has undefined behavior
https://bugs.webkit.org/show_bug.cgi?id=135722

Reviewed by Filip Pizlo.

We should be using SpeculateStrictInt32Operand instead.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

5 years agoSometimes Gmail cannot load messages, particularly on refresh ("...the application...
dbates@webkit.org [Thu, 7 Aug 2014 21:39:19 +0000 (21:39 +0000)]
Sometimes Gmail cannot load messages, particularly on refresh ("...the application ran into an unexpected error...")
https://bugs.webkit.org/show_bug.cgi?id=135688
<rdar://problem/17886686>

Reviewed by Alexey Proskuryakov.

Fixes an issue where gmail.com may fail to load the list of messages. In particular, a SQLTransactionCallback
function may not be executed and hence Gmail will not display the list of messages and
will subsequently display an error message.

When a WebKit client defers loading of a page (e.g. -[WebView setDefersCallbacks:YES]), WebCore
may still load the main resource, say if substitute data is available for it, and defer executing
tasks, such as a SQLTransactionCallback function, by appending such tasks to the end of the list
of pending tasks for the associated Document. This list of pending tasks is never processed when
a client subsequently allows loading (e.g. -[WebView setDefersCallbacks:NO])). Therefore, we never
execute a SQLTransactionCallback function that was deferred.

Ideally WebCore would defer loading of substitute data when a WebKit client requests that loading
be deferred and hence a SQLTransactionCallback function would be deferred as a consequence of the
lack of JavaScript script execution (since substitute data wasn't loaded and hence any JavaScript
script contained in the substitute data that initiates a SQL transaction isn't executed). For now,
it's sufficient to only defer executing tasks when either there are existing pending tasks or the
page defers loading and active DOM objects in the document are suspended (e.g. Document::suspendActiveDOMObjects() was called).

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

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

5 years agohttp/tests/security/cross-frame-access-enumeration.html fails after FTLOPT merge.
mark.lam@apple.com [Thu, 7 Aug 2014 21:18:16 +0000 (21:18 +0000)]
http/tests/security/cross-frame-access-enumeration.html fails after FTLOPT merge.
<https://webkit.org/b/135708>

Reviewed by Mark Hahnenberg.

* TestExpectations:
* http/tests/security/cross-frame-access-enumeration-expected.txt:
- re-baselined the test results.

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

5 years agoFix reference to missing CloseTimeline.svg image.
timothy@apple.com [Thu, 7 Aug 2014 21:10:22 +0000 (21:10 +0000)]
Fix reference to missing CloseTimeline.svg image.

Rubber-stamped by Joseph Pecoraro.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Use CloseLarge.svg instead.

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

5 years ago[Win] Unreviewed build fix.
bfulgham@apple.com [Thu, 7 Aug 2014 21:09:51 +0000 (21:09 +0000)]
[Win] Unreviewed build fix.

Add a WebInspectorUI.proj file for use with MSBuild utility.

* WebInspectorUI.vcxproj/WebInspectorUI.proj: Added.

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

5 years agoGet rid of INPUT_SPEECH
benjamin@webkit.org [Thu, 7 Aug 2014 21:04:11 +0000 (21:04 +0000)]
Get rid of INPUT_SPEECH
https://bugs.webkit.org/show_bug.cgi?id=135672

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-07
Reviewed by Andreas Kling.

.:

* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* Modules/speech/SpeechSynthesis.cpp:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::speechInputEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled): Deleted.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* css/html.css:
(input::-webkit-input-speech-button): Deleted.
* dom/Element.h:
(WebCore::Element::isInputFieldSpeechButtonElement): Deleted.
* dom/EventNames.in:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::speechButtonElement): Deleted.
(WebCore::HTMLInputElement::isSpeechEnabled): Deleted.
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl:
* html/InputType.cpp:
(WebCore::InputType::shouldRespectListAttribute):
(WebCore::InputType::shouldRespectSpeechAttribute): Deleted.
* html/InputType.h:
(WebCore::InputType::speechButtonElement): Deleted.
* html/NumberInputType.cpp:
(WebCore::NumberInputType::shouldRespectSpeechAttribute): Deleted.
* html/NumberInputType.h:
* html/PasswordInputType.cpp:
(WebCore::PasswordInputType::shouldRespectSpeechAttribute): Deleted.
* html/PasswordInputType.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::shouldRespectSpeechAttribute): Deleted.
* html/SearchInputType.h:
* html/TelephoneInputType.cpp:
(WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Deleted.
* html/TelephoneInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::needsContainer):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::destroyShadowSubtree):
(WebCore::TextFieldInputType::speechButtonElement): Deleted.
* html/TextFieldInputType.h:
* html/TextInputType.cpp:
(WebCore::TextInputType::shouldRespectSpeechAttribute): Deleted.
* html/TextInputType.h:
* html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement): Deleted.
(WebCore::InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement): Deleted.
(WebCore::InputFieldSpeechButtonElement::create): Deleted.
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Deleted.
(WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents): Deleted.
(WebCore::InputFieldSpeechButtonElement::setState): Deleted.
(WebCore::InputFieldSpeechButtonElement::speechInput): Deleted.
(WebCore::InputFieldSpeechButtonElement::didCompleteRecording): Deleted.
(WebCore::InputFieldSpeechButtonElement::didCompleteRecognition): Deleted.
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Deleted.
(WebCore::InputFieldSpeechButtonElement::willAttachRenderers): Deleted.
(WebCore::InputFieldSpeechButtonElement::willDetachRenderers): Deleted.
(WebCore::InputFieldSpeechButtonElement::startSpeechInput): Deleted.
(WebCore::InputFieldSpeechButtonElement::stopSpeechInput): Deleted.
* html/shadow/TextControlInnerElements.h:
(WebCore::toInputFieldSpeechButtonElement): Deleted.
* page/SpeechInput.cpp: Removed.
* page/SpeechInput.h: Removed.
* page/SpeechInputClient.h: Removed.
* page/SpeechInputEvent.cpp: Removed.
* page/SpeechInputEvent.h: Removed.
* page/SpeechInputEvent.idl: Removed.
* page/SpeechInputListener.h: Removed.
* page/SpeechInputResult.cpp: Removed.
* page/SpeechInputResult.h: Removed.
* page/SpeechInputResult.idl: Removed.
* page/SpeechInputResultList.cpp: Removed.
* page/SpeechInputResultList.h: Removed.
* page/SpeechInputResultList.idl: Removed.
* platform/ThemeTypes.h:
* rendering/RenderInputSpeech.cpp: Removed.
* rendering/RenderInputSpeech.h: Removed.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle): Deleted.
(WebCore::RenderTheme::paintInputFieldSpeechButton): Deleted.
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):

Source/WebInspectorUI:

* UserInterface/Models/CSSKeywordCompletions.js:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
* PlatformGTK.cmake:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(addMockSpeechInputResultCallback): Deleted.
(setMockSpeechInputDumpRectCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addMockSpeechInputResult): Deleted.
(TestRunner::setMockSpeechInputDumpRect): Deleted.
(TestRunner::startSpeechInput): Deleted.

LayoutTests:

* fast/forms/input-user-modify.html:
* fast/speech/bubble-position-expected.txt: Removed.
* fast/speech/bubble-position-scrolled-expected.txt: Removed.
* fast/speech/bubble-position-scrolled.html: Removed.
* fast/speech/bubble-position.html: Removed.
* fast/speech/change-focus-expected.txt: Removed.
* fast/speech/change-focus.html: Removed.
* fast/speech/input-appearance-numberandspeech.html: Removed.
* fast/speech/input-appearance-searchandspeech.html: Removed.
* fast/speech/input-appearance-speechbutton.html: Removed.
* fast/speech/input-onspeechchange-event-expected.txt: Removed.
* fast/speech/input-onspeechchange-event.html: Removed.
* fast/speech/input-ontextinput-event-expected.txt: Removed.
* fast/speech/input-ontextinput-event.html: Removed.
* fast/speech/input-readonly-and-disabled-expected.txt: Removed.
* fast/speech/input-readonly-and-disabled.html: Removed.
* fast/speech/input-text-language-tag-expected.txt: Removed.
* fast/speech/input-text-language-tag.html: Removed.
* fast/speech/input-text-speechbutton-expected.txt: Removed.
* fast/speech/input-text-speechbutton.html: Removed.
* fast/speech/input-text-speechstart-expected.txt: Removed.
* fast/speech/input-text-speechstart.html: Removed.
* fast/speech/intrinsic-input-width-with-speech-border-padding-expected.txt: Removed.
* fast/speech/intrinsic-input-width-with-speech-border-padding.html: Removed.
* fast/speech/speech-bidi-rendering.html: Removed.
* fast/speech/speech-button-ignore-generated-events-expected.txt: Removed.
* fast/speech/speech-button-ignore-generated-events.html: Removed.
* fast/speech/speech-input-result-list-not-enough-arguments-expected.txt: Removed.
* fast/speech/speech-input-result-list-not-enough-arguments.html: Removed.
* fast/speech/speech-input-scripting-expected.txt: Removed.
* fast/speech/speech-input-scripting.html: Removed.
* fast/speech/speech-style-on-non-speech-elements-expected.txt: Removed.
* fast/speech/speech-style-on-non-speech-elements.html: Removed.
* platform/gtk/fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
* platform/gtk/fast/speech/input-appearance-speechbutton-expected.txt: Removed.
* platform/ios-sim/fast/speech/input-appearance-numberandspeech-expected.txt: Removed.
* platform/ios-sim/fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
* platform/ios-sim/fast/speech/input-appearance-speechbutton-expected.txt: Removed.

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

5 years agoCreate UTF-8 string from in-band VTT cues
eric.carlson@apple.com [Thu, 7 Aug 2014 21:01:20 +0000 (21:01 +0000)]
Create UTF-8 string from in-band VTT cues
https://bugs.webkit.org/show_bug.cgi?id=135716

Reviewed by Brent Fulgham.

Tests will be added in https://bugs.webkit.org/show_bug.cgi?id=135717.

* platform/graphics/ISOVTTCue.cpp:
(WebCore::ISOBox::peekString): Call String::fromUTF8 because we know that VTT is always
    UTF-8.

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

5 years agoGardening: Mark some tests as failing to green the bots.
mark.lam@apple.com [Thu, 7 Aug 2014 20:56:30 +0000 (20:56 +0000)]
Gardening: Mark some tests as failing to green the bots.
<https://webkit.org/b/135720>

Not reviewed.

* TestExpectations:

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

5 years agoWeb Inspector: Dragging selection window when mouse goes out of window bounds does...
joepeck@webkit.org [Thu, 7 Aug 2014 20:50:45 +0000 (20:50 +0000)]
Web Inspector: Dragging selection window when mouse goes out of window bounds does not behave as expected
https://bugs.webkit.org/show_bug.cgi?id=135372

Reviewed by Timothy Hatcher.

Constrain move selection window dragging to the ruler bounds
based on the mouse down position on the drag window.

* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype._handleMouseDown):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):

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

5 years agoDisable implicit animations on video layer.
jeremyj-wk@apple.com [Thu, 7 Aug 2014 20:41:23 +0000 (20:41 +0000)]
Disable implicit animations on video layer.
https://bugs.webkit.org/show_bug.cgi?id=135679

Reviewed by Eric Carlson.

Disable implicit animations on AVPlayerLayer except when setting fullscreen frame.
This prevents unwanted animations.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): disable implicit animations
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame): allow implicit animations while changing fullscreen frame.

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

5 years agoWeb Inspector: Update glyphs to be more like Xcode 6
timothy@apple.com [Thu, 7 Aug 2014 20:31:41 +0000 (20:31 +0000)]
Web Inspector: Update glyphs to be more like Xcode 6
https://bugs.webkit.org/show_bug.cgi?id=135705

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:
* Localizations/en.lproj/localizedStrings.js: Updated.

* UserInterface/Base/ImageUtilities.js:
(platformImagePath): Added.
(generateEmbossedImages.generateImage):
Bump the base image version. Helper function. Use isLegacyMacOS.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._updateDockNavigationItems):
(WebInspector._generateDisclosureTriangleImages):
Use new images and add legacy path. Remove the shadow.

* UserInterface/Images: Updated images.
* UserInterface/Images/Legacy: Added. Moved legacy images here.

* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section):
(body.mac-platform.legacy .style-declaration-section + .style-declaration-section):
(.style-declaration-section.last-in-group):
(.style-declaration-section.last-in-group + .style-declaration-section):
Use a consistent gray for borders.

* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content > .pseudo-classes):
Use a consistent gray for borders.

* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
Use new images and add legacy path.

* UserInterface/Views/ControlToolbarItem.css:
(.toolbar .item.control):
(body.mac-platform.legacy .toolbar .item.control):
(.toolbar .item.control:hover):
(body.mac-platform.legacy .toolbar .item.control:hover):
Adjust the opacity for controls.

* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
Use new images and add legacy path.

* UserInterface/Views/DataGrid.css:
(.data-grid tr.selected):
Use a consistent gray for borders.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded):
Use new images and add legacy path. Remove the shadow.

* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
Use new images and add legacy path.

* UserInterface/Views/DefaultDashboardView.css:
(.toolbar .dashboard.default > .item):
(body.mac-platform.legacy .toolbar .dashboard.default > .item):
(body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .time > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .logs > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .resourcesSize > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .errors > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .issues > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img):
Use new images and add legacy path.

* UserInterface/Views/DetailsSection.css:
(.details-section):
(.details-section .details-section:first-child):
(body.mac-platform.legacy .details-section > .header):
(.details-section > .content > .group):
(.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *):
Use a consistent gray for borders.

* UserInterface/Views/FilterBar.css:
(body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration):
Use new images and add legacy path.

* UserInterface/Views/FindBanner.css:
(.find-banner):
Use a consistent gray for borders.

* UserInterface/Views/FindBanner.js:
(WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
Add legacy path.

* UserInterface/Views/FrameTreeElement.js:
(WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
Use new images and add legacy path.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
Use new images and add legacy path.

* UserInterface/Views/Main.css:
(#split-content-browser):
Use a consistent gray for borders.

* UserInterface/Views/NavigationSidebarPanel.css:
(.sidebar > .panel.navigation > .overflow-shadow):
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow):
(.sidebar > .panel.navigation > .overflow-shadow.top):
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top):
(.sidebar > .panel.navigation > .empty-content-placeholder):
(body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder):
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected .disclosure-button):
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected.expanded .disclosure-button):
(.navigation-sidebar-panel-content-tree-outline .item.selected):
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
Adjust the styles to make the selected item use white text and icons only when focused.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
Remove the shadow from the disclosure triangles. Make the overflow shadow not fade.

* UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > .probe-clear-samples):
(.details-section.probe-set .options > .probe-remove):
(.details-section.probe-set .options > .probe-add):
(body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples):
(body.mac-platform.legacy .details-section.probe-set .options > .probe-remove):
(body.mac-platform.legacy .details-section.probe-set .options > .probe-add):
Tweak size and position of icons and use legacy paths.

* UserInterface/Views/QuickConsole.css:
(.quick-console):
Adjust padding to match filter bar height.

* UserInterface/Views/ResourceSidebarPanel.css:
(.sidebar > .panel.navigation.resource > .search-bar):
Adjust height.

* UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
(.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img):
Use a consistent gray for borders. Don't bold the New Rule label.

* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
Use new images and add legacy path.

* UserInterface/Views/Sidebar.css:
(.sidebar.left):
(.sidebar.right):
Use a consistent gray for borders.

* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
Use new images and add legacy path.

* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
Use new images and add legacy path.

* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView):
Use new images and add legacy path.

* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline th):
(.data-grid.timeline th.sortable:active):
(.data-grid.timeline th.sort-descending):
Fix a regression with the gradient background showing in legacy mode.

* UserInterface/Views/TimelineIcons.css:
(body.mac-platform.legacy .network-icon .icon):
(body.mac-platform.legacy .network-icon.large .icon):
(body.mac-platform.legacy .colors-icon .icon):
(body.mac-platform.legacy .colors-icon.large .icon):
Added legacy versions of these icons.

* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
(.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
Update the styles for the recording button and close button.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
Use TreeElementStatusButton instead of a styled image.

* UserInterface/Views/TreeElementStatusButton.css:
(.item > .status > .status-button > svg path.filled):
(body.mac-platform.legacy .item > .status > .status-button > svg path.filled):
(:focus .item.selected > .status > .status-button > svg path.filled):
(.item > .status > .status-button > svg path.stroked):
(body.mac-platform.legacy .item > .status > .status-button > svg path.stroked):
(:focus .item.selected > .status > .status-button > svg path.stroked):
(.item.selected > .status > .status-button:active):
(.item > .status > .status-button.disabled):
Updated selectors and styles to work with stroke or fill.

Source/WebKit:
* WebKit.xcodeproj/project.pbxproj: Added new images.

Source/WebKit/mac:
* Resources/Dock.pdf: Added.
* Resources/DockLegacy.pdf: Copied from Source/WebKit/mac/Resources/Dock.pdf.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]): Use new images.

Source/WebKit2:
* Resources/DockBottom.pdf: Added.
* Resources/DockBottomLegacy.pdf: Copied from Source/WebKit/mac/Resources/Dock.pdf.
* Resources/DockRight.pdf: Added.
* Resources/DockRightLegacy.pdf: Copied from Source/WebKit2/Resources/DockRight.pdf.
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::createInspectorWindow): Use new images.
* WebKit2.xcodeproj/project.pbxproj: Added new images.

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

5 years agoWebContent needs access to HSTS database due to some networking still being performed...
oliver@apple.com [Thu, 7 Aug 2014 20:27:15 +0000 (20:27 +0000)]
WebContent needs access to HSTS database due to some networking still being performed in process
https://bugs.webkit.org/show_bug.cgi?id=135711
<rdar://17940220>

Reviewed by Alexey Proskuryakov.

Simple patch in the same theme as the equivalent network process
extension.  Provide an extension that covers the WebContent specific
HSTS file and consume it on launch.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
* UIProcess/WebContext.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::webContentHSTSDatabasePath):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

5 years agoSource/WebCore:
commit-queue@webkit.org [Thu, 7 Aug 2014 20:20:40 +0000 (20:20 +0000)]
Source/WebCore:

Provide methods to clear undesired references to HistoryItems that have been removed from the back/forard list.
https://bugs.webkit.org/show_bug.cgi?id=135634
<rdar://problem/17388461>

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-08-07
Reviewed by Brady Eidson.

No new tests.  Would require an API test that also needs an httpd, which we don't currently support.

* WebCore.exp.in:
Added export for Page::clearPreviousItemFromAllPages.

* loader/HistoryController.cpp:
(WebCore::HistoryController::clearPreviousItem):
Clear m_previousItem and iterate over children recursively calling clearPreviousItem().
The m_previousItem is cleared for the target HistoryController, and all of its descendents.

* loader/HistoryController.h:
Declared HistoryController::clearPreviousItem.

* page/Page.cpp:
(WebCore::Page::clearPreviousItemFromAllPages):
Iterate over each page in the web process, checking if the previous item of
the HistoryController for the main frame is the same as the item being removed. If so, the
frameTree is traversed and each associated HistoryController has its m_previousItem cleared.

* page/Page.h:
Declared Page::clearPreviousItemFromAllPages.

Source/WebKit2:

Clear the m_previousItem member of HistoryControllers when it matches the HistoryItem being removed.
https://bugs.webkit.org/show_bug.cgi?id=135634
<rdar://problem/17388461>

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-08-07
Reviewed by Brady Eidson.

* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem):
Call WebCore::Page::clearPreviousItemFromAllPages() for each item removed from
the back/forward list to ensure the page URL is released from IconDatabase.

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

5 years agoUnreviewed build fix attempt #2 following r172224.
roger_fong@apple.com [Thu, 7 Aug 2014 20:04:54 +0000 (20:04 +0000)]
Unreviewed build fix attempt #2 following r172224.

* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):

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

5 years agoUnreviewed build fix following r172224.
roger_fong@apple.com [Thu, 7 Aug 2014 19:53:08 +0000 (19:53 +0000)]
Unreviewed build fix following r172224.

* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
* html/track/VTTCue.h:

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

5 years agoUnreviewed, rolling out r172219.
dbates@webkit.org [Thu, 7 Aug 2014 19:44:28 +0000 (19:44 +0000)]
Unreviewed, rolling out r172219.

Caused some /fast/workers tests to fail; will investigate
offline.

Reverted changeset:

"Sometimes Gmail cannot load messages, particularly on refresh
("...the application ran into an unexpected error...")"
https://bugs.webkit.org/show_bug.cgi?id=135688
http://trac.webkit.org/changeset/172219

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

5 years agoIncrease width of caption container if a larger font size is selected from user prefs.
roger_fong@apple.com [Thu, 7 Aug 2014 19:34:10 +0000 (19:34 +0000)]
Increase width of caption container if a larger font size is selected from user prefs.
https://bugs.webkit.org/show_bug.cgi?id=135677.

Reviewed by Brent Fulgham.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
Upon creation of a VTTCueBox make sure to supply the font size set by the user prefs.
* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
Increase the width of the cue box based on user prefs font size selection.

* html/track/VTTCue.h:
Keep track of the font size set in the user prefs for use when the cue boxes are created.
(WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):
* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
Increase the width of the cue box based on user prefs font size selection.
(WebCore::VTTCue::getDisplayTree):
(WebCore::VTTCue::setFontSize):
If the font size set is important then we don't want to use the font size set by user prefs, set it to 0.

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

5 years agoGardening: Mark test as failing in TestExpectations until the issue can be investigated.
mark.lam@apple.com [Thu, 7 Aug 2014 19:28:04 +0000 (19:28 +0000)]
Gardening: Mark test as failing in TestExpectations until the issue can be investigated.
<https://webkit.org/b/135708>

Not reviewed.

* TestExpectations:

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

5 years agoUnreviewed build fix after r172220.
achristensen@apple.com [Thu, 7 Aug 2014 19:17:57 +0000 (19:17 +0000)]
Unreviewed build fix after r172220.

* css/SelectorChecker.cpp:
(WebCore::hasScrollbarPseudoElement):
Use ASSERT_UNUSED instead of just ASSERT.

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

5 years agoCompile scrollbar pseudoclass css selectors.
achristensen@apple.com [Thu, 7 Aug 2014 18:55:50 +0000 (18:55 +0000)]
Compile scrollbar pseudoclass css selectors.
https://bugs.webkit.org/show_bug.cgi?id=135242

Reviewed by Benjamin Poulain.

Source/WebCore:

Tests: scrollbars/corner-resizer-window-inactive.html
       scrollbars/scrollbar-selectors.html

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
Changed assertion because there are pseudo-elements selectors that return CannotCompileAnything now, which
make SimpleSelectorCheckers.
Add scrollbar, scrollbarPart, and document to the CheckingContext and compile scrollbar pseudo-element selectors.
* css/SelectorChecker.cpp:
(WebCore::hasScrollbarPseudoElement):
Added.  Logic moved from matchRecursively to be easier to read and to add assertions.
context.scrollbar is always non-null when dynamicPseudo is SCROLLBAR_CORNER.
(WebCore::SelectorChecker::matchRecursively):
Moved logic to hasScrollbarPseudoElement.
(WebCore::SelectorChecker::checkOne):
checkScrollbarPseudoClass accesses the document through the element now.
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
* css/SelectorCheckerTestFunctions.h:
(WebCore::scrollbarMatchesEnabledPseudoClass):
(WebCore::scrollbarMatchesDisabledPseudoClass):
(WebCore::scrollbarMatchesHoverPseudoClass):
(WebCore::scrollbarMatchesActivePseudoClass):
(WebCore::scrollbarMatchesHorizontalPseudoClass):
(WebCore::scrollbarMatchesVerticalPseudoClass):
(WebCore::scrollbarMatchesDecrementPseudoClass):
(WebCore::scrollbarMatchesIncrementPseudoClass):
(WebCore::scrollbarMatchesStartPseudoClass):
(WebCore::scrollbarMatchesEndPseudoClass):
(WebCore::scrollbarMatchesDoubleButtonPseudoClass):
(WebCore::scrollbarMatchesSingleButtonPseudoClass):
(WebCore::scrollbarMatchesNoButtonPseudoClass):
(WebCore::scrollbarMatchesCornerPresentPseudoClass):
Move scrollbar selector logic from SelectorChecker.cpp to SelectorCheckerTestFunctions.h
For window-inactive pseudo classes, we now access the document through the element instead of as a separate parameter.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext):
(WebCore::SelectorCompiler::addScrollbarPseudoClassType):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::isScrollbarPseudoElement):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
Call functions for unoptimized pseudo classes that require a context.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest):
Added.  Similar to generateElementFunctionCallTest, but the CheckingContext pointer is stored on the stack instead of a dedicated register.
* cssjit/SelectorCompiler.h:
Added scrollbar, scrollbarPart, and document to the CheckingContext.
(WebCore::SelectorCompiler::CheckingContext::document):
Added method to access the document in a way that is syntactically equal to SelectorCheckingContext.
This way, the template functions in SelectorCheckerTestFunctions.h can be compiled with both context types,
but the context types store the document differently.

LayoutTests:

* platform/wk2/TestExpectations:
Don't run corner-resizer-window-inactive-expected in WK2 because testRunner.setWindowIsKey doesn't work with WK2.
* scrollbars/corner-resizer-window-inactive-expected.html: Added.
* scrollbars/corner-resizer-window-inactive.html: Added.
* scrollbars/scrollbar-selectors-expected.txt: Added.
* scrollbars/scrollbar-selectors.html: Added.

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

5 years agoSometimes Gmail cannot load messages, particularly on refresh ("...the application...
dbates@webkit.org [Thu, 7 Aug 2014 18:46:43 +0000 (18:46 +0000)]
Sometimes Gmail cannot load messages, particularly on refresh ("...the application ran into an unexpected error...")
https://bugs.webkit.org/show_bug.cgi?id=135688
<rdar://problem/17886686>

Reviewed by Maciej Stachowiak.

Fixes an issue where gmail.com may fail to load the list of messages. In particular, a SQLTransactionCallback
function may not be executed and hence Gmail will not display the list of messages and
will subsequently display an error message.

When a WebKit client defers loading of a page (e.g. -[WebView setDefersCallbacks:YES]), WebCore
may still load the main resource, say if substitute data is available for it, and defer executing
tasks, such as a SQLTransactionCallback function, by appending such tasks to the end of the list
of pending tasks for the associated Document. This list of pending tasks is never processed when
a client subsequently allows loading (e.g. -[WebView setDefersCallbacks:NO])). Therefore, we never
execute a SQLTransactionCallback function that was deferred.

Ideally WebCore would defer loading of substitute data when a WebKit client requests that loading
be deferred and hence a SQLTransactionCallback function would be deferred as a consequence of the
lack of JavaScript script execution (since substitute data wasn't loaded and hence any JavaScript
script contained in the substitute data that initiates a SQL transaction isn't executed). For now,
it's sufficient to only defer executing tasks when either there are existing pending tasks or the
active DOM objects for the document are suspended (e.g. Document::suspendActiveDOMObjects() was called).

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

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

5 years agoborder-radius on html does not render properly.
zalan@apple.com [Thu, 7 Aug 2014 18:23:13 +0000 (18:23 +0000)]
border-radius on html does not render properly.
https://bugs.webkit.org/show_bug.cgi?id=135706

Reviewed by Simon Fraser.

Ensure that background is initialized when border-radius is present.

Source/WebCore:

Test: fast/borders/border-radius-on-html.html

* rendering/RenderView.cpp:
(WebCore::rendererObscuresBackground):

LayoutTests:

* fast/borders/border-radius-on-html-expected.html: Added.
* fast/borders/border-radius-on-html.html: Added.

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

5 years agoWeb Inspector: DebuggerManager sends spurious setBreakpointsActive commands when...
burg@cs.washington.edu [Thu, 7 Aug 2014 17:57:51 +0000 (17:57 +0000)]
Web Inspector: DebuggerManager sends spurious setBreakpointsActive commands when setting a breakpoint
https://bugs.webkit.org/show_bug.cgi?id=135674

Reviewed by David Kilzer.

* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Fix a typo.

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

5 years agofor-in is failing fast/dom/dataset-xhtml.xhtml and dataset.html tests
mhahnenberg@apple.com [Thu, 7 Aug 2014 17:29:52 +0000 (17:29 +0000)]
for-in is failing fast/dom/dataset-xhtml.xhtml and dataset.html tests
https://bugs.webkit.org/show_bug.cgi?id=135681

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

* runtime/Structure.cpp:
(JSC::Structure::canCacheGenericPropertyNameEnumerator): We were checking the entire
prototype chain for overridesGetPropertyNames, but we were neglecting to check the
base object's Structure. D'oh!

LayoutTests:

Removed the two failing tests from the TestExpectations list since they pass now!

* TestExpectations:

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

5 years agoRandom resource replacement on beta.icloud.com
psolanki@apple.com [Thu, 7 Aug 2014 17:20:16 +0000 (17:20 +0000)]
Random resource replacement on beta.icloud.com
https://bugs.webkit.org/show_bug.cgi?id=135685
<rdar://problem/17937975>

Reviewed by Alexey Proskuryakov.

Revert the performance optimization in r170499. It turns out we could get a delayed disk
cache notification for a resource that has since been changed in WebCore. In such a case, we
were replacing the newer resource data with the older disk cached resource data. This was
happening for cached POST content on beta.icloud.com. Fix this by forcing a memcmp of data
contents before replacing it which is what we used to do before.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::tryReplaceEncodedData):

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

5 years agoThe support directory shouldn't be skipped unconditionally in test import
bjonesbe@adobe.com [Thu, 7 Aug 2014 16:37:59 +0000 (16:37 +0000)]
The support directory shouldn't be skipped unconditionally in test import
https://bugs.webkit.org/show_bug.cgi?id=135660

Reviewed by Ryosuke Niwa.

The 'DIRS_TO_SKIP' should only be skipped when in the root directory
of the test repo, as that's the only time they are special. In
addition, instead of hardcoding .hg and .git as special, skip all
directories that begin with '.', just like with files that begin with '.'.

In order to make this work, the root directory must always be
passed in, so the interface to the script has been changed to take the
root directory, and if one wants to only import a subset of the tests,
a new -t option can be used to limit the tests imported.

* Scripts/webkitpy/w3c/test_importer.py:
(main): Remove repo_dir command line argument.
(parse_args): Add -t option and set expected non-option args to 1.
(TestImporter.__init__): Remove repo_dir.
(TestImporter.do_import): Handle the varying number of import
    directories.
(TestImporter.should_keep_subdir): Helper for find_importable_tests to
    determine if a subdirectory should be skipped.
(TestImporter.find_importable_tests): Filter directories using new
    helper.
(TestImporter.import_tests): Remove use of repo_dir.
(TestImporter.setup_destination_directory): Unused, Deleted.
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_import_dir_with_no_tests_and_no_hg): Update for
    new API.
(TestImporterTest.test_import_dir_with_no_tests): Ditto.

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

5 years ago[Mac, iOS] Captions are appearing multiple times during repeated video play through
bfulgham@apple.com [Thu, 7 Aug 2014 16:23:05 +0000 (16:23 +0000)]
[Mac, iOS] Captions are appearing multiple times during repeated video play through
https://bugs.webkit.org/show_bug.cgi?id=135680
Source/WebCore:

<rdar://problem/17926802>

Reviewed by Eric Carlson.

Test: media/track/track-in-band-cues-added-once.html

Revert TextTrackCueGeneric::isOrderedBefore logic to its original form, and add
a new 'isOrderedBeforeDuringDisplay' for the special case of displaying captions.

* html/shadow/MediaControlElements.cpp:
(WebCore::compareCueIntervalForDisplay): Added helper function.
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Use the new
'isOrderedBeforeDuringDisplay' to order the cues for display.
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::isOrderedBeforeDuringDisplay): Added. This just
calls the existing 'isOrderedBefore' method.
* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::isOrderedBefore): Revert to logic used
prior to r171700.
(WebCore::TextTrackCueGeneric::isOrderedBeforeDuringDisplay): New method that
implements the behavior in r171700.
* html/track/TextTrackCueGeneric.h:

LayoutTests:

<rdar://problem/17926802>

Reviewed by Eric Carlson.

Reactivate the 'track-in-band-cues-added-once.html' test. We would have caught
this bug immediately if the test had been enabled.

* platform/mac/TestExpectations: Turn 'track-in-band-cues-added-once.html' back
on.

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

5 years ago[Mac] Taking a paused video full screen flashes black at beginning of animation.
jer.noble@apple.com [Thu, 7 Aug 2014 16:06:06 +0000 (16:06 +0000)]
[Mac] Taking a paused video full screen flashes black at beginning of animation.
https://bugs.webkit.org/show_bug.cgi?id=135668

Reviewed by Eric Carlson.

When entering fullscreen, the full screen window will momentarily occlude the browser
window, causing a visiblity change notification. To avoid flickering when client buffering
is disabled, throttle calls to updateClientDataBuffering by delaying those calls for a
short period.

* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::clientWillPausePlayback):
(WebCore::MediaSession::visibilityChanged):
(WebCore::MediaSession::clientDataBufferingTimerFired):
(WebCore::MediaSession::updateClientDataBuffering):
* platform/audio/MediaSession.h:

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

5 years ago[GTK] Use WebKitNavigationAction also for WebKitNavigationPolicyDecision
carlosgc@webkit.org [Thu, 7 Aug 2014 14:58:11 +0000 (14:58 +0000)]
[GTK] Use WebKitNavigationAction also for WebKitNavigationPolicyDecision
https://bugs.webkit.org/show_bug.cgi?id=135695

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

WebKitNavigationAction was introduced to extend WebKitWebView::create signal
and its API is mostly duplicated in WebKitNavigationPolicyDecision.
Use WebKitNavigationAction insternally in WebKitNavigationPolicyDecision and
deprecated all the duplicated API in favor of a single property navigation-action.

* UIProcess/API/gtk/WebKitDefines.h: Remove unused macro
WEBKIT_OBSOLETE and add WEBKIT_DEPRECATED and WEBKIT_DEPRECATED_FOR.
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
(_WebKitNavigationPolicyDecisionPrivate::~_WebKitNavigationPolicyDecisionPrivate):
Free the WebKitNavigationAction.
(webkitNavigationPolicyDecisionGetProperty): Add getter for
navigation-action and use WebKitNavigationAction in all other getters.
(webkit_navigation_policy_decision_class_init): Add navigation-action
property and deprecated all others except frame-name.
(webkit_navigation_policy_decision_get_navigation_action): Return the WebKitNavigationAction.
(webkit_navigation_policy_decision_get_navigation_type): Use WebKitNavigationAction.
(webkit_navigation_policy_decision_get_mouse_button): Ditto.
(webkit_navigation_policy_decision_get_modifiers): Ditto.
(webkit_navigation_policy_decision_get_request): Ditto.
(webkitNavigationPolicyDecisionCreate):
(webkitNewWindowPolicyDecisionCreate):
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
* UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPolicyClient.cpp: Use a custom
PolicyClient class so that we receive a NavigationActionData in
the callbacks.
(attachPolicyClientToView):
(toWebKitNavigationType): Deleted.
(decidePolicyForNavigationAction): Deleted.
(decidePolicyForNewWindowAction): Deleted.
(decidePolicyForResponse): Deleted.
* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
(webkitResponsePolicyDecisionCreate):
* UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
deprecated symbols.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.

Tools:

Use WebKitNavigationAction API.

* MiniBrowser/gtk/BrowserWindow.c:
(webViewDecidePolicy):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp:
(testNavigationPolicy):

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

5 years agoASSERT in Document::unregisterCollection reloading apple.com
zandobersek@gmail.com [Thu, 7 Aug 2014 14:11:12 +0000 (14:11 +0000)]
ASSERT in Document::unregisterCollection reloading apple.com
https://bugs.webkit.org/show_bug.cgi?id=135168

Reviewed by Andreas Kling.

* dom/Document.cpp:
(WebCore::Document::unregisterCollection): This assertion was failing
because the passed-in HTMLCollection was not invalidated for a non-related
attribute, but was instead unregistered during destruction, at which point
the m_collectionsInvalidatedAtDocument HashSet was empty.
The assertion could be trivially reduced into checking that the HashSet is
empty when it was moved out of in Document::invalidateNodeListAndCollectionCaches(),
but that just checks that the move semantics on HashSet work properly. Removing
a non-existent element from a HashSet is harmless, so the assertion can be removed
completely.

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

5 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 7 Aug 2014 13:06:10 +0000 (13:06 +0000)]
Unreviewed EFL gardening

Add test expectations for failing tests.

* platform/efl/TestExpectations:
* platform/efl/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaseline after r172136.

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

5 years agoMove Soup specific code out of WebCoreArgumentCoders.cpp
antti@apple.com [Thu, 7 Aug 2014 12:38:30 +0000 (12:38 +0000)]
Move Soup specific code out of WebCoreArgumentCoders.cpp
https://bugs.webkit.org/show_bug.cgi?id=135665

Reviewed by Anders Carlsson.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encode):
(IPC::ArgumentCoder<ResourceRequest>::decode):
(IPC::ArgumentCoder<ResourceError>::encode):
(IPC::ArgumentCoder<ResourceError>::decode):
* Shared/WebCoreArgumentCoders.h:

    Soup is the only client for this code. Move it to *Soup.cpp

* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):

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

5 years agoMove multicol tests into fast/regions/multicol.
commit-queue@webkit.org [Thu, 7 Aug 2014 12:08:51 +0000 (12:08 +0000)]
Move multicol tests into fast/regions/multicol.
https://bugs.webkit.org/show_bug.cgi?id=135693

Patch by Iulia Tamas <tamas@adobe.com> on 2014-08-07
Reviewed by Andrei Bucur.

File Move Patch. Created the fast/regions/multicol folder. Moved the region tests testing multicol
in the fast/regions/multicol folder.

* fast/regions/multicol/multicol-as-region-prevented-expected.html: Renamed from LayoutTests/fast/regions/multicol-as-region-prevented-expected.html.
* fast/regions/multicol/multicol-as-region-prevented.html: Renamed from LayoutTests/fast/regions/multicol-as-region-prevented.html.

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

5 years ago[GTK] Test /webkit2/WebKitUserContentManager/injected-script fails
carlosgc@webkit.org [Thu, 7 Aug 2014 10:20:03 +0000 (10:20 +0000)]
[GTK] Test /webkit2/WebKitUserContentManager/injected-script fails
https://bugs.webkit.org/show_bug.cgi?id=135696

Reviewed by Sergio Villar Senin.

Don't assume the JavaScript result is always a valid pointer. In case of JavaScript
exception (that happens when testing the script hasn't been injected) the JavaScript
result is NULL.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:
(isScriptInjectedForURLAtPath):

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

5 years ago[GTK] Disable IndexedDB
ossy@webkit.org [Thu, 7 Aug 2014 08:14:26 +0000 (08:14 +0000)]
[GTK] Disable IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=135692

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/OptionsGTK.cmake:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

5 years agoWeb Inspector: breakpoint resolved state should not depend on all breakpoints being...
burg@cs.washington.edu [Thu, 7 Aug 2014 06:23:14 +0000 (06:23 +0000)]
Web Inspector: breakpoint resolved state should not depend on all breakpoints being enabled
https://bugs.webkit.org/show_bug.cgi?id=135517

Reviewed by Joseph Pecoraro.

Previously, Breakpoint.resolved returned false if all breakpoints were disabled, even if
the breakpoint had an associated SourceCode. This was a weird hack to make it easier to
style breakpoint widgets. This made it hard for other code to deal with resolved
breakpoints that were also disabled, or SourceCodeLocations that resolve and unresolve.
This patch removes that consideration and fixes style update code to manually check if all
breakpoints are being suppressed.

The code now enforces that a Breakpoint must have a SourceCode before it can be resolved.
(As a performance optimization when loading the initial frame tree, we sometimes we give
Breakpoints a SourceCode before the debugger officially says that the breakpoint has been
resolved. Thus, it's possible to be unresolved with a SourceCode, but not vice-versa.)

This patch also adds a few guards where we assumed a SourceCodeLocation had a SourceCode.

* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Remove spurious
ResolvedStateDidChange events.

(WebInspector.DebuggerManager.prototype.breakpointResolved): Set the breakpoint's SourceCode
if it has not been set already by DebuggerManager.associateBreakpointsWithSourceCode.

* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.get resolved):
(WebInspector.Breakpoint.prototype.set resolved.isSpecialBreakpoint):
(WebInspector.Breakpoint.prototype.set resolved): Add an assertion.
* UserInterface/Models/SourceCodeLocation.js: Add guards for !SourceCode.
(WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
* UserInterface/Views/BreakpointTreeElement.js: Account for DebuggerManager.breakpointsEnabled.
(WebInspector.BreakpointTreeElement):
(WebInspector.BreakpointTreeElement.prototype._updateStatus):
* UserInterface/Views/ProbeSetDetailsSection.js:
(WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): Loosen the assertion.
* UserInterface/Views/SourceCodeTextEditor.js: Account for DebuggerManager.breakpointsEnabled.
(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.close):
(WebInspector.SourceCodeTextEditor.prototype._breakpointStatusDidChange):
(WebInspector.SourceCodeTextEditor.prototype._breakpointsEnabledDidChange):
(WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus):
* UserInterface/Views/TextEditor.js: Account for DebuggerManager.breakpointsEnabled.

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

5 years agoWeb Inspector: ReplayManager should unpause and suppress breakpoints before capturing...
burg@cs.washington.edu [Thu, 7 Aug 2014 06:14:54 +0000 (06:14 +0000)]
Web Inspector: ReplayManager should unpause and suppress breakpoints before capturing/replaying
https://bugs.webkit.org/show_bug.cgi?id=135608

Reviewed by Timothy Hatcher.

It is jarring when the debugger pauses during capturing or replaying. For now, we should suppress
all breakpoints during capturing or replaying, and restore breakpoint enabled state when
capturing finishes, when replaying finishes, or during temporary replay pauses.

In the future, the debugger will be selectively enabled during playback to seek to specific
breakpoint hits. This is tracked in https://bugs.webkit.org/show_bug.cgi?id=135663.

* UserInterface/Controllers/ReplayManager.js:
(WebInspector.ReplayManager.prototype.startCapturing.result):
(WebInspector.ReplayManager.prototype.replayToPosition.result):
(WebInspector.ReplayManager.prototype.replayToCompletion.result):
(WebInspector.ReplayManager.prototype.captureStopped):
(WebInspector.ReplayManager.prototype.playbackPaused):
(WebInspector.ReplayManager.prototype.playbackFinished):
(WebInspector.ReplayManager.prototype._changeSegmentState):
(WebInspector.ReplayManager.prototype._suppressBreakpointsAndResumeIfNeeded):

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

5 years agoSource/WebCore:
bfulgham@apple.com [Thu, 7 Aug 2014 05:12:00 +0000 (05:12 +0000)]
Source/WebCore:

[Win] Correct build errors when WebGL Disabled
https://bugs.webkit.org/show_bug.cgi?id=135687

Unreviewed build fix.

* WebCore.vcxproj/WebCore.vcxproj: Don't build Cairo files
when building CG.
* platform/graphics/GLContext.cpp: Correct use of 3D_GRAPHICS macro.
* platform/graphics/GraphicsContext3DPrivate.cpp: Ditto.
* platform/graphics/opengl/GLPlatformContext.cpp: Ditto.
* platform/graphics/opengl/GLPlatformSurface.cpp: Ditto.

Source/WebInspectorUI:

[Win] Build fix.

* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: DebugSuffix target was missing
proper path settings for final output.

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

5 years agoUnreviewed build fix on non Cocoa port since r172172
ryuan.choi@samsung.com [Thu, 7 Aug 2014 04:19:45 +0000 (04:19 +0000)]
Unreviewed build fix on non Cocoa port since r172172

* platform/text/TextEncodingRegistry.cpp:
(WebCore::defaultTextEncodingNameForSystemLanguage):
* platform/text/TextEncodingRegistry.h:

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

5 years agoServices overlay flashes a lot; should have some hysteresis before showing overlay
timothy_horton@apple.com [Thu, 7 Aug 2014 02:58:22 +0000 (02:58 +0000)]
Services overlay flashes a lot; should have some hysteresis before showing overlay
https://bugs.webkit.org/show_bug.cgi?id=135683
<rdar://problem/16878039>

Reviewed by Simon Fraser.

Don't show the highlight until it's been 200ms since the last change
in selection or change in which highlight is hovered, whichever was more recent.

* WebProcess/WebPage/ServicesOverlayController.h:
* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::ServicesOverlayController):
(WebKit::ServicesOverlayController::selectionRectsDidChange):
Keep track of when the selection last changed.

(WebKit::ServicesOverlayController::drawTelephoneNumberHighlightIfVisible):
Make establishHoveredTelephoneHighlight take a bool instead of Boolean.

(WebKit::ServicesOverlayController::mouseIsOverHighlight):
Factor mouseIsOverHighlight out of establishHoveredTelephoneHighlight and drawHighlight.

(WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
Return the amount of time until the highlight should be shown; this is
the maximum of (the difference between the last selection change and the timeout)
and (the difference between the last change in which highlight is hovered and the timeout).

Telephone number highlights are shown immediately, because they are already stable
by virtue of being expanded to include the entire telephone number.

(WebKit::ServicesOverlayController::repaintHighlightTimerFired):
(WebKit::ServicesOverlayController::drawHighlight):
If the highlight shouldn't be shown yet (because we haven't hit the two timeouts),
schedule a timer to repaint us around when we will hit the timeouts.

(WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight):
(WebKit::ServicesOverlayController::mouseEvent):
Don't allow mouseUp to trigger the menu if we shouldn't be showing the overlay yet.

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