Web Inspector: Crash in WebInspectorClient::hideHighlight when page is destroyed
https://bugs.webkit.org/show_bug.cgi?id=139136

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-12-01
Reviewed by Simon Fraser.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::hideHighlight):
Speculatively fix by null-checking the main frame which
can be null during page destruction.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove old site specific quirks code that was added in 2009
https://bugs.webkit.org/show_bug.cgi?id=139141

Reviewed by Antti Koivisto.

Source/WebCore:

* platform/network/NetworkingContext.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):

Source/WebKit/mac:

* WebCoreSupport/WebFrameNetworkingContext.h:
* WebCoreSupport/WebFrameNetworkingContext.mm:
(WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted.

Source/WebKit2:

* NetworkProcess/RemoteNetworkingContext.h:
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::needsSiteSpecificQuirks): Deleted.
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement yellow highlight for WebKit1 data detectors
https://bugs.webkit.org/show_bug.cgi?id=138956
<rdar://problem/18992185>

Reviewed by Beth Dakin.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::TextIndicator::TextIndicator):
* page/TextIndicator.h:
(WebCore::TextIndicator::selectionRectInScreenCoordinates):
(WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
(WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
(WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
Store TextIndicator rects in screen coordinates, since that's what we
want anyway, and this makes it easier to share this code between the WebKits.

* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(WebCore::TextIndicatorWindow::setTextIndicator):
Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.

* WebView/WebActionMenuController.h:
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController webView:willHandleMouseDown:]):
(-[WebActionMenuController webView:didHandleScrollWheel:]):
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController didCloseMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WebActionMenuController _showTextIndicator]):
(-[WebActionMenuController _hideTextIndicator]):
(-[WebActionMenuController _dismissActionMenuPopovers]):
Copy the WebKit2 WKActionMenuController TextIndicator implementation
into WebActionMenuController. The only significant difference is
that we build the TextIndicator right at menu construction time
instead of in the Web process.

* WebView/WebHTMLView.mm:
(-[WebHTMLView scrollWheel:]):
Let the WebActionMenuController know that we're handling a scroll.

(-[WebHTMLView mouseDown:]):
Let the WebActionMenuController know that we're handling a mouseDown.

* WebView/WebView.mm:
(-[WebView _setTextIndicator:fadeOut:animationCompletionHandler:]):
(-[WebView _clearTextIndicator]):
(-[WebView _actionMenuController]):
(-[WebView _convertRectFromRootView:]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
* WebView/WebViewInternal.h:
Keep a TextIndicatorWindow on WebView, just like WKView does.
Expose the WebActionMenuController on WebView (internally).

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindIndicator):
(WebKit::FindController::drawRect):
Adjust to the fact that TextIndicator keeps screen-relative rects.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/11358748> http/tests/multipart/multipart-wait-before-boundary.html fails on ML as of r115745

Looks like it no longer fails.

* platform/mac/TestExpectations:
* platform/wk2/TestExpectations:
Removed it from test expectations.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Several JavaScriptCore date tests are flaky, because they expect time to be frozen during execution
https://bugs.webkit.org/show_bug.cgi?id=139138

Reviewed by Mark Lam.

Merged a fix by Bob Clary.

* tests/mozilla/ecma/Date/15.9.1.1-1.js:
* tests/mozilla/ecma/Date/15.9.1.1-2.js:
* tests/mozilla/ecma/Date/15.9.2.1.js:
* tests/mozilla/ecma/Date/15.9.2.2-1.js:
* tests/mozilla/ecma/Date/15.9.2.2-2.js:
* tests/mozilla/ecma/Date/15.9.2.2-3.js:
* tests/mozilla/ecma/Date/15.9.2.2-4.js:
* tests/mozilla/ecma/Date/15.9.2.2-5.js:
* tests/mozilla/ecma/Date/15.9.2.2-6.js:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
http tests should not use shared temporary files, part 3
https://bugs.webkit.org/show_bug.cgi?id=139135

Reviewed by Tim Horton.

Fix ping tests, using the same techniques as before.

* http/tests/navigation/image-load-in-unload-handler.html:
* http/tests/navigation/ping-cross-origin-from-https.html:
* http/tests/navigation/resources/check-ping.php:
* http/tests/navigation/resources/delete-ping.php:
* http/tests/navigation/resources/image-load-in-unload-handler-2.html: Copied from LayoutTests/http/tests/navigation/resources/ping-redirect.html.
* http/tests/navigation/resources/ping-file-path.php: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/resources/report-file-path.php.
* http/tests/navigation/resources/ping-redirect.html: Removed.
* http/tests/navigation/resources/save-Ping.php:


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