WebKit-https.git
6 years agoThemeMac should use std::array instead of IntSize* for control sizes
bdakin@apple.com [Mon, 31 Mar 2014 21:00:31 +0000 (21:00 +0000)]
ThemeMac should use std::array instead of IntSize* for control sizes
https://bugs.webkit.org/show_bug.cgi?id=130985

Reviewed by Darin Adler.

Replace uses of const IntSize* with const std::array<IntSize, 3>
* platform/mac/ThemeMac.mm:
(WebCore::sizeFromNSControlSize):
(WebCore::sizeFromFont):
(WebCore::controlSizeFromPixelSize):
(WebCore::setControlSize):
(WebCore::checkboxSizes):
(WebCore::radioSizes):
(WebCore::buttonSizes):
(WebCore::setUpButtonCell):
(WebCore::stepperSizes):

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

6 years ago[CSS Shapes] Simplify RasterShape implementation
hmuller@adobe.com [Mon, 31 Mar 2014 20:55:12 +0000 (20:55 +0000)]
[CSS Shapes] Simplify RasterShape implementation
https://bugs.webkit.org/show_bug.cgi?id=130916

Reviewed by Dean Jackson.

Since only floats can specify shape-outside, the RasterShapeIntervals
class only needs to track the first and last above threshold pixel column
(x1 and x2 in the implementation) for each row. Removed code for dealing with
multiple "runs" per row as well as shape-inside internals.

No new tests, since functionality was only removed.

* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
(WebCore::RasterShapeIntervals::initializeBounds):
(WebCore::RasterShapeIntervals::buildBoundsPath):
(WebCore::RasterShape::getExcludedIntervals):
* rendering/shapes/RasterShape.h:
(WebCore::RasterShapeIntervals::RasterShapeIntervals):
(WebCore::RasterShapeIntervals::intervalAt):
(WebCore::RasterShape::RasterShape):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
* rendering/shapes/ShapeInterval.h:
(WebCore::ShapeInterval::unite):

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

6 years agoBlind Windows build fix. Check my mangle-fu.
akling@apple.com [Mon, 31 Mar 2014 20:48:15 +0000 (20:48 +0000)]
Blind Windows build fix. Check my mangle-fu.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

6 years agoAlways inline toJS() for NodeList.
akling@apple.com [Mon, 31 Mar 2014 20:23:21 +0000 (20:23 +0000)]
Always inline toJS() for NodeList.
<https://webkit.org/b/130974>

This is a pretty cheesy optimization, but it's a 3% progression on
Dromaeo/dom-query.html on my MBP.

Reviewed by Benjamin Poulain.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSNodeListCustom.h: Added.
(WebCore::toJS):
* dom/NodeList.idl:

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

6 years agoAttempt to fix the 32bits debug builds
benjamin@webkit.org [Mon, 31 Mar 2014 20:03:26 +0000 (20:03 +0000)]
Attempt to fix the 32bits debug builds

The additional debug flags in RefCounted cause the structure to have different alignment
with the 64bits flags.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-31

* rendering/style/RenderStyle.cpp:

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

6 years agoFix scrolling on OS X with UI-side compositing
simon.fraser@apple.com [Mon, 31 Mar 2014 19:42:04 +0000 (19:42 +0000)]
Fix scrolling on OS X with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=130930

Reviewed by Tim Horton.

On iOS, we rely on visible rect updates to propagate scroll offset
changes to the WebProcess. RemoteScrollingCoordinatorProxy was thus hardcoded
to bail from scrollPositionChanged() when the scrolled node was the root node,
but this broke OS X. Fix by adding a behavior flag to RemoteScrollingCoordinatorProxy.

* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
(WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
(WebKit::RemoteScrollingCoordinatorProxy::setPropagatesMainFrameScrolls):
(WebKit::RemoteScrollingCoordinatorProxy::propagatesMainFrameScrolls):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeWebPage):

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

6 years agoClarify some scrolling tree terminology
simon.fraser@apple.com [Mon, 31 Mar 2014 19:42:02 +0000 (19:42 +0000)]
Clarify some scrolling tree terminology
https://bugs.webkit.org/show_bug.cgi?id=130929

Reviewed by Tim Horton.

Attempt to reduce some ambiguity in scrolling tree terminology.
When async scrolling occurs, there are two tasks we have to perform:
1. Layers need to be updated to reflect the scroll
2. WebCore state has to be updated.
The "updateForViewport" name didn't clearly reflect which of these
tasks was being performed, so rename it to updateLayersAfterViewportChange()
to reflect the fact that it only does the first.

Remove the Mac implementation of updateLayersAfterViewportChange(), since
it was confsued about this, and was never called anyway.

* WebCore.exp.in:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport): Deleted.
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeScrollingNodeMac::updateForViewport): Deleted.

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

6 years ago[iOS WebKit2] Disable tile cohort retention for now
timothy_horton@apple.com [Mon, 31 Mar 2014 19:37:30 +0000 (19:37 +0000)]
[iOS WebKit2] Disable tile cohort retention for now
https://bugs.webkit.org/show_bug.cgi?id=130926
<rdar://problem/16465413>

Reviewed by Simon Fraser.

* WebCore.exp.in:
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.
* page/Settings.h:
(WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.
* page/Settings.in:
Use Settings.in for these simple settings.

* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::shouldAggressivelyRetainTiles):
(WebCore::GraphicsLayerClient::shouldTemporarilyRetainTileCohorts):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
(WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayerClient.h:
(WebCore::PlatformCALayerClient::platformCALayerShouldAggressivelyRetainTiles):
(WebCore::PlatformCALayerClient::platformCALayerShouldTemporarilyRetainTileCohorts):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
(WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
* rendering/RenderLayerBacking.h:
Plumb the two tile-retention settings through to TileController in a pull manner
instead of a push manner, as there were some cases (especially on iOS) where
the settings weren't always getting pushed down.

* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::tileRevalidationTimerFired):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::drawTileMapContents):
Aggressive tile retention wins over temporary retention. If we aren't
using temporary (cohort) retention, throw away the cohort as soon as it
is created.

* Shared/WebPreferencesStore.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add a preference for temporary tile cohort retention (essentially, provide a setting
that means that we will never retain tiles at all once they leave the tile coverage rect).
Defaults to true to maintain existing behavior, except for iOS WebKit2, where
it defaults to false because we don't have the requisite support for purgeable tiles yet.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):

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

6 years agorun-webkit-tests should have a --no-timeout option
commit-queue@webkit.org [Mon, 31 Mar 2014 18:15:27 +0000 (18:15 +0000)]
run-webkit-tests should have a --no-timeout option
https://bugs.webkit.org/show_bug.cgi?id=128286

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-31
Reviewed by Joseph Pecoraro.

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(Worker._run_test): Renaming _run_test_with_timeout()
(Worker._run_test_with_or_without_timeout): Renaming _run_test_with_timeout(), because tests can now run without timeout.
(Worker._run_test_in_another_thread): Passing the --no-timeout option to the driver
(Worker._run_test_in_this_thread):
(Worker._run_test_with_timeout): Deleted.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Added the --no-timeout option

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

6 years agoRadio buttons and checkboxes should share code
bdakin@apple.com [Mon, 31 Mar 2014 18:10:37 +0000 (18:10 +0000)]
Radio buttons and checkboxes should share code
https://bugs.webkit.org/show_bug.cgi?id=130915

Reviewed by Sam Weinig.

Radio buttons and checkboxes now share a lot of code. The common term for both is
toggle buttons.

Move these radio-sizing functions up in the file to be next to the checkbox sizing
functions.
* platform/mac/ThemeMac.mm:
(WebCore::radioSizes):
(WebCore::radioMargins):
(WebCore::radioSize):

Configures a radio button or a checkbox.
(WebCore::configureToggleButton):

Creates a radio button or a checkbox.
(WebCore::createToggleButtonCell):

Still have a shared cell for each.
(WebCore::sharedRadioCell):
(WebCore::sharedCheckboxCell):

Does the work of the old paintRadio() and paintCheckbox().
(WebCore::paintToggleButton):

Use sharedRadioCell() here.
(WebCore::ThemeMac::inflateControlPaintRect):

Call paintToggleButton() for radio buttons and checkboxes.
(WebCore::ThemeMac::paint):

All gone.
(WebCore::configureCheckbox): Deleted.
(WebCore::createCheckboxCell): Deleted.
(WebCore::paintCheckbox): Deleted.
(WebCore::radio): Deleted.
(WebCore::paintRadio): Deleted.

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

6 years agoAX: Need ability to get line range for text marker.
samuel_white@apple.com [Mon, 31 Mar 2014 18:02:51 +0000 (18:02 +0000)]
AX: Need ability to get line range for text marker.
https://bugs.webkit.org/show_bug.cgi?id=130906

Reviewed by Chris Fleizach.

LayoutTests:

Added test to ensure we can get the correct range of a line from a given marker.
Also updated existing bounds-for-range test to include new attribute.

* platform/mac/accessibility/bounds-for-range-expected.txt:
* platform/mac/accessibility/line-range-for-text-marker-expected.txt: Added.
* platform/mac/accessibility/line-range-for-text-marker.html: Added.

Source/WebCore:

Added ability to get line range from any marker on that line. This matches the functionality of existing
attributes such as AXParagraphTextMarkerRangeForTextMarker and AXSentenceTextMarkerRangeForTextMarker.

Test: platform/mac/accessibility/line-range-for-text-marker.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::visiblePositionRangeForRange):
(WebCore::AccessibilityObject::lineRangeForPosition):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

Tools:

Added a new function in DRT and TestRunner to test that AXLineTextMarkerRangeForTextMarker works as expected.

* DumpRenderTree/AccessibilityUIElement.cpp:
(lineTextMarkerRangeForTextMarkerCallback):
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):

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

6 years agoFix iOS build.
andersca@apple.com [Mon, 31 Mar 2014 17:32:32 +0000 (17:32 +0000)]
Fix iOS build.

Source/WebCore:

* page/ChromeClient.h:
(WebCore::ChromeClient::updateViewportConstrainedLayers):

Source/WebKit/ios:

* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebChromeClientIOS.mm:
* WebCoreSupport/WebFixedPositionContent.mm:
* WebCoreSupport/WebFixedPositionContentInternal.h:

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

6 years agotransitions/3d/interrupted-transition.html is flaky
ap@apple.com [Mon, 31 Mar 2014 17:13:43 +0000 (17:13 +0000)]
transitions/3d/interrupted-transition.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=130972

* platform/mac/TestExpectations: Marked as such.

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

6 years agoMore validation for FTL inline caches
fpizlo@apple.com [Mon, 31 Mar 2014 16:50:15 +0000 (16:50 +0000)]
More validation for FTL inline caches
https://bugs.webkit.org/show_bug.cgi?id=130948

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
* runtime/Options.h:

Tools:

* Scripts/run-jsc-stress-tests:

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

6 years ago[MSE][Mac] Support lease-renewal.
jer.noble@apple.com [Mon, 31 Mar 2014 16:43:32 +0000 (16:43 +0000)]
[MSE][Mac] Support lease-renewal.
https://bugs.webkit.org/show_bug.cgi?id=130919

Reviewed by Eric Carlson.

Trigger a new key request when receiving an update message containting "renew".

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8
    based array.
