[iOS] Skip some animation tests that time out in iOS WebKit2

* platform/ios-simulator-wk2/TestExpectations: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Update expected results for LayoutTests/crypto

* platform/ios-simulator/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=139158

Reviewed by Simon Fraser.

Source/WebCore:

RenderingContexts are only created if the primary SimpleFontData is an SVG font,
but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
One might be an SVG font but the other might not be.

Note that this brittle design will be fixed with the SVG -> OTF translator.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html

* platform/graphics/mac/FontMac.mm:
(WebCore::Font::dashesForIntersectionsWithRect):

LayoutTests:

Test for no crashes when the primary SimpleFontData and the first character's
SimpleFontData differ in their SVG-ness.

* fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the iOS build.

* WebView/WebActionMenuController.h:
* WebView/WebActionMenuController.mm:
* WebView/WebHTMLView.mm:
(-[WebHTMLView scrollWheel:scrollWheel:]):
(-[WebHTMLView mouseDown:mouseDown:]):
* WebView/WebView.mm:
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
* WebView/WebViewInternal.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Take into consideration canvas drawing for throttling DOM timers
https://bugs.webkit.org/show_bug.cgi?id=139140
<rdar://problem/19102218>

Reviewed by Andreas Kling.

Source/WebCore:

Take into consideration canvas drawing for throttling DOM timers so
that:
- Timers drawing on a visible canvas can no longer get throttled.
  This fixes the following sites:
  - http://hint.fm/wind/
  - http://radar.weather.gov/Conus/full_loop.php
