String.prototype.trim removes U+200B from strings.
https://bugs.webkit.org/show_bug.cgi?id=130184

Reviewed by Michael Saboff.


Source/JavaScriptCore: 
* runtime/StringPrototype.cpp:
(JSC::trimString):
(JSC::isTrimWhitespace): Deleted.

LayoutTests: 
* js/script-tests/string-trim.js:
* js/string-trim-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
For DARWIN platforms, use system temporary directory for DataLog output
https://bugs.webkit.org/show_bug.cgi?id=132346

Reviewed by Geoffrey Garen.

Added code to call confstr() to access the process's temporary directory to use that
location instead of /tmp/.  Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR.

* wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
<https://webkit.org/b/132322>

Remove the part of js/dom/basic-weakmap.html that expects deterministic behavior
from our non-deterministic GC.

Rubber-stamped by Phil Pizlo.

* TestExpectations:
* js/dom/basic-weakmap-expected.txt:
* js/dom/script-tests/basic-weakmap.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: DataGrid columns should be objects not Maps
https://bugs.webkit.org/show_bug.cgi?id=129383

Reviewed by Timothy Hatcher.

This reverts an earlier conversion to maps, so that column properties
(which rarely change) can be optimized.

String literals for column properties have been preserved so columns
can be easily converted into objects with methods.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.autoSizeColumns):
(WebInspector.DataGrid.prototype.set var):
(WebInspector.DataGrid.prototype.set if):
(WebInspector.DataGrid.prototype.insertColumn):
(WebInspector.DataGrid.prototype.removeColumn.get this):
(WebInspector.DataGrid.prototype.removeColumn):
(WebInspector.DataGrid.prototype.columnWidthsMap):
(WebInspector.DataGrid.prototype.applyColumnWidthsMap):
(WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
(WebInspector.DataGridNode.prototype.createCell.get if):
(WebInspector.DataGridNode.prototype.createCell):
(WebInspector.DataGrid.prototype.get length): Deleted.
* UserInterface/Views/ProbeSetDataGrid.js:
(WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get this):
(WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged):
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get string_appeared_here):
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change Image Controls replacement to use selection and paste
<rdar://problem/16302722> and https://bugs.webkit.org/show_bug.cgi?id=131992

Reviewed by Tim Horton.

Source/WebCore:
* WebCore.exp.in: Remove deleted symbol.

* html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::ImageControlsButtonElementMac::defaultEventHandler):

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showImageControlsMenu): Select the image element
  before showing the menu.
(WebCore::ContextMenuController::replaceControlledImage): Deleted.
* page/ContextMenuController.h:

Source/WebKit/mac:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingService:didShareItems:]): Write the
  replacement data to a special pasteboard, then replace the current selection from
  that pasteboard.

Source/WebKit2:
Add a "pasteboard override" mechanism which allows WebKit to keep pasteboard content local
to the WebProcess and access it there without having to message up to the UI process:
* WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp: Added.
(WebKit::WebPasteboardOverrides::sharedPasteboardOverrides):
(WebKit::WebPasteboardOverrides::WebPasteboardOverrides):
(WebKit::WebPasteboardOverrides::addOverride):
(WebKit::WebPasteboardOverrides::removeOverride):
(WebKit::WebPasteboardOverrides::overriddenTypes):
(WebKit::WebPasteboardOverrides::getDataForOverride):
* WebProcess/WebCoreSupport/WebPasteboardOverrides.h: Added.

Change the pasteboard strategy to consult the pasteboard overrides before consulting the native pasteboard:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::getTypes):
(WebKit::WebPlatformStrategies::bufferForType):

Add "replaceSelectionWithPasteboardData" which uses the new pasteboard overrides mechanism
and then has WebCore perform the replacement:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::replaceSelectionPasteboardName):
(WebKit::WebPage::replaceSelectionWithPasteboardData):

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::replaceSelectionWithPasteboardData):

* UIProcess/mac/WebContextMenuProxyMac.h:
(WebKit::WebContextMenuProxyMac::page):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKSharingServicePickerDelegate sharingService:didShareItems:]): Use "replaceSelectionWithPasteboardData".
(WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
(WebKit::WebContextMenuProxyMac::replaceControlledImage): Deleted.

Remain other remnants of "replaceControlledImage":
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::replaceControlledImage): Deleted.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::replaceControlledImage): Deleted.
* WebProcess/WebPage/WebContextMenu.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::replaceControlledImage): Deleted.

* WebKit2.xcodeproj/project.pbxproj:


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