(WebCore::CDMSessionMediaSourceAVFObjC::update):

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

6 years agomedia/track/track-remove-track.html is flaky, crashing and failing
ap@apple.com [Mon, 31 Mar 2014 16:41:00 +0000 (16:41 +0000)]
media/track/track-remove-track.html is flaky, crashing and failing
https://bugs.webkit.org/show_bug.cgi?id=130971

* platform/mac/TestExpectations: Marked as such.

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

6 years agoRemove special handling of soft hyphens in search code
ap@apple.com [Mon, 31 Mar 2014 16:32:25 +0000 (16:32 +0000)]
Remove special handling of soft hyphens in search code
https://bugs.webkit.org/show_bug.cgi?id=130940

Reviewed by Anders Carlsson.

ICU knows to ignore soft hyphens, so we don't need to replace them before searching.

Covered by existing tests.

* editing/TextIterator.cpp:
(WebCore::foldQuoteMark):
(WebCore::foldQuoteMarks):
(WebCore::SearchBuffer::SearchBuffer):
(WebCore::SearchBuffer::append):
(WebCore::foldQuoteMarkOrSoftHyphen): Deleted.
(WebCore::foldQuoteMarksAndSoftHyphens): Deleted.

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

6 years agoPreparation for using Soup on Windows.
commit-queue@webkit.org [Mon, 31 Mar 2014 16:30:00 +0000 (16:30 +0000)]
Preparation for using Soup on Windows.
https://bugs.webkit.org/show_bug.cgi?id=130615

Patch by Alex Christensen <achristensen@webkit.org> on 2014-03-31
Reviewed by Carlos Garcia Campos.

Source/WebCore:

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
Added Soup source files in WinCairo build.
* loader/soup/CachedRawResourceSoup.cpp:
* loader/soup/SubresourceLoaderSoup.cpp:
* platform/soup/SharedBufferSoup.cpp:
* platform/soup/URLSoup.cpp:
* platform/network/NetworkStorageSessionStub.cpp:
Only build if USE(SOUP) to prevent building when USE(CURL) is true.
* platform/network/soup/ResourceHandleSoup.cpp:
Only include unistd.h in non-Visual Studio builds.
This would normally be done with a HAVE_UNISTD_H macro when compiling glib and Soup,
but that would need to be left undefined for Visual Studio.

Source/WTF:

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
Add all gobject source files in WinCairo build.
* wtf/gobject/GRefPtr.h:
Export refGPtr and derefGPtr overloads in WTF.dll to fix linker errors with WebKit.dll when using soup.

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

6 years agoLLVM IR for store barriers should be nicely arranged and they don't need exception...
fpizlo@apple.com [Mon, 31 Mar 2014 16:21:04 +0000 (16:21 +0000)]
LLVM IR for store barriers should be nicely arranged and they don't need exception checks
https://bugs.webkit.org/show_bug.cgi?id=130950

Reviewed by Mark Hahnenberg.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):

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

6 years ago[GTK] Do not run WebKit1 unit tests by default
carlosgc@webkit.org [Mon, 31 Mar 2014 15:16:10 +0000 (15:16 +0000)]
[GTK] Do not run WebKit1 unit tests by default
https://bugs.webkit.org/show_bug.cgi?id=130968

Reviewed by Martin Robinson.

* Scripts/run-gtk-tests:
(TestRunner):

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

6 years ago[CMake] Stop checking for WTF_USE_ICU_UNICODE.
rakuco@webkit.org [Mon, 31 Mar 2014 15:05:36 +0000 (15:05 +0000)]
[CMake] Stop checking for WTF_USE_ICU_UNICODE.
https://bugs.webkit.org/show_bug.cgi?id=130965

Reviewed by Martin Robinson.

This is somewhat of a follow-up to r162782, which got rid of
WTF_USE_ICU_UNICODE in CMake but did not remove the check in JSC's
CMakeLists.txt. This meant the includes and libraries were not
being properly included since then.

* CMakeLists.txt:

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

6 years agoBuildfix after r166497.
pmolnar.u-szeged@partner.samsung.com [Mon, 31 Mar 2014 14:51:04 +0000 (14:51 +0000)]
Buildfix after r166497.

Reviewed by Csaba Osztrogonác.

* UIProcess/API/efl/ewk_context.h: Missing EAPI added.

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

6 years ago[CMake][GTK] Do not expand variables twice in if() checks.
rakuco@webkit.org [Mon, 31 Mar 2014 14:44:32 +0000 (14:44 +0000)]
[CMake][GTK] Do not expand variables twice in if() checks.
https://bugs.webkit.org/show_bug.cgi?id=130964

Reviewed by Martin Robinson.

In CMake, `if (${foo})' causes $foo to be evaluated first and its value
to be checked by the if clause. This is not what we want, and
configuration fails when, say, GLX support wasn't found as the if
clause is actually evaluated as `if (TRUE AND (OR TRUE))'.

* Source/cmake/OptionsGTK.cmake: Pass if (FOO) instead of if (${FOO})
where necessary.

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

6 years ago[GTK] Remove scripts code only applicable to autotools
mrobinson@webkit.org [Mon, 31 Mar 2014 14:39:14 +0000 (14:39 +0000)]
[GTK] Remove scripts code only applicable to autotools
https://bugs.webkit.org/show_bug.cgi?id=130841

Reviewed by Anders Carlsson.

.:

* Source/cmake/WebKitPackaging.cmake: No longer need to consider autotools files.

Tools:

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build): Update file list to reflect GTK+ CMake port.
* Scripts/webkitpy/common/config/watchlist: Remove the GTK+ build watchlist.
* Scripts/webkitpy/style/checker.py: The GNUmakefile doesn't exist any longer.
* gtk/find-make-dist-errors: Removed.
* gtk/generate-feature-defines-files: Removed.
* gtk/manifest.txt: No longer need to consider autotools files.

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

6 years ago[GTK] Use PROJECT_VERSION_* instead of WEBKIT_*_VERSION
mrobinson@webkit.org [Mon, 31 Mar 2014 14:38:39 +0000 (14:38 +0000)]
[GTK] Use PROJECT_VERSION_* instead of WEBKIT_*_VERSION
https://bugs.webkit.org/show_bug.cgi?id=130936

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/OptionsGTK.cmake: No longer emulate the Autotools macro names.

Source/WebKit/gtk:

* webkit/webkitversion.h.in: Use PROJECT_VERSION_* macros instead of the Autotools ones.

Source/WebKit2:

* UIProcess/API/gtk/WebKitVersion.h.in: Use PROJECT_VERSION_* macros instead of the Autotools ones.

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

6 years agoUnreviewed. Addressing reviewing comments for r166491 that I forgot
zandobersek@gmail.com [Mon, 31 Mar 2014 14:36:16 +0000 (14:36 +0000)]
Unreviewed. Addressing reviewing comments for r166491 that I forgot
to address before landing.

* html/FormController.cpp:
(WebCore::SavedFormState::deserialize): No need to move the std::unique_ptr
object on the way out.
(WebCore::FormController::createSavedFormStateMap): FormKeyGenerator can be
allocated on the stack.
(WebCore::FormController::formStatesFromStateVector): Use auto.

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

6 years ago[EFL][WK2] Add ewk APIs to control TLS error policy on WebContext.
pmolnar.u-szeged@partner.samsung.com [Mon, 31 Mar 2014 12:59:56 +0000 (12:59 +0000)]
[EFL][WK2] Add ewk APIs to control TLS error policy on WebContext.
https://bugs.webkit.org/show_bug.cgi?id=129740

Reviewed by Gyuyoung Kim.

* PlatformEfl.cmake:
Added the new SSL test.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::ignoreTLSErrors):
(EwkContext::setIgnoreTLSErrors):
(ewk_context_ignore_tls_errors_get):
(ewk_context_ignore_tls_errors_set):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
Added the API functions.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
(EWK2UnitTestServer::EWK2UnitTestServer):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
Extended the unit test server to handle TLS.

* UIProcess/API/efl/tests/test_ewk2_ssl.cpp:
Added tests to check the TLS policy API.

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

6 years ago[GTK] Use GMainLoopSource for idle and timeout sources in WebCore
carlosgc@webkit.org [Mon, 31 Mar 2014 12:32:53 +0000 (12:32 +0000)]
[GTK] Use GMainLoopSource for idle and timeout sources in WebCore
https://bugs.webkit.org/show_bug.cgi?id=130078

Reviewed by Philippe Normand.

* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/GtkDragAndDropHelper.cpp:
* platform/gtk/SharedTimerGtk.cpp:

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

6 years agoWrong layout while animating content in regions
abucur@adobe.com [Mon, 31 Mar 2014 11:22:42 +0000 (11:22 +0000)]
Wrong layout while animating content in regions
https://bugs.webkit.org/show_bug.cgi?id=125086

Reviewed by David Hyatt.

Source/WebCore:

The region to layer and regions to layer mappings should be cleared when the region chain changes.

Test: fast/regions/layers/region-removed-during-animation.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::invalidateRegions): Clear the two maps and flag them for recomputation.
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer): Assert that the returned region exists.

LayoutTests:

Add a test verifying the layout and painting of animated content inside regions
is correct.

* fast/regions/layers/region-removed-during-animation-expected.html: Added.
* fast/regions/layers/region-removed-during-animation.html: Added.

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

6 years agoUnreviewed. Fix GTK2 plugin process binary name after r166492.
carlosgc@webkit.org [Mon, 31 Mar 2014 11:04:37 +0000 (11:04 +0000)]
Unreviewed. Fix GTK2 plugin process binary name after r166492.

* PlatformGTK.cmake: Fix typo.

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

6 years agoRemove hostThisRegister() and hostThisValue()
dbatyai.u-szeged@partner.samsung.com [Mon, 31 Mar 2014 10:43:22 +0000 (10:43 +0000)]
Remove hostThisRegister() and hostThisValue()
https://bugs.webkit.org/show_bug.cgi?id=130895

Reviewed by Geoffrey Garen.

Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.

Source/JavaScriptCore:

* API/APICallbackFunction.h:
(JSC::APICallbackFunction::call):
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::call):
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate):
(Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName):
(Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection):
(Inspector::jsInjectedScriptHostPrototypeFunctionType):
(Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails):
(Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties):
* inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluate):
(Inspector::jsJavaScriptCallFramePrototypeFunctionScopeType):
(Inspector::jsJavaScriptCallFrameAttributeCaller):
(Inspector::jsJavaScriptCallFrameAttributeSourceID):
(Inspector::jsJavaScriptCallFrameAttributeLine):
(Inspector::jsJavaScriptCallFrameAttributeColumn):
(Inspector::jsJavaScriptCallFrameAttributeFunctionName):
(Inspector::jsJavaScriptCallFrameAttributeScopeChain):
(Inspector::jsJavaScriptCallFrameAttributeThisObject):
(Inspector::jsJavaScriptCallFrameAttributeType):
* interpreter/CallFrame.h:
(JSC::ExecState::hostThisRegister): Deleted.
(JSC::ExecState::hostThisValue): Deleted.
* runtime/Arguments.cpp:
(JSC::argumentsFuncIterator):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
(JSC::arrayProtoFuncValues):
(JSC::arrayProtoFuncEntries):
(JSC::arrayProtoFuncKeys):
* runtime/BooleanPrototype.cpp:
(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):
* runtime/ConsolePrototype.cpp:
(JSC::consoleLogWithLevel):
(JSC::consoleProtoFuncClear):
(JSC::consoleProtoFuncDir):
(JSC::consoleProtoFuncDirXML):
(JSC::consoleProtoFuncTable):
(JSC::consoleProtoFuncTrace):
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncCount):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
(JSC::consoleProtoFuncTimeStamp):
(JSC::consoleProtoFuncGroup):
(JSC::consoleProtoFuncGroupCollapsed):
(JSC::consoleProtoFuncGroupEnd):
* runtime/DatePrototype.cpp:
(JSC::formateDateInstance):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
(JSC::dateProtoFuncToJSON):
* runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncBind):
* runtime/NamePrototype.cpp:
(JSC::privateNameProtoFuncToString):
* runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncClz):
(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString):
(JSC::numberProtoFuncValueOf):
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncTest):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::stringProtoFuncTrim):
(JSC::stringProtoFuncTrimLeft):
(JSC::stringProtoFuncTrimRight):

