Garbage when rubber-banding at the right edge of a page zoomed to non-integral scale.
https://bugs.webkit.org/show_bug.cgi?id=133139
<rdar://problem/16503353>

Reviewed by Simon Fraser.

Do not pixel align the root content layer. The alignment code expands the graphics's layer size
which makes the right and bottom tiles bigger than the content.
Painting the body's background color produces pixel cracks, because the content can not
fill the expanded tiles completely.

Not testable.

* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::needsPixelAligment):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment):
* platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::rectForTileIndex):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::needsPixelAligment):
* rendering/RenderLayerBacking.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Array.prototype.find and findIndex should skip holes
https://bugs.webkit.org/show_bug.cgi?id=132658

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Skip holes in the array when iterating such that callback isn't called.

* builtins/Array.prototype.js:
(find):
(findIndex):

LayoutTests:
* js/array-find-expected.txt:
* js/array-findIndex-expected.txt:
* js/script-tests/array-find.js:
* js/script-tests/array-findIndex.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r168625): [GTK] Assertion failure in LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=133118

Reviewed by Philippe Normand.

Call WebContext::applyPlatformSpecificConfigurationDefaults() to
initialize the WebContextConfiguration before creating the default WebContext.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, roll out http://trac.webkit.org/changeset/169159.
        
This was a unilateral change and wasn't properly reviewed.


PerformanceTests/SunSpider: 
* profiler-test.yaml:

Source/JavaScriptCore: 
* tests/mozilla/mozilla-tests.yaml:

LayoutTests: 
* js/script-tests/function-apply-many-args.js:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Improve handling of LIB_INSTALL_DIR, EXEC_INSTALL_DIR, and LIBEXEC_INSTALL_DIR
https://bugs.webkit.org/show_bug.cgi?id=132819

Reviewed by Carlos Garcia Campos.

.:
* CMakeLists.txt: Hard-code CMAKE_ARCHIVE_OUTPUT_DIRECTORY etc, so that we can accept absolute paths for LIB_INSTALL_DIR
and friends.
* Source/cmake/OptionsCommon.cmake: Get rid of LIB_SUFFIX and try to make all path variables absolute. Also set
CMAKE_ARCHIVE_OUTPUT_DIRECTORY, etc using the last path component of LIB_INSTALL_DIR, etc, so that absolute paths
are supported.
* Source/cmake/OptionsGTK.cmake: Ditto. Also get rid of all pkg-config specific variables.

Source/JavaScriptCore:
* javascriptcoregtk.pc.in: Instead of using the special pkg-config variables,
use the common CMake ones directly.

Source/WebKit/efl:
* EWebKitConfig.cmake.in: LIB_INSTALL_DIR is always absolute now, so we don't need
to prefix it with the prefix.
* ewebkit.pc.in: Instead of hard-coding the path to the library installation directory use LIB_INSTALL_DIR.

Source/WebKit2:
* PlatformEfl.cmake: No need to prefix EXEC_INSTALL_DIR with the prefix any longer.
* PlatformGtk.cmake: No longer use CMAKE_INSTALL_FULL_FOO variables, instead using the WebKit-specific ones.
* efl/EWebKit2Config.cmake.in: Ditto.
* efl/ewebkit2.pc.in: Instead of hard-coding the path to the library installation directory use LIB_INSTALL_DIR.
* webkit2gtk-web-extension.pc.in: No longer use the pkg-config only variables. Instead use
the common CMake ones.
* webkit2gtk.pc.in: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Mac gardening after r169161.

* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] REGRESSION (Async text input): Asian text input doesn't work in Flash
https://bugs.webkit.org/show_bug.cgi?id=133128
<rdar://problem/16890920>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView _interpretKeyEvent:completionHandler:]): Added a separate code path for
plug-in input. Before async text input, we used to provide a nil input context due
to having _data->_interpretKeyEventsParameters while this function was executing,
and thus took a shortcut. The new behavior is different from pre-async in that
we don't collect commands at all, but I couldn't find any case where that mattered.
(-[WKView inputContext]): The _collectedKeypressCommands check was not a correct
replacement for _interpretKeyEventsParameters one, because this variable is not
always set within -_interpretKeyEvent:completionHandler:.

* UIProcess/mac/WKTextInputWindowController.mm:
(-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
While at it, fixed a separate issue with Cangjie predictive input. We shouldn't
keep prediction pop-up on screen after hiding the bottom input window.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Special handling of telephone number detection menu.
<rdar://problem/16967971> and https://bugs.webkit.org/show_bug.cgi?id=133143

Reviewed by Geoff Garen.

Add a bool to ContextMenuContextData to represent telephone number menus:
* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::operator=):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):
* Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::isTelephoneNumberContext):

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenu): If the menu is a telephone
  number menu then display it using a specific AppKit API.

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::showTelephoneNumberMenu): Filter the array of menu items
  through a new WKSI call, and then show it using a telephone number context.

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