IDB: Index cursor complete advance() and iterate() support
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-01  Brady Eidson  <beidson@apple.com>
2
3         IDB: Index cursor complete advance() and iterate() support
4         <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870
5
6         Reviewed by Dan Bernstein.
7
8         * Modules/indexeddb/IDBRequest.cpp:
9         (WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.
10
11 2014-02-01  Alexey Proskuryakov  <ap@apple.com>
12
13         Update WebCrypto JWK mapping to use key_ops
14         https://bugs.webkit.org/show_bug.cgi?id=127609
15
16         Reviewed by Sam Weinig.
17
18         Updated JWK support ot match current editor draft.
19
20         * bindings/js/JSCryptoKeySerializationJWK.cpp:
21         (WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
22         (WebCore::tryJWKKeyOpsValue):
23         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
24         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
25         these things are now specced.
26         (WebCore::addToJSON): Made static functions file static, there is no reason for
27         them to be class members.
28         (WebCore::buildJSONForOctetSequence):
29         (WebCore::buildJSONForRSAComponents):
30         (WebCore::addBoolToJSON):
31         (WebCore::addJWKAlgorithmToJSON):
32         (WebCore::addUsagesToJSON):
33         (WebCore::JSCryptoKeySerializationJWK::serialize):
34         * bindings/js/JSCryptoKeySerializationJWK.h:
35
36         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
37         (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
38         (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
39         Check for length, so that we don't fail silently.
40
41 2014-02-01  David Kilzer  <ddkilzer@apple.com>
42
43         Add security-checked casts for all WebCore::CachedResource subclasses
44         <http://webkit.org/b/127988>
45
46         Reviewed by Darin Adler.
47
48         * inspector/InspectorPageAgent.cpp:
49         (WebCore::InspectorPageAgent::cachedResourceContent):
50         * inspector/InspectorResourceAgent.cpp:
51         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
52         - Switch from static_cast<>() to security-checked cast.
53
54         * loader/cache/CachedCSSStyleSheet.h:
55         (WebCore::toCachedCSSStyleSheet): Add.
56         * loader/cache/CachedFont.h:
57         (WebCore::toCachedFont): Add.
58
59         * loader/cache/CachedImage.h: Make CachedImageManual final.
60
61         * loader/cache/CachedRawResource.cpp:
62         (WebCore::CachedRawResource::CachedRawResource): Add assert that
63         only MainResource or RawResource types are used to construct a
64         CachedRawResource.  This may be a security issue depending on
65         what code exists that uses the type() value to cast to a
66         CachedResource subclass.
67         (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
68         Switch from static_cast<>() to toCachedRawResource().
69
70         * loader/cache/CachedRawResource.h:
71         (WebCore::toCachedRawResource): Add.
72         * loader/cache/CachedResource.h:
73         (WebCore::CachedResource::isMainOrRawResource): Add.  A
74         CachedRawResource could be either a MainResource or a
75         RawResource.  Currently only used in assertions.
76
77         * loader/cache/CachedResourceLoader.cpp:
78         (WebCore::CachedResourceLoader::requestFont):
79         (WebCore::CachedResourceLoader::requestTextTrack):
80         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
81         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
82         (WebCore::CachedResourceLoader::requestScript):
83         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
84         (WebCore::CachedResourceLoader::requestSVGDocument):
85         (WebCore::CachedResourceLoader::requestRawResource):
86         (WebCore::CachedResourceLoader::requestMainResource):
87         - Switch from static_cast<>() to security-checked cast.
88
89         * loader/cache/CachedSVGDocument.h:
90         (WebCore::toCachedSVGDocument): Add.
91         * loader/cache/CachedScript.h:
92         (WebCore::toCachedScript): Add.
93         * loader/cache/CachedTextTrack.h:
94         (WebCore::toCachedTextTrack): Add.
95         * loader/cache/CachedXSLStyleSheet.h:
96         (WebCore::toCachedXSLStyleSheet): Add.
97
98 2014-02-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
99
100         Unreviewed. Fixed GTK+ CMake build after r162922.
101
102         * PlatformGTK.cmake: Removed SoupURIUtils.cpp from the
103         compilation.
104
105 2014-02-01  Benjamin Poulain  <bpoulain@apple.com>
106
107         Improve the JavaScript bindings of DatasetDOMStringMap
108         https://bugs.webkit.org/show_bug.cgi?id=127971
109
110         Reviewed by Sam Weinig.
111
112         Instead of querying contains() followed by item(), just get the item
113         at once in the custom binding.
114
115         Test: fast/dom/dataset-name-getter-properties.html
116
117         * bindings/js/JSDOMStringMapCustom.cpp:
118         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
119         * dom/DOMStringMap.idl:
120         * dom/DatasetDOMStringMap.cpp:
121         (WebCore::DatasetDOMStringMap::item):
122         * dom/DatasetDOMStringMap.h:
123
124 2014-01-31  Benjamin Poulain  <bpoulain@apple.com>
125
126         Remove LEGACY_VIEWPORT_ADAPTION
127         https://bugs.webkit.org/show_bug.cgi?id=128028
128
129         Reviewed by Anders Carlsson.
130
131         The code is incorrect and was only supported by Nix.
132
133         * dom/Document.cpp:
134         (WebCore::Document::childrenChanged):
135         * dom/ViewportArguments.h:
136         * html/HTMLMetaElement.cpp:
137         (WebCore::HTMLMetaElement::process):
138
139 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
140
141         Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.
142
143         * WebCore.exp.in:
144
145 2014-01-31  Brady Eidson  <beidson@apple.com>
146
147         IDB: Index cursors use wrong deserialization for the retrieved value
148         https://bugs.webkit.org/show_bug.cgi?id=128035
149
150         Reviewed by Dan Bernstein.
151
152         For the cursor operations, add an IDBKey value result in the callbacks.
153         If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.
154
155         Change some of the onSuccess() callback formats:
156         * Modules/indexeddb/IDBCallbacks.h:
157         * Modules/indexeddb/IDBRequest.cpp:
158         (WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value
159           when choosed what to convert to the ScriptValue.
160         * Modules/indexeddb/IDBRequest.h:
161
162         Let the IDBCursorBackend hold both a value buffer and a value key:
163         * Modules/indexeddb/IDBCursorBackend.cpp:
164         (WebCore::IDBCursorBackend::updateCursorData):
165         (WebCore::IDBCursorBackend::clear):
166         * Modules/indexeddb/IDBCursorBackend.h:
167         (WebCore::IDBCursorBackend::valueBuffer):
168         (WebCore::IDBCursorBackend::valueKey):
169
170         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
171         (WebCore::CursorAdvanceOperation::perform):
172         (WebCore::CursorIterationOperation::perform):
173
174         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
175         (WebCore::OpenCursorOperation::perform):
176
177         * Modules/indexeddb/IDBServerConnection.h:
178         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
179         (WebCore::IDBServerConnectionLevelDB::openCursor):
180         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
181         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
182         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
183
184         Add IDBKey/IDBKeyData debug logging utilities:
185         * Modules/indexeddb/IDBKey.cpp:
186         (WebCore::IDBKey::loggingString):
187         * Modules/indexeddb/IDBKey.h:
188         * Modules/indexeddb/IDBKeyData.cpp:
189         (WebCore::IDBKeyData::loggingString):
190         * Modules/indexeddb/IDBKeyData.h:
191
192         * WebCore.exp.in:
193
194 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
195
196         Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
197         can trigger a layout synchronously inside paintCaret. This matches the code before r163232.
198
199         * rendering/RenderBlock.cpp:
200         (WebCore::RenderBlock::paintCaret):
201
202 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
203
204         Remove inline member functions of FrameSelection that access m_selection
205         https://bugs.webkit.org/show_bug.cgi?id=127986
206
207         Reviewed by Enrica Casucci.
208
209         Removed numerous inline member functions of FrameSelection that depend on m_selection.
210
211         This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
212         which in turn, allows us to update its call sites to use either validated selection that editing
213         and rendering code uses or invalidated selection that's exposed to JavaScript.
214
215         * WebCore.exp.in:
216         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
217         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
218         (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
219         * bindings/objc/DOMUIKitExtensions.mm:
220         (-[DOMRange move:inDirection:]):
221         (-[DOMRange extend:inDirection:]):
222         * dom/Element.cpp:
223         (WebCore::Element::updateFocusAppearance):
224         * editing/Editor.cpp:
225         (WebCore::Editor::canEdit):
226         (WebCore::Editor::canEditRichly):
227         (WebCore::Editor::canDHTMLCut):
228         (WebCore::Editor::canDHTMLCopy):
229         (WebCore::Editor::canCopy):
230         (WebCore::Editor::canDelete):
231         (WebCore::Editor::replaceSelectionWithFragment):
232         (WebCore::Editor::tryDHTMLCopy):
233         (WebCore::Editor::tryDHTMLCut):
234         (WebCore::Editor::applyStyle):
235         (WebCore::Editor::applyParagraphStyle):
236         (WebCore::Editor::cut):
237         (WebCore::Editor::copy):
238         (WebCore::Editor::paste):
239         (WebCore::Editor::setComposition):
240         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
241         (WebCore::Editor::markMisspellingsAfterTypingToWord):
242         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
243         (WebCore::Editor::markAndReplaceFor):
244         (WebCore::Editor::getCompositionSelection):
245         (WebCore::Editor::selectionStartHasMarkerFor):
246         * editing/EditorCommand.cpp:
247         (WebCore::expandSelectionToGranularity):
248         (WebCore::enabledInRichlyEditableText):
249         (WebCore::enabledRangeInEditableText):
250         (WebCore::enabledRangeInRichlyEditableText):
251         * editing/FrameSelection.cpp:
252         (WebCore::CaretBase::updateCaretRect):
253         (WebCore::FrameSelection::recomputeCaretRect):
254         (WebCore::FrameSelection::selectAll):
255         (WebCore::FrameSelection::updateAppearance):
256         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
257         (WebCore::FrameSelection::setFocusedElementIfNeeded):
258         (WebCore::FrameSelection::currentForm):
259         (WebCore::FrameSelection::revealSelection):
260         (WebCore::FrameSelection::setSelectionFromNone):
261         * editing/FrameSelection.h:
262         (WebCore::FrameSelection::isCaretOrRange):
263         * editing/RemoveFormatCommand.cpp:
264         (WebCore::RemoveFormatCommand::doApply):
265         * editing/VisibleSelection.cpp:
266         (WebCore::VisibleSelection::isInPasswordField):
267         * editing/VisibleSelection.h:
268         * editing/mac/EditorMac.mm:
269         (WebCore::Editor::canCopyExcludingStandaloneImages):
270         (WebCore::Editor::readSelectionFromPasteboard):
271         * html/HTMLAnchorElement.cpp:
272         (WebCore::HTMLAnchorElement::defaultEventHandler):
273         (WebCore::HTMLAnchorElement::setActive):
274         * html/HTMLTextFormControlElement.cpp:
275         (WebCore::HTMLTextFormControlElement::computeSelectionStart):
276         (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
277         * page/ContextMenuController.cpp:
278         (WebCore::ContextMenuController::contextMenuItemSelected):
279         (WebCore::ContextMenuController::populate):
280         * page/DragController.cpp:
281         (WebCore::DragController::dragIsMove):
282         (WebCore::setSelectionToDragCaret):
283         (WebCore::DragController::concludeEditDrag):
284         (WebCore::DragController::startDrag):
285         * page/EventHandler.cpp:
286         (WebCore::nodeIsNotBeingEdited):
287         (WebCore::EventHandler::sendContextMenuEvent):
288         (WebCore::EventHandler::sendContextMenuEventForKey):
289         (WebCore::EventHandler::handleDrag):
290         * page/FocusController.cpp:
291         (WebCore::FocusController::advanceFocusInDocumentOrder):
292         (WebCore::clearSelectionIfNeeded):
293         * page/ios/FrameIOS.mm:
294         (WebCore::Frame::caretRect):
295         (WebCore::Frame::rectForScrollToVisible):
296         (WebCore::Frame::styleAtSelectionStart):
297         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
298         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
299         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
300         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
301         (WebCore::Frame::interpretationsForCurrentRoot):
302         * rendering/RenderBlock.cpp:
303         (WebCore::RenderBlock::paintCaret):
304
305 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
306
307         Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
308         https://bugs.webkit.org/show_bug.cgi?id=128032
309
310         Reviewed by Tim Horton.
311
312         Pass the viewport rect and scroll offset independently into the ScrollingTree
313         via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
314         always correspond to the viewport rect.
315         
316         Make the viewport rect and the scroll origin be float-based, since on
317         Retina screens and with zooming these can both be non-integral.
318
319         No behavior change.
320         
321         * WebCore.exp.in:
322         * page/scrolling/AsyncScrollingCoordinator.cpp:
323         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
324         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
325         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
326         * page/scrolling/AsyncScrollingCoordinator.h:
327         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
328         * page/scrolling/ScrollingStateScrollingNode.cpp:
329         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
330         (WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
331         (WebCore::ScrollingStateScrollingNode::setScrollPosition):
332         (WebCore::ScrollingStateScrollingNode::dumpProperties):
333         * page/scrolling/ScrollingStateScrollingNode.h:
334         * page/scrolling/ScrollingTree.cpp:
335         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
336         (WebCore::ScrollingTree::commitNewTreeState):
337         (WebCore::ScrollingTree::mainFrameScrollPosition):
338         (WebCore::ScrollingTree::setMainFrameScrollPosition):
339         * page/scrolling/ScrollingTree.h:
340         * page/scrolling/ScrollingTreeNode.h:
341         * page/scrolling/ScrollingTreeScrollingNode.cpp:
342         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
343         * page/scrolling/ScrollingTreeScrollingNode.h:
344         (WebCore::ScrollingTreeScrollingNode::scrollPosition):
345         (WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):
346         * page/scrolling/ThreadedScrollingTree.cpp:
347         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
348         * page/scrolling/ThreadedScrollingTree.h:
349         * page/scrolling/ios/ScrollingTreeIOS.cpp:
350         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
351         * page/scrolling/ios/ScrollingTreeIOS.h:
352         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
353         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
354         (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
355         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
356         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
357         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
358         (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
359         (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
360         * page/scrolling/mac/ScrollingTreeFixedNode.h:
361         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
362         (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
363         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
364         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
365         (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
366         (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
367         (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
368         (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
369         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
370         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
371         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
372         (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
373         (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
374         (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
375         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
376         * page/scrolling/mac/ScrollingTreeStickyNode.h:
377         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
378         (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
379         * platform/graphics/FloatPoint.h:
380         (WebCore::FloatPoint::shrunkTo):
381
382 2014-01-30  Andy Estes  <aestes@apple.com>
383
384         [Cocoa] Add NEFilterSource support to ContentFilterMac
385         https://bugs.webkit.org/show_bug.cgi?id=127979
386
387         Reviewed by Sam Weinig.
388
389         Update ContentFilterMac to work with both WebFilterEvaluator and
390         NEFilterSource, if enabled.
391
392         * platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform
393         conditionals, and forward-declare NEFilterSource.
394         * platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK
395         has it; declared the class directly if not. Also soft-linked
396         NetworkExtension.framework.
397         (WebCore::ContentFilter::ContentFilter): Initialized
398         m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
399         m_platformContentFilter and m_neFilterSource objects if their
400         respective filters were enabled.
401         (WebCore::ContentFilter::isEnabled): Returned true if either filter is
402         enabled.
403         (WebCore::ContentFilter::addData): Added incoming data to each filter
404         that is enabled.
405         (WebCore::ContentFilter::finishedAddingData): Notified each enabled
406         filter that we are finished adding data.
407         (WebCore::ContentFilter::needsMoreData): Returned true if either filter
408         needs more data.
409         (WebCore::ContentFilter::didBlockData): Returned true if either filter
410         blocked data.
411         (WebCore::ContentFilter::getReplacementData): Returned
412         m_replacementData. Commented that this will currently return a null
413         string if NEFilterSource blocked the load.
414
415 2014-01-31  Oliver Hunt  <oliver@apple.com>
416
417         Rollout r163195 and related patches
418
419         * CMakeLists.txt:
420         * ForwardingHeaders/runtime/JSStringInlines.h: Removed.
421         * Modules/plugins/QuickTimePluginReplacement.cpp:
422         * bindings/js/JSIDBAnyCustom.cpp:
423         * bindings/js/JSIDBDatabaseCustom.cpp:
424         * bindings/js/JSIDBObjectStoreCustom.cpp:
425         * bindings/js/JSNodeFilterCondition.cpp:
426
427 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
428
429         Even when in fixed layout mode, some platforms need to do layout after a viewport change
430         https://bugs.webkit.org/show_bug.cgi?id=128003
431
432         Reviewed by Andreas Kling.
433         
434         Re-land 163182 with a less aggresive check in visibleContentsResized() for
435         needing to layout.
436
437         iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
438         elements relative to a variable viewport. This code assumed that fixed layout
439         implies a fixed viewport.
440         
441         Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
442         
443         Also removed RenderView::hasCustomFixedPosition() which is no longer used.
444         
445         * page/FrameView.cpp:
446         (WebCore::FrameView::shouldLayoutAfterViewportChange):
447         (WebCore::FrameView::visibleContentsResized):
448         * page/FrameView.h:
449         * rendering/RenderView.cpp:
450         * rendering/RenderView.h:
451
452 2014-01-31  Alexey Proskuryakov  <ap@apple.com>
453
454         Expose creation and modification times for LocalStorage
455         https://bugs.webkit.org/show_bug.cgi?id=128018
456
457         Reviewed by Anders Carlsson.
458
459         * WebCore.exp.in: Export FileSystem functions to get file times.
460
461 2014-01-30  Maciej Stachowiak  <mjs@apple.com>
462
463         Implement (most of) URL API
464         https://bugs.webkit.org/show_bug.cgi?id=127795
465
466         Reviewed by Alexey Proskuryakov.
467
468         Tests: fast/dom/DOMURL/get-href-attribute-port.html
469                fast/dom/DOMURL/invalid-url-getters.html
470                fast/dom/DOMURL/set-href-attribute-hash.html
471                fast/dom/DOMURL/set-href-attribute-host.html
472                fast/dom/DOMURL/set-href-attribute-hostname.html
473                fast/dom/DOMURL/set-href-attribute-pathname.html
474                fast/dom/DOMURL/set-href-attribute-port.html
475                fast/dom/DOMURL/set-href-attribute-protocol.html
476                fast/dom/DOMURL/set-href-attribute-search.html
477                fast/dom/DOMURL/set-href-attribute-whitespace.html
478                fast/dom/DOMURL/url-constructor.html
479                fast/dom/DOMURL/url-origin.html
480                fast/dom/DOMURL/url-password.html
481                fast/dom/DOMURL/url-username.html
482
483         * CMakeLists.txt: Update for new IDL file.
484         * DerivedSources.make: ditto
485         * GNUmakefile.list.am: ditto
486         * html/DOMURL.cpp: Implement URL() constructor and instance methods; cribbed from
487         HTMLAnchorElement mostly
488         (WebCore::DOMURL::DOMURL):
489         (WebCore::DOMURL::href):
490         (WebCore::DOMURL::setHref):
491         (WebCore::DOMURL::toString):
492         (WebCore::DOMURL::origin):
493         (WebCore::DOMURL::protocol):
494         (WebCore::DOMURL::setProtocol):
495         (WebCore::DOMURL::username):
496         (WebCore::DOMURL::setUsername):
497         (WebCore::DOMURL::password):
498         (WebCore::DOMURL::setPassword):
499         (WebCore::DOMURL::host):
500         (WebCore::parsePortFromStringPosition):
501         (WebCore::DOMURL::setHost):
502         (WebCore::DOMURL::hostname):
503         (WebCore::DOMURL::setHostname):
504         (WebCore::DOMURL::port):
505         (WebCore::DOMURL::setPort):
506         (WebCore::DOMURL::pathname):
507         (WebCore::DOMURL::setPathname):
508         (WebCore::DOMURL::search):
509         (WebCore::DOMURL::setSearch):
510         (WebCore::DOMURL::hash):
511         (WebCore::DOMURL::setHash):
512         * html/DOMURL.h:
513         (WebCore::DOMURL::create):
514         * html/DOMURL.idl: Update for new methods.
515         * html/URLUtils.idl: Added. New IDL file that contains most of the interface.
516
517 2014-01-31  Bem Jones-Bey  <bjonesbe@adobe.com>
518
519         Create clipping path from <box> value
520         https://bugs.webkit.org/show_bug.cgi?id=126205
521
522         Reviewed by Dirk Schulze.
523
524         This implements <box> values for border, content, and padding boxes.
525         Since margin box is not implemented as a reference box, this does not
526         implement margin box value.
527
528         Tests: css3/masking/clip-path-border-box.html
529                css3/masking/clip-path-content-box.html
530                css3/masking/clip-path-padding-box.html
531
532         * rendering/ClipPathOperation.h:
533         (WebCore::BoxClipPathOperation::pathForReferenceRect): Implement.
534         * rendering/RenderLayer.cpp:
535         (WebCore::computeReferenceBox): Pull out reference box calculation.
536         (WebCore::RenderLayer::setupClipPath): Add support for <box> values.
537         * rendering/shapes/ShapeInfo.cpp:
538         (WebCore::ShapeInfo<RenderType>::computedShape): Add FIXME comment.
539
540 2014-01-29  Oliver Hunt  <oliver@apple.com>
541
542         Make it possible to implement JS builtins in JS
543         https://bugs.webkit.org/show_bug.cgi?id=127887
544
545         Reviewed by Michael Saboff.
546
547         Updating for the newly required headers.
548
549         Test: js/regress/array-prototype-every.html
550
551         * ForwardingHeaders/runtime/JSStringInlines.h: Added.
552         * Modules/plugins/QuickTimePluginReplacement.cpp:
553         * bindings/js/JSIDBAnyCustom.cpp:
554         * bindings/js/JSIDBDatabaseCustom.cpp:
555         * bindings/js/JSIDBObjectStoreCustom.cpp:
556
557 2014-01-31  Beth Dakin  <bdakin@apple.com>
558
559         Build fix.
560
561         * rendering/RenderLayerCompositor.cpp:
562         (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
563
564 2014-01-31  Timothy Hatcher  <timothy@apple.com>
565
566         Properly handle cases where a profile couldn't be recorded and null is returned.
567
568         <rdar://problem/15957993> Crash with Inspector open at WebCore::ScriptProfile::buildInspectorObject
569
570         Reviewed by Joseph Pecoraro.
571
572         * inspector/InspectorTimelineAgent.cpp:
573         (WebCore::InspectorTimelineAgent::didCallFunction): Null check profile.
574         (WebCore::InspectorTimelineAgent::didEvaluateScript): Ditto.
575
576 2014-01-31  Beth Dakin  <bdakin@apple.com>
577
578         Extended background should only create margin tiles for pages with background 
579         images
580         https://bugs.webkit.org/show_bug.cgi?id=127876
581         -and corresponding-
582         <rdar://problem/15827632>
583
584         Reviewed by Simon Fraser.
585
586         Settings::backgroundShouldExtendBeyondPage() doesn't need to create margin tiles
587         for pages with simple background colors. Instead, those pages should achieve the 
588         same effect by setting a background color on RenderLayerCompositor's
589         m_layerForOverhangAreas. For now, we should only create tiles when there is a 
590         background image. We may want to extend this to other types of complicated 
591         backgrounds in the future.
592
593         This patch makes callers that only care about the value of the setting always call 
594         Settings::backgroundShouldExtendBeyondPage() rather than asking about margin 
595         tiles. And callers that want to know about margin tiles can either keep querying 
596         that directly or they can call FrameView::hasExtendedBackgroundRectForPainting(). 
597         An extended background does not necessarily require an extended background rect 
598         for painting, and this new FrameView function can make that distinction. 
599
600         When setBackgroundExtendsBeyondPage() is called, call RenderLayerCompositor:: 
601         setRootExtendedBackgroundColor() with either the document background color, or an 
602         invalid color, depending on whether you have or do not have an extended 
603         background. Also call needsExtendedBackgroundRectForPainting() to determine if we 
604         also need to extend the background rect, and then call 
605         setHasExtendedBackgroundRectForPainting() with its value.
606         * page/FrameView.cpp:
607         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
608         (WebCore::FrameView::hasExtendedBackgroundRectForPainting):
609
610          Right now we only need to extend the background rect for documents with 
611         background images on the root. This may be extended in the future.
612         (WebCore::FrameView::needsExtendedBackgroundRectForPainting):
613         (WebCore::FrameView::setHasExtendedBackgroundRectForPainting):
614         (WebCore::FrameView::extendedBackgroundRectForPainting):
615         * page/FrameView.h:
616
617         Expose defaultTileWidth and defaultTileHeight from TiledBacking.h so that we can 
618         access the values from RenderLayerBacking.
619         * platform/graphics/TiledBacking.h:
620         * platform/graphics/ca/mac/TileController.mm:
621
622         hasExtendedBackgroundForPainting() is now called 
623         hasExtendedBackgroundRectForPainting() to distinguish 
624         the case where an extended RECT is needed.
625         * rendering/RenderBox.cpp:
626         (WebCore::RenderBox::repaintLayerRectsForImage):
627         * rendering/RenderBoxModelObject.cpp:
628         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
629
630         Call setHasExtendedBackgroundRectForPainting() if relevant.
631         * rendering/RenderElement.cpp:
632         (WebCore::RenderElement::styleWillChange):
633
634         Don't call setTiledBackingHasMargins() right in the constructor because we only
635         want margins if we have a background image, and we won't have that information
636         yet.
637         * rendering/RenderLayerBacking.cpp:
638         (WebCore::RenderLayerBacking::RenderLayerBacking):
639
640         Clean up the variable name here. We are only setting margins when we need to 
641         extend the background rect for painting. Also make us of newly-exposed 
642         defaultTileWidth and Height.
643         (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
644
645         Remove RenderLayerBacking::tiledBackingHasMargin() since there aren't any more
646         callers.
647         * rendering/RenderLayerBacking.h:
648         (WebCore::RenderLayerBacking::usingTiledBacking):
649
650         setMasksToBounds(false) based on the Setting, and not based on whether there are 
651         tile margins.
652         * rendering/RenderLayerCompositor.cpp:
653         (WebCore::RenderLayerCompositor::updateBacking):
654
655         Return false from RenderLayerCompositor::requiresContentShadowLayer() if there is 
656         an extended background.
657         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
658
659         Setting the background color on m_layerForOverhangAreas is all we need to do to 
660         create the extended background effect on pages that only have background colors. 
661         (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
662         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
663
664         Remove mainFrameBackingIsTiledWithMargin() since there aren't any more callers,
665         and add setRootExtendedBackgroundColor() so that we can update the color from 
666         RenderView.
667         * rendering/RenderLayerCompositor.h:
668
669         Revert the code that was added to paint background color here, since this should 
670         all be covered by calling RenderLayerCompositor::setExtendedBackgroundColor(). 
671         More complicated backgrounds will run through the full background painting code.
672         * rendering/RenderView.cpp:
673         (WebCore::RenderView::paintBoxDecorations):
674         (WebCore::RenderView::backgroundRect):
675
676 2014-01-31  Jochen Eisinger  <jochen@chromium.org>
677
678         Remove FrameLoader's reloadWithOverrideURL and reloadWithRequest
679         https://bugs.webkit.org/show_bug.cgi?id=128005
680
681         Reviewed by Darin Adler.
682
683         The former was used by chromium-android to implement the "request
684         desktop version" feature, but is no longer used. After removing it,
685         the latter is only invoked by reload(), so we can merge the method
686         with it.
687
688         No new tests, just removing dead code.
689
690         * loader/FrameLoader.cpp:
691         (WebCore::FrameLoader::reload):
692         * loader/FrameLoader.h:
693
694 2014-01-31  Commit Queue  <commit-queue@webkit.org>
695
696         Unreviewed, rolling out r163182.
697         http://trac.webkit.org/changeset/163182
698         https://bugs.webkit.org/show_bug.cgi?id=128012
699
700         Broke lots of tests (Requested by smfr on #webkit).
701
702         * page/FrameView.cpp:
703         (WebCore::FrameView::visibleContentsResized):
704         * page/FrameView.h:
705         * rendering/RenderView.cpp:
706         (WebCore::isFixedPositionInViewport):
707         (WebCore::RenderView::hasCustomFixedPosition):
708         * rendering/RenderView.h:
709
710 2014-01-31  Brady Eidson  <beidson@apple.com>
711
712         IDB: openCursor() needs to prime the cursor with first position values
713         https://bugs.webkit.org/show_bug.cgi?id=128008
714
715         Reviewed by Alexey Proskuryakov.
716
717         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
718         (WebCore::OpenCursorOperation::perform): If the server connection returns initial keys/values
719           for the cursor, store them.
720
721         * Modules/indexeddb/IDBServerConnection.h:
722
723         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
724         (WebCore::IDBServerConnectionLevelDB::openCursor):
725         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
726
727 2014-01-31  Hans Muller  <hmuller@adobe.com>
728
729         [CSS Shapes] Image valued shape can fail
730         https://bugs.webkit.org/show_bug.cgi?id=127588
731
732         Reviewed by Dean Jackson.
733
734         Correct the handling of image valued shapes that extend into or beyond the
735         margin box. This can happen when object-fit causes one dimension of the shape
736         to be greater than the corresponding margin box dimension.
737
738         Made some simplifications in RasterShapeIntervals::computeShapeMarginIntervals()
739         by making the shapeMargin parameter an int, removing some unnecessary variables.
740
741         Revised the RasterShapeIntervals class. It's now a just a list of size() interval-lists,
742         with valid indices: -offset() <= y < size() - offset(), or minY() to maxY(). If margin-top
743         and shape-margin are specified, then offset() is the larger of shape-margin and margin-top.
744         Similarly size() is the vertical size of the margin-box or the content-box expanded by
745         shape-margin, whichever is larger. See computeShapeMarginIntervals().
746
747         Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html
748                fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html
749
750         * rendering/shapes/RasterShape.cpp:
751         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
752         (WebCore::RasterShape::marginIntervals):
753         * rendering/shapes/RasterShape.h:
754         (WebCore::RasterShapeIntervals::RasterShapeIntervals):
755         (WebCore::RasterShapeIntervals::offset):
756         (WebCore::RasterShapeIntervals::minY):
757         (WebCore::RasterShapeIntervals::maxY):
758         (WebCore::RasterShapeIntervals::intervalsAt):
759         * rendering/shapes/Shape.cpp:
760         (WebCore::Shape::createRasterShape):
761         * rendering/shapes/Shape.h:
762         * rendering/shapes/ShapeInfo.cpp:
763
764         (WebCore::getShapeImageReplacedRect):
765         The rect that the image will be drawn into. This rect can imply image
766         scaling and translation.
767
768         (WebCore::getShapeImageMarginRect):
769         The margin rect relative too the (0,0 origin) shape content rect.
770
771         (WebCore::ShapeInfo<RenderType>::computedShape):
772
773 2014-01-31  Andreas Kling  <akling@apple.com>
774
775         Deduplicate Document::encoding().
776         <https://webkit.org/b/128000>
777
778         Make Document::encoding() return an AtomicString so we don't duplicate
779         the string every time it's called.
780
781         215 KB progression on Membuster3.
782
783         Reviewed by Simon Fraser.
784
785         * dom/Document.h:
786         * dom/Document.cpp:
787         (WebCore::Document::encoding):
788
789 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
790
791         Even when in fixed layout mode, some platforms need to do layout after a viewport change
792         https://bugs.webkit.org/show_bug.cgi?id=128003
793
794         Reviewed by Andreas Kling.
795
796         iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
797         elements relative to a variable viewport. This code assumed that fixed layout
798         implies a fixed viewport.
799         
800         Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
801         
802         Also removed RenderView::hasCustomFixedPosition() which is no longer used.
803         
804         * page/FrameView.cpp:
805         (WebCore::FrameView::shouldLayoutAfterViewportChange):
806         (WebCore::FrameView::visibleContentsResized):
807         * page/FrameView.h:
808         * rendering/RenderView.cpp:
809         * rendering/RenderView.h:
810
811 2014-01-31  Zan Dobersek  <zdobersek@igalia.com>
812
813         Guard GLContextEGL::platformContext() with USE(3D_GRAPHICS)
814         https://bugs.webkit.org/show_bug.cgi?id=120214
815
816         Reviewed by Philippe Normand.
817
818         Guard the GLContextEGL::platformContext() declaration and definiton with USE(3D_GRAPHICS)
819         since this guard is used in the GLContext class, from which the GLContextEGL class overrides
820         this method.
821
822         * platform/graphics/egl/GLContextEGL.cpp:
823         * platform/graphics/egl/GLContextEGL.h:
824
825 2014-01-31  Beth Dakin  <bdakin@apple.com>
826
827         Sideways 'wobble' when scrolling with trackpad on Mavericks
828         https://bugs.webkit.org/show_bug.cgi?id=127521
829         -and corresponding-
830         <rdar://problem/14137306>
831
832         Reviewed by Simon Fraser.
833
834         This patch takes http://trac.webkit.org/changeset/154535 which introduced 
835         filtering wheel events for overflow areas to try to make them less sensitive to X 
836         deltas when scrolling in a primarily Y direction, and it factors that code out 
837         into its own class, now called WheelEventDeltaTracker. So now this new class can 
838         use the same code to filter events for WebKit2’s EventDispatcher.
839
840         Files for WheelEventDeltaTracker.
841         * CMakeLists.txt:
842         * GNUmakefile.list.am:
843         * WebCore.vcxproj/WebCore.vcxproj:
844         * WebCore.vcxproj/WebCore.vcxproj.filters:
845         * WebCore.xcodeproj/project.pbxproj:
846
847         WK2 needs these new WheelEventDeltaTracker functions.
848         * WebCore.exp.in:
849
850         Move a bunch of code over to WheelEventDeltaTracker and use
851         m_recentWheelEventTracker to serve the same purpose.
852         * page/EventHandler.cpp:
853         (WebCore::EventHandler::EventHandler):
854         (WebCore::EventHandler::handleWheelEvent):
855         (WebCore::EventHandler::defaultWheelEventHandler):
856         * page/EventHandler.h:
857
858         Allow horizontal rubber banding now that we have some event filtering in place.
859         * page/FrameView.cpp:
860         (WebCore::FrameView::FrameView):
861
862         New files. Most of this code was from EventHandler.
863         * page/WheelEventDeltaTracker.cpp: Added.
864         (WebCore::WheelEventDeltaTracker::WheelEventDeltaTracker):
865         (WebCore::WheelEventDeltaTracker::~WheelEventDeltaTracker):
866         (WebCore::WheelEventDeltaTracker::beginTrackingDeltas):
867         (WebCore::WheelEventDeltaTracker::endTrackingDeltas):
868         (WebCore::WheelEventDeltaTracker::recordWheelEventDelta):
869         (WebCore::deltaIsPredominantlyVertical):
870         (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
871         * page/WheelEventDeltaTracker.h: Added.
872         (WebCore::WheelEventDeltaTracker::isTrackingDeltas):
873
874         New function to clone events while zero-ing out certain deltas.
875         * platform/PlatformWheelEvent.h:
876         (WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta):
877         (WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta):
878
879 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
880
881         Don't do logging from Range::collectSelectionRects() on iOS
882         https://bugs.webkit.org/show_bug.cgi?id=127999
883
884         Reviewed by Enrica Casucci.
885
886         Remove some logging code that printed Range stuff in debug builds.
887
888         * dom/Range.cpp:
889         (WebCore::Range::collectSelectionRects):
890
891 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
892
893         Make iOS fixed layer registration more like OS X
894         https://bugs.webkit.org/show_bug.cgi?id=127983
895
896         Reviewed by Antti Koivisto.
897
898         Remove some #if PLATFORM(IOS) in the code related to registering
899         viewport-constrained layers. The code behaves correctly now in WK1
900         and WK2 based on the presence of a ScrollingCoordinator.
901
902         * rendering/RenderLayerCompositor.cpp:
903         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
904         (WebCore::nearestScrollingCoordinatorAncestor):
905         (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
906         (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):
907
908 2014-01-31  Commit Queue  <commit-queue@webkit.org>
909
910         Unreviewed, rolling out r163165.
911         http://trac.webkit.org/changeset/163165
912         https://bugs.webkit.org/show_bug.cgi?id=127997
913
914         broke 2 fast/table tests (Requested by kling on #webkit).
915
916         * rendering/RenderTable.cpp:
917         (WebCore::RenderTable::updateLogicalWidth):
918         (WebCore::RenderTable::computePreferredLogicalWidths):
919
920 2014-01-31  Anders Carlsson  <andersca@apple.com>
921
922         Don't allocate a new XMLHttpRequestStaticData every time staticData() is called
923         https://bugs.webkit.org/show_bug.cgi?id=127996
924
925         Reviewed by Andreas Kling.
926
927         std::once_flag should be static.
928
929         * xml/XMLHttpRequest.cpp:
930         (WebCore::staticData):
931
932 2014-01-31  Zalan Bujtas  <zalan@apple.com>
933
934         Subpixel rendering: Change RenderBoxModelObject's border functions' signature to support subpixel border painting.
935         https://bugs.webkit.org/show_bug.cgi?id=127975
936
937         Reviewed by Simon Fraser.
938
939         From int to LayoutUnit.
940
941         Covered by existing tests. No change in functionality.
942
943         * platform/text/TextStream.cpp:
944         (WebCore::TextStream::operator<<):
945         * platform/text/TextStream.h:
946         * rendering/RenderBoxModelObject.cpp:
947         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
948         * rendering/RenderBoxModelObject.h:
949         (WebCore::RenderBoxModelObject::borderTop):
950         (WebCore::RenderBoxModelObject::borderBottom):
951         (WebCore::RenderBoxModelObject::borderLeft):
952         (WebCore::RenderBoxModelObject::borderRight):
953         (WebCore::RenderBoxModelObject::borderBefore):
954         (WebCore::RenderBoxModelObject::borderAfter):
955         (WebCore::RenderBoxModelObject::borderStart):
956         (WebCore::RenderBoxModelObject::borderEnd):
957         * rendering/RenderElement.cpp:
958         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
959         * rendering/RenderTable.cpp:
960         (WebCore::RenderTable::borderBefore):
961         (WebCore::RenderTable::borderAfter):
962         * rendering/RenderTable.h:
963         * rendering/RenderTableCell.cpp:
964         (WebCore::RenderTableCell::borderLeft):
965         (WebCore::RenderTableCell::borderRight):
966         (WebCore::RenderTableCell::borderTop):
967         (WebCore::RenderTableCell::borderBottom):
968         (WebCore::RenderTableCell::borderStart):
969         (WebCore::RenderTableCell::borderEnd):
970         (WebCore::RenderTableCell::borderBefore):
971         (WebCore::RenderTableCell::borderAfter):
972         * rendering/RenderTableCell.h:
973
974 2014-01-31  Brady Eidson  <beidson@apple.com>
975
976         IDB: Index writing
977         <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868
978
979         Reviewed by Anders Carlsson.
980
981         * Modules/indexeddb/IDBDatabaseBackend.cpp:
982         (WebCore::IDBDatabaseBackend::openConnectionInternal): Remove outdated comment and ASSERT.
983
984         * Modules/indexeddb/IDBObjectStore.cpp:
985         (WebCore::IDBObjectStore::createIndex): Conditionalize a block of code that is LevelDB-only.
986
987         Remove getColumnBlob().  Nobody used it, and it was dangerous because it reset the statement:
988         * platform/sql/SQLiteStatement.cpp:
989         * platform/sql/SQLiteStatement.h:
990         * WebCore.exp.in:
991
992 2014-01-30  László Langó  <lango@inf.u-szeged.hu>
993
994         [CSS Grid Layout] Do log(n) search in the named line vectors when positioning named line spans.
995         https://bugs.webkit.org/show_bug.cgi?id=125396
996
997         Reviewed by Andreas Kling.
998
999         Implement the suggested FIXMEs and do a log search in the named line
1000         vectors. This maintains the previous (somewhat tricky) behavior by
1001         using std::lower_bound and std::upper_bound. No difference in existing
1002         performance tests, but should scale much better for big grids.
1003
1004         Backported from Blink:
1005         https://chromium.googlesource.com/chromium/blink/+/9fc477af0be708c490a6b90e65e412b0c22b161f
1006
1007         No new tests, no behavior change.
1008
1009         * rendering/RenderGrid.cpp:
1010         (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
1011         (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
1012
1013 2014-01-31  László Langó  <lango@inf.u-szeged.hu>
1014
1015         Fix table sizing when 'max-width' is used.
1016         https://bugs.webkit.org/show_bug.cgi?id=115156
1017
1018         Reviewed by Andreas Kling.
1019
1020         r143534 make <table> abide by 'max-width' all the time which is wrong.
1021         Per the CSS specification, a table should be wide enough to fit its
1022         content, regardless of 'max-width'.
1023
1024         r140479 fixed part of the regression from that change but made the
1025         same fatal mistake by constraining min-content to fit 'max-width'.
1026
1027         The fix is to avoid constraining min-content and ensure that the table
1028         logical width is at least its min-content size.
1029
1030         Backported from Blink:
1031         https://chromium.googlesource.com/chromium/blink/+/0bca0dec4895aeeb2054ba36316e984e4ebed06f
1032
1033         Test: fast/table/html-table-width-max-width-constrained.html
1034
1035         * rendering/RenderTable.cpp:
1036         (WebCore::RenderTable::updateLogicalWidth):
1037         (WebCore::RenderTable::computePreferredLogicalWidths):
1038
1039 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1040
1041         Fix iOS build after r163156.
1042         
1043         Need to convert LayoutSizes to FloatSizes.
1044
1045         * bindings/objc/DOMUIKitExtensions.mm:
1046         (-[DOMNode borderRadii]):
1047
1048 2014-01-30  Zalan Bujtas  <zalan@apple.com>
1049
1050         Subpixel rendering: Change drawRect()/drawLine() signature to support subpixel rendering.
1051         https://bugs.webkit.org/show_bug.cgi?id=127961
1052
1053         Reviewed by Simon Fraser.
1054
1055         IntRect/IntPoint -> FloatRect/FloatPoint.
1056
1057         Covered by existing tests. No change in functionality.
1058
1059         * platform/graphics/GraphicsContext.h:
1060         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1061         (WebCore::GraphicsContext::drawRect):
1062         (WebCore::GraphicsContext::drawLine):
1063         * platform/graphics/cg/GraphicsContextCG.cpp:
1064         (WebCore::GraphicsContext::drawRect):
1065         (WebCore::GraphicsContext::drawLine): Keep 'distance' int for DottedStroke and DashedStroke for now.
1066         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1067         (WebCore::GraphicsContext::drawRect):
1068         (WebCore::GraphicsContext::drawLine):
1069
1070 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1071
1072         Remove ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers() which is no longer used
1073         https://bugs.webkit.org/show_bug.cgi?id=127981
1074
1075         Reviewed by Andreas Kling.
1076
1077         setLayerIsContainerForFixedPositionLayers() was only used by Chromium and Blackberry,
1078         so remove it.
1079         
1080         This allows the removal of RenderLayerBacking::registerScrollingLayers(),
1081         moving the single useful line of code to the caller.
1082
1083         * page/scrolling/ScrollingCoordinator.h:
1084         * rendering/RenderLayerBacking.cpp:
1085         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1086         * rendering/RenderLayerBacking.h:
1087         * rendering/RenderLayerCompositor.cpp:
1088         (WebCore::RenderLayerCompositor::ensureRootLayer):
1089
1090 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1091
1092         Some fixed position elements disappear in WK2 on iOS
1093         https://bugs.webkit.org/show_bug.cgi?id=127977
1094
1095         Reviewed by Tim Horton.
1096
1097         Use the appropriate rectangle to ensure that on iOS we don't 
1098         consider a fixed element outside the viewport when zoomed in,
1099         and therefore never make a compositing layer for it.
1100
1101         Also remove the iOS-specific code in RenderLayerCompositor::requiresCompositingForPosition(),
1102         since it's OK to use the common code. Doing so requires that we
1103         set the "acceleratedCompositingForFixedPositionEnabled" setting to true
1104         for iOS, so do so.
1105
1106         * page/Settings.cpp:
1107         * page/Settings.in:
1108         * rendering/RenderLayerCompositor.cpp:
1109         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1110
1111 2014-01-30  Zalan Bujtas  <zalan@apple.com>
1112
1113         Subpixel rendering: Make RoundedRect layout unit aware.
1114         https://bugs.webkit.org/show_bug.cgi?id=127779
1115
1116         Reviewed by Simon Fraser.
1117
1118         In order to draw hairline borders, RoundedRect needs to be
1119         LayoutUnit based.
1120
1121         No change in behavior.
1122
1123         * platform/graphics/GraphicsContext.cpp:
1124         (WebCore::GraphicsContext::fillRoundedRect):
1125         * platform/graphics/GraphicsContext.h:
1126         * platform/graphics/RoundedRect.cpp:
1127         (WebCore::RoundedRect::Radii::scale):
1128         (WebCore::RoundedRect::Radii::expand):
1129         (WebCore::RoundedRect::inflateWithRadii):
1130         (WebCore::RoundedRect::RoundedRect):
1131         (WebCore::RoundedRect::intersectsQuad):
1132         * platform/graphics/RoundedRect.h:
1133         (WebCore::RoundedRect::Radii::Radii):
1134         (WebCore::RoundedRect::Radii::setTopLeft):
1135         (WebCore::RoundedRect::Radii::setTopRight):
1136         (WebCore::RoundedRect::Radii::setBottomLeft):
1137         (WebCore::RoundedRect::Radii::setBottomRight):
1138         (WebCore::RoundedRect::Radii::topLeft):
1139         (WebCore::RoundedRect::Radii::topRight):
1140         (WebCore::RoundedRect::Radii::bottomLeft):
1141         (WebCore::RoundedRect::Radii::bottomRight):
1142         (WebCore::RoundedRect::Radii::expand):
1143         (WebCore::RoundedRect::Radii::shrink):
1144         (WebCore::RoundedRect::rect):
1145         (WebCore::RoundedRect::setRect):
1146         (WebCore::RoundedRect::move):
1147         (WebCore::RoundedRect::inflate):
1148         (WebCore::RoundedRect::expandRadii):
1149         (WebCore::RoundedRect::shrinkRadii):
1150         * platform/graphics/ShadowBlur.cpp:
1151         (WebCore::ScratchBuffer::setCachedShadowValues):
1152         (WebCore::ScratchBuffer::setCachedInsetShadowValues):
1153         (WebCore::computeSliceSizesFromRadii):
1154         (WebCore::ShadowBlur::templateSize):
1155         (WebCore::ShadowBlur::drawRectShadow):
1156         (WebCore::ShadowBlur::drawInsetShadow):
1157         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
1158         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
1159         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
1160         (WebCore::ShadowBlur::drawRectShadowWithTiling):
1161         (WebCore::ShadowBlur::drawLayerPieces):
1162         (WebCore::ShadowBlur::beginShadowLayer):
1163         * platform/graphics/ShadowBlur.h:
1164         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1165         (WebCore::GraphicsContext::clipOut):
1166         (WebCore::GraphicsContext::fillRoundedRect):
1167         (WebCore::GraphicsContext::fillRectWithRoundedHole):
1168         * platform/graphics/cg/GraphicsContextCG.cpp:
1169         (WebCore::GraphicsContext::platformInit):
1170         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1171         (WebCore::GraphicsContext::clipOut):
1172         (WebCore::GraphicsContext::fillRoundedRect):
1173         * rendering/RenderBoxModelObject.cpp:
1174         (WebCore::RenderBoxModelObject::paintOneBorderSide):
1175         (WebCore::calculateSideRect):
1176         (WebCore::RenderBoxModelObject::paintBorderSides):
1177         (WebCore::RenderBoxModelObject::paintBorder):
1178         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
1179         (WebCore::calculateSideRectIncludingInner):
1180         (WebCore::calculateAdjustedInnerBorder):
1181         (WebCore::areaCastingShadowInHole):
1182         (WebCore::RenderBoxModelObject::paintBoxShadow):
1183         * rendering/RenderBoxModelObject.h:
1184         * rendering/RenderThemeSafari.cpp:
1185         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1186         (WebCore::RenderThemeSafari::paintSliderTrack):
1187
1188 2014-01-30  Martin Robinson  <mrobinson@igalia.com>
1189
1190         [GTK] [CMake] Add support for building against GTK+ 2
1191         https://bugs.webkit.org/show_bug.cgi?id=127959
1192
1193         Reviewed by Anders Carlsson.
1194
1195         * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
1196
1197 2014-01-30  Jessie Berlin  <jberlin@apple.com>
1198
1199         Speculative build fix.
1200
1201         * page/animation/CSSPropertyAnimation.cpp:
1202
1203 2014-01-30  Zalan Bujtas  <zalan@apple.com>
1204
1205         Subpixel rendering: Change BorderData's width from unsigned to float to enable subpixel border painting.
1206         https://bugs.webkit.org/show_bug.cgi?id=127949
1207
1208         Reviewed by Andreas Kling.
1209
1210         Covered by existing tests. No change in functionality.
1211
1212         * css/DeprecatedStyleBuilder.cpp:
1213         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1214         * page/animation/CSSPropertyAnimation.cpp:
1215         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1216         * rendering/RenderTable.cpp:
1217         (WebCore::RenderTable::calcBorderStart):
1218         (WebCore::RenderTable::calcBorderEnd):
1219         * rendering/style/BorderValue.h:
1220         (WebCore::BorderValue::BorderValue):
1221         (WebCore::BorderValue::width):
1222         * rendering/style/RenderStyle.cpp:
1223         (WebCore::RenderStyle::borderBeforeWidth):
1224         (WebCore::RenderStyle::borderAfterWidth):
1225         (WebCore::RenderStyle::borderStartWidth):
1226         (WebCore::RenderStyle::borderEndWidth):
1227         * rendering/style/RenderStyle.h:
1228
1229 2014-01-30  David Kilzer  <ddkilzer@apple.com>
1230
1231         Add security-checked cast for WebCore::CachedImage
1232         <http://webkit.org/b/127967>
1233
1234         Reviewed by Darin Adler.
1235
1236         * loader/cache/CachedImage.h:
1237         (WebCore::toCachedImage): Add.
1238         (WebCore::toCachedImageManual): Add.
1239         * loader/cache/CachedResource.h:
1240         (CACHED_RESOURCE_TYPE_CASTS): Add macro.
1241
1242         * loader/cache/CachedImage.cpp:
1243         (WebCore::CachedImage::switchClientsToRevalidatedResource):
1244         (WebCore::CachedImage::resumeAnimatingImagesForLoader):
1245         * loader/cache/CachedResourceLoader.cpp:
1246         (WebCore::CachedResourceLoader::requestImage):
1247         * loader/cache/MemoryCache.cpp:
1248         (WebCore::MemoryCache::removeImageFromCache):
1249         - Use toCachedImage() and toCachedImageManual().
1250
1251 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1252
1253         Fixed position objects are clipped in iOS WK2
1254         https://bugs.webkit.org/show_bug.cgi?id=127974
1255
1256         Reviewed by Darin Adler.
1257         
1258         We clip compositing layers for fixed position objects to the viewport
1259         to avoid huge layers. However, because iOS changes the fixed position
1260         rect when zooming, we need a different rect for iOS.
1261         
1262         In WK1 (when we have a platformWidget), we can use
1263         visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect)
1264         which is effectively the whole document. However in WK2 this is
1265         the real visibleContentRect(), so there we use unscaledDocumentRect().
1266
1267         * page/FrameView.cpp:
1268         (WebCore::FrameView::viewportConstrainedExtentRect):
1269         * page/FrameView.h:
1270         * rendering/RenderLayerBacking.cpp:
1271         (WebCore::RenderLayerBacking::updateCompositedBounds):
1272
1273 2014-01-28  Timothy Hatcher  <timothy@apple.com>
1274
1275         Add column number and call timing support to LegacyProfiler.
1276
1277         https://bugs.webkit.org/show_bug.cgi?id=127764
1278
1279         Reviewed by Joseph Pecoraro.
1280
1281         * bindings/js/ScriptProfile.cpp:
1282         (WebCore::ScriptProfile::idleTime):
1283         (WebCore::buildInspectorObjectFor):
1284         (WebCore::ScriptProfile::buildInspectorObject):
1285         * bindings/js/ScriptProfile.h:
1286         * inspector/InspectorHeapProfilerAgent.cpp:
1287         (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
1288         * inspector/InspectorProfilerAgent.cpp:
1289         (WebCore::InspectorProfilerAgent::createSnapshotHeader):
1290         (WebCore::InspectorProfilerAgent::getCPUProfile):
1291         * inspector/ScriptProfileNode.idl:
1292         * inspector/TimelineRecordFactory.cpp:
1293         (WebCore::TimelineRecordFactory::appendProfile):
1294         * inspector/protocol/Profiler.json:
1295
1296 2014-01-26  Timothy Hatcher  <timothy@apple.com>
1297
1298         Include profile with FunctionCall and EvaluateScript Timeline records.
1299
1300         https://bugs.webkit.org/show_bug.cgi?id=127663
1301
1302         Reviewed by Joseph Pecoraro.
1303
1304         * bindings/js/JSCallbackData.cpp:
1305         (WebCore::JSCallbackData::invokeCallback):
1306         * bindings/js/JSEventListener.cpp:
1307         (WebCore::JSEventListener::handleEvent):
1308         * bindings/js/JSMutationCallback.cpp:
1309         (WebCore::JSMutationCallback::call):
1310         * bindings/js/ScheduledAction.cpp:
1311         (WebCore::ScheduledAction::executeFunctionInContext):
1312         * bindings/js/ScriptController.cpp:
1313         (WebCore::ScriptController::evaluateInWorld):
1314         * inspector/InspectorController.cpp:
1315         (WebCore::InspectorController::didCallInjectedScriptFunction):
1316         * inspector/InspectorController.h:
1317         * inspector/InspectorInstrumentation.cpp:
1318         (WebCore::InspectorInstrumentation::didCallFunctionImpl):
1319         (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
1320         * inspector/InspectorInstrumentation.h:
1321         (WebCore::InspectorInstrumentation::didCallFunction):
1322         (WebCore::InspectorInstrumentation::didEvaluateScript):
1323         * inspector/InspectorTimelineAgent.cpp:
1324         (WebCore::InspectorTimelineAgent::willCallFunction):
1325         (WebCore::InspectorTimelineAgent::didCallFunction):
1326         (WebCore::InspectorTimelineAgent::willEvaluateScript):
1327         (WebCore::InspectorTimelineAgent::didEvaluateScript):
1328         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1329         * inspector/InspectorTimelineAgent.h:
1330         * inspector/TimelineRecordFactory.cpp:
1331         (WebCore::TimelineRecordFactory::appendProfile):
1332         * inspector/TimelineRecordFactory.h:
1333         * inspector/WorkerInspectorController.cpp:
1334         (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
1335         * inspector/WorkerInspectorController.h:
1336
1337 2014-01-30  Joseph Pecoraro  <pecoraro@apple.com>
1338
1339         Remove now-empty ScriptController::setCaptureCallStackForUncaughtExceptions
1340         https://bugs.webkit.org/show_bug.cgi?id=127964
1341
1342         Reviewed by Timothy Hatcher.
1343
1344         Remove empty function. It was only needed by v8 at one point.
1345
1346         * bindings/js/ScriptController.h:
1347         * bindings/js/ScriptController.cpp:
1348         Remove empty function.
1349
1350         * inspector/InspectorConsoleAgent.h:
1351         * inspector/InspectorConsoleAgent.cpp:
1352         (WebCore::InspectorConsoleAgent::enable):
1353         (WebCore::InspectorConsoleAgent::disable):
1354         Remove callers and related tracking state.
1355
1356 2014-01-30  Roger Fong  <roger_fong@apple.com>
1357
1358         WebGL load policy should be queried for the top level document.
1359         https://bugs.webkit.org/show_bug.cgi?id=127937.
1360         <rdar://problem/15950122>
1361
1362         Reviewed by Timothy Horton.
1363
1364         * html/HTMLCanvasElement.cpp:
1365         (WebCore::HTMLCanvasElement::getContext):
1366
1367 2014-01-27  Jeffrey Pfau  <jpfau@apple.com>
1368
1369         Add a method for schemes to be registered as supporting cache partitioning
1370         https://bugs.webkit.org/show_bug.cgi?id=127739
1371
1372         Reviewed by Darin Adler.
1373
1374         Currently, this assumes that schemes supporting cache partitioning
1375         also support (scheme, host) doubles for the scheme. Furthermore,
1376         the scheme is currently discarded when partitioning and is only
1377         checked to ensure that partitioning is supported for that scheme: it
1378         is assumed that all origins with the same host double should be binned
1379         together, regardless of scheme.
1380
1381         * WebCore.exp.in:
1382         * page/SecurityOrigin.cpp:
1383         (WebCore::SecurityOrigin::cachePartition):
1384         * platform/SchemeRegistry.cpp:
1385         (WebCore::CachePartitioningSchemes):
1386         (WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
1387         (WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
1388         * platform/SchemeRegistry.h:
1389
1390 2014-01-30  Jer Noble  <jer.noble@apple.com>
1391
1392         [iOS] Convert blocks to lambdas in iOS Fullscreen code.
1393         https://bugs.webkit.org/show_bug.cgi?id=127946
1394
1395         Reviewed by Anders Carlsson.
1396
1397         Pushing a block into a std::function will eventually cause a crash, since std::function
1398         does not know about Block_copy and Block_release.
1399
1400         Lamdas can be intrinsicly converted to blocks, but not vice versa. Switch over all the
1401         blocks in the new iOS Fullscreen code to use lamdas, and use the ref-counted this object
1402         directly rather than implicitly.
1403
1404         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1405         (-[WebVideoFullscreenController exitFullscreen]):
1406         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1407         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
1408         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
1409         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
1410
1411 2014-01-30  Martin Robinson  <mrobinson@igalia.com>
1412
1413         [GTK] [CMake] Add a "make dist" target
1414         https://bugs.webkit.org/show_bug.cgi?id=116378
1415
1416         Reviewed by Gustavo Noronha Silva.
1417
1418         * CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it
1419         and we don't want to distribute the dependency.
1420
1421 2014-01-30  Brady Eidson  <beidson@apple.com>
1422
1423         IDB: ObjectStore cursor advance() support
1424         <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866
1425
1426         Reviewed by Sam Weinig.
1427
1428         Add IDBKeyData sorting for database collation:
1429         * Modules/indexeddb/IDBKeyData.cpp:
1430         (WebCore::IDBKeyData::compare):
1431         * Modules/indexeddb/IDBKeyData.h:
1432
1433         * WebCore.exp.in:
1434
1435         * platform/sql/SQLiteTransaction.h:
1436         (WebCore::SQLiteTransaction::database):
1437
1438 2014-01-30  David Kilzer  <ddkilzer@apple.com>
1439
1440         De-virtual-ize CachedResource::isImage()
1441         <http://webkit.org/b/127936>
1442
1443         Reviewed by Andreas Kling.
1444
1445         Also replace explicit type() checks with isImage().
1446
1447         * loader/SubresourceLoader.cpp:
1448         (WebCore::SubresourceLoader::willSendRequest): Use isImage().
1449         * loader/cache/CachedImage.h:
1450         (WebCore::CachedResource::isImage): Remove virtual override.
1451         * loader/cache/CachedResource.h:
1452         (WebCore::CachedResource::isImage): Check type() instead of
1453         defining a virtual method that returns false by default.
1454         * loader/cache/CachedResourceLoader.cpp:
1455         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().
1456
1457 2014-01-30  Eric Carlson  <eric.carlson@apple.com>
1458
1459         [iOS] don't update media layers on main thread when using AVFoundation
1460         https://bugs.webkit.org/show_bug.cgi?id=127931
1461
1462         Reviewed by Simon Fraser.
1463
1464         * platform/graphics/GraphicsLayerClient.h:
1465         (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.
1466
1467         * platform/graphics/ca/GraphicsLayerCA.cpp:
1468         (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers
1469             should be updated on the main thread.
1470
1471         * rendering/RenderLayerBacking.cpp:
1472         (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see
1473             if video plug-in proxy is enabled.
1474         * rendering/RenderLayerBacking.h:
1475
1476 2014-01-30  Jer Noble  <jer.noble@apple.com>
1477
1478         [MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
1479         https://bugs.webkit.org/show_bug.cgi?id=127929
1480
1481         Reviewed by Eric Carlson.
1482
1483         Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
1484         system font rather than the webkit small control font, and the buttons in the controls
1485         are clipped due to an "off by one" error when calculating the SVG image dimensions.
1486
1487         * Modules/mediacontrols/mediaControlsiOS.css:
1488         (::-webkit-media-controls):
1489         (audio::-webkit-media-controls-play-button):
1490         (audio::-webkit-media-controls-fullscreen-button):
1491         (audio::-webkit-media-controls-time-remaining-display):
1492
1493 2014-01-30  Jeremy Jones  <jeremyj@apple.com>
1494
1495         Refactor WebVideoFullscreenController separating AVKit from MediaElement.
1496         https://bugs.webkit.org/show_bug.cgi?id=127762
1497
1498         Reviewed by Jer Noble.
1499
1500         Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations: 
1501         WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.
1502
1503         * WebCore.xcodeproj/project.pbxproj:
1504         * platform/ios/WebVideoFullscreenControllerAVKit.h:
1505         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1506         (-[WebVideoFullscreenController init]):
1507         (-[WebVideoFullscreenController dealloc]):
1508         (-[WebVideoFullscreenController enterFullscreen:]):
1509         (-[WebVideoFullscreenController exitFullscreen]):
1510         * platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
1511         (WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):
1512         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.
1513         (WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
1514         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.
1515         (NS_ENUM):
1516         (-[WebAVPlayerController init]):
1517         (-[WebAVPlayerController dealloc]):
1518         (-[WebAVPlayerController forwardingTargetForSelector:]):
1519         (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
1520         (-[WebAVPlayerController play:]):
1521         (-[WebAVPlayerController pause:]):
1522         (-[WebAVPlayerController togglePlayback:]):
1523         (-[WebAVPlayerController isPlaying]):
1524         (-[WebAVPlayerController setPlaying:]):
1525         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
1526         (-[WebAVPlayerController seekToTime:]):
1527         (:m_videoFullscreenModel):
1528         (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
1529         (WebVideoFullscreenInterfaceAVKit::setDuration):
1530         (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
1531         (WebVideoFullscreenInterfaceAVKit::setRate):
1532         (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
1533         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
1534         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
1535         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
1536         * platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
1537         (WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):
1538         * platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
1539         (WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
1540         (WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):
1541         * platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.
1542         (WebVideoFullscreenModelMediaElement::setMediaElement):
1543         (WebVideoFullscreenModelMediaElement::handleEvent):
1544         (WebVideoFullscreenModelMediaElement::requestExitFullScreen):
1545         (WebVideoFullscreenModelMediaElement::play):
1546         (WebVideoFullscreenModelMediaElement::pause):
1547         (WebVideoFullscreenModelMediaElement::togglePlayState):
1548         (WebVideoFullscreenModelMediaElement::seekToTime):
1549         (WebVideoFullscreenModelMediaElement::didExitFullscreen):
1550
1551 2014-01-30  Jer Noble  <jer.noble@apple.com>
1552
1553         [MediaControls][iOS] Add a "start load" button.
1554         https://bugs.webkit.org/show_bug.cgi?id=127861
1555
1556         Reviewed by Eric Carlson.
1557
1558         Add a "start load" button which replaces the controls on platforms
1559         where inline playback is not allowed, or when playback without a
1560         user gesture is not allowed.
1561
1562         Add an accessor to MediaControlsHost to query whether inline playback is allowed.:
1563         * Modules/mediacontrols/MediaControlsHost.cpp:
1564         (WebCore::MediaControlsHost::mediaPlaybackAllowsInline):
1565         * Modules/mediacontrols/MediaControlsHost.h:
1566         * Modules/mediacontrols/MediaControlsHost.idl:
1567         * html/HTMLMediaElement.h:
1568         (WebCore::HTMLMediaElement::mediaSession):
1569
1570         Update the base controller to allow more functions to be overridden:
1571         * Modules/mediacontrols/mediaControlsApple.js:
1572         (Controller):
1573         (Controller.prototype.shouldHaveAnyUI):
1574         (Controller.prototype.updateBase):
1575         (Controller.prototype.setControlsType):
1576         (Controller.prototype.updateControls):
1577         (Controller.prototype.handleFullscreenChange):
1578
1579         Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:
1580         * Modules/mediacontrols/mediaControlsiOS.js:
1581         (ControllerIOS.prototype.addVideoListeners):
1582         (ControllerIOS.prototype.removeVideoListeners):
1583         (ControllerIOS.prototype.createBase):
1584         (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
1585         (ControllerIOS.prototype.shouldHaveControls):
1586         (ControllerIOS.prototype.shouldHaveAnyUI):
1587         (ControllerIOS.prototype.createControls):
1588         (ControllerIOS.prototype.setControlsType):
1589         (ControllerIOS.prototype.addStartPlaybackControls):
1590         (ControllerIOS.prototype.removeStartPlaybackControls):
1591         (ControllerIOS.prototype.updateControls):
1592         (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
1593         (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
1594         (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
1595         (ControllerIOS.prototype.handleReadyStateChange):
1596
1597         Add the new art:
1598         * Modules/mediacontrols/mediaControlsiOS.css:
1599         (audio::-webkit-media-controls-start-playback-button):
1600         (audio::-webkit-media-controls-start-playback-button.failed):
1601
1602 2014-01-30  Tim Horton  <timothy_horton@apple.com>
1603
1604         WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
1605         https://bugs.webkit.org/show_bug.cgi?id=127891
1606         <rdar://problem/15931413>
1607
1608         Reviewed by Anders Carlsson.
1609
1610         * WebCore.exp.in:
1611         A surprising export.
1612
1613 2014-01-30  Beth Dakin  <bdakin@apple.com>
1614
1615         https://bugs.webkit.org/show_bug.cgi?id=127371
1616         Explore new API that could be used to help build infinitely scrolling websites
1617         -and corresponding-
1618         <rdar://problem/15244768>
1619
1620         Reviewed by Sam Weinig.
1621
1622         This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop, 
1623         webkitwillrevealleft, and webkitwillrevealright. These events will fire when the 
1624         user has scrolled close to corresponding edge of the document. Right now that is 
1625         defined to be one viewport away from the corresponding edge. 
1626
1627         FrameView::scrollPositionChanged() and 
1628         FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters 
1629         representing the old scroll position and the new position.
1630         * WebCore.exp.in:
1631
1632         New events.
1633         * dom/Document.h:
1634         * dom/Document.idl:
1635         * dom/Element.h:
1636         * dom/Element.idl:
1637         * dom/EventNames.h:
1638         * html/HTMLAttributeNames.in:
1639         * html/HTMLElement.cpp:
1640         (WebCore::populateEventNameForAttributeLocalNameMap):
1641         * page/DOMWindow.h:
1642         * page/DOMWindow.idl:
1643
1644         Send oldPosition and newPosition to scrollPositionChanged().
1645         * page/FrameView.cpp:
1646         (WebCore::FrameView::setFixedVisibleContentRect):
1647         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
1648
1649         After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send 
1650         the see if we should send the new will-reveal events.
1651         (WebCore::FrameView::scrollPositionChanged):
1652
1653         Use the old position and the new position to determine if the events should be 
1654         sent.
1655         (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):
1656
1657         Send new parameters to scrollPositionChanged().
1658         (WebCore::FrameView::scrollTo):
1659         (WebCore::FrameView::wheelEvent):
1660         * page/FrameView.h:
1661
1662 2014-01-30  Szabolcs David  <davidsz@inf.u-szeged.hu>
1663
1664         [curl] Improve realm string parsing in WWW-Authenticate headers
1665         https://bugs.webkit.org/show_bug.cgi?id=127421
1666
1667         Reviewed by Brent Fulgham.
1668
1669         The realm string contains quotes at the beginning and end - this is the
1670         opposite of the libsoup implementation. Furthermore, if the header is
1671         concatenated from two or more another headers, it contains more incorrect part.
1672
1673         * platform/network/curl/ResourceHandleManager.cpp:
1674         (WebCore::removeLeadingAndTrailingQuotes):
1675         (WebCore::getProtectionSpace):
1676
1677 2014-01-30  Anders Carlsson  <andersca@apple.com>
1678
1679         Modernize HTTPHeaderMap iteration
1680         https://bugs.webkit.org/show_bug.cgi?id=127915
1681
1682         Reviewed by Andreas Kling.
1683
1684         * inspector/InspectorResourceAgent.cpp:
1685         (WebCore::buildObjectForHeaders):
1686         (WebCore::InspectorResourceAgent::willLoadXHR):
1687         (WebCore::InspectorResourceAgent::replayXHR):
1688         * loader/CrossOriginAccessControl.cpp:
1689         (WebCore::isSimpleCrossOriginAccessRequest):
1690         (WebCore::createAccessControlPreflightRequest):
1691         * loader/CrossOriginPreflightResultCache.cpp:
1692         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
1693         * loader/DocumentLoader.cpp:
1694         (WebCore::DocumentLoader::responseReceived):
1695         * loader/appcache/ApplicationCacheStorage.cpp:
1696         (WebCore::ApplicationCacheStorage::store):
1697         * loader/cache/CachedRawResource.cpp:
1698         (WebCore::CachedRawResource::canReuse):
1699         * loader/cache/CachedResource.cpp:
1700         (WebCore::CachedResource::updateResponseAfterRevalidation):
1701         * platform/network/HTTPHeaderMap.cpp:
1702         (WebCore::HTTPHeaderMap::copyData):
1703         * platform/network/ResourceRequestBase.cpp:
1704         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
1705         * platform/network/cf/ResourceRequestCFNet.cpp:
1706         (WebCore::setHeaderFields):
1707         * platform/network/mac/ResourceRequestMac.mm:
1708         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1709         * xml/XMLHttpRequest.cpp:
1710         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1711
1712 2014-01-30  Antti Koivisto  <antti@apple.com>
1713
1714         WebPage::determinePrimarySnapshottedPlugIn is slow
1715         https://bugs.webkit.org/show_bug.cgi?id=127905
1716
1717         Reviewed by Anders Carlsson.
1718
1719         * WebCore.exp.in: New exports
1720         * WebCore.xcodeproj/project.pbxproj:
1721         * html/HTMLPlugInImageElement.h:
1722         (WebCore::HTMLPlugInImageElement>): Add isElementOfType<>
1723
1724 2014-01-30  Csaba Osztrogonác  <ossy@webkit.org>
1725
1726         [SOUP] Fix the build if !ENABLE(WEB_TIMING)
1727         https://bugs.webkit.org/show_bug.cgi?id=127906
1728
1729         Reviewed by Gustavo Noronha Silva.
1730
1731         * platform/network/soup/SoupNetworkSession.cpp:
1732
1733 2014-01-30  Andrei Bucur  <abucur@adobe.com>
1734
1735         Remove the ACCELERATED_COMPOSITING flag
1736         https://bugs.webkit.org/show_bug.cgi?id=127833
1737
1738         Reviewed by Antti Koivisto.
1739
1740         Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
1741         mandatory.
1742
1743         Tests: No new tests, no functional change.
1744
1745         * css/MediaQueryEvaluator.cpp:
1746         (WebCore::transform_3dMediaFeatureEval):
1747         * css/StyleResolver.cpp:
1748         (WebCore::StyleResolver::canShareStyleWithElement):
1749         * dom/Document.cpp:
1750         (WebCore::Document::setVisualUpdatesAllowed):
1751         (WebCore::Document::recalcStyle):
1752         (WebCore::Document::createRenderTree):
1753         (WebCore::Document::documentWillBecomeInactive):
1754         (WebCore::Document::documentDidResumeFromPageCache):
1755         (WebCore::Document::windowScreenDidChange):
1756         * dom/PseudoElement.cpp:
1757         (WebCore::PseudoElement::~PseudoElement):
1758         * history/CachedFrame.cpp:
1759         (WebCore::CachedFrameBase::CachedFrameBase):
1760         (WebCore::CachedFrameBase::restore):
1761         (WebCore::CachedFrame::CachedFrame):
1762         * history/CachedFrame.h:
1763         * history/CachedPage.cpp:
1764         (WebCore::CachedPage::restore):
1765         * history/CachedPage.h:
1766         * history/PageCache.cpp:
1767         (WebCore::PageCache::PageCache):
1768         (WebCore::PageCache::markPagesForDeviceScaleChanged):
1769         * history/PageCache.h:
1770         * html/HTMLCanvasElement.cpp:
1771         (WebCore::HTMLCanvasElement::getContext):
1772         (WebCore::HTMLCanvasElement::reset):
1773         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
1774         (WebCore::HTMLCanvasElement::createImageBuffer):
1775         * html/HTMLMediaElement.cpp:
1776         (WebCore::HTMLMediaElement::parseAttribute):
1777         * html/HTMLMediaElement.h:
1778         * html/canvas/CanvasRenderingContext.h:
1779         * html/canvas/CanvasRenderingContext2D.cpp:
1780         (WebCore::CanvasRenderingContext2D::didDraw):
1781         * html/canvas/CanvasRenderingContext2D.h:
1782         * html/canvas/WebGLRenderingContext.cpp:
1783         (WebCore::WebGLRenderingContext::markContextChanged):
1784         (WebCore::WebGLRenderingContext::reshape):
1785         (WebCore::WebGLRenderingContext::platformLayer):
1786         * html/canvas/WebGLRenderingContext.h:
1787         * inspector/InspectorController.cpp:
1788         (WebCore::InspectorController::InspectorController):
1789         * inspector/InspectorInstrumentation.cpp:
1790         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1791         (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
1792         * inspector/InspectorInstrumentation.h:
1793         (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
1794         * inspector/InspectorLayerTreeAgent.cpp:
1795         * inspector/InstrumentingAgents.cpp:
1796         (WebCore::InstrumentingAgents::InstrumentingAgents):
1797         (WebCore::InstrumentingAgents::reset):
1798         * inspector/InstrumentingAgents.h:
1799         * loader/EmptyClients.h:
1800         * page/ChromeClient.h:
1801         * page/Frame.cpp:
1802         (WebCore::Frame::layerTreeAsText):
1803         (WebCore::Frame::deviceOrPageScaleFactorChanged):
1804         * page/Frame.h:
1805         * page/FrameView.cpp:
1806         (WebCore::FrameView::setFrameRect):
1807         (WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
1808         (WebCore::FrameView::hasCompositedContent):
1809         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
1810         (WebCore::FrameView::hasCompositingAncestor):
1811         (WebCore::FrameView::enterCompositingMode):
1812         (WebCore::FrameView::isEnclosedInCompositingLayer):
1813         (WebCore::FrameView::flushCompositingStateIncludingSubframes):
1814         (WebCore::FrameView::isSoftwareRenderable):
1815         (WebCore::FrameView::layout):
1816         (WebCore::FrameView::contentsInCompositedLayer):
1817         (WebCore::FrameView::scrollContentsFastPath):
1818         (WebCore::FrameView::scrollContentsSlowPath):
1819         (WebCore::FrameView::setIsOverlapped):
1820         (WebCore::FrameView::delegatesScrollingDidChange):
1821         (WebCore::FrameView::scrollPositionChanged):
1822         (WebCore::FrameView::updateCompositingLayersAfterScrolling):
1823         (WebCore::FrameView::visibleContentsResized):
1824         (WebCore::FrameView::addedOrRemovedScrollbar):
1825         (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
1826         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
1827         (WebCore::FrameView::adjustTiledBackingCoverage):
1828         (WebCore::FrameView::hasExtendedBackground):
1829         (WebCore::FrameView::extendedBackgroundRect):
1830         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
1831         (WebCore::FrameView::performPostLayoutTasks):
1832         (WebCore::FrameView::paintContents):
1833         (WebCore::FrameView::setTracksRepaints):
1834         (WebCore::FrameView::resetTrackedRepaints):
1835         (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
1836         (WebCore::FrameView::setExposedRect):
1837         * page/FrameView.h:
1838         * page/Page.cpp:
1839         (WebCore::Page::setPageScaleFactor):
1840         (WebCore::Page::setDeviceScaleFactor):
1841         * page/Settings.cpp:
1842         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
1843         * page/animation/AnimationBase.cpp:
1844         (WebCore::AnimationBase::freezeAtTime):
1845         * page/animation/AnimationController.cpp:
1846         (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
1847         * page/animation/CSSPropertyAnimation.cpp:
1848         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1849         (WebCore::CSSPropertyAnimation::blendProperties):
1850         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
1851         * page/animation/CSSPropertyAnimation.h:
1852         * page/animation/CompositeAnimation.cpp:
1853         (WebCore::CompositeAnimation::updateTransitions):
1854         * page/animation/ImplicitAnimation.cpp:
1855         (WebCore::ImplicitAnimation::animate):
1856         (WebCore::ImplicitAnimation::startAnimation):
1857         (WebCore::ImplicitAnimation::pauseAnimation):
1858         (WebCore::ImplicitAnimation::endAnimation):
1859         (WebCore::ImplicitAnimation::timeToNextService):
1860         * page/animation/KeyframeAnimation.cpp:
1861         (WebCore::KeyframeAnimation::animate):
1862         (WebCore::KeyframeAnimation::startAnimation):
1863         (WebCore::KeyframeAnimation::pauseAnimation):
1864         (WebCore::KeyframeAnimation::endAnimation):
1865         (WebCore::KeyframeAnimation::timeToNextService):
1866         * page/ios/FrameIOS.mm:
1867         (WebCore::Frame::viewportOffsetChanged):
1868         (WebCore::Frame::containsTiledBackingLayers):
1869         * page/scrolling/AsyncScrollingCoordinator.cpp:
1870         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
1871         * page/scrolling/ScrollingCoordinator.cpp:
1872         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
1873         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
1874         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
1875         (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
1876         (WebCore::ScrollingCoordinator::headerLayerForFrameView):
1877         (WebCore::ScrollingCoordinator::footerLayerForFrameView):
1878         (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
1879         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
1880         * page/scrolling/ScrollingCoordinator.h:
1881         * platform/ScrollView.cpp:
1882         (WebCore::positionScrollCornerLayer):
1883         (WebCore::ScrollView::positionScrollbarLayers):
1884         (WebCore::ScrollView::paintScrollbars):
1885         (WebCore::ScrollView::paint):
1886         * platform/ScrollableArea.cpp:
1887         (WebCore::ScrollableArea::invalidateScrollbar):
1888         (WebCore::ScrollableArea::invalidateScrollCorner):
1889         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
1890         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
1891         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
1892         (WebCore::ScrollableArea::hasLayerForScrollCorner):
1893         * platform/ScrollableArea.h:
1894         * platform/ScrollbarTheme.h:
1895         * platform/efl/EflScreenUtilities.cpp:
1896         (WebCore::applyFallbackCursor):
1897         * platform/graphics/GraphicsContext3D.h:
1898         * platform/graphics/GraphicsContext3DPrivate.cpp:
1899         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1900         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1901         * platform/graphics/GraphicsContext3DPrivate.h:
1902         * platform/graphics/GraphicsLayer.cpp:
1903         * platform/graphics/GraphicsLayer.h:
1904         * platform/graphics/GraphicsLayerAnimation.cpp:
1905         * platform/graphics/GraphicsLayerAnimation.h:
1906         * platform/graphics/GraphicsLayerClient.h:
1907         * platform/graphics/GraphicsLayerFactory.h:
1908         * platform/graphics/GraphicsLayerUpdater.cpp:
1909         * platform/graphics/GraphicsLayerUpdater.h:
1910         * platform/graphics/ImageBuffer.cpp:
1911         * platform/graphics/ImageBuffer.h:
1912         * platform/graphics/MediaPlayer.cpp:
1913         (WebCore::MediaPlayer::platformLayer):
1914         (WebCore::MediaPlayer::supportsAcceleratedRendering):
1915         * platform/graphics/MediaPlayer.h:
1916         * platform/graphics/MediaPlayerPrivate.h:
1917         * platform/graphics/PlatformLayer.h:
1918         * platform/graphics/TextTrackRepresentation.cpp:
1919         * platform/graphics/TextTrackRepresentation.h:
1920         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1921         (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
1922         (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
1923         (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
1924         (WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
1925         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1926         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
1927         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1928         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
1929         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
1930         * platform/graphics/ca/GraphicsLayerCA.cpp:
1931         * platform/graphics/ca/GraphicsLayerCA.h:
1932         * platform/graphics/ca/LayerFlushScheduler.cpp:
1933         * platform/graphics/ca/LayerFlushScheduler.h:
1934         * platform/graphics/ca/LayerFlushSchedulerClient.h:
1935         * platform/graphics/ca/PlatformCAAnimation.h:
1936         * platform/graphics/ca/PlatformCAFilters.h:
1937         * platform/graphics/ca/PlatformCALayer.h:
1938         * platform/graphics/ca/PlatformCALayerClient.h:
1939         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
1940         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1941         (PlatformCAAnimation::copyTimingFunctionsFrom):
1942         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
1943         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1944         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1945         (PlatformCALayerMac::enumerateRectsBeingDrawn):
1946         * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
1947         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1948         * platform/graphics/ca/win/CACFLayerTreeHost.h:
1949         * platform/graphics/ca/win/CACFLayerTreeHostClient.h:
1950         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
1951         * platform/graphics/ca/win/LayerChangesFlusher.h:
1952         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
1953         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
1954         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1955         (PlatformCAAnimation::copyTimingFunctionsFrom):
1956         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
1957         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1958         (PlatformCALayerWin::createCompatibleLayer):
1959         * platform/graphics/ca/win/PlatformCALayerWin.h:
1960         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
1961         (PlatformCALayerWinInternal::drawTile):
1962         * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
1963         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
1964         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
1965         * platform/graphics/cairo/DrawingBufferCairo.cpp:
1966         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
1967         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1968         (WebCore::GraphicsContext3D::platformLayer):
1969         * platform/graphics/cairo/ImageBufferCairo.cpp:
1970         (WebCore::ImageBuffer::platformLayer):
1971         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1972         (WebCore::GraphicsContext3D::platformLayer):
1973         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1974         * platform/graphics/efl/GraphicsContext3DPrivate.h:
1975         * platform/graphics/gpu/DrawingBuffer.h:
1976         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
1977         * platform/graphics/gpu/TilingData.cpp:
1978         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1979         (WebCore::DrawingBuffer::frontColorBuffer):
1980         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1981         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
1982         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
1983         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1984         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
1985         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
1986         (WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):
1987         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1988         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1989         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1990         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
1991         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
1992         (WebCore::MediaPlayerPrivateQTKit::platformLayer):
1993         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
1994         (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
1995         (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
1996         (-[WebCoreMovieObserver layerHostChanged:]):
1997         * platform/graphics/mac/WebGLLayer.h:
1998         * platform/graphics/mac/WebGLLayer.mm:
1999         * platform/graphics/mac/WebLayer.h:
2000         * platform/graphics/mac/WebLayer.mm:
2001         * platform/graphics/mac/WebTiledLayer.h:
2002         * platform/graphics/mac/WebTiledLayer.mm:
2003         * platform/graphics/opengl/GLDefs.h:
2004         * platform/graphics/opengl/GLPlatformContext.cpp:
2005         * platform/graphics/opengl/GLPlatformContext.h:
2006         * platform/graphics/opengl/GLPlatformSurface.cpp:
2007         * platform/graphics/opengl/GLPlatformSurface.h:
2008         * platform/graphics/surfaces/GLTransportSurface.cpp:
2009         * platform/graphics/surfaces/GLTransportSurface.h:
2010         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
2011         * platform/graphics/surfaces/glx/GLXContext.cpp:
2012         * platform/graphics/surfaces/glx/GLXContext.h:
2013         * platform/graphics/surfaces/glx/GLXSurface.cpp:
2014         * platform/graphics/surfaces/glx/GLXSurface.h:
2015         * platform/graphics/texmap/TextureMapper.cpp:
2016         * platform/graphics/texmap/TextureMapper.h:
2017         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2018         * platform/graphics/texmap/TextureMapperBackingStore.h:
2019         * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
2020         * platform/graphics/texmap/TextureMapperFPSCounter.h:
2021         * platform/graphics/texmap/TextureMapperGL.cpp:
2022         * platform/graphics/texmap/TextureMapperGL.h:
2023         * platform/graphics/texmap/TextureMapperLayer.cpp:
2024         * platform/graphics/texmap/TextureMapperLayer.h:
2025         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
2026         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
2027         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
2028         * platform/graphics/texmap/TextureMapperTile.cpp:
2029         * platform/graphics/texmap/TextureMapperTile.h:
2030         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
2031         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
2032         * platform/graphics/win/GraphicsContext3DWin.cpp:
2033         (WebCore::GraphicsContext3D::platformLayer):
2034         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2035         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
2036         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
2037         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
2038         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2039         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
2040         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
2041         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
2042         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
2043         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
2044         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
2045         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
2046         (WebCore::CreateCGImageFromPixelBuffer):
2047         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
2048         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
2049         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
2050         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
2051         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
2052         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
2053         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
2054         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
2055         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
2056         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):
2057         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2058         * platform/graphics/win/WKCAImageQueue.cpp:
2059         * platform/graphics/win/WKCAImageQueue.h:
2060         * platform/mac/ScrollbarThemeMac.h:
2061         * platform/mac/ScrollbarThemeMac.mm:
2062         * plugins/PluginViewBase.h:
2063         * rendering/FlowThreadController.cpp:
2064         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
2065         * rendering/FlowThreadController.h:
2066         * rendering/RenderBox.cpp:
2067         (WebCore::RenderBox::styleWillChange):
2068         (WebCore::isCandidateForOpaquenessTest):
2069         (WebCore::layersUseImage):
2070         (WebCore::RenderBox::imageChanged):
2071         * rendering/RenderBoxModelObject.cpp:
2072         (WebCore::RenderBoxModelObject::suspendAnimations):
2073         (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
2074         * rendering/RenderBoxModelObject.h:
2075         * rendering/RenderElement.cpp:
2076         (WebCore::RenderElement::adjustStyleDifference):
2077         (WebCore::RenderElement::setStyle):
2078         (WebCore::RenderElement::styleWillChange):
2079         * rendering/RenderEmbeddedObject.cpp:
2080         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
2081         * rendering/RenderEmbeddedObject.h:
2082         * rendering/RenderFlowThread.cpp:
2083         (WebCore::RenderFlowThread::RenderFlowThread):
2084         (WebCore::RenderFlowThread::layout):
2085         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
2086         * rendering/RenderFlowThread.h:
2087         * rendering/RenderFullScreen.cpp:
2088         * rendering/RenderImage.cpp:
2089         (WebCore::RenderImage::imageDimensionsChanged):
2090         (WebCore::RenderImage::notifyFinished):
2091         * rendering/RenderLayer.cpp:
2092         (WebCore::RenderLayer::RenderLayer):
2093         (WebCore::RenderLayer::~RenderLayer):
2094         (WebCore::RenderLayer::canRender3DTransforms):
2095         (WebCore::RenderLayer::paintsWithFilters):
2096         (WebCore::RenderLayer::updateLayerPositions):
2097         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
2098         (WebCore::RenderLayer::currentTransform):
2099         (WebCore::RenderLayer::updateDescendantDependentFlags):
2100         (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
2101         (WebCore::RenderLayer::shouldRepaintAfterLayout):
2102         (WebCore::RenderLayer::enclosingFilterRepaintLayer):
2103         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
2104         (WebCore::RenderLayer::clippingRootForPainting):
2105         (WebCore::RenderLayer::addChild):
2106         (WebCore::RenderLayer::removeChild):
2107         (WebCore::RenderLayer::removeOnlyThisLayer):
2108         (WebCore::RenderLayer::scrollTo):
2109         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
2110         (WebCore::RenderLayer::invalidateScrollbarRect):
2111         (WebCore::RenderLayer::invalidateScrollCornerRect):
2112         (WebCore::RenderLayer::positionOverflowControls):
2113         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2114         (WebCore::RenderLayer::paintOverflowControls):
2115         (WebCore::shouldDoSoftwarePaint):
2116         (WebCore::RenderLayer::paintLayer):
2117         (WebCore::RenderLayer::calculateClipRects):
2118         * rendering/RenderLayer.h:
2119         * rendering/RenderLayerBacking.cpp:
2120         * rendering/RenderLayerBacking.h:
2121         * rendering/RenderLayerCompositor.cpp:
2122         * rendering/RenderLayerCompositor.h:
2123         * rendering/RenderNamedFlowThread.cpp:
2124         (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
2125         * rendering/RenderNamedFlowThread.h:
2126         * rendering/RenderObject.cpp:
2127         (WebCore::RenderObject::containerForRepaint):
2128         (WebCore::RenderObject::repaintUsingContainer):
2129         * rendering/RenderTreeAsText.cpp:
2130         (WebCore::write):
2131         * rendering/RenderVideo.cpp:
2132         (WebCore::RenderVideo::updatePlayer):
2133         (WebCore::RenderVideo::acceleratedRenderingStateChanged):
2134         * rendering/RenderVideo.h:
2135         * rendering/RenderView.cpp:
2136         (WebCore::RenderView::paintBoxDecorations):
2137         (WebCore::RenderView::repaintRootContents):
2138         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
2139         (WebCore::RenderView::repaintViewAndCompositedLayers):
2140         (WebCore::RenderView::setMaximalOutlineSize):
2141         (WebCore::RenderView::compositor):
2142         (WebCore::RenderView::setIsInWindow):
2143         * rendering/RenderView.h:
2144         * rendering/RenderWidget.cpp:
2145         (WebCore::RenderWidget::setWidgetGeometry):
2146         (WebCore::RenderWidget::requiresAcceleratedCompositing):
2147         * rendering/RenderWidget.h:
2148         * rendering/style/RenderStyle.cpp:
2149         (WebCore::RenderStyle::changeRequiresLayout):
2150         (WebCore::RenderStyle::changeRequiresLayerRepaint):
2151         (WebCore::RenderStyle::changeRequiresRecompositeLayer):
2152         (WebCore::RenderStyle::diff):
2153         * rendering/style/RenderStyle.h:
2154         * rendering/style/RenderStyleConstants.h:
2155         * rendering/style/StyleRareNonInheritedData.cpp:
2156         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2157         (WebCore::StyleRareNonInheritedData::operator==):
2158         * rendering/style/StyleRareNonInheritedData.h:
2159         * testing/Internals.cpp:
2160         (WebCore::Internals::resetToConsistentState):
2161         (WebCore::Internals::setHeaderHeight):
2162         (WebCore::Internals::setFooterHeight):
2163
2164 2014-01-30  Krzysztof Czech  <k.czech@samsung.com>
2165
2166         AX: Clean up AccessibilityRenderObject
2167         https://bugs.webkit.org/show_bug.cgi?id=127838
2168
2169         Reviewed by Chris Fleizach.
2170
2171         Reducing some code by implementing ariaElementsFromAttribute.
2172         It is used as a helper for other methods.
2173
2174         No new tests. Covered by existing ones.
2175
2176         * accessibility/AccessibilityRenderObject.cpp:
2177         (WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
2178         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
2179         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
2180         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
2181         * accessibility/AccessibilityRenderObject.h:
2182
2183 2014-01-29  Commit Queue  <commit-queue@webkit.org>
2184
2185         Unreviewed, rolling out r163048.
2186         http://trac.webkit.org/changeset/163048
2187         https://bugs.webkit.org/show_bug.cgi?id=127890
2188
2189         Caused many crashes, detected by EWS prior to landing
2190         (Requested by ap on #webkit).
2191
2192         * Modules/mediacontrols/MediaControlsHost.cpp:
2193         (WebCore::MediaControlsHost::sortedTrackListForMenu):
2194         (WebCore::MediaControlsHost::displayNameForTrack):
2195         (WebCore::MediaControlsHost::captionDisplayMode):
2196         * WebCore.exp.in:
2197         * WebCore.vcxproj/WebCore.vcxproj:
2198         * WebCore.vcxproj/WebCore.vcxproj.filters:
2199         * WebCore.xcodeproj/project.pbxproj:
2200         * css/DocumentRuleSets.cpp:
2201         (WebCore::DocumentRuleSets::initUserStyle):
2202         * css/InspectorCSSOMWrappers.cpp:
2203         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
2204         * dom/Document.cpp:
2205         (WebCore::Document::setCompatibilityMode):
2206         (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
2207         (WebCore::Document::captionPreferencesChanged):
2208         * dom/DocumentStyleSheetCollection.cpp:
2209         * dom/DocumentStyleSheetCollection.h:
2210         * html/HTMLMediaElement.cpp:
2211         (WebCore::HTMLMediaElement::HTMLMediaElement):
2212         (WebCore::HTMLMediaElement::parseAttribute):
2213         * html/shadow/MediaControlElements.cpp:
2214         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
2215         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
2216         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
2217         * page/CaptionStyleSheetMediaAF.cpp: Removed.
2218         * page/CaptionStyleSheetMediaAF.h: Removed.
2219         * page/CaptionUserPreferences.cpp:
2220         (WebCore::CaptionUserPreferences::CaptionUserPreferences):
2221         (WebCore::CaptionUserPreferences::notify):
2222         (WebCore::CaptionUserPreferences::setCaptionDisplayMode):
2223         (WebCore::CaptionUserPreferences::userPrefersCaptions):
2224         (WebCore::CaptionUserPreferences::setUserPrefersCaptions):
2225         (WebCore::CaptionUserPreferences::userPrefersSubtitles):
2226         (WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
2227         (WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
2228         (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
2229         (WebCore::CaptionUserPreferences::captionPreferencesChanged):
2230         (WebCore::CaptionUserPreferences::textTrackSelectionScore):
2231         (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
2232         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
2233         * page/CaptionUserPreferences.h:
2234         (WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
2235         (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
2236         (WebCore::CaptionUserPreferences::testingMode):
2237         (WebCore::CaptionUserPreferences::setTestingMode):
2238         (WebCore::CaptionUserPreferences::pageGroup):
2239         * page/CaptionUserPreferencesMediaAF.cpp:
2240         (WebCore::userCaptionPreferencesChangedNotificationCallback):
2241         (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
2242         (WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
2243         (WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
2244         (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
2245         (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
2246         (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
2247         (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
2248         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
2249         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
2250         (WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
2251         (WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
2252         (WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
2253         (WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
2254         (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
2255         (WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
2256         (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
2257         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
2258         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
2259         * page/CaptionUserPreferencesMediaAF.h:
2260         * page/Page.cpp:
2261         * page/Page.h:
2262         * page/PageGroup.cpp:
2263         (WebCore::PageGroup::captionPreferencesChanged):
2264         (WebCore::PageGroup::captionPreferences):
2265         * page/PageGroup.h:
2266         * testing/InternalSettings.cpp:
2267         (WebCore::InternalSettings::setShouldDisplayTrackKind):
2268         (WebCore::InternalSettings::shouldDisplayTrackKind):
2269         * testing/Internals.cpp:
2270         (WebCore::Internals::resetToConsistentState):
2271         (WebCore::Internals::Internals):
2272         (WebCore::Internals::captionsStyleSheetOverride):
2273         (WebCore::Internals::setCaptionsStyleSheetOverride):
2274         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
2275         (WebCore::Internals::setCaptionDisplayMode):
2276
2277 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
2278
2279         Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
2280         https://bugs.webkit.org/show_bug.cgi?id=127845
2281
2282         Reviewed by Joseph Pecoraro.
2283
2284         * Configurations/FeatureDefines.xcconfig:
2285         * bindings/js/JSDOMWindowBase.cpp:
2286         (WebCore::JSDOMWindowBase::supportsProfiling):
2287
2288 2014-01-29  Gavin Barraclough  <barraclough@apple.com>
2289
2290         Add IsVisibleOrOccluded to ViewState
2291         https://bugs.webkit.org/show_bug.cgi?id=127875
2292
2293         Reviewed by Anders Carlsson.
2294
2295         * page/ViewState.h:
2296             - added IsVisibleOrOccluded
2297
2298 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
2299
2300         EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
2301         and selectFrameElementInParentIfFullySelected
2302         https://bugs.webkit.org/show_bug.cgi?id=127834
2303
2304         Reviewed by Alexey Proskuryakov.
2305
2306         Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.
2307
2308         In addition, removed the rather error-prone function override of setSelection since TextGranularity,
2309         which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.
2310
2311         * editing/FrameSelection.cpp:
2312         (WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
2313         Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
2314         There are two layout tests that fail without this.
2315         (WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
2316         (WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call
2317
2318         * editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
2319         selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.
2320
2321         * page/EventHandler.cpp:
2322         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
2323         (WebCore::EventHandler::updateSelectionForMouseDrag):
2324         (WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.
2325
2326 2014-01-29  Jer Noble  <jer.noble@apple.com>
2327
2328         Unreviewed iOS build fix after 163050.
2329
2330         Import CALayer.h explicitly as (on iOS) it is not included by other headers.
2331
2332         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2333
2334 2014-01-29  Jer Noble  <jer.noble@apple.com>
2335
2336         Unreviewed Mac Build fix after r163046.
2337
2338         Forward define AVSampleLayerDisplayLayer and its methods.
2339
2340         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2341
2342 2014-01-26  Sam Weinig  <sam@webkit.org>
2343
2344         CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
2345         https://bugs.webkit.org/show_bug.cgi?id=127666
2346
2347         Reviewed by Eric Carlson.
2348
2349         This patch:
2350         - Makes CaptionUserPreferences a singleton (temporary) that is accessed
2351           via Page.
2352         - Simplifies overriding system preferences by requiring that a Document be
2353           be passed so the correct Settings object can be obtained (and not just a 
2354           random one).
2355         - Stops using UserStyleSheets for captions style injection, and instead
2356           adds a new style sheet to the DocumentStyleSheetCollection.
2357         - Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp
2358
2359         * WebCore.vcxproj/WebCore.vcxproj:
2360         * WebCore.vcxproj/WebCore.vcxproj.filters:
2361         * WebCore.xcodeproj/project.pbxproj:
2362         Add new files.
2363
2364         * WebCore.exp.in:
2365         Update exports.
2366
2367         * css/DocumentRuleSets.cpp:
2368         * css/InspectorCSSOMWrappers.cpp:
2369         * dom/Document.cpp:
2370         * dom/DocumentStyleSheetCollection.cpp:
2371         * dom/DocumentStyleSheetCollection.h:
2372         Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
2373         to an explicit caption style sheet.
2374
2375         * Modules/mediacontrols/MediaControlsHost.cpp:
2376         * html/HTMLMediaElement.cpp:
2377         * html/shadow/MediaControlElements.cpp:
2378         Get the CaptionUserPreferences via the Page.
2379
2380         * page/CaptionStyleSheetMediaAF.cpp: Added.
2381         * page/CaptionStyleSheetMediaAF.h: Added.
2382         Move caption style sheet creation here. If the global style changes, the sheet is invalidated
2383         and this is called again.
2384
2385         * page/CaptionUserPreferences.cpp:
2386         * page/CaptionUserPreferences.h:
2387         - Removes unused m_havePreferences member.
2388         - Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
2389         - Remove setUserPrefersFoo() functions and just set the Settings directly.
2390         - Move all the testing only pieces together.
2391         
2392         * page/CaptionUserPreferencesMediaAF.cpp:
2393         * page/CaptionUserPreferencesMediaAF.h:
2394         - Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
2395         - Stop waiting for an interested party, and just register for appearance change
2396           notifications right away. Media elements are common enough that this should not
2397           make a difference.
2398
2399         * page/Page.cpp:
2400         (WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
2401         Add helper to call captionPreferencesChanged() on all the Pages.
2402
2403         (WebCore::Page::captionPreferences):
2404         Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
2405         to extract the singleton aspects of it into another class, and leave the per-Page parts here.
2406
2407         * page/Page.h:
2408         * page/PageGroup.cpp:
2409         * page/PageGroup.h:
2410         Remove CaptionUserPreferences from here.
2411
2412         * testing/InternalSettings.cpp:
2413         (WebCore::InternalSettings::setShouldDisplayTrackKind):
2414         (WebCore::InternalSettings::shouldDisplayTrackKind):
2415         Override the settings for the page directly.
2416
2417         * testing/Internals.cpp:
2418         (WebCore::Internals::resetToConsistentState):
2419         (WebCore::Internals::Internals):
2420         (WebCore::Internals::captionsStyleSheetOverride):
2421         (WebCore::Internals::setCaptionsStyleSheetOverride):
2422         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
2423         (WebCore::Internals::setCaptionDisplayMode):
2424         Get the CaptionUserPreferences via the Page.
2425
2426 2014-01-29  Jer Noble  <jer.noble@apple.com>
2427
2428         [MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
2429         https://bugs.webkit.org/show_bug.cgi?id=127846
2430
2431         Reviewed by Darin Adler.
2432
2433         To work around a compile issue, only include those paths containing classes and typedefs
2434         which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.
2435
2436         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2437
2438 2014-01-29  Brady Eidson  <beidson@apple.com>
2439
2440         IDB: Fully implement IDBKeyData encoding/decoding
2441         https://bugs.webkit.org/show_bug.cgi?id=127863
2442
2443         Rubberstamped by Alexey Proskuryakov.
2444
2445         * platform/KeyedCoding.h:
2446
2447         * Modules/indexeddb/IDBKeyData.cpp:
2448         (WebCore::IDBKeyData::encode):
2449         (WebCore::IDBKeyData::decode):
2450
2451         * WebCore.exp.in:
2452
2453 2014-01-29  Bem Jones-Bey  <bjonesbe@adobe.com>
2454
2455         clip-path swaps bottom radii for the inset shape
2456         https://bugs.webkit.org/show_bug.cgi?id=127859
2457
2458         Reviewed by Dirk Schulze.
2459
2460         The bottom right and bottom left radii were passed in the wrong order,
2461         causing the wrong corner to be clipped in the resultant rendering.
2462
2463         Test: css3/masking/clip-path-inset-corners.html
2464
2465         * rendering/style/BasicShapes.cpp:
2466         (WebCore::BasicShapeInset::path): Change the parameter order to be
2467         correct.
2468
2469 2014-01-29  Jer Noble  <jer.noble@apple.com>
2470
2471         [MediaControls][iOS] Hook up the fullscreen button
2472         https://bugs.webkit.org/show_bug.cgi?id=127850
2473
2474         Reviewed by Eric Carlson.
2475
2476         For the fullscreen button, do the same thing we do for the play button: handle touchstart,
2477         touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.
2478
2479         * Modules/mediacontrols/mediaControlsiOS.js:
2480         (ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
2481         (ControllerIOS.prototype.isFullScreen): Override.
2482         (ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
2483         (ControllerIOS.prototype.handleFullscreenTouchStart): Added.
2484         (ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
2485         (ControllerIOS.prototype.handleFullscreenTouchCancel): Added.
2486
2487 2014-01-29  Brady Eidson  <beidson@apple.com>
2488
2489         IDB: Opening an existing database is broken
2490         https://bugs.webkit.org/show_bug.cgi?id=127851
2491
2492         Reviewed by Tim Hatcher.
2493
2494         * Modules/indexeddb/IDBDatabaseBackend.cpp:
2495         (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
2496         (WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
2497         (WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
2498           been called yet, then it is incorrect to process any pending calls right now.
2499         * Modules/indexeddb/IDBDatabaseBackend.h:
2500
2501 2014-01-29  Oliver Hunt  <oliver@apple.com>
2502
2503         This dereference should not actually be necessary, and
2504         is producing deprecation warnings with newer perls
2505
2506         * bindings/scripts/CodeGeneratorJS.pm:
2507         (GenerateAttributesHashTable):
2508
2509 2014-01-28  Oliver Hunt  <oliver@apple.com>
2510
2511         Make DOM attributes appear to be faux accessor properties
2512         https://bugs.webkit.org/show_bug.cgi?id=127797
2513
2514         Reviewed by Michael Saboff.
2515
2516         Refactor the bindings generator, and make sure we emit
2517         the CustomAccessor flag on properties that should 
2518         appear to be accessors.
2519
2520         * bindings/scripts/CodeGeneratorJS.pm:
2521         (GenerateGetOwnPropertySlotBody):
2522         (GenerateAttributesHashTable):
2523         (GenerateImplementation):
2524
2525 2014-01-29  Alex Christensen  <achristensen@webkit.org>
2526
2527         Prepare for accelerated compositing on WinCairo.
2528         https://bugs.webkit.org/show_bug.cgi?id=127843
2529
2530         Reviewed by Anders Carlsson.
2531
2532         * platform/network/curl/ResourceHandleManager.cpp:
2533         (WebCore::setupFormData):
2534         Remove VS2005 warning workaround.
2535         * WebCore.vcxproj/WebCore.vcxproj:
2536         Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
2537         to avoid warnings because they are also included in StyleAllInOne.cpp and
2538         CSSAllInOne.cpp, respectively.
2539
2540 2014-01-28  Michael Saboff  <msaboff@apple.com>
2541
2542         Merge the jsCStack branch
2543         https://bugs.webkit.org/show_bug.cgi?id=127763
2544
2545         Reviewed by Mark Hahnenberg.
2546
2547         Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
2548         up to changeset 162958.
2549
2550 2014-01-29  Dan Bernstein  <mitz@apple.com>
2551
2552         Fixed the iOS build.
2553
2554         * bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.
2555
2556 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
2557
2558         Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
2559         https://bugs.webkit.org/show_bug.cgi?id=127840
2560
2561         Reviewed by Mark Lam.
2562
2563         * bindings/js/JSDOMWindowBase.cpp:
2564         (WebCore::JSDOMWindowBase::supportsProfiling):
2565         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2566         * bindings/js/PageScriptDebugServer.cpp:
2567         * bindings/js/PageScriptDebugServer.h:
2568         * bindings/js/ScriptProfile.cpp:
2569         * bindings/js/ScriptProfile.h:
2570         * bindings/js/ScriptProfileNode.h:
2571         * bindings/js/ScriptProfiler.cpp:
2572         * bindings/js/ScriptProfiler.h:
2573         * bindings/js/WorkerScriptDebugServer.cpp:
2574         * bindings/js/WorkerScriptDebugServer.h:
2575         * inspector/InspectorConsoleAgent.h:
2576         * inspector/InspectorConsoleInstrumentation.h:
2577         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
2578         * inspector/InspectorController.cpp:
2579         (WebCore::InspectorController::InspectorController):
2580         (WebCore::InspectorController::resume):
2581         * inspector/InspectorController.h:
2582         * inspector/InspectorDOMDebuggerAgent.cpp:
2583         * inspector/InspectorDOMDebuggerAgent.h:
2584         * inspector/InspectorHeapProfilerAgent.cpp:
2585         * inspector/InspectorHeapProfilerAgent.h:
2586         * inspector/InspectorInstrumentation.cpp:
2587         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
2588         (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
2589         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2590         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2591         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2592         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2593         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2594         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
2595         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2596         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
2597         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2598         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
2599         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
2600         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
2601         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2602         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
2603         * inspector/InspectorInstrumentation.h:
2604         * inspector/InspectorProfilerAgent.cpp:
2605         * inspector/InspectorProfilerAgent.h:
2606         * inspector/InstrumentingAgents.cpp:
2607         (WebCore::InstrumentingAgents::InstrumentingAgents):
2608         (WebCore::InstrumentingAgents::reset):
2609         * inspector/InstrumentingAgents.h:
2610         * inspector/PageDebuggerAgent.cpp:
2611         * inspector/PageDebuggerAgent.h:
2612         * inspector/ScriptProfile.idl:
2613         * inspector/ScriptProfileNode.idl:
2614         * inspector/WebDebuggerAgent.cpp:
2615         * inspector/WebDebuggerAgent.h:
2616         * inspector/WorkerDebuggerAgent.cpp:
2617         * inspector/WorkerDebuggerAgent.h:
2618         * inspector/WorkerInspectorController.cpp:
2619         (WebCore::WorkerInspectorController::WorkerInspectorController):
2620         (WebCore::WorkerInspectorController::resume):
2621         * inspector/WorkerInspectorController.h:
2622         * inspector/WorkerRuntimeAgent.cpp:
2623         (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
2624         * inspector/WorkerRuntimeAgent.h:
2625         * loader/FrameLoader.cpp:
2626         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2627         * page/Console.cpp:
2628         * page/Console.h:
2629         * page/Console.idl:
2630         * testing/Internals.cpp:
2631         (WebCore::Internals::resetToConsistentState):
2632         * workers/WorkerMessagingProxy.cpp:
2633         (WebCore::connectToWorkerGlobalScopeInspectorTask):
2634         (WebCore::WorkerMessagingProxy::connectToInspector):
2635         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
2636         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
2637         (WebCore::dispatchOnInspectorBackendTask):
2638         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
2639
2640 2014-01-29  Eric Carlson  <eric.carlson@apple.com>
2641
2642         [iOS] cleanup MediaPlayer.cpp
2643         https://bugs.webkit.org/show_bug.cgi?id=127821
2644
2645         Reviewed by Jer Noble.
2646
2647         Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.
2648
2649         * platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS
2650         (WebCore::installedMediaEngines): Drive by cleanup to return early if registration has
2651             already happened.
2652         (WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless 
2653             isVideoPluginProxyEnabled returns true.
2654
2655 2014-01-29  Youenn Fablet  <youennf@gmail.com>
2656
2657         Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
2658         https://bugs.webkit.org/show_bug.cgi?id=125840
2659
2660         Reviewed by Alexey Proskuryakov.
2661
2662         Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
2663         This patch makes it clear that null/empty string is returned whenever the error flag is set.
2664         This new code path is covered by the added test.
2665         
2666         Test: http/tests/xmlhttprequest/response-access-on-error.html
2667
2668         * xml/XMLHttpRequest.cpp:
2669         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2670         (WebCore::XMLHttpRequest::getResponseHeader):
2671         * xml/XMLHttpRequest.h:
2672         * xml/XMLHttpRequest.idl:
2673
2674 2014-01-29  Antti Koivisto  <antti@apple.com>
2675
2676         REGRESSION (r162947): Repaint test results are different between WK1 and WK2
2677         https://bugs.webkit.org/show_bug.cgi?id=127814
2678
2679         Reviewed by Anders Carlsson.
2680
2681         * page/FrameView.cpp:
2682         (WebCore::FrameView::repaintContentRectangle):
2683         
2684             Move repaint rect logging to RenderView.
2685
2686         * rendering/RenderView.cpp:
2687         (WebCore::RenderView::repaintViewRectangle):
2688         
2689             Record raw repaint rects instead of optimized ones.
2690
2691 2014-01-29  Brady Eidson  <beidson@apple.com>
2692
2693         IDB: Serialize IDBKeyDatas to disk, not IDBKeys
2694         https://bugs.webkit.org/show_bug.cgi?id=127829
2695
2696         Reviewed by Tim Horton.
2697
2698         Move encode/decode from IDBKey to IDBKeyData.
2699
2700         * Modules/indexeddb/IDBKey.cpp:
2701         * Modules/indexeddb/IDBKey.h:
2702
2703         * Modules/indexeddb/IDBKeyData.cpp:
2704         (WebCore::IDBKeyData::IDBKeyData):
2705         (WebCore::IDBKeyData::encode):
2706         (WebCore::IDBKeyData::decode):
2707         * Modules/indexeddb/IDBKeyData.h:
2708
2709         * WebCore.exp.in:
2710
2711 2014-01-29  Antti Koivisto  <antti@apple.com>
2712
2713         REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
2714         https://bugs.webkit.org/show_bug.cgi?id=127809
2715
2716         Reviewed by Anders Carlsson.
2717
2718         These tests generate very large number of small repaint rectangles that overwhelm the region code.
2719
2720         * page/FrameView.cpp:
2721         (WebCore::FrameView::repaintContentRectangle):
2722         * platform/graphics/Region.h:
2723         (WebCore::Region::gridSize):
2724         (WebCore::Region::Shape::gridSize):
2725         
2726             Add accessor for getting the current region grid complexity.
2727
2728         * rendering/RenderView.cpp:
2729         (WebCore::RenderView::repaintViewRectangle):
2730         
2731             If the region gets very complex merge the repaint rects into a single big rectangle.
2732
2733 2014-01-29  Radu Stavila  <stavila@adobe.com>
2734
2735         [CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
2736         https://bugs.webkit.org/show_bug.cgi?id=123886
2737
2738         When an element flowed into a scrollable region is scrolled using the mouse wheel, the event 
2739         needs to be propagated to the region containing that element, on top of which the cursor
2740         is located.
2741
2742         Reviewed by Antti Koivisto.
2743
2744         Tests: fast/regions/wheel-scroll-abspos.html
2745                fast/regions/wheel-scroll.html
2746
2747         * page/EventHandler.cpp:
2748         (WebCore::scrollNode):
2749         (WebCore::EventHandler::defaultWheelEventHandler):
2750         * rendering/RenderBox.cpp:
2751         (WebCore::RenderBox::scroll):
2752         (WebCore::RenderBox::scrollWithWheelEventLocation):
2753         * rendering/RenderBox.h:
2754         * rendering/RenderFlowThread.cpp:
2755         (WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):
2756         * rendering/RenderFlowThread.h:
2757
2758 2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2759
2760         REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
2761         https://bugs.webkit.org/show_bug.cgi?id=127836
2762
2763         Reviewed by Gustavo Noronha Silva.
2764
2765         The problem is that I assumed that several things done in
2766         ResourceRequest::soupURI() were always desired, so I moved them to
2767         URL. This patch restores the previous behaviour, so that those
2768         tings are only done right before making a request.
2769
2770         * platform/network/soup/ResourceRequestSoup.cpp:
2771         (WebCore::ResourceRequest::createSoupURI):
2772         * platform/soup/URLSoup.cpp:
2773         (WebCore::URL::createSoupURI):
2774
2775 2014-01-29  Krzysztof Czech  <k.czech@samsung.com>
2776
2777         [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
2778         https://bugs.webkit.org/show_bug.cgi?id=121684
2779
2780         Reviewed by Mario Sanchez Prada.
2781
2782         Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
2783         Moved elementsFromAttribut to AccessibilityObject to have common interface
2784         for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
2785         supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.
2786
2787         No new tests. Covered by existed one.
2788
2789         * accessibility/AccessibilityNodeObject.cpp:
2790         * accessibility/AccessibilityNodeObject.h:
2791         * accessibility/AccessibilityObject.cpp:
2792         (WebCore::AccessibilityObject::elementsFromAttribute):
2793         * accessibility/AccessibilityObject.h:
2794         (WebCore::AccessibilityObject::supportsARIADescribedBy):
2795         (WebCore::AccessibilityObject::ariaDescribedByElements):
2796         * accessibility/AccessibilityRenderObject.cpp:
2797         (WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
2798         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
2799         * accessibility/AccessibilityRenderObject.h:
2800         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2801         (setAtkRelationSetFromCoreObject):
2802
2803 2014-01-29  Sergio Villar Senin  <svillar@igalia.com>
2804
2805         [CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
2806         https://bugs.webkit.org/show_bug.cgi?id=127057
2807
2808         Reviewed by Antti Koivisto.
2809
2810         We were incorrectly dumping minmax(x,y) as "x y" instead of
2811         "minmax(x,y)". That's because we were treating minmax() internally
2812         as a CSSValueList instead of a CSSFunction. Replaced that and also
2813         added some extra information to our tests in order to check that
2814         we don't regress. From now on the CSS grid layout testing helper
2815         functions print not only the computed style but also the contents
2816         of element.style.webkitGridDefinition{Columns|Rows}.
2817
2818         * css/CSSFunctionValue.h:
2819         (WebCore::CSSFunctionValue::arguments):
2820         * css/CSSParser.cpp:
2821         (WebCore::CSSParser::parseGridTrackList):
2822         (WebCore::CSSParser::parseGridTrackRepeatFunction):
2823         (WebCore::CSSParser::parseGridTrackSize):
2824         * css/CSSParser.h:
2825         * css/StyleResolver.cpp:
2826         (WebCore::createGridTrackSize):
2827
2828 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
2829
2830         Rename notifyRendererOfSelectionChange
2831         https://bugs.webkit.org/show_bug.cgi?id=127831
2832
2833         Reviewed by Antti Koivisto.
2834
2835         Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.
2836
2837         * WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
2838         * editing/FrameSelection.cpp:
2839         (WebCore::FrameSelection::setSelection):
2840         (WebCore::FrameSelection::selectAll):
2841         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
2842         of text form control's shadow DOM no longer depends on renderer.
2843         * editing/FrameSelection.h:
2844         * html/HTMLTextFormControlElement.cpp:
2845         (WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.
2846         * page/EventHandler.cpp:
2847         (WebCore::EventHandler::handleMouseReleaseEvent):
2848
2849 2014-01-28  Jer Noble  <jer.noble@apple.com>
2850
2851         [Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader:shouldWaitForResponseToAuthenticationChallenge:
2852         https://bugs.webkit.org/show_bug.cgi?id=127806
2853
2854         Reviewed by Eric Carlson.
2855
2856         In addition to the normal "user/password" NSURLAuthenticationChallenges, the 
2857         -resourceLoader:shouldWaitForResponseToAuthenticationChallenge: delegate method will
2858         ask us to confirm server certificate chains. Rather than pop up an authentication
2859         dialog (which won't work anyway) we will now just drop such requests and continue
2860         on normally.
2861
2862         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2863         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
2864
2865 2014-01-28  Commit Queue  <commit-queue@webkit.org>
2866
2867         Unreviewed, rolling out r162987.
2868         http://trac.webkit.org/changeset/162987
2869         https://bugs.webkit.org/show_bug.cgi?id=127825
2870
2871         Broke Mountain Lion build (Requested by andersca on #webkit).
2872
2873         * bindings/scripts/CodeGeneratorJS.pm:
2874         (GenerateGetOwnPropertySlotBody):
2875         (GenerateAttributesHashTable):
2876         (GenerateImplementation):
2877         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2878         (WebCore::jsTestActiveDOMObjectConstructor):
2879         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2880         (WebCore::jsTestCustomNamedGetterConstructor):
2881         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2882         (WebCore::jsTestEventConstructorConstructor):
2883         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2884         (WebCore::jsTestEventTargetConstructor):
2885         * bindings/scripts/test/JS/JSTestException.cpp:
2886         (WebCore::jsTestExceptionConstructor):
2887         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2888         (WebCore::jsTestGenerateIsReachableConstructor):
2889         * bindings/scripts/test/JS/JSTestInterface.cpp:
2890         (WebCore::jsTestInterfaceConstructor):
2891         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2892         (WebCore::jsTestMediaQueryListListenerConstructor):
2893         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2894         (WebCore::jsTestNamedConstructorConstructor):
2895         * bindings/scripts/test/JS/JSTestNode.cpp:
2896         (WebCore::jsTestNodeConstructor):
2897         * bindings/scripts/test/JS/JSTestObj.cpp:
2898         (WebCore::jsTestObjConstructor):
2899         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2900         (WebCore::jsTestOverloadedConstructorsConstructor):
2901         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2902         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
2903         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2904         (WebCore::jsTestTypedefsConstructor):
2905         * bindings/scripts/test/JS/JSattribute.cpp:
2906         (WebCore::jsattributeConstructor):
2907         * bindings/scripts/test/JS/JSreadonly.cpp:
2908         (WebCore::jsreadonlyConstructor):
2909
2910 2014-01-28  Enrica Casucci  <enrica@apple.com>
2911
2912         Add support for ActionSheets in WK2 for iOS.
2913         https://bugs.webkit.org/show_bug.cgi?id=127586
2914         <rdar://problem/15283667>
2915
2916         Reviewed by Benjamin Poulain.
2917
2918         This patch contains some WebCore changes required to
2919         implement support for ActionSheets.
2920         It adds copyURL implementation for iOS in the Editor
2921         class and fixes some bugs in the iOS specific pasteboard
2922         writing code.
2923         The changes to Localizable.strings are the result of
2924         running update-webkit-localizedstrings script.
2925
2926         * English.lproj/Localizable.strings:
2927         * WebCore.exp.in:
2928         * editing/Editor.cpp:
2929         * editing/Editor.h:
2930         * editing/ios/EditorIOS.mm:
2931         (WebCore::Editor::writeImageToPasteboard):
2932         * platform/ios/PasteboardIOS.mm:
2933         (WebCore::Pasteboard::write):
2934         * platform/ios/PlatformPasteboardIOS.mm:
2935         (WebCore::PlatformPasteboard::write):
2936
2937 2014-01-28  Andy Estes  <aestes@apple.com>
2938
2939         [iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
2940         https://bugs.webkit.org/show_bug.cgi?id=127823
2941
2942         Reviewed by Daniel Bates.
2943
2944         Original patch by Simon Fraser.
2945
2946         * platform/ScrollView.cpp: Specify LegacyIOSDocumentViewRect when calling visibleContentRect().
2947
2948 2014-01-28  Zoltan Horvath  <zoltan@webkit.org>
2949
2950         [CSS Shapes] Adjust inset sizing syntax to the latest specification
2951         https://bugs.webkit.org/show_bug.cgi?id=127785
2952
2953         Reviewed by Bem Jones-Bey.
2954
2955         According to the latest CSS Shapes specification [1], the width arguments of inset should
2956         follow the syntax of the margin shorthand, which let us set all four insets with one, two
2957         or four values. This patch updates the behavior and updates the affected tests.
2958
2959         [1] http://dev.w3.org/csswg/css-shapes/#funcdef-inset
2960
2961         Existing tests have been updated.
2962
2963         * css/CSSParser.cpp:
2964         (WebCore::CSSParser::parseInsetRoundedCorners):
2965         (WebCore::CSSParser::parseBasicShapeInset):
2966
2967 2014-01-28  Oliver Hunt  <oliver@apple.com>
2968
2969         Make DOM attributes appear to be faux accessor properties
2970         https://bugs.webkit.org/show_bug.cgi?id=127797
2971
2972         Reviewed by Michael Saboff.
2973
2974         Refactor the bindings generator, and make sure we emit
2975         the CustomAccessor flag on properties that should 
2976         appear to be accessors.
2977
2978         * bindings/scripts/CodeGeneratorJS.pm:
2979         (GenerateGetOwnPropertySlotBody):
2980         (GenerateAttributesHashTable):
2981         (GenerateImplementation):
2982
2983 2014-01-27  Chris Fleizach  <cfleizach@apple.com>
2984
2985         AX: Support @scope in HTML tables
2986         https://bugs.webkit.org/show_bug.cgi?id=127688
2987
2988         Reviewed by Mario Sanchez Prada.
2989
2990         Add support for scope attribute so that row headers and column headers
2991         are now exposed at the table cell level where appropriate.
2992
2993         Test: platform/mac/accessibility/table-scope.html
2994
2995         * accessibility/AccessibilityARIAGridCell.cpp:
2996         (WebCore::AccessibilityARIAGridCell::parentTable):
2997         * accessibility/AccessibilityARIAGridCell.h:
2998         * accessibility/AccessibilityARIAGridRow.cpp:
2999         (WebCore::AccessibilityARIAGridRow::parentTable):
3000         * accessibility/AccessibilityARIAGridRow.h:
3001         * accessibility/AccessibilityTable.cpp:
3002         (WebCore::AccessibilityTable::columns):
3003         (WebCore::AccessibilityTable::rows):
3004         * accessibility/AccessibilityTable.h:
3005         * accessibility/AccessibilityTableCell.cpp:
3006         (WebCore::AccessibilityTableCell::parentTable):
3007         (WebCore::AccessibilityTableCell::isTableHeaderCell):
3008         (WebCore::AccessibilityTableCell::isTableCellInSameRowGroup):
3009         (WebCore::AccessibilityTableCell::isTableCellInSameColGroup):
3010         (WebCore::AccessibilityTableCell::columnHeaders):
3011         (WebCore::AccessibilityTableCell::rowHeaders):
3012         * accessibility/AccessibilityTableCell.h:
3013         * accessibility/AccessibilityTableRow.cpp:
3014         (WebCore::AccessibilityTableRow::parentTable):
3015         * accessibility/AccessibilityTableRow.h:
3016         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3017         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3018         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3019
3020 2014-01-28  Brent Fulgham  <bfulgham@apple.com>
3021
3022         Improve latching behavior for wheel events
3023         https://bugs.webkit.org/show_bug.cgi?id=127386
3024         <rdar://problem/12176858>
3025
3026         Reviewed by Simon Fraser.
3027
3028         * page/scrolling/ScrollingTree.cpp:
3029         (WebCore::ScrollingTree::clearLatchedNode): Added
3030         (WebCore::ScrollingTree::latchedNode): Added
3031         (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
3032         (WebCore::ScrollingTree::ScrollingTree): Initialize new value used for tracking
3033         scroll latching state.
3034         (WebCore::ScrollingTree::setLatchedNode): Added
3035         (WebCore::ScrollingTree::setOrClearLatchedNode): Added
3036         Set latched node when beginning a swipe event, or clear latched node when scroll/momentum ends.
3037         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
3038         latched node and stay in fast scrolling mode if possible. If the current event should
3039         start a swipe event, clear the current latched node so we can correctly find and assign
3040         the new latch node.
3041         * page/scrolling/ScrollingTree.h:
3042         (WebCore::ScrollingTree::hasLatchedNode): Added
3043         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3044         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
3045         based on wheel event state and position of mouse pointer in the document.
3046         * platform/ScrollAnimator.cpp:
3047         (ScrollAnimator::handleWheelEvent): Always treat PlatformWheelEventPhaseMayBegin
3048         as successfully handled so that it does not "bubble back up" to the root of
3049         the scrolling tree.   
3050
3051 2014-01-23  Myles C. Maxfield  <mmaxfield@apple.com>
3052
3053         ASSERT_WITH_SECURITY_IMPLICATION in WebCore::InlineTextBox::paint
3054         https://bugs.webkit.org/show_bug.cgi?id=114586
3055
3056         Reviewed by Dave Hyatt.
3057
3058         Taken mostly from https://chromium.googlesource.com/chromium/blink/+/cb2297db16f2e9328cb4dd8b552093d6b22340a8
3059
3060         If RenderQuote is a subclass of RenderObject, it can't be split by the first-letter CSS pseudoclass.
3061         Instead, we should make it a subclass of RenderElement, so that it can be split properly.
3062
3063         Test: fast/css-generated-content/quote-first-letter.html
3064
3065         * dom/PseudoElement.cpp:
3066         (WebCore::PseudoElement::didRecalcStyle):
3067         * rendering/RenderQuote.cpp:
3068         (WebCore::RenderQuote::RenderQuote):
3069         (WebCore::RenderQuote::willBeDestroyed):
3070         (WebCore::RenderQuote::willBeRemovedFromTree):
3071         (WebCore::RenderQuote::styleDidChange):
3072         (WebCore::RenderQuote::updateText):
3073         (WebCore::RenderQuote::computeText):
3074         (WebCore::RenderQuote::updateDepth):
3075         * rendering/RenderQuote.h:
3076         * rendering/style/ContentData.cpp:
3077         (WebCore::QuoteContentData::createContentRenderer):
3078
3079 2014-01-28  Antti Koivisto  <antti@apple.com>
3080
3081         Document::topDocument() should return a reference
3082         https://bugs.webkit.org/show_bug.cgi?id=127786
3083
3084         Reviewed by Darin Adler.
3085
3086         * accessibility/AccessibilityObject.cpp:
3087         (WebCore::AccessibilityObject::mainFrame):
3088         (WebCore::AccessibilityObject::topDocument):
3089         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3090         (-[WebAccessibilityObjectWrapper accessibilityContainer]):
3091         * dom/Document.cpp:
3092         (WebCore::Document::~Document):
3093         (WebCore::Document::createRenderTree):
3094         (WebCore::Document::destroyRenderTree):
3095         (WebCore::Document::clearAXObjectCache):
3096         (WebCore::Document::existingAXObjectCache):
3097         (WebCore::Document::axObjectCache):
3098         (WebCore::Document::implicitClose):
3099         (WebCore::Document::topDocument):
3100         (WebCore::Document::topOrigin):
3101         (WebCore::Document::webkitCancelFullScreen):
3102         (WebCore::Document::webkitDidExitFullScreenForElement):
3103         * dom/Document.h:
3104         * page/DOMWindow.cpp:
3105         (WebCore::DOMWindow::incrementScrollEventListenersCount):
3106         (WebCore::DOMWindow::decrementScrollEventListenersCount):
3107         * rendering/RenderEmbeddedObject.cpp:
3108         (WebCore::RenderEmbeddedObject::isReplacementObscured):
3109         * rendering/RenderView.cpp:
3110         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
3111         
3112 2014-01-28  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
3113
3114         Sticky positioning is broken for table rows
3115         https://bugs.webkit.org/show_bug.cgi?id=112024
3116
3117         Reviewed by Simon Fraser.
3118
3119         Enable sticky positioning for table elements. 
3120         Also includes fix for bug ​wkb.ug/105654
3121         I don't have access to this bug, but from related commit message I 
3122         assume it says about "Heap use after free problem".
3123         Debugging showed that it wasn't heap use after free. 
3124         The real problem that RenderObject::container() returns object which is
3125         not RenderBlock and it is used as RenderBlock in 
3126         RenderBox::containingBlockLogicalHeightForPositioned() method.
3127         Added extra isRenderBlock check and search for containingBlock if 
3128         current block is not RenderBlock.
3129         
3130         Tests: fast/css/sticky/sticky-table-row-top.html
3131                fast/css/sticky/sticky-table-thead-top.html
3132
3133         * css/StyleResolver.cpp:
3134         (WebCore::StyleResolver::adjustRenderStyle):
3135         * rendering/RenderBox.cpp:
3136         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3137         * rendering/RenderTableRow.h:
3138
3139 2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
3140
3141         Fixing several incorrect assumptions with handling isolated inlines.
3142         https://bugs.webkit.org/show_bug.cgi?id=127608
3143
3144         Reviewed by Simon Fraser.
3145
3146         Fixing capitalization.
3147
3148         * rendering/RenderBlockLineLayout.cpp:
3149         (WebCore::setUpResolverToResumeInIsolate):
3150         (WebCore::constructBidiRunsForSegment):
3151
3152 2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
3153
3154         Fixing several incorrect assumptions with handling isolated inlines.
3155         https://bugs.webkit.org/show_bug.cgi?id=127608
3156
3157         Reviewed by Dave Hyatt.
3158
3159         First, when an isolated inline spans multiple lines, we aren't guaranteed
3160         to exit BidiResolver with a nested inline count of zero. Removing the
3161         assert that says otherwise.
3162         
3163         Previously in constructBidiRunsForSegment, we called bidiFirst in
3164         an attempt to properly setup the isolatedResolver for any dom/style
3165         that applied, but this only worked on the first line the isolated
3166         inline appeared in. Adding a function that approaches this properly
3167         by recursing through the parents of the starting object for the line
3168         and post-fixing direction attributes to the resolver.
3169         
3170         Finally, addressing an issue where the line following a removed isolated
3171         inline (with a continuation) failed to be marked dirty.
3172
3173         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/72698f203b1c50900e535b80945563b92b7eef23
3174
3175         Tests: fast/text/nested-bidi-assert.html
3176                fast/text/nested-bidi-with-continuation-crash.html
3177
3178         * platform/text/BidiResolver.h:
3179         (WebCore::Run>::~BidiResolver):
3180         * rendering/RenderBlockLineLayout.cpp:
3181         (WebCore::setupResolverToResumeInIsolate):
3182         (WebCore::constructBidiRunsForSegment):
3183         * rendering/RenderLineBoxList.cpp:
3184         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3185
3186 2014-01-28  Antti Koivisto  <antti@apple.com>
3187
3188         REGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEvenBench
3189         https://bugs.webkit.org/show_bug.cgi?id=127722
3190
3191         Reviewed by Darin Adler.
3192
3193         Accumulate repaint region in RendeView instead of flushing rects directly to the system.
3194
3195         * dom/Document.cpp:
3196         (WebCore::Document::recalcStyle):
3197         (WebCore::Document::updateLayout):
3198         (WebCore::Document::topDocument):
3199         
3200             Make less silly.
3201
3202         * page/FrameView.cpp:
3203         (WebCore::FrameView::layout):
3204         * rendering/RenderView.cpp:
3205         (WebCore::RenderView::repaintViewRectangle):
3206         (WebCore::RenderView::flushAccumulatedRepaintRegion):
3207         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
3208         (WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
3209         * rendering/RenderView.h:
3210
3211 2014-01-28  Jeremy Jones  <jeremyj@apple.com>
3212
3213         HTMLMediaElement::m_platformLayerBorrowed is uninitialized.
3214         https://bugs.webkit.org/show_bug.cgi?id=127759
3215
3216         Reviewed by Eric Carlson.
3217
3218         Initalize m_platformLayerBorrowed to false.
3219
3220         * html/HTMLMediaElement.cpp:
3221         (WebCore::HTMLMediaElement::HTMLMediaElement):
3222
3223 2014-01-28  Jer Noble  <jer.noble@apple.com>
3224
3225         [Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
3226         https://bugs.webkit.org/show_bug.cgi?id=127781
3227
3228         Reviewed by Eric Carlson.
3229
3230         Since every mac platform uses Float32 audio samples, use these types explicitly
3231         rather than the implicit, canonical AudioSampleType type. Once we're using Float32
3232         explicity, we can also use the explicit kAudioFormatFlagsNativeFloatPacked flag
3233         rather than the canonical version.
3234
3235         * platform/audio/mac/AudioDestinationMac.cpp:
3236         (WebCore::AudioDestinationMac::configure):
3237         * platform/audio/mac/AudioFileReaderMac.cpp:
3238         (WebCore::AudioFileReader::createBus):
3239
3240 2014-01-27  Alexey Proskuryakov  <ap@apple.com>
3241
3242         Expose SQL database creation and modification times
3243         https://bugs.webkit.org/show_bug.cgi?id=127728
3244
3245         Reviewed by Brady Eidson.
3246
3247         * platform/FileSystem.h:
3248         * platform/posix/FileSystemPOSIX.cpp:
3249         (WebCore::getFileCreationTime):
3250         * platform/win/FileSystemWin.cpp:
3251         (WebCore::getFileCreationTimeFromFindData):
3252         (WebCore::getFileCreationTime):
3253         Added functions to get file creation times. Not all OSes support that, but Darwin
3254         and Windows do, as (I think) various BSD flavors.
3255
3256         * platform/gtk/FileSystemGtk.cpp: Added a stub for getFileCreationTime().
3257
3258         * platform/sql/SQLiteFileSystem.h:
3259         * platform/sql/SQLiteFileSystem.cpp:
3260         (WebCore::SQLiteFileSystem::databaseCreationTime):
3261         (WebCore::SQLiteFileSystem::databaseModificationTime):
3262         Expose it in the same strange manner other database file operations are.
3263
3264         * Modules/webdatabase/DatabaseDetails.h:
3265         (WebCore::DatabaseDetails::DatabaseDetails):
3266         (WebCore::DatabaseDetails::creationTime):
3267         (WebCore::DatabaseDetails::modificationTime):
3268         Added creation and modification times to DatabaseDetails.
3269
3270         * Modules/webdatabase/DatabaseManager.cpp:
3271         (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
3272         (WebCore::DatabaseManager::openDatabaseBackend):
3273         ProposedDatabase is an unfortunate mechanism for communicating quota errors to the
3274         client, we should really straighten it up. But for now, just leave the times uninitialized.
3275
3276         * Modules/webdatabase/DatabaseBackendBase.cpp: (WebCore::DatabaseBackendBase::details):
3277         This code path is for handling quota errors, so there is no need to initialize most
3278         of DatabaseDetails here as well.
3279
3280         * Modules/webdatabase/DatabaseTracker.cpp: (WebCore::DatabaseTracker::detailsForNameAndOrigin):
3281         * Modules/webdatabase/DatabaseTracker.h:
3282         Fill in database file times. Inlined and removed usageForDatabase function to
3283         avoid rebuilding the path multiple times.
3284
3285 2014-01-28  Jer Noble  <jer.noble@apple.com>
3286
3287         Setting muted attribute on <video> element is not reflected in controls
3288         https://bugs.webkit.org/show_bug.cgi?id=127726
3289
3290         Reviewed by Eric Carlson.
3291
3292         If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
3293         set but before loading begins, it will return 'false' until loading begins, but with no
3294         way to query whether that value is valid, nor firing a volumechange event when its value
3295         changes.
3296
3297         The HTML spec says that the 'muted' content attribute controls whether audio output is
3298         muted "when the media element is created", not when loading begins, but we don't
3299         necessarily have a signal that the element is fully parsed.  Additionally, this means its
3300         impossible to make an element via script and get this behavior.
3301
3302         So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
3303         content attribute up until one of the following three conditions:
3304
3305         - The 'muted' IDL attribute is set via script.
3306         - The element is inserted in the document.
3307         - The element begins loading.
3308
3309         After the first one of the above conditions, the 'muted' IDL attribute will no longer
3310         change when the 'muted' content attribute changes.
3311
3312         * html/HTMLMediaElement.cpp:
3313         (WebCore::HTMLMediaElement::HTMLMediaElement):
3314         (WebCore::HTMLMediaElement::parseAttribute):
3315         * html/HTMLMediaElement.h:
3316
3317 2014-01-28  Anders Carlsson  <andersca@apple.com>
3318
3319         Add stubbed out VisitedLinkProvider class
3320         https://bugs.webkit.org/show_bug.cgi?id=127744
3321
3322         Reviewed by Andreas Kling.
3323
3324         This is a first step towards moving responsibility of visited links from 
3325         the page group to a separate object.
3326
3327         * CMakeLists.txt:
3328         * GNUmakefile.list.am:
3329         * WebCore.vcxproj/WebCore.vcxproj:
3330         * WebCore.vcxproj/WebCore.vcxproj.filters:
3331         * WebCore.xcodeproj/project.pbxproj:
3332         * page/PageGroup.cpp:
3333         (WebCore::PageGroup::PageGroup):
3334         * page/PageGroup.h:
3335         (WebCore::PageGroup::visitedLinkProvider):
3336         * page/VisitedLinkProvider.cpp: Added.
3337         (WebCore::VisitedLinkProvider::VisitedLinkProvider):
3338         (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
3339         * page/VisitedLinkProvider.h: Added.
3340         (WebCore::VisitedLinkProvider::create):
3341
3342 2014-01-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
3343
3344         Add support for menclose element
3345         https://bugs.webkit.org/show_bug.cgi?id=85729
3346
3347         Reviewed by Chris Fleizach.
3348
3349         Added support for menclose element. MathML <menclose> element renders
3350         its content inside an enclosing notation specified by the notation
3351         attribute. The notation attribute can have values longdiv, box, left,
3352         right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
3353         updiagonalstrike, downdiagonalstrike, verticalstrike and
3354         horizontalstrike.
3355
3356         Tests: mathml/presentation/menclose-add-children.html
3357                mathml/presentation/menclose-notation-attribute-add.html
3358                mathml/presentation/menclose-notation-attribute-change-value.html
3359                mathml/presentation/menclose-notation-attribute-remove.html
3360                mathml/presentation/menclose-notation-attribute-set1.html
3361                mathml/presentation/menclose-notation-attribute-set2.html
3362                mathml/presentation/menclose-notation-no-overlap.html
3363                mathml/presentation/menclose-notation-radical.html
3364                mathml/presentation/menclose-remove-children.html
3365
3366         * CMakeLists.txt:
3367         * GNUmakefile.list.am:
3368         * WebCore.vcxproj/WebCore.vcxproj:
3369         * WebCore.vcxproj/WebCore.vcxproj.filters:
3370         * WebCore.xcodeproj/project.pbxproj:
3371         * css/mathml.css:
3372         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
3373         (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
3374         * mathml/MathMLAllInOne.cpp:
3375         * mathml/MathMLElement.h:
3376         * mathml/MathMLInlineContainerElement.cpp:
3377         * mathml/MathMLMencloseElement.cpp: Added.
3378         (WebCore::MathMLMencloseElement::MathMLMencloseElement):
3379         (WebCore::MathMLMencloseElement::create):
3380         (WebCore::MathMLMencloseElement::createElementRenderer):
3381         (WebCore::MathMLMencloseElement::isPresentationAttribute):
3382         (WebCore::MathMLMencloseElement::finishParsingChildren):
3383         (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
3384         (WebCore::MathMLMencloseElement::longDivLeftPadding):
3385         * mathml/MathMLMencloseElement.h: Added.
3386         (WebCore::toMathMLMencloseElement):
3387         * mathml/mathattrs.in:
3388         * mathml/mathtags.in:
3389         * rendering/mathml/RenderMathMLMenclose.cpp: Added.
3390         (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
3391         (WebCore::RenderMathMLMenclose::addChild):
3392         (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
3393         (WebCore::RenderMathMLMenclose::updateLogicalHeight):
3394         (WebCore::RenderMathMLMenclose::paint):
3395         (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
3396         * rendering/mathml/RenderMathMLMenclose.h: Added.
3397         * rendering/mathml/RenderMathMLRoot.cpp:
3398         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
3399         * rendering/mathml/RenderMathMLRoot.h:
3400         * rendering/mathml/RenderMathMLSquareRoot.cpp:
3401         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
3402         (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
3403         * rendering/mathml/RenderMathMLSquareRoot.h:
3404         Added new file related to menclose element implementation. Menclose
3405         element is created and while parsing its notation attribute based on
3406         its values like top, left CSSBorder properties are applied and for
3407         values like circle, verticalstrike, longidv its taken care in paint.
3408         For radical value an anonymous RenderMathMLSquareRoot is created as
3409         a child of menclose.
3410
3411 2014-01-28  Krzysztof Czech  <k.czech@samsung.com>
3412
3413         [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
3414         https://bugs.webkit.org/show_bug.cgi?id=127774
3415
3416         Reviewed by Mario Sanchez Prada.
3417
3418         Implicit value of step in range type elements should be one or larger.
3419
3420         No new tests. Covered by exiting one.
3421
3422         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
3423         (webkitAccessibleValueGetMinimumIncrement):
3424
3425 2014-01-28  Mark Rowe  <mrowe@apple.com>
3426
3427         <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
3428
3429         Reviewed by Ryosuke Niwa.
3430
3431         * accessibility/mac/AXObjectCacheMac.mm:
3432         (WebCore::AXObjectCache::postPlatformNotification):
3433         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3434         (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
3435         * platform/audio/mac/AudioDestinationMac.cpp:
3436         (WebCore::AudioDestinationMac::configure):
3437         * platform/audio/mac/AudioFileReaderMac.cpp:
3438         (WebCore::AudioFileReader::createBus):
3439
3440 2014-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3441
3442         [SOUP] Remove soupURIToKURL
3443         https://bugs.webkit.org/show_bug.cgi?id=127104
3444
3445         Reviewed by Martin Robinson.
3446
3447         In favor of a URL constructor receiving a SoupURI. Also add a
3448         method to URL to create a soupURI.
3449
3450         * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
3451         * PlatformEfl.cmake: Ditto.
3452         * PlatformGTK.cmake: Ditto.
3453         * platform/URL.h: Add URL constructor receiving a SoupURI and
3454         createSoupURI() to create a new soupURI for the URL.
3455         * platform/network/soup/CookieJarSoup.cpp:
3456         (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
3457         (WebCore::cookiesForSession): Ditto.
3458         (WebCore::getRawCookies): Ditto.
3459         (WebCore::deleteCookie): Ditto.
3460         * platform/network/soup/ResourceHandleSoup.cpp:
3461         (WebCore::doRedirect): Use the new URL&nb