Source/WebCore:

No new tests, no behavior changes.

* bindings/js/JSNavigatorCustom.cpp:
(WebCore::JSNavigator::webkitGetUserMedia):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::callPlugin):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
(WebCore::jsFloat64ArrayPrototypeFunctionSet):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::callObjCFallbackObject):
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod):

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):

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

6 years ago[GTK] Add support for GTK3 plugins
carlosgc@webkit.org [Mon, 31 Mar 2014 10:39:09 +0000 (10:39 +0000)]
[GTK] Add support for GTK3 plugins
https://bugs.webkit.org/show_bug.cgi?id=130599

Reviewed by Martin Robinson.

.:

* Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

We currently have a gtk2 based plugin process mainly for flash
and a few other plugins that use GTK2, but many other plugins
don't even use gtk at all. This patch builds a lighter plugin
process based on GTK3, used by default for all the plugins expect
the ones requiring GTK2. And of course the default plugin process
supports GTK3 plugins.

* CMakeLists.txt: Add common rules to build the default plugin process.
* PlatformEfl.cmake: Remove common cmake code that is now in CMakeLists.txt.
* PlatformGTK.cmake: Rename WebKitPluginProcess to
WebKitPluginProcess2 and add the platform specific rules to build
the default plugin process.
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
Check if the loaded plugin module uses GTK2.
(WebKit::NetscapePluginModule::getPluginInfo): Set requiresGtk2 accordingly.
(WebKit::NetscapePluginModule::scanPlugin): Write "requires-gtk2"
line to stdout if the plugin requires GTK2.
* Shared/Plugins/PluginModuleInfo.h: Add requiresGtk2 boolean member.
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess): Use the
WebKitPluginProcess2 executable when the plugin requires GTK2.
* UIProcess/Plugins/PluginProcessProxy.h: Add requiresGtk2 boolean
member to RawPluginMetaData struct.
* UIProcess/Plugins/gtk/PluginInfoCache.cpp: Bump the cache schema version.
(WebKit::PluginInfoCache::getPluginInfo): Read also requires-gtk2
key from the cache.
(WebKit::PluginInfoCache::updatePluginInfo): Save also
requires-gtk2 key in the cache.
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformGetLaunchOptions): Add an
extra initialization data parameter if the plugin requires GTK2.
(WebKit::PluginProcessProxy::scanPlugin): Check if "requires-gtk2"
was written to stdout.

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

6 years agoMove the rest of Source/WebCore/html/ code to std::unique_ptr
zandobersek@gmail.com [Mon, 31 Mar 2014 10:35:59 +0000 (10:35 +0000)]
Move the rest of Source/WebCore/html/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129669

Reviewed by Anders Carlsson.

Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.

* html/FormController.cpp:
(WebCore::SavedFormState::SavedFormState):
(WebCore::SavedFormState::deserialize):
(WebCore::FormController::createSavedFormStateMap):
(WebCore::FormController::formElementsState):
(WebCore::FormController::takeStateForFormElement):
(WebCore::FormController::formStatesFromStateVector):
* html/FormController.h:
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::mapMouseEvent):
* html/HTMLAreaElement.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::setSurfaceSize):
(WebCore::HTMLCanvasElement::createImageBuffer):
* html/HTMLCanvasElement.h:
* html/HTMLCollection.h:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseAttribute):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::addToPastNamesMap):
* html/HTMLFormElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::imageLoader):
(WebCore::HTMLInputElement::resetListAttributeTargetObserver):
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::hasImageLoader):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseAttribute):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::startLoadingImage):
* html/HTMLPlugInImageElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::didAttachRenderers):
(WebCore::HTMLVideoElement::parseAttribute):
* html/HTMLVideoElement.h:
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::ValidationMessage):
(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
(WebCore::ValidationMessage::requestToHideMessage):
* html/ValidationMessage.h:

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

6 years agoFix mixed use of booleans in JPEGImageDecoder.cpp
commit-queue@webkit.org [Mon, 31 Mar 2014 10:21:27 +0000 (10:21 +0000)]
Fix mixed use of booleans in JPEGImageDecoder.cpp
https://bugs.webkit.org/show_bug.cgi?id=122412

Patch by Maurice van der Pot <griffon26@kfk4ever.com> on 2014-03-31
Reviewed by Darin Adler.

Trivial fix for compilation error; no new tests.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
(WebCore::fill_input_buffer):
Use TRUE/FALSE defined by libjpeg for libjpeg booleans

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

6 years agoMove Source/WebCore/rendering/ code to std::unique_ptr
zandobersek@gmail.com [Mon, 31 Mar 2014 10:12:49 +0000 (10:12 +0000)]
Move Source/WebCore/rendering/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129664

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/rendering/ with std::unique_ptr.

* platform/graphics/FloatPolygon.cpp:
(WebCore::FloatPolygon::FloatPolygon):
* platform/graphics/FloatPolygon.h:
* rendering/ClipPathOperation.h:
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
* rendering/FlowThreadController.h:
* rendering/HitTestLocation.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::rectBasedTestResult):
(WebCore::HitTestResult::mutableRectBasedTestResult):
* rendering/HitTestResult.h:
* rendering/HitTestingTransformState.cpp:
* rendering/ImageQualityController.h:
* rendering/RenderBlock.cpp:
(WebCore::removeBlockFromDescendantAndContainerMaps):
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):
(WebCore::RenderBlock::addContinuationWithOutline):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
(WebCore::RenderBlock::setComputedColumnCountAndWidth):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::createFloatingObjects):
* rendering/RenderBlockFlow.h:
* rendering/RenderBoxRegionInfo.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::styleDidChange):
* rendering/RenderButton.h:
* rendering/RenderCounter.cpp:
(WebCore::makeCounterNode):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
* rendering/RenderFlowThread.h:
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::push):
(WebCore::RenderGeometryMap::pushView):
* rendering/RenderGeometryMap.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::resolveGridPositionsFromStyle):
(WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
* rendering/RenderGrid.h:
* rendering/RenderImageResource.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintChildLayerIntoColumns):
(WebCore::RenderLayer::hitTestChildLayerColumns):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::clearZOrderLists):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::map):
(WebCore::RenderLayer::FilterInfo::get):
* rendering/RenderLayerFilterInfo.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::takeRenderBoxRegionInfo):
* rendering/RenderRegion.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::styleDidChange):
* rendering/RenderTable.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::compositor):
(WebCore::RenderView::flowThreadController):
(WebCore::RenderView::imageQualityController):
* rendering/RenderView.h:
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::appendFloat):
* rendering/TextAutosizer.h:
* rendering/shapes/PolygonShape.cpp:
(WebCore::computeShapePaddingBounds):
(WebCore::computeShapeMarginBounds):
* rendering/shapes/PolygonShape.h:
(WebCore::PolygonShape::PolygonShape):
* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
* rendering/shapes/RasterShape.h:
(WebCore::RasterShape::RasterShape):
* rendering/shapes/Shape.cpp:
(WebCore::createInsetShape):
(WebCore::createRectangleShape):
(WebCore::createCircleShape):
(WebCore::createEllipseShape):
(WebCore::createPolygonShape):
(WebCore::Shape::createShape):
(WebCore::Shape::createRasterShape):
(WebCore::Shape::createLayoutBoxShape):
* rendering/shapes/Shape.h:
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::markShapeAsDirty):
(WebCore::ShapeInfo::isShapeDirty):
* rendering/shapes/ShapeInsideInfo.h:
* rendering/style/ContentData.h:
* rendering/style/CounterDirectives.cpp:
(WebCore::clone):
* rendering/style/CounterDirectives.h:
* rendering/style/GridCoordinate.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::addCachedPseudoStyle):
(WebCore::RenderStyle::accessCounterDirectives):
(WebCore::RenderStyle::accessAnimations):
(WebCore::RenderStyle::accessTransitions):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
* rendering/style/StyleRareNonInheritedData.h:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::updateShapeFromElement):
* rendering/svg/RenderSVGShape.h:
* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::setClipper):
(WebCore::SVGResources::setFilter):
(WebCore::SVGResources::setMarkerStart):
(WebCore::SVGResources::setMarkerMid):
(WebCore::SVGResources::setMarkerEnd):
(WebCore::SVGResources::setMasker):
(WebCore::SVGResources::setFill):
(WebCore::SVGResources::setStroke):
* rendering/svg/SVGResources.h:
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::addResourcesFromRenderer):
(WebCore::SVGResourcesCache::removeResourcesFromRenderer):
* rendering/svg/SVGResourcesCache.h:
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
* rendering/svg/SVGTextMetricsBuilder.h:

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

6 years agoReplace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
svillar@igalia.com [Mon, 31 Mar 2014 08:38:23 +0000 (08:38 +0000)]
Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
https://bugs.webkit.org/show_bug.cgi?id=130893

Reviewed by Darin Adler.

* loader/ImageLoader.cpp:
(WebCore::beforeLoadEventSender):
(WebCore::loadEventSender):
(WebCore::errorEventSender):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::cacheStorage):
* loader/appcache/ApplicationCacheStorage.h:
* loader/archive/ArchiveFactory.cpp:
(WebCore::archiveMIMETypes):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::brokenImage):
* loader/cache/CachedRawResource.cpp:
(WebCore::shouldIgnoreHeaderForCacheReuse):
* loader/cache/MemoryCache.cpp:
(WebCore::dummyCachedImageClient):

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

6 years agoReplace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
svillar@igalia.com [Mon, 31 Mar 2014 08:35:29 +0000 (08:35 +0000)]
Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
https://bugs.webkit.org/show_bug.cgi?id=130409

Reviewed by Darin Adler.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::logUnimplementedPropertyID):
* css/CSSDefaultStyleSheets.cpp:
(WebCore::screenEval):
(WebCore::printEval):
* css/CSSParser.cpp:
(WebCore::strictCSSParserContext):
* css/CSSPrimitiveValue.cpp:
(WebCore::cssTextCache):
* css/CSSProperty.cpp:
(WebCore::borderDirections):
* css/CSSStyleRule.cpp:
(WebCore::selectorTextCache):
* css/CSSValuePool.cpp:
(WebCore::cssValuePool):
* css/CSSValuePool.h:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyPageSize::getPageSizeFromName):
(WebCore::DeprecatedStyleBuilder::sharedStyleBuilder):
* css/DeprecatedStyleBuilder.h:

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