- Timers that are drawing on a canvas that is not user observable
  now get throttled, thus using less CPU. As an example, on
  http://hint.fm/wind/, CPU usage is at 110% when the canvas is
  inside the viewport on my machine. CPU usage would remain at
  110% when scrolling the canvas outside the viewport before this
  patch. After this patch, the CPU usage goes down to 5% when
  the canvas is outside the viewport.

Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html
       fast/canvas/canvas-outside-viewport-timer-throttling.html

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::putDelegate):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
* page/DOMTimer.cpp:
(WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
(WebCore::DOMTimer::scriptDidCauseElementRepaint):
(WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
(WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.
* page/DOMTimer.h:

LayoutTests:

Add layout tests to test that we take into consideration canvas drawing
when considering if we should throttle DOM timers.

* fast/canvas/canvas-inside-viewport-timer-throttling-expected.txt: Added.
* fast/canvas/canvas-inside-viewport-timer-throttling.html: Added.
* fast/canvas/canvas-outside-viewport-timer-throttling-expected.txt: Added.
* fast/canvas/canvas-outside-viewport-timer-throttling.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: add more :not() and :matches() awesomeness
https://bugs.webkit.org/show_bug.cgi?id=138997

Reviewed by Joseph Pecoraro.

Simplify the Inspector's CSS when possible.

* UserInterface/Views/DatabaseContentView.css:
(:matches(.database-user-query, .database-query-prompt, .database-query-result)::before):
(.database-user-query::before, .database-query-prompt::before, .database-query-result::before): Deleted.
* UserInterface/Views/GradientSlider.css:
(.gradient-slider-knob > :matches(img, div)):
(.gradient-slider-knob > div): Deleted.
* UserInterface/Views/HoverMenu.css:
(.hover-menu > svg > :matches(path, rect)):
(.hover-menu > svg > rect): Deleted.
* UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
(.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree .name-column .reflection): Deleted.
(.panel.details.layer-tree tr.selected .name-column .reflection): Deleted.
* UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > :matches(.probe-remove, .probe-clear-samples, .probe-add)):
(.details-section.probe-set .options > .probe-add): Deleted.
* UserInterface/Views/ResourceSidebarPanel.css:
(.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.
* UserInterface/Views/ScopeBar.css:
(.scope-bar > li:matches(.selected, :active)):
(.scope-bar > li:active): Deleted.
* UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
(.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
(.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
(.syntax-highlighted :matches(.css-number, .javascript-number)):
(.syntax-highlighted :matches(.css-property, .css-selector, .javascript-ident)):
(.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
(.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
(.syntax-highlighted .html-comment): Deleted.
(.syntax-highlighted .html-tag): Deleted.
(.syntax-highlighted .javascript-number): Deleted.
(.syntax-highlighted .javascript-ident): Deleted.
(.syntax-highlighted .html-attribute-value): Deleted.
(.syntax-highlighted .html-processing-instruction): Deleted.
It looks like ".cm-tag.cm-bracket" was there only to override the rule below.
From basic testing, it looks like "cm-tag" and "cm-bracket" always appear together. I removed the "cm-bracket" rule
from the second rule, and simplified the first rule.

* UserInterface/Views/TimelineSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder): Deleted.
* UserInterface/Views/Toolbar.css:
(body.mac-platform:not(.legacy, .docked) .toolbar):
(body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical):
(body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical.small-size):
(body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal, .icon-only)):
(body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only)):
(.toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only) .control-section):
(body.mac-platform:not(.legacy):not(.docked) .toolbar): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Deleted.
(.toolbar.label-only .control-section): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make WebKit2 work slightly better with garbage collection
https://bugs.webkit.org/show_bug.cgi?id=139159
<rdar://problem/19108390>

Reviewed by Dan Bernstein.

* Shared/Cocoa/APIObject.mm:
(API::Object::ref):
(API::Object::deref):
Call CFRetain/CFRelease to prevent the memory from being collected.

(API::Object::newObject):
Call CFRetain under GC so we'll prevent memory from being collected prematurely.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS Media] Slider knob should not have a border
https://bugs.webkit.org/show_bug.cgi?id=139160
<rdar://problem/19075185>

Reviewed by Jer Noble.

The change in r175715 required adding !important to a bunch
of rules for pseudo elements. The border width of slider knobs
for media controls should be zero, so add an !important there.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
border to border-width and force it to zero.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clients need a way to explicitly set the title of a page preview
https://bugs.webkit.org/show_bug.cgi?id=139161

Reviewed by Beth Dakin.

This implicitly assumes that only one page preview can be associate with a given WKView at a time.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _setPreviewTitle:]):
Wrap -[WKActionMenuController setPreviewTitle:]

* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:
Add ivars for the title and the title text field (previously not independently exposed).
(-[WKPagePreviewViewController previewTitle]):
Accessor.
(-[WKPagePreviewViewController setPreviewTitle:]):
Accessor; set the text field's string value.
(-[WKPagePreviewViewController loadView]):
Adopt the _titleTextField ivar; assume that if a client has explicitly set the previewTitle then we don't
need to ask for it again.
(-[WKActionMenuController setPreviewTitle:]):
Wrap -[WKPagePreviewViewController setPreviewTitle:].

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove IWebCookieManager on Windows
https://bugs.webkit.org/show_bug.cgi?id=139144

Reviewed by Sam Weinig.

Source/WebCore:

Remove code that handles overriding the cookie storage.

* platform/network/NetworkStorageSession.h:
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::cookieStorageOverride): Deleted.
(WebCore::overrideCookieStorage): Deleted.
(WebCore::overridenCookieStorage): Deleted.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):

Source/WebKit:

Remove files.

* WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
* WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters:
* WebKit.vcxproj/WebKit/WebKit.vcxproj:
* WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit/win:

Remove WebCookieManager.

* ForEachCoClass.h:
* Interfaces/IWebCookieManager.idl: Removed.
* Interfaces/WebKit.idl:
* WebCookieManager.cpp: Removed.
* WebCookieManager.h: Removed.
* WebCookieManagerCFNet.cpp: Removed.
* WebCookieManagerCurl.cpp: Removed.
* WebKitClassFactory.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Unskip LayoutTests/dom tests

* platform/ios-simulator/TestExpectations:

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