6 years agoUse std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData
zandobersek@gmail.com [Mon, 31 Mar 2014 07:21:05 +0000 (07:21 +0000)]
Use std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData
https://bugs.webkit.org/show_bug.cgi?id=130737

Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
for the CompressedVector and GenericCompressedData classes.

* wtf/Compression.cpp:
(WTF::GenericCompressedData::create):
* wtf/Compression.h:
(WTF::CompressedVector::create):
(WTF::CompressibleVector::decompressIfNecessary):

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

6 years agoSome CSS tweaks after r166477 and r166479,
rniwa@webkit.org [Mon, 31 Mar 2014 07:04:19 +0000 (07:04 +0000)]
Some CSS tweaks after r166477 and r166479,

* public/index.html:

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

6 years ago[GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
calvaris@igalia.com [Mon, 31 Mar 2014 06:39:51 +0000 (06:39 +0000)]
[GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
https://bugs.webkit.org/show_bug.cgi?id=130665

Reviewed by Martin Robinson.

When we uploaded a video texture to the mapper we were not
considering that some videos could be decoded into a format
without alpha component. Now we check if the video has alpha and
if it does not, we remove the alpha flag when retrieving the
texture from the pool. For this, the method to get the texture
from the pool was modified to receive the flags, that is mapped to
have alpha by default in order not to break any other existing
code.

Though we have a problem with AC in WTR and that makes it
currently not testable, no new tests are needed because once this
is fixed the current test set suffices to detect a possible
regression in this.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Check
the video format and decide if the texture shall be pulled with
alpha support or not.
* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::acquireTextureFromPool): Use the flags
when resetting the texture.
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::Flag::None): Added with 0x00.
(WebCore::TextureMapper::acquireTextureFromPool): Added flag
parameter to set up the texture with the default for including
alpha channel.

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

6 years agoWebKitPerfMonitor: Sometimes text inside panes overlap
rniwa@webkit.org [Mon, 31 Mar 2014 06:39:25 +0000 (06:39 +0000)]
WebKitPerfMonitor: Sometimes text inside panes overlap
https://bugs.webkit.org/show_bug.cgi?id=130956

Reviewed by Gyuyoung Kim.

Revamped the pane UI. Now build info uses table element instead of plane text with BRs. The computed status of
the latest result against baseline/target such as "3% until target" is now shown above the current value. This
reduces the total height of the pane and fits more information per screen capita on the dashboard.

* public/index.html: Updated and added a bunch of CSS rules for the new look.
(.computeStatus): Don't append the build info here. The build info is constructed as a separate table now.
(.createSummaryRowMarkup): Use th instead of td for "Current", "Baseline", and "Target" in the summary table.
(.buildLabelWithLinks): Construct table rows instead of br separated lines of text. This streamlines the look
of the build info shown in a chart pane and a tooltip.
(Chart): Made .status a table.
(Chart.populate): Prepend status.text, which contains text such as "3% until target", into the summary rows
right above "Current" value, and populate .status with buildLabelWithLinks manually instead of status.text
now that status.text no longer contains it.
(Chart..showTooltipWithResults):  Wrap buildLabelWithLinks with a table element.

* public/js/helper-classes.js:
(TestBuild.formattedRevisions): Don't include repository names in labels since repository names are now added
by buildLabelWithLinks inside th elements. Also place spaces around '-' between two different OS X versions.
e.g. "OS X 10.8 - OS X 10.9" instead of "OS X 10.8-OS X 10.9".
(PerfTestRuns): Use "/s" for "runs/s" and "B" for "bytes" to make text shorter in .status and .summaryTable.
(PerfTestRuns..computeScalingFactorIfNeeded): Avoid placing a space between 'M' and a unit starting with a
capital letter; e.g. "MB" instead of "M B".

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

6 years agoMove test cases of navigator content utils in own directory
gyuyoung.kim@samsung.com [Mon, 31 Mar 2014 06:37:34 +0000 (06:37 +0000)]
Move test cases of navigator content utils in own directory
https://bugs.webkit.org/show_bug.cgi?id=130927

Reviewed by Ryosuke Niwa.

Add NavigatorContentUtils dir to fast/dom in order to manage the test cases well.

* fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Renamed from LayoutTests/fast/dom/is-protocol-handler-registered-expected.txt.
* fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html: Renamed from LayoutTests/fast/dom/is-protocol-handler-registered.html.
* fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Renamed from LayoutTests/fast/dom/register-protocol-handler-expected.txt.
* fast/dom/NavigatorContentUtils/register-protocol-handler.html: Renamed from LayoutTests/fast/dom/register-protocol-handler.html.
* fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Renamed from LayoutTests/fast/dom/unregister-protocol-handler-expected.txt.
* fast/dom/NavigatorContentUtils/unregister-protocol-handler.html: Renamed from LayoutTests/fast/dom/unregister-protocol-handler.html.
* platform/efl-wk2/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

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

6 years agoWebKitPerfMonitor: Header and number-of-days slider takes up too much space
rniwa@webkit.org [Mon, 31 Mar 2014 06:36:51 +0000 (06:36 +0000)]
WebKitPerfMonitor: Header and number-of-days slider takes up too much space
https://bugs.webkit.org/show_bug.cgi?id=130957

Reviewed by Gyuyoung Kim.

Moved the slider into the header. Also reduced the spacing between the header and platform names.
This reclaims 50px × width of the screen real estate.

* public/common.css:
(#title): Reduced the space below the header from 20px to 10px.
* public/index.html:
(#numberOfDaysPicker): Removed the rounded border around the number-of-days slider.
(#dashboard > tbody > tr > td): Added a 1.5em padding at the bottom.
(#dashboard > thead th): That allows us to remove the padding at the top here. This reduces the wasted screen
real estate between the header and the platform names.

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

6 years agoVersioning.
lforschler@apple.com [Mon, 31 Mar 2014 06:22:04 +0000 (06:22 +0000)]
Versioning.

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

6 years agoAdopt range-based for loops to TextCheckerEnchant
jinwoo7.song@samsung.com [Mon, 31 Mar 2014 04:53:21 +0000 (04:53 +0000)]
Adopt range-based for loops to TextCheckerEnchant
https://bugs.webkit.org/show_bug.cgi?id=130714

Reviewed by Darin Adler.

* platform/text/enchant/TextCheckerEnchant.cpp:
(WebCore::TextCheckerEnchant::ignoreWord):
(WebCore::TextCheckerEnchant::learnWord):
(WebCore::TextCheckerEnchant::checkSpellingOfWord):
(WebCore::TextCheckerEnchant::getGuessesForWord):
(WebCore::TextCheckerEnchant::updateSpellCheckingLanguages):
(WebCore::TextCheckerEnchant::loadedSpellCheckingLanguages):
(WebCore::TextCheckerEnchant::availableSpellCheckingLanguages):
(WebCore::TextCheckerEnchant::freeEnchantBrokerDictionaries):

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

6 years agoTried to fix the iOS build.
mitz@apple.com [Mon, 31 Mar 2014 04:37:29 +0000 (04:37 +0000)]
Tried to fix the iOS build.

* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider start]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):

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

6 years agoREGRESSION: compositing/columns/composited-rl-paginated-repaint.html is flaky
ap@apple.com [Mon, 31 Mar 2014 03:30:05 +0000 (03:30 +0000)]
REGRESSION: compositing/columns/composited-rl-paginated-repaint.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=130953

* platform/mac/TestExpectations: Marked as such.

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

6 years agoUnreviewed, rolling out r166467.
commit-queue@webkit.org [Mon, 31 Mar 2014 03:22:26 +0000 (03:22 +0000)]
Unreviewed, rolling out r166467.
https://bugs.webkit.org/show_bug.cgi?id=130952

The test fails (Requested by ap_ on #webkit).

Reverted changeset:

"Web Inspector: Add a new layout test for better coverage of
accessibility "focused" in inspector-protocol
DOM.getAccessibilityPropertiesForNode"
https://bugs.webkit.org/show_bug.cgi?id=130196
http://trac.webkit.org/changeset/166467

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

6 years agoFix two failing layout tests on Mountain Lion after r166466.
aestes@apple.com [Mon, 31 Mar 2014 02:37:44 +0000 (02:37 +0000)]
Fix two failing layout tests on Mountain Lion after r166466.

* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
(-[DownloadDelegate _downloadDidStart:]):

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

6 years agoSecond attempt to fix 32bits build after r166465
benjamin@webkit.org [Mon, 31 Mar 2014 00:33:32 +0000 (00:33 +0000)]
Second attempt to fix 32bits build after r166465

* rendering/style/RenderStyle.h:
The compiler probably complain about the return value, that makes more sense.

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

6 years agoAttempt to fix 32bits build after r166465
benjamin@webkit.org [Mon, 31 Mar 2014 00:13:00 +0000 (00:13 +0000)]
Attempt to fix 32bits build after r166465

* rendering/style/RenderStyle.h:

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

6 years agoWeb Inspector: Add a new layout test for better coverage of accessibility "focused...
commit-queue@webkit.org [Sun, 30 Mar 2014 22:59:54 +0000 (22:59 +0000)]
Web Inspector: Add a new layout test for better coverage of accessibility "focused" in inspector-protocol DOM.getAccessibilityPropertiesForNode
https://bugs.webkit.org/show_bug.cgi?id=130196

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-03-30
Reviewed by Timothy Hatcher.

* inspector-protocol/dom/getAccessibilityPropertiesForNode-focused-expected.txt: Added.
* inspector-protocol/dom/getAccessibilityPropertiesForNode-focused.html: Added.

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

6 years ago[Cocoa] Add an originatingWebView property to _WKDownload
aestes@apple.com [Sun, 30 Mar 2014 22:33:51 +0000 (22:33 +0000)]
[Cocoa] Add an originatingWebView property to _WKDownload
https://bugs.webkit.org/show_bug.cgi?id=130945

Reviewed by Anders Carlsson.

Source/WebKit2:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Passed self to WKView's initializer.
* UIProcess/API/Cocoa/_WKDownload.h: Declared originatingWebView as a weak, readonly property.
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload originatingWebView]):
(-[_WKDownload setOriginatingWebView:]):
* UIProcess/API/Cocoa/_WKDownloadInternal.h: Re-declared originatingWebView as readwrite so that
PageClientImpl can call setOriginatingWebView:. Removed some dead code.
* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]): Updated to accept a webView parameter.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Passed nil for the webView parameter.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::decideDestinationWithSuggestedFilename): Ensured allowOverwrite is initialized.
* UIProcess/PageClient.h: Included handleDownloadRequest() on all platforms.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
(WebKit::WebPageProxy::handleDownloadRequest): Ditto.
* UIProcess/WebPageProxy.h: Ditto.
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].
* UIProcess/mac/PageClientImpl.h: Added a m_webView member variable.
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::PageClientImpl): Asserted that m_webView is nil if WK API isn't enabled.
(WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
(-[DownloadDelegate _downloadDidStart:]):
(-[OriginatingWebViewDownloadDelegate initWithWebView:]):
(-[OriginatingWebViewDownloadDelegate _downloadDidStart:]):
(TEST):

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

6 years agoMake RenderStyle's non inherited flags more JSC friendly
benjamin@webkit.org [Sun, 30 Mar 2014 20:32:22 +0000 (20:32 +0000)]
Make RenderStyle's non inherited flags more JSC friendly
https://bugs.webkit.org/show_bug.cgi?id=130939

Reviewed by Andreas Kling.

Make RenderStyle::NonInheritedFlags accessible to the JIT:
-Make the struct public to give access to the offset.
-Move away from a bit field to static offsets we can use
 with the MacroAssembler.
-Reorder the field to simplify bit access of the flags we need.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyVerticalAlign::createHandler):
(WebCore::ApplyPropertyDisplay::applyInitialValue):
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::copyNonInheritedFrom):
(WebCore::RenderStyle::hashForTextAutosizing):
(WebCore::RenderStyle::equalForTextAutosizing):
(WebCore::RenderStyle::changeRequiresLayout):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasAnyPublicPseudoStyles):
(WebCore::RenderStyle::hasPseudoStyle):
(WebCore::RenderStyle::setHasPseudoStyle):
* rendering/style/StyleMultiColData.cpp:
(WebCore::StyleMultiColData::StyleMultiColData):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

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

6 years ago[iOS] Fix build of HTMLConverter.mm after r166454
ddkilzer@apple.com [Sun, 30 Mar 2014 19:50:53 +0000 (19:50 +0000)]
[iOS] Fix build of HTMLConverter.mm after r166454

Fixes the following build failures:

    WebCore/editing/cocoa/HTMLConverter.mm:1507:13: error: value of type 'WebCore::Element' is not contextually convertible to 'bool'
            if (element)
                ^~~~~~~
    WebCore/editing/cocoa/HTMLConverter.mm:1508:49: error: no matching function for call to 'core'
                _caches->floatPropertyValueForNode(*core(element), CSSPropertyVerticalAlign, verticalAlign);
                                                    ^~~~
    In file included from WebCore/editing/cocoa/HTMLConverter.mm:41:
    In file included from WebCore/page/Frame.h:42:
    In file included from WebCore/editing/VisibleSelection.h:30:
    In file included from WebCore/editing/VisiblePosition.h:30:
    In file included from WebCore/dom/Position.h:31:
    WebCore/editing/TextAffinity.h:54:27: note: candidate function not viable: no known conversion from 'WebCore::Element' to 'NSSelectionAffinity' (aka '_NSSelectionAffinity') for 1st argument
    inline WebCore::EAffinity core(NSSelectionAffinity affinity)
                              ^
    WebCore/editing/cocoa/HTMLConverter.mm:1509:81: error: reference to non-static member function must be called; did you mean to call it with no arguments?
            attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
                                                                            ~~~~~~~~^~~~~~~~~~~~
                                                                                                ()
    WebCore/editing/cocoa/HTMLConverter.mm:1509:103: error: reference to non-static member function must be called; did you mean to call it with no arguments?
            attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
                                                                                                  ~~~~~~~~^~~~~~~~~~~
                                                                                                                     ()
    WebCore/editing/cocoa/HTMLConverter.mm:1509:124: error: reference to non-static member function must be called; did you mean to call it with no arguments?
            attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
                                                                                                                       ~~~~~~~~^~~~~~~~~~~~
                                                                                                                                           ()
    5 errors generated.

* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_addAttachmentForElement):

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

6 years agoLand the stackmap register liveness glue with the uses of the liveness disabled
fpizlo@apple.com [Sun, 30 Mar 2014 18:43:41 +0000 (18:43 +0000)]
Land the stackmap register liveness glue with the uses of the liveness disabled
https://bugs.webkit.org/show_bug.cgi?id=130924

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Add the liveness and fix other bugs I found.

* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor):
* ftl/FTLCompile.cpp:
(JSC::FTL::usedRegistersFor):
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLSlowPathCall.cpp:
* ftl/FTLSlowPathCallKey.cpp:
(JSC::FTL::SlowPathCallKey::dump):
* ftl/FTLSlowPathCallKey.h:
(JSC::FTL::SlowPathCallKey::SlowPathCallKey):
(JSC::FTL::SlowPathCallKey::argumentRegisters):
(JSC::FTL::SlowPathCallKey::withCallTarget):
* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::Record::locationSet):
(JSC::FTL::StackMaps::Record::liveOutsSet):
(JSC::FTL::StackMaps::Record::usedRegisterSet):
* ftl/FTLStackMaps.h:
* ftl/FTLThunks.cpp:
(JSC::FTL::registerClobberCheck):
(JSC::FTL::slowPathCallThunkGenerator):
* jit/RegisterSet.cpp:
(JSC::RegisterSet::stackRegisters):
(JSC::RegisterSet::reservedHardwareRegisters):
(JSC::RegisterSet::runtimeRegisters):
(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::dump):
* jit/RegisterSet.h:
(JSC::RegisterSet::RegisterSet):
(JSC::RegisterSet::setAny):
(JSC::RegisterSet::setMany):
* jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryCachePutByID):
(JSC::tryRepatchIn):
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):
* runtime/Options.h:

Tools:

Reviewed by Oliver Hunt.

* Scripts/run-jsc-stress-tests:

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

6 years agoLongSpider 3d-morph result check is inappropriate.
mark.lam@apple.com [Sun, 30 Mar 2014 16:53:53 +0000 (16:53 +0000)]
LongSpider 3d-morph result check is inappropriate.
<https://webkit.org/b/130928>

Reviewed by Filip Pizlo.

The LongSpider 3d-morph component expected result check is incorrect.
The existing test checks if the leading digit of a sum starts with "-1".
However, it turned out that the expected sum is in the order of
-1.8735013540549517e-16 (i.e. very close to 0).  With small errors in
the terms of the sum adding up, it is very easy for the resultant sum
to fluctuate.  There is no guarantee that the resultant sum's most
significant digit will start with -1 either.

The fix is to do a tolerance check on all the terms of the sum as well
as the total sum value instead.  The tolerance should be more lenient
for the sum which accumulates error from the individual terms, then for
individual terms.

* LongSpider/3d-morph.js:
(expect):

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

6 years agoMake NodeList and HTMLCollection caching helpers use PassRef.
akling@apple.com [Sun, 30 Mar 2014 10:48:32 +0000 (10:48 +0000)]
Make NodeList and HTMLCollection caching helpers use PassRef.
<https://webkit.org/b/130943>

Tweak the helpers in NodeListsNodeData to return PassRef instead of
PassRefPtr. This knocks 2 branches off of some pretty hot code on
Dromaeo/dom-query.

Reviewed by Antti Koivisto.

* dom/ChildNodeList.h:
* dom/ClassNodeList.h:
* dom/NameNodeList.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::ensureChildNodeList):
(WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::addCachedCollection):
* dom/TagNodeList.h:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::create):
* html/HTMLCollection.h:
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::create):
* html/HTMLFormControlsCollection.h:
* html/RadioNodeList.h:

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

6 years agoLiveNodeLists should use ElementDescendantIterator
antti@apple.com [Sun, 30 Mar 2014 08:32:13 +0000 (08:32 +0000)]
LiveNodeLists should use ElementDescendantIterator
https://bugs.webkit.org/show_bug.cgi?id=130931

Reviewed by Andreas Kling.

Make LiveNodeList traversal use the common DOM tree iterator.

* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::collectionBegin):
(WebCore::ChildNodeList::collectionTraverseForward):
(WebCore::ChildNodeList::collectionTraverseBackward):
(WebCore::ChildNodeList::invalidateCache):
(WebCore::ChildNodeList::collectionFirst): Deleted.

    Iterator for ChildNodeList is still just Node*.

* dom/ChildNodeList.h:
* dom/CollectionIndexCache.h:
(WebCore::CollectionIndexCache::hasValidCache):
(WebCore::Iterator>::CollectionIndexCache):
(WebCore::Iterator>::nodeCount):
(WebCore::Iterator>::computeNodeCountUpdatingListCache):
(WebCore::Iterator>::traverseBackwardTo):
(WebCore::Iterator>::traverseForwardTo):
(WebCore::Iterator>::nodeAt):
(WebCore::Iterator>::invalidate):

    Make CollectionIndexCache iterator based instead of using NodeType*. The iterator type may
    still be a Node* though.

(WebCore::NodeType>::CollectionIndexCache): Deleted.
(WebCore::NodeType>::nodeCount): Deleted.
(WebCore::NodeType>::computeNodeCountUpdatingListCache): Deleted.
(WebCore::NodeType>::nodeBeforeCached): Deleted.
(WebCore::NodeType>::nodeAfterCached): Deleted.
(WebCore::NodeType>::nodeAt): Deleted.
(WebCore::NodeType>::invalidate): Deleted.
* dom/ElementDescendantIterator.h:
(WebCore::ElementDescendantIterator::operator--):

    Add backward iteration support.

(WebCore::ElementDescendantIteratorAdapter::last):
(WebCore::ElementDescendantConstIteratorAdapter::last):

    Add a way to get the last item.
    Provide std::iterator_traits so we can extract the type.

* dom/LiveNodeList.h:
(WebCore::CachedLiveNodeList::collectionEnd):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
(WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
(WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
(WebCore::CachedLiveNodeList<NodeListType>::collectionFirst): Deleted.

    Make LiveNodeList traversal use ElementDescendantIterator.

(WebCore::nextMatchingElement): Deleted.
(WebCore::previousMatchingElement): Deleted.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::HTMLCollection::collectionBegin):
(WebCore::HTMLCollection::collectionTraverseForward):
(WebCore::HTMLCollection::collectionTraverseBackward):
(WebCore::HTMLCollection::invalidateCache):
(WebCore::HTMLCollection::collectionFirst): Deleted.
* html/HTMLCollection.h:
(WebCore::HTMLCollection::collectionEnd):

    HTMLCollection still uses Element* as iterator for now.

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

6 years agoUnreviewed, rolling out r166434.
commit-queue@webkit.org [Sun, 30 Mar 2014 06:01:08 +0000 (06:01 +0000)]
Unreviewed, rolling out r166434.
https://bugs.webkit.org/show_bug.cgi?id=130938

Caused crashes and other failures on cache tests (Requested by
ap on #webkit).

Reverted changeset:

Source/WebCore:

"Web Replay: add page-level setting to bypass the MemoryCache"
https://bugs.webkit.org/show_bug.cgi?id=130728
http://trac.webkit.org/changeset/166434

Source/WebKit2:

"Web Replay: add page-level setting to bypass the MemoryCache"
https://bugs.webkit.org/show_bug.cgi?id=130728
http://trac.webkit.org/changeset/166434

LayoutTests:

"Web Replay: add page-level setting to bypass the MemoryCache"
https://bugs.webkit.org/show_bug.cgi?id=130728
http://trac.webkit.org/changeset/166434

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

6 years agoUpdate WebKit1.StringTruncator for Mountain Lion.
ap@apple.com [Sun, 30 Mar 2014 05:57:40 +0000 (05:57 +0000)]
Update WebKit1.StringTruncator for Mountain Lion.

* TestWebKitAPI/Tests/mac/StringTruncator.mm: Looks like one subtest was failing
due to different font metrics on 10.8.

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

6 years agoPreserve selection end positions in directionOfSelection
ddkilzer@apple.com [Sat, 29 Mar 2014 23:18:31 +0000 (23:18 +0000)]
Preserve selection end positions in directionOfSelection
<http://webkit.org/b/104813>
<rdar://problem/13666417>

Reviewed by Brent Fulgham.

Merged from Blink (patch by kenrb@chromium.org):
https://src.chromium.org/viewvc/blink?revision=150621&view=revision
http://crbug.com/164263

    VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
    can both cause layouts, which has the potential to invalidate any
    rendertree-based objects. This was causing a problem in
    FrameSelection::directionOfSelection(), where a reference to a
    lineBox was being held across a call to visibleEnd().

    This patch ensures that the any layout is completed before linebox
    references are retrieved.

Source/WebCore:

Test: editing/selection/layout-during-move-selection-crash.html

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::directionOfSelection):

LayoutTests:

* editing/selection/layout-during-move-selection-crash-expected.txt: Added.
* editing/selection/layout-during-move-selection-crash.html: Added.

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

6 years agoSubpixel rendering: Simple line layout should not round to integral position while...
zalan@apple.com [Sat, 29 Mar 2014 22:36:46 +0000 (22:36 +0000)]
Subpixel rendering: Simple line layout should not round to integral position while painting.
https://bugs.webkit.org/show_bug.cgi?id=130934

Reviewed by Simon Fraser.

Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
integral rounding produces different paint position.

Source/WebCore:

Test: fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html

* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

* fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition-expected.html: Added.
* fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html: Added.

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

6 years agoSubpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
zalan@apple.com [Sat, 29 Mar 2014 21:53:51 +0000 (21:53 +0000)]
Subpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
https://bugs.webkit.org/show_bug.cgi?id=130932

Reviewed by Simon Fraser.

This is in preparation to support device pixel based filter painting.
Filter calculation is still integral based.

No change in behavior.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImageBuffer):
* platform/graphics/GraphicsContext.h:
* platform/graphics/filters/FilterEffect.cpp: This will eventually be fully float based.
Right now, this IntRect->FloatRect change is only to ensure that we can call
the float based drawImageBuffer().
(WebCore::FilterEffect::drawingRegionOfInputImage):
* platform/graphics/filters/FilterEffect.h:

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

6 years agoConvert yet more of HTMLConverter to C++
weinig@apple.com [Sat, 29 Mar 2014 20:03:15 +0000 (20:03 +0000)]
Convert yet more of HTMLConverter to C++
https://bugs.webkit.org/show_bug.cgi?id=130850

Reviewed by Anders Carlsson.

* editing/cocoa/HTMLConverter.mm:
(HTMLConverterCaches::isAncestorsOfStartToBeConverted):
(HTMLConverter::HTMLConverter):
(HTMLConverter::~HTMLConverter):
(HTMLConverter::convert):
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::attributesForElement):
(HTMLConverter::_newParagraphForElement):
(HTMLConverter::_newLineForElement):
(HTMLConverter::_newTabForElement):
(HTMLConverter::_addAttachmentForElement):
(HTMLConverter::_addQuoteForElement):
(HTMLConverter::_addValue):
(HTMLConverter::_processHeadElement):
(HTMLConverter::_enterElement):
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_addMarkersToList):
(HTMLConverter::_exitElement):
(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(WebCore::attributedStringFromRange):
(_childrenForNode): Deleted.
(HTMLConverter::_computedAttributesForElement): Deleted.
(HTMLConverter::_attributesForElement): Deleted.
(HTMLConverter::_loadFromDOMRange): Deleted.

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

6 years agoTweak ChangeLog
andersca@apple.com [Sat, 29 Mar 2014 17:54:31 +0000 (17:54 +0000)]
Tweak ChangeLog

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

6 years agoUncatched NSExceptions should crash the web process
andersca@apple.com [Sat, 29 Mar 2014 16:14:44 +0000 (16:14 +0000)]
Uncatched NSExceptions should crash the web process
https://bugs.webkit.org/show_bug.cgi?id=130923
<rdar://problem/16463751>

Reviewed by Dan Bernstein.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

6 years agoUnreviewed buildfix after r166441 and r166443.
ossy@webkit.org [Sat, 29 Mar 2014 07:13:52 +0000 (07:13 +0000)]
Unreviewed buildfix after r166441 and r166443.

Source/WebCore:

* CMakeLists.txt: Add platform/audio/AudioHardwareListener.cpp.

Source/WebKit2:

Missing PLATFORM(COCOA) guards added.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::evaluate):
* WebProcess/Plugins/PluginProxy.cpp:
* WebProcess/Plugins/PluginProxy.h:

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

6 years ago[CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
commit-queue@webkit.org [Sat, 29 Mar 2014 05:44:08 +0000 (05:44 +0000)]
[CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
https://bugs.webkit.org/show_bug.cgi?id=130920

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-03-28
Reviewed by Darin Adler.

Source/WebCore:

Adding the grid-item's marginLogicalHeight to the used breadth when computing
content based grid-track sizes.

Test: fast/css-grid-layout/grid-item-margin-auto-columns-rows.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::logicalContentHeightForChild):

LayoutTests:

* fast/css-grid-layout/grid-item-margin-auto-columns-rows-expected.txt: Added.
* fast/css-grid-layout/grid-item-margin-auto-columns-rows.html: Added.

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

6 years agoWeb Inspector: AXI: support for live regions
commit-queue@webkit.org [Sat, 29 Mar 2014 05:33:33 +0000 (05:33 +0000)]
Web Inspector: AXI: support for live regions
https://bugs.webkit.org/show_bug.cgi?id=130725

Patch by James Craig <jcraig@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.

Source/WebCore:

Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
       inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html

Initial support for @aria-live, @aria-atomic, and @aria-busy.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

Initial support for @aria-live, @aria-atomic, and @aria-busy.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Models/DOMNode.js:
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
* UserInterface/Views/Main.css:

Websites/webkit.org:

Demo update to show off the new Inspector support for live regions.

* blog-files/aria1.0/combobox_with_live_region_status.html:

LayoutTests:

Initial support for @aria-live, @aria-atomic, and @aria-busy.

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Updated.
* inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt: Added.
* inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html: Added.

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

6 years agoSource/WebCore: Fix recently-introduced off-by-one error in centerTruncateToBuffer
darin@apple.com [Sat, 29 Mar 2014 03:18:27 +0000 (03:18 +0000)]
Source/WebCore: Fix recently-introduced off-by-one error in centerTruncateToBuffer
https://bugs.webkit.org/show_bug.cgi?id=130889
<rdar://problem/16408694>

Reviewed by Alexey Proskuryakov.

* platform/graphics/StringTruncator.cpp:
(WebCore::centerTruncateToBuffer): Simplified expression that computes truncatedLength.
Removed incorrect "+ 1" from computation of where to write characters.

Source/WebKit/mac: Fix recently-introduced off-by-one error in centerTruncateToBuffer
https://bugs.webkit.org/show_bug.cgi?id=130889

Reviewed by Alexey Proskuryakov.

* Misc/WebStringTruncator.mm:
(defaultMenuFont): Changed to use NeverDestroyed since I had to touch this file anyway.
(fontFromNSFont): Ditto. Also improved variable names a bit.
(+[WebStringTruncator initialize]): Added threading initialization, needed for main
thread assertions in string truncator code.

Tools: Fix recently-introduced off-by-one error in centerTruncateToBuffer
https://bugs.webkit.org/show_bug.cgi?id=130889

Reviewed by Alexey Proskuryakov.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added StringTruncator.mm.
* TestWebKitAPI/Tests/mac/StringTruncator.mm: Added. One test for each of the
WebStringTruncator methods; should be good for a start. These are dependent on the
metrics of Helvetica 12, but I am hoping that will be consistent across OS X machines.

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

6 years agoUpdate the code related to SelectorPseudoTypeMap to reflect its new purpose
benjamin@webkit.org [Sat, 29 Mar 2014 03:08:59 +0000 (03:08 +0000)]
Update the code related to SelectorPseudoTypeMap to reflect its new purpose
https://bugs.webkit.org/show_bug.cgi?id=130620

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

Since r166094, SelectorPseudoTypeMap only contains PseudoClass instances and the 4 compatibility PseudoElement.

This patch rename SelectorPseudoTypeMap to SelectorPseudoClassAndCompatibilityElementMap and update the parsing
to split PseudoClass and PseudoElement.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSGrammar.y.in:
* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
(WebCore::CSSParserSelector::setPseudoClassValue):
* css/CSSParserValues.h:
* css/CSSSelector.cpp:
(WebCore::appendPseudoClassFunctionTail):
(WebCore::CSSSelector::selectorText):
* css/SelectorPseudoClassAndCompatibilityElementMap.in: Renamed from Source/WebCore/css/SelectorPseudoTypeMap.in.
* css/SelectorPseudoTypeMap.h:
* css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Renamed from Source/WebCore/css/makeSelectorPseudoTypeMap.py.
(enumerablePseudoType):
(expand_ifdef_condition):

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

6 years agoUnreviewed build fix.
slewis@apple.com [Sat, 29 Mar 2014 02:46:45 +0000 (02:46 +0000)]
Unreviewed build fix.

* platform/audio/AudioHardwareListener.cpp:
(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListener::audioHardwareListenerIsSupported): Deleted.
* platform/audio/AudioHardwareListener.h:

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

6 years agoRefactor cut and copy functions as suggested in FIXME line
commit-queue@webkit.org [Sat, 29 Mar 2014 02:26:53 +0000 (02:26 +0000)]
Refactor cut and copy functions as suggested in FIXME line
https://bugs.webkit.org/show_bug.cgi?id=129867

Patch by Lukasz Bialek <l.bialek@samsung.com> on 2014-03-28
Reviewed by Darin Adler.

Cut and Copy functions in Editor.cpp use lots of common code.
Those functions are merged into one to share code, several
additional conditions are added to preserve Cut and Copy
functionality.

* editing/Editor.cpp:
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::performCutOrCopy):
* editing/Editor.h:

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

6 years agoDon't prevent AppSleep from sync messages.
slewis@apple.com [Sat, 29 Mar 2014 01:15:50 +0000 (01:15 +0000)]
Don't prevent AppSleep from sync messages.
https://bugs.webkit.org/show_bug.cgi?id=130747.

Reviewed by Anders Carlsson.

We think sync messages only need to happen full throttle when the plugin is visible,
the user is interacting with the plugin, or audio is playing.  Since we already
take assertions for all these cases the assertion in sync messages doesn’t provide
any value.  Since it can keep the PluginProcess awake in other instances remove it.

* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveSyncMessage):

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

6 years agoSource/WebCore: Rename pluginDidEvaluate to better represent when it’s called.
slewis@apple.com [Sat, 29 Mar 2014 01:15:49 +0000 (01:15 +0000)]
Source/WebCore: Rename pluginDidEvaluate to better represent when it’s called.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.

Reviewed by Anders Carlsson.

No new test because it’s just a name change.

* page/PageThrottler.h:
(WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):

Source/WebKit2: Stop waking up the web process in the background because of plugin activity.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.

Reviewed by Anders Carlsson.

Plugin activity in the background can constantly wake up web processes.  This is only
necessary when audio is playing to support web apps like Pandora and youtube playing
in the background.  Use a new api in CoreAudio to see if there is audio playing in
the PluginProcess.

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess): Add a AudioHardwareListener
(WebKit::PluginProcess::createWebProcessConnection): tell web process current state
(WebKit::PluginProcess::audioHardwareDidBecomeActive): respond to audio hardware notifications
(WebKit::PluginProcess::audioHardwareDidBecomeInactive):
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp: tell WebProcess when audio state in PluginProcess
     changes.
(WebKit::WebProcessConnection::audioHardwareDidBecomeActive):
(WebKit::WebProcessConnection::audioHardwareDidBecomeInactive):
* PluginProcess/WebProcessConnection.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
     Only invoke pageThrottler activity when playing audio
(WebKit::NPRuntimeObjectMap::evaluate):
* WebProcess/Plugins/Plugin.h: add function to get audio state
(WebKit::Plugin::audioIsPlayingInPluginProcess):
* WebProcess/Plugins/PluginProcessConnection.cpp: store audio state
(WebKit::PluginProcessConnection::PluginProcessConnection):
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::audioHardwareDidBecomeActive):
(WebKit::PluginProcessConnection::audioHardwareDidBecomeInactive):
* WebProcess/Plugins/PluginProcessConnection.h:
(WebKit::PluginProcessConnection::audioIsPlaying):
* WebProcess/Plugins/PluginProcessConnection.messages.in:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::audioIsPlayingInPluginProcess):
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::audioIsPlayingInPluginProcess):
* WebProcess/Plugins/PluginView.h:

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

6 years agoNotification handler for telling if audio hardware is active.
slewis@apple.com [Sat, 29 Mar 2014 01:15:47 +0000 (01:15 +0000)]
Notification handler for telling if audio hardware is active.
https://bugs.webkit.org/show_bug.cgi?id=130743

Reviewed by Jer Noble.

Not web-exposed so no easy way to test.

Listen to CoreAudio to see if audio hardware is active in the current process.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/audio/AudioHardwareListener.cpp: Added.
(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListener::AudioHardwareListener):
* platform/audio/AudioHardwareListener.h: Added.
(WebCore::AudioHardwareListener::Client::~Client):
(WebCore::AudioHardwareListener::~AudioHardwareListener):
(WebCore::AudioHardwareListener::isHardwareActive):
* platform/audio/mac/AudioHardwareListenerMac.cpp: Added.
(WebCore::isAudioHardwareProcessRunning):
(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListenerMac::create):
(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
(WebCore::AudioHardwareListenerMac::~AudioHardwareListenerMac):
(WebCore::AudioHardwareListenerMac::setHardwareActive):
* platform/audio/mac/AudioHardwareListenerMac.h: Added.

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

6 years agoHave the plugin process track visibility of it’s plugin and sleep when none
slewis@apple.com [Sat, 29 Mar 2014 01:15:44 +0000 (01:15 +0000)]
Have the plugin process track visibility of it’s plugin and sleep when none
are visible.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
https://bugs.webkit.org/show_bug.cgi?id=130694

Reviewed by Anders Carlsson.

Currently AppSleep is enabled on the PluginProcess based on web page visibility.
Add visibility tracking to plugins and move the decision to AppSleep into the the
PluginProcess

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess): Add a new activity for visible plugins
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): take an activity
     assertion if any web processes have a visible plugin.
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden):
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::removePluginControllerProxy): remove plugin from
    visible plugins when destroying it
(WebKit::WebProcessConnection::pluginDidBecomeVisible):
(WebKit::WebProcessConnection::pluginDidBecomeHidden): track which plugins are
    visible for each web process
* PluginProcess/WebProcessConnection.h:
* PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::windowVisibilityChanged): notify WebProcessConnection
    when visibility changed.
* UIProcess/WebContext.h:
* UIProcess/mac/WebContextMac.mm:  instead of tracking plugin app sleep state on the web pref.
    and visibility state, just use the web pref.
(WebKit::WebContext::updateProcessSuppressionState):
(WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts):

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

6 years agomandreel throws a checksum error on 32-bit x86.
mark.lam@apple.com [Sat, 29 Mar 2014 00:37:10 +0000 (00:37 +0000)]
mandreel throws a checksum error on 32-bit x86.
<https://webkit.org/b/125706>

Reviewed by Filip Pizlo.

The 32-bit DFG can emit code that loads double constants from its
CodeBlock's m_constantRegisters vector.  The emitted instruction will
embed the address of the constant from the vector's backing store.
Subsequently, while inserting new constants, the DFG may resize the
vector, thereby reallocating the backing store.  This renders the
previously embedded constant addresses stale.

The fix is to use a dedicated doubles constant pool stored in the DFG
CommonData instead.  This constant pool won't be reallocated, and
hence will not manifest this issue.

* dfg/DFGCommonData.h:
* dfg/DFGGraph.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::addressOfDoubleConstant):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addressOfDoubleConstant): Deleted.

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

6 years agoWeb Inspector: console.warn is showing as error instead of warning
commit-queue@webkit.org [Sat, 29 Mar 2014 00:30:39 +0000 (00:30 +0000)]
Web Inspector: console.warn is showing as error instead of warning
https://bugs.webkit.org/show_bug.cgi?id=130921

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

Source/JavaScriptCore:

* runtime/ConsolePrototype.cpp:
(JSC::consoleProtoFuncWarn):
console.warn should be MessageLevel Warning, not Error.

Source/WebInspectorUI:

* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
Use our enums instead of hardcoded strings.

LayoutTests:

Add a test for console.log, warn, error, etc to make sure they get
to the frontend with the expected source and level.

* inspector-protocol/console/console-message-expected.txt: Added.
* inspector-protocol/console/console-message.html: Added.

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

6 years agoWeb Inspector: AXI: expose what elements get generic "clickable" status
commit-queue@webkit.org [Sat, 29 Mar 2014 00:17:02 +0000 (00:17 +0000)]
Web Inspector: AXI: expose what elements get generic "clickable" status
https://bugs.webkit.org/show_bug.cgi?id=130721

Patch by James Craig <jcraig@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

Update AccessibilityNodeObject::mouseButtonListener() to optionally return body element if
    requested so that Web Inspector can display body event delegate handlers.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::mouseButtonListener):
* accessibility/AccessibilityNodeObject.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

* Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
* UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.

LayoutTests:

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Simple coverage of mouseEventNodeId.
* inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt: Added.
* inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html: Added. Full coverage.

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

6 years agoUnreviewed. Add myself as a committer.
mhock@apple.com [Fri, 28 Mar 2014 23:40:45 +0000 (23:40 +0000)]
Unreviewed. Add myself as a committer.

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

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

6 years agoWeb Inspector: Really drop all locks in nested run loop on iOS if WebThread is enabled
commit-queue@webkit.org [Fri, 28 Mar 2014 23:31:39 +0000 (23:31 +0000)]
Web Inspector: Really drop all locks in nested run loop on iOS if WebThread is enabled
https://bugs.webkit.org/show_bug.cgi?id=130912

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-28
Reviewed by Geoffrey Garen.

Previously we were calling DropAllLocks inside of a single line if statement,
so the JSLock was getting reaquired very quickly. We really want to DropAllLocks
for the duration of running the nested run loop on iOS if there is a WebThread.

* bindings/js/PageScriptDebugServer.h:
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
(WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):

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

6 years ago[Win] Enable Media Track testing features on Windows
bfulgham@apple.com [Fri, 28 Mar 2014 23:06:11 +0000 (23:06 +0000)]
[Win] Enable Media Track testing features on Windows
https://bugs.webkit.org/show_bug.cgi?id=130851

Reviewed by Eric Carlson.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Execute code on Windows as well.
(WebCore::Internals::Internals): Ditto.
(WebCore::Internals::captionsStyleSheetOverride): Ditto.
(WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
(WebCore::Internals::setCaptionDisplayMode): Ditto.

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

6 years agoWeb Replay: add page-level setting to bypass the MemoryCache
bburg@apple.com [Fri, 28 Mar 2014 22:46:27 +0000 (22:46 +0000)]
Web Replay: add page-level setting to bypass the MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=130728

Reviewed by Timothy Hatcher.

Source/WebCore:

When replaying a specific Page we don't want to store its cached resources in the
MemoryCache. This patch adds a page setting to prevent the page's resources from
being saved in the MemoryCache.

If Settings::usesMemoryCache() is false, page resources are given the special
SessionID bypassCacheSessionID(). The cached resource loader and memory cache
act as if the memory cache is disabled if the resource has this special session id.

Hook up ReplayController to override the memory cache setting during capture/replay.

Test: http/tests/cache/bypass-memory-cache-after-reload.html

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::add):
* page/Page.cpp:
(WebCore::Page::sessionID):
* page/SessionID.h:
(WebCore::SessionID::bypassCacheSessionID):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setUsesMemoryCache):
(WebCore::Settings::usesMemoryCache):
* replay/ReplayController.cpp:
(WebCore::ReplayController::setForceDeterministicSettings):
* replay/ReplayController.h:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setUsesMemoryCache):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit2:

* UIProcess/APISession.cpp:
(API::generateID): update the base ID for generating unique sessions.

LayoutTests:

Mac WebKit2 needs different expectations because of resource load timing characteristics
introduced by the interaction of Settings::usesMemoryCache and NetworkProcess.

* http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.
* http/tests/cache/bypass-memory-cache-after-reload.html: Added.
* platform/mac-wk2/http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.

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

6 years agoAdd willSubmitForm callback support to WKWebProcessPlugInFormDelegatePrivate.
commit-queue@webkit.org [Fri, 28 Mar 2014 22:31:48 +0000 (22:31 +0000)]
Add willSubmitForm callback support to WKWebProcessPlugInFormDelegatePrivate.

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

Patch by Cody Krieger <cjk@apple.com> on 2014-03-28
Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
Add -_webProcessPlugInBrowserContextController:willSubmitForm:toFrame:fromFrame:withValues:
to the WKWebProcessPlugInFormDelegatePrivate protocol.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
Wire up the willSubmitForm() callback to the new
WKWebProcessPlugInFormDelegatePrivate method.

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

6 years ago[Mac] Enable async text input implementation
ap@apple.com [Fri, 28 Mar 2014 22:09:35 +0000 (22:09 +0000)]
[Mac] Enable async text input implementation
https://bugs.webkit.org/show_bug.cgi?id=130856

Reviewed by Sam Weinig.

Source/WebKit2:

* UIProcess/API/mac/WKView.mm: (-[WKView _interpretKeyEvent:completionHandler:]):
Temporarily work around <rdar://16393434>.

Source/WTF:

* wtf/Platform.h: Added a USE macro definition.

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

6 years agoMove sync CancelComposition message under an ifdef
ap@apple.com [Fri, 28 Mar 2014 22:07:36 +0000 (22:07 +0000)]
Move sync CancelComposition message under an ifdef
https://bugs.webkit.org/show_bug.cgi?id=130908

Reviewed by Enrica Casucci.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::cancelComposition): Deleted.
* UIProcess/mac/WebPageProxyMac.mm:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:

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

6 years ago[iOS] Don't cancel composition on selection change
ap@apple.com [Fri, 28 Mar 2014 22:06:08 +0000 (22:06 +0000)]
[iOS] Don't cancel composition on selection change
https://bugs.webkit.org/show_bug.cgi?id=130909

Reviewed by Enrica Casucci.

Fixing a recent regression from bug 130727.

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

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

6 years ago[WK2] Removed unused method logChannelByName.
pmolnar.u-szeged@partner.samsung.com [Fri, 28 Mar 2014 21:58:24 +0000 (21:58 +0000)]
[WK2] Removed unused method logChannelByName.
https://bugs.webkit.org/show_bug.cgi?id=130897

Reviewed by Anders Carlsson.

* Platform/Logging.cpp:
(WebKit::logChannelByName): Deleted.
* Platform/Logging.h:

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

6 years agoIn some situations, partial layouts of floating elements produce incorrect results.
stavila@adobe.com [Fri, 28 Mar 2014 21:55:46 +0000 (21:55 +0000)]
In some situations, partial layouts of floating elements produce incorrect results.
https://bugs.webkit.org/show_bug.cgi?id=122668

Reviewed by David Hyatt.

Source/WebCore:

When performing partial layout of float elements and checking if other float
elements are encountered, incorrect results were obtained by not checking
the size of the existing floats vector.

Test: fast/block/float/floats-in-clean-line-crash.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::checkFloatsInCleanLine):

LayoutTests:

Added test to ensure an assertion is not reached when performing a partial
layout of float elements in certain situations.

* fast/block/float/floats-in-clean-line-crash-expected.txt: Added.
* fast/block/float/floats-in-clean-line-crash.html: Added.

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

6 years agoRemove WebKit1 GTK+ bots
mrobinson@webkit.org [Fri, 28 Mar 2014 21:38:25 +0000 (21:38 +0000)]
Remove WebKit1 GTK+ bots
https://bugs.webkit.org/show_bug.cgi?id=130904

Reviewed by Anders Carlsson.

* BuildSlaveSupport/build.webkit.org-config/config.json: Remove references to GTK+ WebKit1 test bot and ensure
all bots are testing WebKit2 only.
* Scripts/webkitpy/common/config/ews.json: Remove references to GTK+ WK1 EWS.
* Scripts/webkitpy/common/config/ports.py: Remove references to GTK+ WK1 bots.
* Scripts/webkitpy/common/config/ports_unittest.py: Ditto.
* Scripts/webkitpy/port/builders.py: Ditto.
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Ditto.
* TestResultServer/static-dashboards/builders.jsonp: Ditto.

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

6 years agoRemove Brian Burg's apple.com email address.
timothy@apple.com [Fri, 28 Mar 2014 21:20:34 +0000 (21:20 +0000)]
Remove Brian Burg's apple.com email address.

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

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

6 years agoUnreviewed gardening. Make WebVTT tests less flaky by ensuring captions are set to...
bfulgham@apple.com [Fri, 28 Mar 2014 21:19:45 +0000 (21:19 +0000)]
Unreviewed gardening. Make WebVTT tests less flaky by ensuring captions are set to display
in each test, rather than relying on earlier tests turning captions on. This caused tests to
fail if run out of order.

* media/track/regions-webvtt/vtt-region-display.html: Turn captions on.
* media/track/regions-webvtt/vtt-region-dom-layout.html: Ditto.

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

6 years agoBuild fix.
bdakin@apple.com [Fri, 28 Mar 2014 21:12:09 +0000 (21:12 +0000)]
Build fix.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):

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

6 years ago[MSE] Implement support for SourceBuffer.remove()
jer.noble@apple.com [Fri, 28 Mar 2014 20:08:51 +0000 (20:08 +0000)]
[MSE] Implement support for SourceBuffer.remove()
https://bugs.webkit.org/show_bug.cgi?id=121562

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-remove.html

Add support for SourceBuffer.remove().

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer): Initialize new member variables.
(WebCore::SourceBuffer::setTimestampOffset): Update comments to match spec.
(WebCore::SourceBuffer::remove): Added; start removeTimer.
(WebCore::SourceBuffer::abortIfUpdating): Cancel removeTimer.
(WebCore::SourceBuffer::removedFromMediaSource): Call abortIfUpdating().
(WebCore::SourceBuffer::stop): Cancel removeTimer.
(WebCore::SourceBuffer::removeCodedFrames): Added.
(WebCore::SourceBuffer::removeTimerFired): Added.
* Modules/mediasource/SourceBuffer.h:
* Modules/mediasource/SourceBuffer.idl:

LayoutTests:

* media/media-source/media-source-remove-expected.txt: Added.
* media/media-source/media-source-remove.html: Added.

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

6 years agoSupport form controls that may need incremental redraw
dino@apple.com [Fri, 28 Mar 2014 19:57:34 +0000 (19:57 +0000)]
Support form controls that may need incremental redraw
https://bugs.webkit.org/show_bug.cgi?id=130736

Reviewed by Beth Dakin.

There are some form controls that change appearance
over time. Expand the ControlStates so that it can
hold a little more information, including a reference
to the native form control. This way the Theme implementation
can repaint the existing native control if necessary. At
least ThemeMac was reusing a single control for painting
all instances before this change.

Since ControlStates is now a class, pass it around by
reference.

The other major change is keeping a timer to trigger a
repaint in RenderBox, which happens if Theme/RenderTheme
update the ControlState to request one.

* WebCore.xcodeproj/project.pbxproj: Add ControlStates.h.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* dom/Element.cpp:
(WebCore::Element::setActive): States now within ControlStates.
(WebCore::Element::setHovered): Ditto.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::focusedOrActiveStateChanged): Ditto.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::disabledStateChanged): Ditto.
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked): Ditto.
(WebCore::HTMLInputElement::setIndeterminate): Ditto.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute): Ditto.
* platform/ControlStates.h: New file. Copied the old ControlStates enum,
and added accessors to hold whether or not the state is dirty, and
a reference to a platform control if necessary.
* platform/Theme.h:
(WebCore::Theme::selectionColor): Pass ControlStates pointer.
(WebCore::Theme::paint): Ditto.
(WebCore::Theme::inflateControlPaintRect): Ditto.
* platform/ThemeTypes.h: Remove ControlStates enum.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::applyEdjeStateFromForm): Pass ControlStates pointer.
(WebCore::RenderThemeEfl::paintThemePart): Ditto.
* platform/efl/RenderThemeEfl.h: Ditto.
* platform/mac/ThemeMac.h: Ditto.
* platform/mac/ThemeMac.mm:
(-[WebCoreThemeView addSubview:]): New method to make sure we don't add CALayer backed
views to the NSView we're using for rendering.
(WebCore::updateStates): Use the private animated setters if necessary.
(WebCore::convertControlStatesToThemeDrawState): Namespacing.
(WebCore::configureCheckbox): Pass ControlStates pointer.
(WebCore::createCheckboxCell): New helper since we're creating non-static cells.
(WebCore::sharedCheckboxCell): The old static provider, renamed.
(WebCore::paintCheckbox): Check if this paint was triggered by a state change
or an animation. Update the ControlStates if we need to be repainted.
(WebCore::radio): Parameter is now ControlStates*.
(WebCore::paintRadio): Ditto.
(WebCore::setUpButtonCell): Ditto.
(WebCore::button): Ditto.
(WebCore::paintButton): Ditto.
(WebCore::paintStepper): Ditto.
(WebCore::ThemeMac::ensuredView): Ditto.
(WebCore::ThemeMac::inflateControlPaintRect): Ditto.
(WebCore::ThemeMac::paint): Ditto.
(WebCore::checkbox): Deleted.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::RenderBox): Initialize timer.
(WebCore::RenderBox::~RenderBox): Stop any pending timers and delete the ControlState if necessary.
(WebCore::RenderBox::paintBoxDecorations): Create a ControlStates if needed. Paint, and start the repaint
timer if the ControlStates say we should.
(WebCore::RenderBox::repaintTimerFired): Call repaint when the timer fires.
* rendering/RenderBox.h: Add a timer for repainting.
* rendering/RenderElement.cpp:
(WebCore::controlStatesRendererMap): A static HashMap that associates renderers with ControlStates.
(WebCore::RenderElement::hasControlStatesForRenderer):
(WebCore::RenderElement::controlStatesForRenderer):
(WebCore::RenderElement::removeControlStatesForRenderer):
(WebCore::RenderElement::addControlStatesForRenderer):
* rendering/RenderElement.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint): Use a pointer to ControlStates.
(WebCore::RenderTheme::adjustRepaintRect): Ditto.
(WebCore::RenderTheme::stateChanged): Ditto.
(WebCore::RenderTheme::updateControlStatesForRenderer): New method that just updates the states part of ControlStates.
(WebCore::RenderTheme::extractControlStatesForRenderer): New method that calculates the state.
(WebCore::RenderTheme::controlStatesForRenderer): Deleted.
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::documentViewFor): Use a ControlStates pointer.

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

6 years agoEliminate a sync cancelComposition call in WebPageProxy::editorStateChanged
ap@apple.com [Fri, 28 Mar 2014 19:11:18 +0000 (19:11 +0000)]
Eliminate a sync cancelComposition call in WebPageProxy::editorStateChanged
https://bugs.webkit.org/show_bug.cgi?id=130727

Reviewed by Enrica Casucci.

Added a separate CompositionWasCanceled IPC call, with which WebProcess can tell
UIProcess that it should notify an input method of canceled composition. There are
a lot of incorrect edge cases where we don't call it correctly, but this was true
in the old implementation too (for different edge cases).

This change only affects iOS and async NSTextInputClient code path on Mac. I don't
want to change sync NSTextInputClient code path unless absolutely necessary.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::compositionWasCanceled):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertText):
(WebKit::WebPageProxy::executeKeypressCommands):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):

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

6 years agoClear SVGInlineTextBox fragments when the text changes.
mmaxfield@apple.com [Fri, 28 Mar 2014 18:25:26 +0000 (18:25 +0000)]
Clear SVGInlineTextBox fragments when the text changes.
https://bugs.webkit.org/show_bug.cgi?id=130879

Reviewed by Darin Adler.

Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision
Source/WebCore:

This patch modifies SVGInlineTextBox::dirtyLineBoxes to clear all
following text boxes when invoked. Typically this method is called
when the underlying text string changes, and that change needs to
be propagated to all the boxes that use the text beyond the point
where the text is first modified.

Also cleans up final function keywords for SVGRootInlineBox.

Test: svg/custom/unicode-in-tspan-multi-svg-crash.html

* rendering/InlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
(WebCore::InlineTextBox::dirtyOwnLineBoxes): Calls dirtyLineBoxes()
* rendering/svg/SVGInlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes): Non-recursive part of dirtyLineBoxes()
(WebCore::SVGInlineTextBox::dirtyLineBoxes): Calls dirtyOwnLineBoxes() in a loop
* rendering/svg/SVGRootInlineBox.h:

LayoutTests:

When failing, this test will render garbage characters or crash.

* svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt: Added.
* svg/custom/unicode-in-tspan-multi-svg-crash.html: Added.

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

6 years agobisect-builds should print Trac 'changeset' URL if only one build is detected
ddkilzer@apple.com [Fri, 28 Mar 2014 18:24:53 +0000 (18:24 +0000)]
bisect-builds should print Trac 'changeset' URL if only one build is detected
<http://webkit.org/b/130903>

Reviewed by Dan Bernstein.

* Scripts/bisect-builds:
(printTracLink): Print a direct link to the Trac 'changeset'
URL if there is only one revision in the range.

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