[WinCairo] Preparation for GStreamer on Windows.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-18  Alex Christensen  <achristensen@webkit.org>
2
3         [WinCairo] Preparation for GStreamer on Windows.
4         https://bugs.webkit.org/show_bug.cgi?id=125946
5
6         Reviewed by Brent Fulgham.
7
8         * WebCore.vcxproj/WebCore.vcxproj:
9         Use new GStreamer property sheets for WinCairo.
10         * WebCore.vcxproj/WebCoreCairo.props:
11         Include GStreamer directory.
12
13 2013-12-18  Oliver Hunt  <oliver@apple.com>
14
15         Refactor CodeGeneratorJS - Move attribute function creation out of getOwnPropertyName guard
16         https://bugs.webkit.org/show_bug.cgi?id=125940
17
18         Reviewed by Simon Fraser.
19
20         This is just a huge block move of code out from behind the
21         ImplementationOverridesGetOwnProperty guard.
22
23         * bindings/scripts/CodeGeneratorJS.pm:
24         (GenerateImplementation):
25
26 2013-12-18  Tim Horton  <timothy_horton@apple.com>
27
28         [iOS] Frequent ASSERT(hasOneRef()) in SharedBuffer::releasePurgeableBuffer
29         https://bugs.webkit.org/show_bug.cgi?id=125939
30
31         Reviewed by Simon Fraser.
32
33         r146082 fixed these assertions by not making a purgeable buffer if a SharedBuffer
34         has multiple refs, but the check was put in ResourceBuffer::createPurgeableBuffer
35         instead of down in SharedBuffer::createPurgeableBuffer.
36
37         This is fine for most WebKit ports, because ResourceBuffer::createPurgeableBuffer
38         is the only caller of SharedBuffer::createPurgeableBuffer, but causes trouble for
39         not-quite-yet-upstreamed iOS SharedBuffer code, which adds another caller
40         of SharedBuffer::createPurgeableBuffer.
41
42         Push the early-return down into SharedBuffer::createPurgeableBuffer to ensure
43         that all callers are protected from creating a purgeable buffer if the SharedBuffer
44         has previously been vended elsewhere.
45
46         No new tests, has no effect on the current Open Source tree.
47
48         * loader/ResourceBuffer.cpp:
49         (WebCore::ResourceBuffer::createPurgeableBuffer):
50         * platform/SharedBuffer.cpp:
51         (WebCore::SharedBuffer::createPurgeableBuffer):
52
53 2013-12-18  Beth Dakin  <bdakin@apple.com>
54
55         Starting a momentum scroll while rubber banding can cause scrolling to jump back 
56         when the rubberband snaps
57         https://bugs.webkit.org/show_bug.cgi?id=119507
58         -and corresponding-
59         <rdar://problem/14655893>
60
61         Reviewed by Simon Fraser.
62
63         This line of code was added with the very first implementation of rubber-banding. 
64         As far as I can tell, it was always a belt-and-suspenders line of code that is a 
65         no-op in all normal rubber-banding. In this J-shaped scrolling case, this line of 
66         code is what causes the bug to occur because this line of code assumes that your 
67         rubber-band is always trying to take you back to the origin. 
68         * platform/mac/ScrollElasticityController.mm:
69         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
70
71 2013-12-18  Chris Fleizach  <cfleizach@apple.com>
72
73         AX: make aria-hidden=false work with subtrees
74         https://bugs.webkit.org/show_bug.cgi?id=125592
75
76         Reviewed by Mario Sanchez Prada.
77
78         When a hidden object uses aria-hidden=false, that needs to apply to
79         the entire sub-tree (not just the object with aria-hidden on it as it does now).
80
81         Enabling this had the side effect of exposing non-rendered text nodes, so there's
82         some extra checks to ensure we don't include those elements in this cases.
83
84         Test: accessibility/aria-hidden-false-works-in-subtrees.html
85
86         * accessibility/AXObjectCache.cpp:
87         (WebCore::isNodeAriaVisible):
88         * accessibility/AccessibilityNodeObject.cpp:
89         (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
90
91 2013-12-18  Oliver Hunt  <oliver@apple.com>
92
93         Simplify bindings codegen for adding getOwnPropertySlot overrides
94         https://bugs.webkit.org/show_bug.cgi?id=125934
95
96         Reviewed by Alexey Proskuryakov.
97
98         Simple refactoring no change in behavior.
99
100         * bindings/scripts/CodeGeneratorJS.pm:
101         (InstanceOverridesGetOwnPropertySlot):
102         (PrototypeOverridesGetOwnPropertySlot):
103         (GenerateHeader):
104         (GenerateImplementation):
105
106 2013-12-18  Conrad Shultz  <conrad_shultz@apple.com>
107
108         AudioSessionManagerMac.cpp: kLowPowerVideoBufferSize unused before OS X 10.9
109         https://bugs.webkit.org/show_bug.cgi?id=125935
110
111         Reviewed by Jer Noble.
112
113         * platform/audio/mac/AudioSessionManagerMac.cpp:
114         Add __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 guard.
115
116 2013-12-18  Joseph Pecoraro  <pecoraro@apple.com>
117
118         Web Inspector: Some basic DebuggerAgent cleanup
119         https://bugs.webkit.org/show_bug.cgi?id=125901
120
121         Reviewed by Timothy Hatcher.
122
123         * inspector/InspectorDebuggerAgent.h:
124         Remove virtual from not really virtual method.
125
126         * inspector/InspectorDebuggerAgent.cpp:
127         (WebCore::InspectorDebuggerAgent::enable):
128         (WebCore::InspectorDebuggerAgent::disable):
129         Use member variable instead of private function.
130
131         (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
132         Inline the three lines from the private function.
133
134 2013-12-18  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
135
136         REGRESSION (r155536): Broken error recovery in @media at-rule
137         https://bugs.webkit.org/show_bug.cgi?id=125637
138
139         Reviewed by Darin Adler.
140
141         Error recovery in @media is broken if any of its rules misses the opening '{'.
142         The problem is that when the parser recognises the mistake it removes only the last
143         WHITESPACE token instead of the whole selector and tries to recover the selector again.
144         it swallows everything until it finds the next opening bracket. thats why the '}' brackets
145         of both subrules and even the @media rule are ignored, and the whole @media will be
146         considered invalid. By joining the selector and its trailing whitespace the error recovery
147         ignores the bad selector only and keep the @media rule.
148
149         Test: fast/css/media-error-recovery.html
150
151         * css/CSSGrammar.y.in:
152
153 2013-12-18  Chris Fleizach  <cfleizach@apple.com>
154
155         AX: WebKit not sending AXMenuClosed notification
156         https://bugs.webkit.org/show_bug.cgi?id=125783
157
158         Reviewed by Mario Sanchez Prada.
159
160         When an object with a role=menu is removed, we need to send out a notification informing that the menu has closed.
161         This means detecting the right kind of destruction event for an element, because we do not want to 
162         send this notification when the entire cache is being torn down.
163
164         Test: platform/mac/accessibility/aria-menu-closed-notification.html
165
166         * accessibility/AXObjectCache.cpp:
167         (WebCore::AXObjectCache::~AXObjectCache):
168         (WebCore::AXObjectCache::remove):
169         * accessibility/AXObjectCache.h:
170         (WebCore::AXObjectCache::document):
171         * accessibility/AccessibilityNodeObject.cpp:
172         (WebCore::AccessibilityNodeObject::detach):
173         * accessibility/AccessibilityNodeObject.h:
174         * accessibility/AccessibilityObject.cpp:
175         (WebCore::AccessibilityObject::detach):
176         * accessibility/AccessibilityObject.h:
177         * accessibility/AccessibilityRenderObject.cpp:
178         (WebCore::AccessibilityRenderObject::detach):
179         * accessibility/AccessibilityRenderObject.h:
180         * accessibility/AccessibilityScrollView.cpp:
181         (WebCore::AccessibilityScrollView::detach):
182         * accessibility/AccessibilityScrollView.h:
183         * accessibility/mac/AXObjectCacheMac.mm:
184         (WebCore::AXObjectCache::postPlatformNotification):
185
186 2013-12-18  Eric Carlson  <eric.carlson@apple.com>
187
188         Do not create cue subtree just to delete it
189         https://bugs.webkit.org/show_bug.cgi?id=125904
190
191         Reviewed by Jer Noble.
192
193         No new tests, covered by existing tests.
194
195         * html/track/TextTrackCue.cpp:
196         (WebCore::TextTrackCue::setIsActive): Return early if display tree is NULL.
197         (WebCore::TextTrackCue::removeDisplayTree): Ditto.
198
199 2013-12-17  Oliver Hunt  <oliver@apple.com>
200
201         Remove JSInlineGetOwnPropertySlot attribute as it is no longer necessary
202         https://bugs.webkit.org/show_bug.cgi?id=125875
203
204         Reviewed by Brady Eidson.
205
206         Tested this on dromaeo and acid3 (the original reason for this attribute)
207         and it no longer provided any benefit. This makes it easier to reason about
208         creation of getOwnPropertySlot during binding generation.
209
210         * bindings/scripts/CodeGeneratorJS.pm:
211         (GenerateHeader):
212         (GenerateImplementation):
213         * bindings/scripts/IDLAttributes.txt:
214         * dom/Document.idl:
215         * dom/Element.idl:
216         * dom/Node.idl:
217
218 2013-12-18  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
219
220         Fix ASSERTION FAILED in WebCore::SVGLengthContext::determineViewport
221         https://bugs.webkit.org/show_bug.cgi?id=120284
222
223         Reviewed by Philip Rogers.
224
225         Added handling of root <svg> elements.
226         Blink merge: https://chromium.googlesource.com/chromium/blink/+/a7dedf81eb7008276bb6854f0e46465e039788f8
227
228         SVGLengthContext::determineViewport() currently asserts that we're not
229         resolving lengths for the topmost element, but there's nothing to
230         prevent such calls.
231
232         The patch updates determineViewport() to handle root elements geracefully
233         (using their current viewport). It also changes the signature slightly
234         to operate directly on a FloatSize, reducing some of the boiler-plate
235         client code.
236
237         Tests: svg/custom/svg-length-value-handled.svg
238                svg/dom/svg-root-lengths.html
239
240         * svg/SVGLengthContext.cpp:
241         (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
242         (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
243         (WebCore::SVGLengthContext::determineViewport):
244         * svg/SVGLengthContext.h:
245         * svg/graphics/filters/SVGFEImage.cpp:
246         (WebCore::FEImage::platformApplySoftware):
247
248 2013-12-18  Darin Adler  <darin@apple.com>
249
250         Additional refinement in MathMLSelectElement toggle implementation
251         https://bugs.webkit.org/show_bug.cgi?id=125785
252
253         Reviewed by Andreas Kling.
254
255         * mathml/MathMLSelectElement.cpp:
256         (WebCore::MathMLSelectElement::defaultEventHandler): Call setDefaultHandled
257         so this will be handled by only one element.
258         (WebCore::MathMLSelectElement::willRespondToMouseClickEvents): Return true
259         only when action is set to toggle, since other select elements will not
260         respond to mouse click events.
261         (WebCore::MathMLSelectElement::toggle): Simplified code a bit and gave
262         local a clearer variable name.
263
264 2013-12-18  Rob Buis  <rob.buis@samsung.com>
265
266         [CSS Shapes] Implement interpolation between keywords in basic shapes
267         https://bugs.webkit.org/show_bug.cgi?id=125108
268
269         Reviewed by Simon Fraser.
270
271         Allow blending for all center coordinates since top/left and bottom/right default to correct
272         Length values of 0% and 100%. For mixed keyword and value positions compute the length's used
273         for blending to percentages. This is possible since we compute the reference box bounds given the
274         renderer.
275
276         * page/animation/CSSPropertyAnimation.cpp:
277         (WebCore::blendFunc): Pass additional RenderBox parameter.
278         * rendering/style/BasicShapes.cpp:
279         (WebCore::BasicShape::canBlend): Don't check circle/ellipse center anymore, but do check that both
280         shapes use the same reference box.
281         (WebCore::BasicShape::referenceBoxSize): Compute box dimension depending on reference box.
282         (WebCore::BasicShapeCenterCoordinate::lengthForBlending): Convert to percentage for Bottom/Right.
283         (WebCore::BasicShapeRectangle::blend):
284         (WebCore::DeprecatedBasicShapeCircle::blend):
285         (WebCore::BasicShapeCircle::blend):
286         (WebCore::DeprecatedBasicShapeEllipse::blend):
287         (WebCore::BasicShapeEllipse::blend):
288         (WebCore::BasicShapePolygon::blend):
289         (WebCore::BasicShapeInsetRectangle::blend):
290         (WebCore::BasicShapeInset::blend):
291         * rendering/style/BasicShapes.h:
292         (WebCore::BasicShapeCenterCoordinate::blend): Use new lengthForBlending.
293
294 2013-12-18  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
295
296         CSS: Null-pointer dereference with negative 'orphans' value.
297         https://bugs.webkit.org/show_bug.cgi?id=125924
298
299         Reviewed by Andreas Kling.
300
301         orphans and widows should be positive integer.
302
303         spec link:
304         http://www.w3.org/TR/CSS2/page.html#propdef-orphans
305
306         Backported from Blink: https://codereview.chromium.org/108663009
307
308         Test: fast/css/negative-orphans-crash.html
309
310         * css/CSSParser.cpp:
311         (WebCore::CSSParser::parseValue):
312
313 2013-12-18  Andreas Kling  <akling@apple.com>
314
315         Make more computed style helpers return values by PassRef.
316         <https://webkit.org/b/125923>
317
318         Tighten yet another handful of CSS computed style helper functions
319         to return their CSSValues by PassRef where we never return null.
320
321         Reviewed by Antti Koivisto.
322
323 2013-12-18  Andreas Kling  <akling@apple.com>
324
325         Use range for syntax in Frame and FrameView.
326         <https://webkit.org/b/125922>
327
328         Convert code in Frame and FrameView to use C++11's range for syntax.
329
330         Reviewed by Antti Koivisto.
331
332 2013-12-18  Andreas Kling  <akling@apple.com>
333
334         RenderElement-ize adjustForAbsoluteZoom() and friends.
335         <https://webkit.org/b/125921>
336
337         Make adjustForAbsoluteZoom() take a const RenderElement& instead
338         of a RenderObject* so we can avoid the extra branch in style().
339         All call sites already had RenderElements.
340
341         Reviewed by Antti Koivisto.
342
343 2013-12-18  Chris Fleizach  <cfleizach@apple.com>
344
345         AX: HTML spec change indicates @aria-required should trump @required on any element
346         https://bugs.webkit.org/show_bug.cgi?id=122145
347
348         Reviewed by Mario Sanchez Prada.
349
350         aria-required should win over the native "required" attribute.
351
352         Updated tests: accessibility/aria-required.html
353
354         * accessibility/AccessibilityNodeObject.cpp:
355         (WebCore::AccessibilityNodeObject::isRequired):
356
357 2013-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
358
359         Unreviewed. Fix make distcheck.
360
361         * GNUmakefile.am:
362         * GNUmakefile.list.am:
363
364 2013-12-18  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
365
366         [soup] Fix unused parameter warnings in ResourceHandleSoup.
367         https://bugs.webkit.org/show_bug.cgi?id=125918
368
369         Reviewed by Martin Robinson.
370
371         Comment out the method parameters to avoid the warnings.
372
373         No tests required.
374
375         * platform/network/soup/ResourceHandleSoup.cpp:
376         (WebCore::WebCoreSynchronousLoader::didReceiveData):
377
378 2013-12-17  Jer Noble  <jer.noble@apple.com>
379
380         [MSE] Periodically monitor source buffers.
381         https://bugs.webkit.org/show_bug.cgi?id=125898
382
383         Reviewed by Eric Carlson.
384
385         Test: media/media-source/media-source-monitor-source-buffers.html
386
387         The MSE spec requires that the SourceBuffer Monitoring step is run
388         periodically during playback. No specific update interval is specified
389         so we will re-use the existing HTMLMediaElement playback progress
390         timer to signal the media source monitoring.
391
392         * html/HTMLMediaElement.cpp:
393         (HTMLMediaElement::playbackProgressTimerFired):
394
395 2013-12-17  Jer Noble  <jer.noble@apple.com>
396
397         [MSE] Add per-track signalling between SourceBuffer and SourceBufferPrivate.
398         https://bugs.webkit.org/show_bug.cgi?id=125899
399
400         Reviewed by Eric Carlson.
401
402         To accommodate the future addition of audio support to MSE in the Mac
403         port, add the concept of trackIDs to the communication between
404         SourceBuffer and SourceBufferPrivate.
405
406         The following virtual methods  now take a trackID parameter:
407         * platform/graphics/SourceBufferPrivate.h:
408         (WebCore::SourceBufferPrivate::isReadyForMoreSamples):
409         (WebCore::SourceBufferPrivate::stopAskingForMoreSamples):
410         (WebCore::SourceBufferPrivate::notifyClientWhenReadyForMoreSamples):
411         * platform/graphics/SourceBufferPrivateClient.h:
412         (WebCore::SourceBufferPrivateClient::sourceBufferPrivateDidBecomeReadyForMoreSamples):
413
414         Update overridden methods in subclasses:
415         * Modules/mediasource/SourceBuffer.cpp:
416         (WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
417         * Modules/mediasource/SourceBuffer.h:
418         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
419         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
420         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
421         (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
422         * platform/mock/mediasource/MockSourceBufferPrivate.h:
423
424         Change the logic in provideMediaData to update a single TrackBuffer
425         rather than iterating over all of them:
426         * Modules/mediasource/SourceBuffer.cpp:
427         (WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
428         (WebCore::SourceBuffer::appendBufferTimerFired):
429         (WebCore::SourceBuffer::provideMediaData):
430
431 2013-12-17  Joseph Pecoraro  <pecoraro@apple.com>
432
433         Web Inspector: Remove InspectorAgent::hasFrontend
434         https://bugs.webkit.org/show_bug.cgi?id=125907
435
436         Reviewed by Timothy Hatcher.
437
438         Remove InspectorAgent::hasFrontend only used by
439         InspectorInstrumentation::collectingHTMLParseErrors. However,
440         following the single callers of that, the result is unused
441         in the HTMLDocumentParser and HTMLTreeBuilder. So remove
442         more stale / unused code.
443
444         * html/FTPDirectoryDocument.cpp:
445         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
446         * html/HTMLDocument.cpp:
447         (WebCore::HTMLDocument::createParser):
448         * html/parser/HTMLDocumentParser.cpp:
449         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
450         * html/parser/HTMLDocumentParser.h:
451         (WebCore::HTMLDocumentParser::create):
452         * html/parser/HTMLTreeBuilder.cpp:
453         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
454         * html/parser/HTMLTreeBuilder.h:
455         (WebCore::HTMLTreeBuilder::create):
456         * html/parser/TextDocumentParser.cpp:
457         (WebCore::TextDocumentParser::TextDocumentParser):
458         * inspector/DOMPatchSupport.cpp:
459         (WebCore::DOMPatchSupport::patchDocument):
460         * inspector/InspectorAgent.h:
461         * inspector/InspectorInstrumentation.cpp:
462         * inspector/InspectorInstrumentation.h:
463
464 2013-12-17  Joseph Pecoraro  <pecoraro@apple.com>
465
466         Web Inspector: Some basic InjectedScriptHost cleanup
467         https://bugs.webkit.org/show_bug.cgi?id=125902
468
469         Reviewed by Timothy Hatcher.
470
471         Remove InjectedScriptHost::scriptDebugServer. Nobody accesses
472         the ScriptDebugServer through the injected script host. This
473         also lets us remove the reference to the DebuggerAgent.
474
475         * inspector/InjectedScriptHost.cpp:
476         * inspector/InjectedScriptHost.h:
477         (WebCore::InjectedScriptHost::init):
478         * inspector/InspectorController.cpp:
479         (WebCore::InspectorController::InspectorController):
480         * inspector/WorkerInspectorController.cpp:
481         (WebCore::WorkerInspectorController::WorkerInspectorController):
482
483 2013-12-17  Joseph Pecoraro  <pecoraro@apple.com>
484
485         Web Inspector: Remove InspectorFrontendHost.setInjectedScriptForOrigin
486         https://bugs.webkit.org/show_bug.cgi?id=125906
487
488         Reviewed by Timothy Hatcher.
489
490         Remove stale code related to a since removed feature,
491         Inspector extensions. This allows us to remove a number
492         of entry points into InspectorAgent.
493
494         * inspector/InspectorAgent.cpp:
495         (WebCore::InspectorAgent::InspectorAgent):
496         (WebCore::InspectorAgent::willDestroyFrontendAndBackend):
497         * inspector/InspectorAgent.h:
498         (WebCore::InspectorAgent::create):
499         Remove setInjectedScriptForOrigin and InjectedScript management.
500
501         * inspector/InspectorController.cpp:
502         (WebCore::InspectorController::InspectorController):
503         * inspector/InspectorController.h:
504         * inspector/InspectorFrontendHost.cpp:
505         * inspector/InspectorFrontendHost.h:
506         * inspector/InspectorFrontendHost.idl:
507         Remove the API and calling through InspectorController.
508
509         * inspector/InspectorInstrumentation.cpp:
510         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
511         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
512         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
513         Remove now unnecessary calls into InspectorAgent.
514
515 2013-12-17  Jer Noble  <jer.noble@apple.com>
516
517         Fix TimeRanges::intersectWith
518         https://bugs.webkit.org/show_bug.cgi?id=118802
519
520         Test: TestWebKitAPI/Tests/WebCore/TimeRanges.cpp.
521
522         Reviewed by Eric Carlson.
523
524         * WebCore.exp.in:
525         * WebCore.xcodeproj/project.pbxproj:
526         * html/TimeRanges.cpp:
527         (TimeRanges::invert):
528         (TimeRanges::intersectWith):
529
530         Merge
531         https://chromium.googlesource.com/chromium/blink/+/f557582b6c6283a8b165514f52d01cfd98130e85        
532
533 2013-12-17  Eric Carlson  <eric.carlson@apple.com>
534
535         ASSERT setting pseudoID with registered DOMSubtreeModified listener
536         https://bugs.webkit.org/show_bug.cgi?id=125900
537
538         Reviewed by Ryosuke Niwa.
539
540         Test: fast/dom/attribute-set-before-element-in-tree.html
541
542         * dom/Node.cpp:
543         (WebCore::Node::dispatchSubtreeModifiedEvent): Return early if the node does not have a
544             parent and does not have a DOMSubtreeModified listener.
545
546 2013-12-17  Ryosuke Niwa  <rniwa@webkit.org>
547
548         Remove dead code for reflected attributes from audio, video, and track elements
549         https://bugs.webkit.org/show_bug.cgi?id=125838
550
551         Reviewed by Eric Carlson.
552
553         Merge https://chromium.googlesource.com/chromium/blink/+/310514e2f0fd934975b841d463bad0cd62e6fd64
554
555         Where [Reflect] is used in the IDL, the getters and setters in C++ are
556         only for internal convenience, and these were unused.
557
558         * html/HTMLMediaElement.cpp:
559         * html/HTMLMediaElement.h:
560         * html/HTMLTrackElement.cpp:
561         * html/HTMLTrackElement.h:
562         * html/HTMLVideoElement.cpp:
563         * html/HTMLVideoElement.h:
564
565 2013-12-17  Simon Fraser  <simon.fraser@apple.com>
566
567         Rename "canRubberBands" to "canRubberBand"
568         https://bugs.webkit.org/show_bug.cgi?id=125897
569
570         Reviewed by Anders Carlsson.
571
572         Rename "canRubberBands" to "canRubberBand" in various places.
573
574         * page/scrolling/ScrollingTree.cpp:
575         (WebCore::ScrollingTree::setCanRubberBandState):
576         * page/scrolling/ScrollingTree.h:
577
578 2013-12-17  Jer Noble  <jer.noble@apple.com>
579
580         [MSE] Update duration after appending samples, per spec.
581         https://bugs.webkit.org/show_bug.cgi?id=125703
582
583         Reviewed by Eric Carlson.
584
585         Test: media/media-source/media-source-duration-after-append.html
586
587         After appending a sample, update the MediaSource duration if the sample's
588         presentation end time is greater than the existing duration.
589
590         * Modules/mediasource/SourceBuffer.cpp:
591         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
592         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
593         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
594         (WebCore::MediaSourcePrivateAVFObjC::setDuration): Notify the MediaPlayer.
595
596 2013-12-17  Jer Noble  <jer.noble@apple.com>
597
598         [MSE][Mac] Null-deref in CMSampleBufferIsRandomAccess().
599         https://bugs.webkit.org/show_bug.cgi?id=125698
600
601         Reviewed by Sam Weinig.
602
603         If a given CMSampleBufferRef does not have a sample attachments array (which is unlikely, but
604         possible), CMSampleBufferGetAttachmentsArray() will return a null value.
605
606         Additionally, the CMSampleBuffer documentation states that "samples are assumed to be sync
607         samples by default", so the absence of an attachment array (or the absense of a
608         kCMSampleAttachmentKey_NotSync entry in any of the attachment dictionaries) indicates the
609         sample is sync.
610
611         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
612         (WebCore::CMSampleBufferIsRandomAccess):
613
614 2013-12-17  Ryosuke Niwa  <rniwa@webkit.org>
615
616         Video element's width and height content attributes should not influence intrinsic width and height
617         https://bugs.webkit.org/show_bug.cgi?id=125822
618
619         Reviewed by Darin Adler.
620
621         Merge https://chromium.googlesource.com/chromium/blink/+/022ce34efb5b70cb964c3ca29f23c8980ffaef05
622
623         The width/height content attributes already influence specified style via
624         HTMLVideoElement::collectStyleForPresentationAttribute, to also influence the intrinsic size has never
625         been part of the spec: http://www.w3.org/TR/2013/WD-html51-20130528/embedded-content-0.html#dom-dim-width
626
627         The test case passes in Firefox Nightly and IE11 Release Preview, but fails in Opera Presto, which has
628         no default intrinsic size.
629
630         Test: media/video-intrinsic-width-height.html
631
632         * rendering/RenderVideo.cpp:
633         (WebCore::RenderVideo::calculateIntrinsicSize):
634
635 2013-12-16  Daniel Bates  <dabates@apple.com>
636
637         [iOS] Upstream WebCore/html changes
638         https://bugs.webkit.org/show_bug.cgi?id=125765
639
640         Reviewed by Darin Adler.
641
642         * WebCore.xcodeproj/project.pbxproj:
643         * html/Autocapitalize.cpp: Added.
644         * html/Autocapitalize.h: Added. Also, added FIXME comment to forward declare AtomicString once we upstream
645         more of the iOS port.
646         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
647         (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent): Opt out of code when building for iOS.
648         * html/BaseDateAndTimeInputType.cpp:
649         (WebCore::BaseDateAndTimeInputType::isKeyboardFocusable): Added; iOS-specific.
650         * html/BaseDateAndTimeInputType.h:
651         * html/FileInputType.cpp:
652         (WebCore::FileInputType::FileInputType): Added iOS-specific code.
653         (WebCore::FileInputType::~FileInputType): Opt out of code when building for iOS. Also, added FIXME comment.
654         (WebCore::FileInputType::requestIcon): Ditto.
655         (WebCore::FileInputType::filesChosen): Added; iOS-specific.
656         (WebCore::FileInputType::displayString): Added; iOS-specific.
657         (WebCore::FileInputType::receiveDroppedFiles): Guarded code with ENABLE(DRAG_SUPPORT).
658         * html/FileInputType.h:
659         * html/FormController.cpp:
660         (WebCore::FormController::formElementsCharacterCount): Added.
661         * html/FormController.h:
662         * html/HTMLAppletElement.cpp:
663         (WebCore::HTMLAppletElement::updateWidget): Opt out of code when building for iOS.
664         * html/HTMLAreaElement.cpp:
665         (WebCore::HTMLAreaElement::computePath): Changed argument datatype from RenderElement* to RenderObject*.
666         Also, added FIXME comment to fix this up once we upstream iOS's DOMUIKitExtensions.{h, mm}.
667         (WebCore::HTMLAreaElement::computeRect): Ditto.
668         * html/HTMLAreaElement.h:
669         * html/HTMLAttributeNames.in: Added attributes ongesture{start, change, end}, autocorrect, autocapitalize,
670         data-youtube-id, onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, webkit-playsinline,
671         x-webkit-airplay, and x-webkit-wirelessvideoplaybackdisabled.
672         * html/HTMLBodyElement.cpp:
673         (WebCore::HTMLBodyElement::scrollLeft): Added iOS-specific code.
674         (WebCore::HTMLBodyElement::scrollTop): Ditto.
675         * html/HTMLCanvasElement.cpp:
676         (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added iOS-specific code and FIXME comment.
677         (WebCore::HTMLCanvasElement::createImageBuffer): Added iOS-specific code.
678         * html/HTMLCanvasElement.h: Added iOS-specific code and FIXME comment.
679         * html/HTMLDocument.cpp:
680         (WebCore::HTMLDocument::HTMLDocument): Added argument isSynthesized (default to false), which is
681         passed through to Document::Document(), to create a synthesized document.
682         * html/HTMLDocument.h:
683         (WebCore::HTMLDocument::createSynthesizedDocument): Added.
684         * html/HTMLElement.cpp:
685         (WebCore::HTMLElement::collectStyleForPresentationAttribute): Added iOS-specific code.
686         (WebCore::populateEventNameForAttributeLocalNameMap): Ditto.
687         (WebCore::HTMLElement::willRespondToMouseMoveEvents): Added; iOS-specific.
688         (WebCore::HTMLElement::willRespondToMouseWheelEvents): Added; iOS-specific.
689         (WebCore::HTMLElement::willRespondToMouseClickEvents): Added; iOS-specific.
690         * html/HTMLElement.h:
691         * html/HTMLFormControlElement.cpp: Added FIXME comment to share more code with class HTMLFormElement.
692         (WebCore::HTMLFormControlElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
693         (WebCore::HTMLFormControlElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
694         (WebCore::HTMLFormControlElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
695         (WebCore::HTMLFormControlElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
696         (WebCore::HTMLFormControlElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
697         * html/HTMLFormControlElement.h:
698         * html/HTMLFormElement.cpp: Added FIXME comment to share more code with class HTMLFormControlElement.
699         (WebCore::HTMLFormElement::submitImplicitly): Modified to code to allow implicit submission of multi-input
700         forms only if Settings::allowMultiElementImplicitSubmission() returns true. Such behavior is expected by older
701         iOS apps. Also, changed datatype of variable submissionTriggerCount from int to unsigned because it represents
702         a non-negative value.
703         (WebCore::HTMLFormElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
704         (WebCore::HTMLFormElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
705         (WebCore::HTMLFormElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
706         (WebCore::HTMLFormElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
707         (WebCore::HTMLFormElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
708         * html/HTMLFormElement.h:
709         * html/HTMLFormElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
710         * html/HTMLIFrameElement.h:
711         * html/HTMLInputElement.cpp:
712         (WebCore::HTMLInputElement::displayString): Added; guarded by PLATFORM(IOS).
713         (WebCore::HTMLInputElement::dateType): Added; guarded by PLATFORM(IOS).
714         * html/HTMLInputElement.h:
715         * html/HTMLInputElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
716         * html/HTMLLabelElement.cpp:
717         (WebCore::HTMLLabelElement::willRespondToMouseClickEvents): Added iOS-specific code.
718         * html/HTMLMediaElement.cpp:
719         (WebCore::HTMLMediaElement::HTMLMediaElement): Added iOS-specific code and FIXME comment.
720         (WebCore::HTMLMediaElement::~HTMLMediaElement): Added iOS-specific code.
721         (WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Added; iOS-specific.
722         (WebCore::HTMLMediaElement::parseAttribute): Added iOS-specific code.
723         (WebCore::HTMLMediaElement::insertedInto): Ditto.
724         (WebCore::HTMLMediaElement::load): Ditto.
725         (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
726         (WebCore::HTMLMediaElement::autoplay): Ditto.
727         (WebCore::HTMLMediaElement::play): Ditto.
728         (WebCore::HTMLMediaElement::playInternal): Ditto.
729         (WebCore::HTMLMediaElement::pauseInternal): Ditto.
730         (WebCore::HTMLMediaElement::setVolumne): Opt out of code when building for iOS.
731         (WebCore::HTMLMediaElement::setMuted): Ditto.
732         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Added iOS-specific code.
733         (WebCore::HTMLMediaElement::updateVolume): Ditto.
734         (WebCore::HTMLMediaElement::updatePlayState): Ditto.
735         (WebCore::HTMLMediaElement::userCancelledLoad): Added iOS-specific code and FIXME comment.
736         (WebCore::HTMLMediaElement::resume): Added iOS-specific comment. See <rdar://problem/9751303>.
737         (WebCore::HTMLMediaElement::deliverNotification): Added iOS-specific code.
738         (WebCore::HTMLMediaElement::getPluginProxyParams): Added iOS-specific code. Also, changed src() to getNonEmptyURLAttribute()
739         in the non-iOS code as their doesn't exist a method called src in this class or its superclasses.
740         (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
741         (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Added; guarded by ENABLE(IOS_AIRPLAY).
742         (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
743         (WebCore::HTMLMediaElement::mediaPlayerPlaybackTargetAvailabilityChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
744         (WebCore::HTMLMediaElement::addEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
745         (WebCore::HTMLMediaElement::removeEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
746         (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Added; guarded by ENABLE(IOS_AIRPLAY).
747         (WebCore::HTMLMediaElement::enterFullscreen): Added iOS-specific code.
748         (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
749         (WebCore::HTMLMediaElement::createMediaPlayer): Added ENABLE(IOS_AIRPLAY)-guarded code.
750         (WebCore::HTMLMediaElement::userRequestsMediaLoading): Added; guarded by PLATFORM(IOS).
751         (WebCore::HTMLMediaElement::shouldUseVideoPluginProxy): Use dot operator instead of dereference operator (->)
752         when accessing Document::settings().
753         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Added ENABLE(PLUGIN_PROXY_FOR_VIDEO)-guarded code.
754         * html/HTMLMediaElement.h:
755         (WebCore::HTMLMediaElement::userGestureRequiredToShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
756         * html/HTMLMediaElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attributes and functions:webkitCurrentPlaybackTargetIsWireless,
757         onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, and webkitShowPlaybackTargetPicker().
758         * html/HTMLMetaElement.cpp:
759         (WebCore::HTMLMetaElement::process): Added iOS-specific code.
760         * html/HTMLObjectElement.cpp:
761         (WebCore::shouldNotPerformURLAdjustment): Added; iOS-specific.
762         (WebCore::HTMLObjectElement::parametersForPlugin): Modified to call shouldNotPerformURLAdjustment() when
763         building for iOS.
764         * html/HTMLPlugInElement.h:
765         * html/HTMLPlugInImageElement.cpp:
766         (WebCore::HTMLPlugInImageElement::createRenderer): Added iOS-specific code.
767         (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Added; iOS-specific.
768         * html/HTMLPlugInImageElement.h:
769         * html/HTMLSelectElement.cpp:
770         (WebCore::HTMLSelectElement::usesMenuList): Added iOS-specific code.
771         (WebCore::HTMLSelectElement::createRenderer): Ditto.
772         (WebCore::HTMLSelectElement::childShouldCreateRenderer): Ditto.
773         (WebCore::HTMLSelectElement::willRespondToMouseClickEvents): Added; iOS-specific.
774         (WebCore::HTMLSelectElement::updateListBoxSelection): Added iOS-specific code.
775         (WebCore::HTMLSelectElement::scrollToSelection): Ditto.
776         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): Ditto.
777         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Opt out of code when building for iOS.
778         (WebCore::HTMLSelectElement::defaultEventHandler): Added iOS-specific code.
779         * html/HTMLSelectElement.h:
780         * html/HTMLTextAreaElement.cpp:
781         (WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents): Added; iOS-specific.
782         * html/HTMLTextAreaElement.h:
783         * html/HTMLTextAreaElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
784         * html/HTMLTextFormControlElement.cpp:
785         (WebCore::HTMLTextFormControlElement::select): Added iOS-specific code and FIXME comment.
786         (WebCore::HTMLTextFormControlElement::setSelectionRange): Opt out of code when building for iOS.
787         (WebCore::HTMLTextFormControlElement::hidePlaceholder): Added; guarded by PLATFORM(IOS).
788         (WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary): Added; guarded by PLATFORM(IOS).
789         * html/HTMLTextFormControlElement.h:
790         * html/HTMLVideoElement.cpp:
791         (WebCore::HTMLVideoElement::createRenderer): Fix up call to HTMLMediaElement::createRenderer().
792         (WebCore::HTMLVideoElement::parseAttribute): Added iOS-specific code.
793         (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
794         (WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
795         (WebCore::HTMLVideoElement::setWebkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
796         * html/HTMLVideoElement.h:
797         * html/HTMLVideoElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attribute: webkitWirelessVideoPlaybackDisabled.
798         * html/ImageDocument.cpp:
799         (WebCore::ImageDocument::createDocumentStructure): Added iOS-specific code.
800         (WebCore::ImageDocument::scale): Ditto.
801         (WebCore::ImageDocument::resizeImageToFit): Ditto.
802         (WebCore::ImageDocument::imageClicked): Ditto.
803         (WebCore::ImageDocument::imageFitsInWindow): Ditto.
804         (WebCore::ImageDocument::windowSizeChanged): Ditto.
805         * html/InputType.cpp:
806         (WebCore::InputType::dateType): Added; guarded by PLATFORM(IOS).
807         (WebCore::InputType::isKeyboardFocusable): Added iOS-specific code.
808         (WebCore::InputType::displayString): Added; guarded by PLATFORM(IOS).
809         * html/InputType.h:
810         * html/PluginDocument.cpp:
811         (WebCore::PluginDocumentParser::createDocumentStructure): Added iOS-specific code.
812         * html/RangeInputType.cpp:
813         (WebCore::RangeInputType::handleTouchEvent): Ditto.
814         (WebCore::RangeInputType::disabledAttributeChanged): Added; iOS-specific.
815         * html/RangeInputType.h:
816         * html/SearchInputType.cpp:
817         (WebCore::SearchInputType::addSearchResult): Opt out of code when building for iOS.
818         * html/TextFieldInputType.cpp:
819         (WebCore::TextFieldInputType::isKeyboardFocusable): Added iOS-specific code.
820         * html/TextFieldInputType.h:
821         * html/WebAutocapitalize.h: Added.
822         * html/canvas/CanvasRenderingContext2D.cpp:
823         (WebCore::CanvasRenderingContext2D::createImageData): Added iOS-specific code.
824         (WebCore::CanvasRenderingContext2D::getImageData): Ditto.
825         * html/parser/HTMLConstructionSite.h:
826         (WebCore::HTMLConstructionSite::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
827         * html/parser/HTMLParserScheduler.h:
828         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): Added iOS-specific code.
829         * html/parser/HTMLTreeBuilder.cpp:
830         (WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Added; guarded by PLATFORM(IOS).
831         (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): Added; guarded by PLATFORM(IOS).
832         (WebCore::disallowTelephoneNumberParsing): Added; guarded by PLATFORM(IOS).
833         (WebCore::shouldParseTelephoneNumbersInNode): Added; guarded by PLATFORM(IOS).
834         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Added iOS-specific code.
835         * html/parser/HTMLTreeBuilder.h:
836         * html/shadow/MediaControlElements.cpp:
837         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Guarded member initialization of m_controls with ENABLE(VIDEO_TRACK). Also added UNUSED_PARAM(event) when building with
838         VIDEO_TRACK disabled.
839         (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Added UNUSED_PARAM(event) when
840         building with VIDEO_TRACK disabled.
841         * html/shadow/MediaControls.h:
842         * html/shadow/SliderThumbElement.cpp:
843         (WebCore::SliderThumbElement::SliderThumbElement): Added iOS-specific code.
844         (WebCore::SliderThumbElement::dragFrom): Opt out of code when building for iOS.
845         (WebCore::SliderThumbElement::willDetachRenderers):  Added iOS-specific code.
846         (WebCore::SliderThumbElement::exclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
847         (WebCore::SliderThumbElement::setExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
848         (WebCore::SliderThumbElement::clearExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
849         (WebCore::findTouchWithIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
850         (WebCore::SliderThumbElement::handleTouchStart): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
851         (WebCore::SliderThumbElement::handleTouchMove): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
852         (WebCore::SliderThumbElement::handleTouchEndAndCancel): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
853         (WebCore::SliderThumbElement::didAttachRenderers): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
854         (WebCore::SliderThumbElement::handleTouchEvent): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
855         (WebCore::SliderThumbElement::shouldAcceptTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
856         (WebCore::SliderThumbElement::registerForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
857         (WebCore::SliderThumbElement::unregisterForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
858         (WebCore::SliderThumbElement::disabledAttributeChanged): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
859         * html/shadow/SliderThumbElement.h:
860         * html/shadow/TextControlInnerElements.cpp:
861         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): Opt out of code when building for iOS.
862         * html/shadow/TextControlInnerElements.h:
863         * page/Settings.in: Added setting allowMultiElementImplicitSubmission to enable/disable multi-input implicit form
864         submission (disabled by default). Also added FIXME comment to rename this setting to allowMultiElementImplicitFormSubmission
865         once we upstream the iOS changes to WebView.mm.
866
867 2013-12-17  Brady Eidson  <beidson@apple.com>
868
869         DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction"
870         https://bugs.webkit.org/show_bug.cgi?id=125872
871
872         Reviewed by Alexey Proskuryakov.
873
874         Make these enums into enum classes.
875         Add const maximums for each enum class that might be serialized to allow for conversion later:
876         * Modules/indexeddb/IndexedDB.h:
877
878         Add cross-thread copying for these new enum classes.
879         * platform/CrossThreadCopier.cpp:
880         (WebCore::::copy):
881         * platform/CrossThreadCopier.h:
882
883         Adopt the new enum classes throughout the rest of WebCore:
884         * Modules/indexeddb/IDBCursor.cpp:
885         (WebCore::IDBCursor::continueFunction):
886         (WebCore::IDBCursor::stringToDirection):
887         (WebCore::IDBCursor::directionToString):
888         * Modules/indexeddb/IDBCursor.h:
889         * Modules/indexeddb/IDBCursorBackend.cpp:
890         (WebCore::IDBCursorBackend::deleteFunction):
891         * Modules/indexeddb/IDBCursorBackend.h:
892         (WebCore::IDBCursorBackend::value):
893         * Modules/indexeddb/IDBDatabaseBackend.cpp:
894         (WebCore::IDBDatabaseBackend::createObjectStore):
895         (WebCore::IDBDatabaseBackend::deleteObjectStore):
896         (WebCore::IDBDatabaseBackend::createIndex):
897         (WebCore::IDBDatabaseBackend::deleteIndex):
898         (WebCore::IDBDatabaseBackend::get):
899         (WebCore::IDBDatabaseBackend::put):
900         (WebCore::IDBDatabaseBackend::setIndexKeys):
901         (WebCore::IDBDatabaseBackend::openCursor):
902         (WebCore::IDBDatabaseBackend::deleteRange):
903         (WebCore::IDBDatabaseBackend::clearObjectStore):
904         (WebCore::IDBDatabaseBackend::transactionStarted):
905         (WebCore::IDBDatabaseBackend::transactionFinished):
906         (WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
907         (WebCore::IDBDatabaseBackend::transactionFinishedAndCompleteFired):
908         (WebCore::IDBDatabaseBackend::createTransaction):
909         (WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
910         (WebCore::IDBDatabaseBackend::deleteDatabase):
911         * Modules/indexeddb/IDBDatabaseBackend.h:
912         * Modules/indexeddb/IDBFactory.cpp:
913         (WebCore::IDBFactory::open):
914         (WebCore::IDBFactory::openInternal):
915         (WebCore::IDBFactory::deleteDatabase):
916         * Modules/indexeddb/IDBIndex.cpp:
917         (WebCore::IDBIndex::openCursor):
918         (WebCore::IDBIndex::openKeyCursor):
919         * Modules/indexeddb/IDBObjectStore.cpp:
920         (WebCore::IDBObjectStore::openCursor):
921         * Modules/indexeddb/IDBOpenDBRequest.cpp:
922         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
923         * Modules/indexeddb/IDBRequest.cpp:
924         (WebCore::IDBRequest::IDBRequest):
925         (WebCore::IDBRequest::setResultCursor):
926         (WebCore::IDBRequest::onSuccess):
927         * Modules/indexeddb/IDBTransaction.cpp:
928         (WebCore::IDBTransaction::create):
929         (WebCore::IDBTransaction::IDBTransaction):
930         (WebCore::IDBTransaction::stringToMode):
931         (WebCore::IDBTransaction::modeToString):
932         * Modules/indexeddb/IDBTransaction.h:
933         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
934         (WebCore::PutOperation::perform):
935         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
936         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
937         (WebCore::IDBTransactionCoordinator::canRunTransaction):
938         * Modules/indexeddb/IDBVersionChangeEvent.h:
939         (WebCore::IDBVersionChangeEvent::create):
940         (WebCore::IDBVersionChangeEvent::newVersion):
941         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
942         (WebCore::objectStoreCursorOptions):
943         (WebCore::indexCursorOptions):
944         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
945         (WebCore::IDBServerConnectionLevelDB::get):
946         (WebCore::IDBServerConnectionLevelDB::openCursor):
947         (WebCore::IDBServerConnectionLevelDB::count):
948         (WebCore::IDBServerConnectionLevelDB::deleteRange):
949         (WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
950
951         * WebCore.exp.in:
952
953 2013-12-17  Gavin Barraclough  <barraclough@apple.com>
954
955         Remove PageVisibilityStateUnloaded
956         https://bugs.webkit.org/show_bug.cgi?id=125869
957
958         Reviewed by Anders Carlsson.
959
960         This is not currently supported by WebKit, remove this enum value.
961         We can always add this back later if/when we add support for this state.
962
963         * page/PageVisibilityState.cpp:
964         (WebCore::pageVisibilityStateString):
965         * page/PageVisibilityState.h:
966             - removed PageVisibilityStateUnloaded
967
968 2013-12-12  Martin Robinson  <mrobinson@igalia.com>
969
970         [GTK] [CMake] Build the plugin process against GTK+ 2
971         https://bugs.webkit.org/show_bug.cgi?id=116374
972
973         Reviewed by Gustavo Noronha Silva.
974
975         * PlatformGTK.cmake: Split off the GTK+-dependent sources into
976         libWebCorePlatformGTK and compile libWebCorePlatformGTK2 when
977         WebKit2 is enabled.
978
979 2013-12-17  Alex Christensen  <achristensen@webkit.org>
980
981         Compile fix for WebGL on Windows without GRAPHICS_SURFACE.
982         https://bugs.webkit.org/show_bug.cgi?id=125867
983
984         Reviewed by Martin Robinson.
985
986         * platform/graphics/opengl/GLPlatformSurface.cpp:
987         (WebCore::GLPlatformSurface::createOffScreenSurface):
988         Protect reference to EGLOffScreenSurface with USE(GRAPHICS_SURFACE).
989
990 2013-12-17  Radu Stavila  <stavila@adobe.com>
991
992         [CSS Regions] Positioned elements in regions get clipped if they fall outside the region
993         https://bugs.webkit.org/show_bug.cgi?id=117120
994
995         Reviewed by Mihnea Ovidenie.
996
997         Fixed the computing of the box decorations clip rect when having statically positioned
998         elements inside positioned elements. The existing algorithm computed the rect in a loop
999         running up the containing block chain and only checked for positioned elements before 
1000         starting the loop. If a positioned elements was found in the middle of a loop (as would
1001         be the case with a positioned element parenting a non-positioned element), it was not 
1002         correctly handled.
1003         Also changed it so the clip is only performed in the fragmentation direction as that was 
1004         the original purpose of this method.
1005
1006         Tests: fast/regions/absolute-in-relative-overflow.html
1007                fast/regions/static-in-relative-overflow.html
1008                fast/regions/sticky-border-overflow.html
1009
1010         * rendering/RenderFlowThread.cpp:
1011         (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
1012
1013 2013-12-17  Commit Queue  <commit-queue@webkit.org>
1014
1015         Unreviewed, rolling out r160717.
1016         http://trac.webkit.org/changeset/160717
1017         https://bugs.webkit.org/show_bug.cgi?id=125863
1018
1019         New tests are failing, and possibly broke an existing test
1020         (Requested by ap on #webkit).
1021
1022         * rendering/FlowThreadController.cpp:
1023         (WebCore::FlowThreadController::collectFixedPositionedLayers):
1024         * rendering/RenderLayer.cpp:
1025         (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
1026         (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
1027
1028 2013-12-17  Ryosuke Niwa  <rniwa@webkit.org>
1029
1030         Invalid dir attributes should resolve to ltr
1031         https://bugs.webkit.org/show_bug.cgi?id=125830
1032
1033         Reviewed by Darin Adler.
1034         
1035         Merge https://chromium.googlesource.com/chromium/blink/+/2d592d1c998bec9438e421e1ce1ee6caba05a884
1036
1037         The dir attribute should resolve to direction: ltr by default when the attribute value is
1038         "not in a defined state": http://www.w3.org/TR/2013/WD-html51-20130528/dom.html#the-directionality
1039
1040         Test: fast/dom/HTMLElement/set-and-clear-dir-attribute.html
1041
1042         * html/HTMLElement.cpp:
1043         (WebCore::isLTROrRTLIgnoringCase): Extracted from HTMLElement::directionality.
1044         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
1045         (WebCore::HTMLElement::directionality):
1046
1047 2013-12-17  Mihnea Ovidenie  <mihnea@adobe.com>
1048
1049         [CSSRegions] Incorrect repaint of fixed element with transformed parent
1050         https://bugs.webkit.org/show_bug.cgi?id=125756
1051
1052         Reviewed by Darin Adler.
1053
1054         When collecting the layers for fixed positioned elements with named flow
1055         as a containing block, use layers collection at named flow layer level
1056         instead of relying on the positioned elements collection.
1057
1058         Modified also FlowThreadController::collectFixedPositionedLayers function
1059         to always return the layers sorted by z-index, as this operation was always
1060         done at the call sites.
1061
1062         Tests: fast/regions/repaint/fixed-in-named-flow-cb-changed.html
1063                fast/regions/repaint/fixed-in-named-flow-cb-changed2.html
1064
1065         * rendering/FlowThreadController.cpp:
1066         (WebCore::compareZIndex):
1067         (WebCore::FlowThreadController::collectFixedPositionedLayers):
1068         * rendering/RenderLayer.cpp:
1069         (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
1070         (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
1071
1072 2013-12-17  Bem Jones-Bey  <bjonesbe@adobe.com>
1073
1074         REGRESSION(r159166?): fast/block/float/float-with-fractional-height-vertical-lr.html, fast/block/float/float-with-fractional-height.html are failing
1075         https://bugs.webkit.org/show_bug.cgi?id=124506
1076
1077         Reviewed by Dirk Schulze.
1078
1079         Floor the endpoints of the floating object interval to keep the old
1080         behavior until a better fix can be created.
1081
1082         No new tests, fixes regression in existing tests.
1083
1084         * rendering/FloatingObjects.cpp:
1085         (WebCore::FloatingObjects::intervalForFloatingObject):
1086
1087 2013-12-17  Alex Christensen  <achristensen@webkit.org>
1088
1089         [Win] Visual Studio workaround for compiling WebGL.
1090         https://bugs.webkit.org/show_bug.cgi?id=125808
1091
1092         Reviewed by Darin Adler.
1093
1094         * platform/graphics/GraphicsContext3D.cpp:
1095         Don't inline outermost function to prevent Visual Studio crash.
1096
1097 2013-12-17  Mario Sanchez Prada  <mario.prada@samsung.com>
1098
1099         [ATK] Expose accessibility objects for <dl>, <dt> and <dd>
1100         https://bugs.webkit.org/show_bug.cgi?id=125857
1101
1102         Reviewed by Chris Fleizach.
1103
1104         Map description lists to the newly introduced ATK roles
1105         ATK_ROLE_DESCRIPTION_LIST, ATK_ROLE_DESCRIPTION_TERM and
1106         ATK_ROLE_DESCRIPTION_VALUE, introduced in ATK 2.11.4.
1107
1108         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1109         (atkRole): Do the right mapping.
1110         (webkitAccessibleGetRole): Update call to atkRole, now that it
1111         receives an AccessibilityObject* as parameter.
1112
1113 2013-12-17  Frédéric Wang  <fred.wang@free.fr>
1114
1115         Ensure inferred mrows for msqrt, mstyle, merror, mphantom and math.
1116         https://bugs.webkit.org/show_bug.cgi?id=124841
1117
1118         Reviewed by Darin Adler.
1119
1120         Tests: mathml/presentation/inferred-mrow-baseline.html
1121                mathml/presentation/inferred-mrow-stretchy.html
1122
1123         * css/mathml.css: make merror, mphantom and mstyle behave like an mrow.
1124         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle):
1125         (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle):
1126         * mathml/MathMLInlineContainerElement.cpp: ditto
1127         (WebCore::MathMLInlineContainerElement::createRenderer):
1128         * mathml/mathtags.in: ditto
1129         * rendering/mathml/RenderMathMLOperator.cpp:
1130         (WebCore::RenderMathMLOperator::paint): fix failure in mathml/presentation/phantom.html now that phantom can stretch operators.
1131
1132 2013-12-17  Simon Pena  <simon.pena@samsung.com>
1133
1134         [NIX] Enable full debug builds by having ar creating thin archives
1135         https://bugs.webkit.org/show_bug.cgi?id=125850
1136
1137         Reviewed by Csaba Osztrogonác.
1138
1139         By default, CMake uses ar to generate libWebCore.a with cr parameters
1140         (do not warn if the library has to be created, and replace existing
1141         files in the archive). That results in a very large file, and ar fails
1142         with sizes over 4GB.
1143
1144         By using thin archives (the T option of ar), the generated
1145         libWebCore.a is much smaller, and can be successfully archived. As a
1146         result, we can generate a full debug build. This patch is based on Xan
1147         López's webkit.org/b/110580.
1148
1149         * PlatformNix.cmake: Instruct cmake to invoke ar with T option.
1150
1151 2013-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1152
1153         Unreviewed. Update GObject DOM symbols file after r160336.
1154
1155         * bindings/gobject/webkitdom.symbols: Add new methods exposed for
1156         VideoPlaybackQuality.
1157
1158 2013-12-17  Mihai Maerean  <mmaerean@adobe.com>
1159
1160         Fix hit testing for divs with a hierarchy of css transformed and non-transformed elements
1161         https://bugs.webkit.org/show_bug.cgi?id=124777
1162
1163         Reviewed by Darin Adler.
1164
1165         After bug #124647, the hit test will still behave incorrectly for transformed divs with non
1166         transformed siblings that are all inside a transformed element (tested by the
1167         hover-rotated-with-children-negative-z.html layout test).
1168
1169         The fix is to not take zOffset into account during hit-testing when child layers are in the
1170         same 3D rendering context. Only when preserve3d is true, should hit-testing compute the
1171         zOffset of the layers with transformations and, when two layers overlap, to return the layer
1172         with the highest zOffset.
1173
1174         The patch includes the work of a.renevier from https://codereview.chromium.org/79943002/
1175
1176         Tests: transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html
1177                transforms/3d/hit-testing/negative-zoffset-hit-test.html
1178                transforms/3d/hit-testing/overlapping-layers-hit-test.html
1179
1180         * rendering/RenderLayer.cpp:
1181         (WebCore::computeZOffset):
1182         (WebCore::RenderLayer::hitTestLayer):
1183
1184 2013-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1185
1186         Remove a few more guards mistakenly added in r160367
1187
1188         Reviewed by Martin Robinson.
1189
1190         r160367 was too liberal in hiding APIs from the GObject DOM bindings.
1191
1192         * Modules/battery/NavigatorBattery.idl: Expose NavigatorBattery.
1193
1194 2013-12-17  Benjamin Poulain  <benjamin@webkit.org>
1195
1196         Add a simple register allocator to WebCore for x86_64
1197         https://bugs.webkit.org/show_bug.cgi?id=125771
1198
1199         Reviewed by Geoffrey Garen.
1200
1201         Add a brain dead register allocator to simplify the use of registers
1202         when writting code generators.
1203
1204         RegisterAllocator has two purposes:
1205         -make it easy to name registers properly.
1206         -make it hard to reuse a register accidentally.
1207
1208         A helper class LocalRegister is also defined to provide an easy
1209         way to work with registers within a C++ scope. For example:
1210             LocalRegister elementPointer(allocator);
1211             assembler.load(address, elementPointer);
1212
1213         RegisterAllocator makes no attempt at optimizing register allocations, but it reduces
1214         implicit dependencies by returning used register at the end of the queue, making it less
1215         likely they will be reused before their last instruction is executed.
1216
1217         The current implementation only support unix x86_64, it only uses caller saved registers.
1218
1219         * WebCore.xcodeproj/project.pbxproj:
1220         * cssjit/RegisterAllocator.h: Added.
1221         (WebCore::RegisterAllocator::allocateRegister): Provides any available register.
1222         To restrict runtime exploitation of compiler bugs, the method crashes in release
1223         if the register pool is empty.
1224
1225         (WebCore::RegisterAllocator::reserveRegister): Reserve a particular register.
1226         (WebCore::RegisterAllocator::returnRegister): Return a previously allocated or reserved register.
1227
1228         (WebCore::RegisterAllocator::allocatedRegisters):
1229         (WebCore::LocalRegister::LocalRegister):
1230         (WebCore::LocalRegister::~LocalRegister):
1231         (WebCore::LocalRegister::operator JSC::MacroAssembler::RegisterID):
1232         (WebCore::RegisterAllocator::RegisterAllocator):
1233
1234 2013-12-16  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1235
1236         Checking RTCPeerConnection signalingState before setting local/remoteDescription
1237         https://bugs.webkit.org/show_bug.cgi?id=125655
1238
1239         Reviewed by Eric Carlson.
1240
1241         Before setting a session description RTCPeerConnection must check if it is in valid state for that SDP type.
1242
1243         New tests: fast/mediastream/RTCPeerConnection-have-local-answer.html
1244                fast/mediastream/RTCPeerConnection-have-local-offer.html
1245                fast/mediastream/RTCPeerConnection-have-local-pranswer.html
1246                fast/mediastream/RTCPeerConnection-have-remote-offer.html
1247                fast/mediastream/RTCPeerConnection-have-remote-pranswer.html
1248                fast/mediastream/RTCPeerConnection-stable.html
1249
1250         Modified: fast/mediastream/RTCPeerConnection-remoteDescription.html
1251
1252         * Modules/mediastream/RTCPeerConnection.cpp:
1253         (WebCore::RTCPeerConnection::checkStateForLocalDescription): Checks if the current state of RTCPeerConnection is
1254         valid for the local SDP that is being set.
1255         (WebCore::RTCPeerConnection::checkStateForRemoteDescription): Checks if the current state of RTCPeerConnection
1256         is valid for the remote SDP that is being set.
1257         (WebCore::RTCPeerConnection::setLocalDescription): Now calls checkStateForLocalDescription prior to set the
1258         local SDP.
1259         (WebCore::RTCPeerConnection::setRemoteDescription): Now Calls checkStateForRemoteDescription prior to set the
1260         remote SDP.
1261         * Modules/mediastream/RTCPeerConnection.h:
1262         * platform/mock/RTCNotifiersMock.cpp: Adding new class to notify RTCPeerConnection about a signaling state
1263         change: SignalingStateNotifier.
1264         (WebCore::SignalingStateNotifier::SignalingStateNotifier):
1265         (WebCore::SignalingStateNotifier::fire):
1266         * platform/mock/RTCNotifiersMock.h:
1267         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1268         (WebCore::RTCPeerConnectionHandlerMock::signalingStateFromSDP): Defines the new state that RTCPeerConnection
1269         should be, according the SDP that is being set.
1270         (WebCore::RTCPeerConnectionHandlerMock::setLocalDescription): Calls signalingStateFromSDP, in order to get the
1271         new signaling state and notify RTCPeerConnection object.
1272         (WebCore::RTCPeerConnectionHandlerMock::setRemoteDescription): Ditto.
1273         * platform/mock/RTCPeerConnectionHandlerMock.h:
1274
1275 2013-12-16  Tim Horton  <timothy_horton@apple.com>
1276
1277         Revert a mysterious and inexplicable part of http://trac.webkit.org/changeset/160685
1278
1279         * platform/KeyedCoding.h:
1280         (WebCore::KeyedEncoder::encodeEnum):
1281         (WebCore::KeyedEncoder::encodeObject):
1282         (WebCore::KeyedEncoder::encodeConditionalObject):
1283         (WebCore::KeyedEncoder::encodeObjects):
1284
1285 2013-12-16  Anders Carlsson  <andersca@apple.com>
1286
1287         Remove EnumClass.h from WTF
1288         https://bugs.webkit.org/show_bug.cgi?id=125820
1289
1290         Reviewed by Darin Adler.
1291
1292         Replace uses of ENUM_CLASS with real enum class declarations.
1293
1294         * Modules/webdatabase/DatabaseBasicTypes.h:
1295         * Modules/webdatabase/DatabaseError.h:
1296         * Modules/webdatabase/SQLTransactionState.h:
1297         * bindings/js/JSSubtleCryptoCustom.cpp:
1298         * bindings/js/SerializedScriptValue.cpp:
1299         * crypto/CryptoAlgorithmIdentifier.h:
1300         * crypto/CryptoAlgorithmParameters.h:
1301         * crypto/CryptoKey.h:
1302         * crypto/CryptoKeyData.h:
1303         * crypto/CryptoKeyType.h:
1304         * crypto/keys/CryptoKeyDataRSAComponents.h:
1305         * inspector/InspectorTimelineAgent.h:
1306
1307 2013-12-16  Tim Horton  <timothy_horton@apple.com>
1308
1309         WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
1310         https://bugs.webkit.org/show_bug.cgi?id=125750
1311
1312         Reviewed by Simon Fraser.
1313
1314         * WebCore.exp.in:
1315         Export a few things so WebKit2 can use them.
1316
1317 2013-12-16  Joseph Pecoraro  <pecoraro@apple.com>
1318
1319         Fix some whitespace issues in inspector code
1320         https://bugs.webkit.org/show_bug.cgi?id=125814
1321
1322         Reviewed by Darin Adler.
1323
1324         * inspector/protocol/DOM.json:
1325         * inspector/protocol/DOMStorage.json:
1326         * inspector/protocol/Timeline.json:
1327
1328 2013-12-16  Joseph Pecoraro  <pecoraro@apple.com>
1329
1330         Web Inspector: Use JSC::SourceID and JSC::BreakpointID instead of WebCore dups
1331         https://bugs.webkit.org/show_bug.cgi?id=125818
1332
1333         Reviewed by Mark Lam.
1334
1335         Remove the WebCore typedefs of JSC types. Prefer JSC namespace
1336         prefixed types throughout WebCore's Inspector code.
1337
1338         * GNUmakefile.list.am:
1339         * WebCore.vcxproj/WebCore.vcxproj:
1340         * WebCore.vcxproj/WebCore.vcxproj.filters:
1341         * WebCore.xcodeproj/project.pbxproj:
1342         * bindings/js/BreakpointID.h: Removed.
1343         * bindings/js/ScriptDebugServer.cpp:
1344         (WebCore::ScriptDebugServer::setBreakpoint):
1345         (WebCore::ScriptDebugServer::removeBreakpoint):
1346         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1347         * bindings/js/ScriptDebugServer.h:
1348         * bindings/js/SourceID.h: Removed.
1349         * inspector/InspectorDebuggerAgent.cpp:
1350         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1351         (WebCore::parseLocation):
1352         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1353         (WebCore::InspectorDebuggerAgent::continueToLocation):
1354         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1355         (WebCore::InspectorDebuggerAgent::searchInContent):
1356         (WebCore::InspectorDebuggerAgent::getScriptSource):
1357         (WebCore::InspectorDebuggerAgent::didParseSource):
1358         (WebCore::InspectorDebuggerAgent::didPause):
1359         (WebCore::InspectorDebuggerAgent::clear):
1360         * inspector/InspectorDebuggerAgent.h:
1361         * inspector/ScriptDebugListener.h:
1362
1363 2013-12-16  Daniel Bates  <dabates@apple.com>
1364
1365         [iOS] Upstream WebCore/dom changes
1366         https://bugs.webkit.org/show_bug.cgi?id=125646
1367
1368         Reviewed by David Kilzer.
1369
1370         * WebCore.exp.in: Added symbol __ZN7WebCore8Settings17setLayoutIntervalEi and removed symbol
1371         __ZN7WebCore24cLayoutScheduleThresholdE.
1372         * dom/ActiveDOMObject.h: Add suspension reason DocumentWillBePaused.
1373         * dom/DOMImplementation.cpp:
1374         (WebCore::DOMImplementation::createDocument): Opt-out of ENABLE(VIDEO) logic when
1375         building for iOS.
1376         * dom/DeviceMotionClient.h: Made class non-copyable.
1377         (WebCore::DeviceMotionClient::DeviceMotionClient): Added;
1378         * dom/DeviceMotionController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
1379         (WebCore::DeviceMotionController::suspendUpdates): Added; guarded by PLATFORM(IOS).
1380         (WebCore::DeviceMotionController::resumeUpdates): Added; guarded by PLATFORM(IOS).
1381         * dom/DeviceMotionController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
1382         * dom/DeviceOrientationClient.h: Made class non-copyable.
1383         (WebCore::DeviceOrientationClient::DeviceOrientationClient): Added.
1384         * dom/DeviceOrientationController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
1385         (WebCore::DeviceOrientationController::DeviceOrientationController):
1386         (WebCore::DeviceOrientationController::suspendUpdates): Added; guarded by PLATFORM(IOS).
1387         (WebCore::DeviceOrientationController::resumeUpdates): Added; guarded by PLATFORM(IOS).
1388         * dom/DeviceOrientationController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
1389         * dom/DeviceOrientationData.cpp:
1390         (WebCore::DeviceOrientationData::create): Added; iOS-specific. Added FIXME comment.
1391         (WebCore::DeviceOrientationData::DeviceOrientationData): Added iOS-specific code.
1392         (WebCore::DeviceOrientationData::compassHeading): Added; guarded by PLATFORM(IOS).
1393         (WebCore::DeviceOrientationData::compassAccuracy): Added; guarded by PLATFORM(IOS).
1394         (WebCore::DeviceOrientationData::canProvideCompassHeading): Added; guarded by PLATFORM(IOS).
1395         (WebCore::DeviceOrientationData::canProvideCompassAccuracy): Added; guarded by PLATFORM(IOS).
1396         * dom/DeviceOrientationData.h:
1397         * dom/DeviceOrientationEvent.idl: Added iOS-specific code.
1398         * dom/Document.cpp: Moved constant cLayoutScheduleThreshold to Settings.cpp and renamed it
1399         layoutScheduleThreshold towards allowing a port to configure the layout interval.
1400         (WebCore::Document::Document): Added optional argument isSynthesized, defaults false.
1401         (WebCore::Document::~Document): Added iOS-specific code to destroy the device motion
1402         and device orientation controllers.
1403         (WebCore::Document::didBecomeCurrentDocumentInFrame): Added iOS-specific code with FIXME comment.
1404         (WebCore::Document::prepareForDestruction): Added iOS-specific touch event code.
1405         (WebCore::Document::removeAllEventListeners): Ditto.
1406         (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added; compiles to an empty function on
1407         non-iOS port.
1408         (WebCore::Document::suspendActiveDOMObjects): Modified to call platformSuspendOrStopActiveDOMObjects().
1409         (WebCore::Document::resumeActiveDOMObjects): Ditto.
1410         (WebCore::Document::stopActiveDOMObjects): Added.
1411         (WebCore::Document::implicitClose): Modified to query Settings::layoutInterval().
1412         (WebCore::Document::minimumLayoutDelay): Ditto.
1413         (WebCore::Document::processViewport): Added iOS-specific code.
1414         (WebCore::Document::updateViewportArguments): Ditto.
1415         (WebCore::setParserFeature): Added; guarded by PLATFORM(IOS).
1416         (WebCore::Document::processFormatDetection): Added; guarded by PLATFORM(IOS).
1417         (WebCore::Document::processWebAppOrientations): Added; guarded by PLATFORM(IOS).
1418         (WebCore::Document::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
1419         (WebCore::Document::setIsTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
1420         (WebCore::Document::isTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
1421         (WebCore::Document::initSecurityContext): Added iOS-specific code.
1422         (WebCore::Document::suspendScheduledTasks): Added; guarded by PLATFORM(IOS).
1423         (WebCore::Document::deviceMotionController): Added; iOS-specific.
1424         (WebCore::Document::deviceOrientationController): Added; iOS-specific.
1425         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
1426         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
1427         * dom/Document.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
1428         (WebCore::Document::isSynthesized): Added.
1429         (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added.
1430         * dom/Document.idl:
1431         * dom/DocumentMarker.h: Added iOS-specific changes. We should look to reconcile the differences between
1432         iOS and OpenSource. See <rdar://problem/11306422>.
1433         (WebCore::DocumentMarker::AllMarkers::AllMarkers):
1434         (WebCore::DocumentMarker::DocumentMarker): Added; iOS-specific.
1435         (WebCore::DocumentMarker::alternatives): Added; iOS-specific.
1436         (WebCore::DocumentMarker::setAlternative): Added; iOS-specific.
1437         (WebCore::DocumentMarker::metadata): Added; iOS-specific.
1438         (WebCore::DocumentMarker::setMetadata): Added; iOS-specific.
1439         * dom/DocumentMarkerController.cpp:
1440         (WebCore::DocumentMarkerController::addMarker):
1441         (WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
1442         (WebCore::DocumentMarkerController::addDictationResultMarker):
1443         (WebCore::DocumentMarkerController::shiftMarkers):
1444         * dom/DocumentMarkerController.h:
1445         * dom/Element.cpp:
1446         (WebCore::Element::focus): Add iOS-specific workaround for <rdar://problem/6699741>.
1447         * dom/Element.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
1448         * dom/EventContext.cpp: Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
1449         * dom/EventContext.h: Ditto.
1450         * dom/EventDispatcher.cpp:
1451         (WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Ditto.
1452         (WebCore::EventDispatcher::dispatchEvent): Ditto.
1453         (WebCore::EventPath::EventPath): Ditto.
1454         * dom/EventNames.h: Added events webkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}
1455         and gesture{change, end, start}.
1456         * dom/EventNames.in: Added event names GestureEvent and WebKitPlaybackTargetAvailabilityEvent conditioned on
1457         the macro defines ENABLE_IOS_GESTURE_EVENTS and ENABLE_IOS_AIRPLAY.
1458         * dom/MouseRelatedEvent.cpp:
1459         (WebCore::contentsScrollOffset): Added iOS-specific code.
1460         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
1461         * dom/Node.cpp:
1462         (WebCore::Node::willBeDeletedFrom): Ditto.
1463         (WebCore::Node::isDescendantOf): Fixed style issue in function prototype; moved '*' to the left side.
1464         (WebCore::Node::isDescendantOrShadowDescendantOf): Added.
1465         (WebCore::tryAddEventListener): Added iOS-specific code; also added FIXME comment.
1466         (WebCore::tryRemoveEventListener): Ditto.
1467         (WebCore::Node::dispatchEvent): Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
1468         (WebCore::Node::defaultEventHandler): Added iOS-specific code.
1469         (WebCore::Node::willRespondToMouseMoveEvents): Added iOS-specific code; also added FIXME comment.
1470         (WebCore::Node::willRespondToMouseClickEvents): Added iOS-specific code; also added FIXME comment.
1471         (WebCore::Node::willRespondToMouseWheelEvents): Added.
1472         * dom/Node.h:
1473         * dom/Position.h:
1474         (WebCore::operator<): Added.
1475         (WebCore::operator>): Added.
1476         (WebCore::operator>=): Added.
1477         (WebCore::operator<=): Added.
1478         * dom/Range.cpp:
1479         (WebCore::Range::create): Added iOS-specific code; also added FIXME comment.
1480         (WebCore::intervalsSufficientlyOverlap): Added; guarded by PLATFORM(IOS).
1481         (WebCore::printRects): Added; guarded by PLATFORM(IOS).
1482         (WebCore::adjustLineHeightOfSelectionRects): Added; guarded by PLATFORM(IOS).
1483         (WebCore::coalesceSelectionRects): Added; guarded by PLATFORM(IOS).
1484         (WebCore::Range::collectSelectionRects): Added; guarded by PLATFORM(IOS).
1485         * dom/Range.h:
1486         * dom/ScriptExecutionContext.cpp:
1487         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Added iOS-specific code.
1488         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Ditto.
1489         * dom/TreeScope.cpp:
1490         (WebCore::nodeFromPoint): Ditto.
1491         * dom/ViewportArguments.cpp:
1492         (WebCore::computeViewportAttributes): Ditto.
1493         (WebCore::setViewportFeature): Added iOS-specific code.
1494         (WebCore::finalizeViewportArguments): Added; iOS-specific.
1495         * dom/ViewportArguments.h:
1496         * dom/make_names.pl: Added support to find the path to gcc with respect to the environment
1497         variable SDKROOT.
1498         * html/HTMLMediaElement.cpp:
1499         (HTMLMediaElement::suspend):
1500         * page/Settings.cpp:
1501         (WebCore::Settings::Settings): Initialize setting m_layoutInterval to layoutScheduleThreshold.
1502         (WebCore::Settings::setLayoutInterval): Added.
1503         * page/Settings.h:
1504         (WebCore::Settings::layoutInterval): Added.
1505
1506 2013-12-16  Simon Fraser  <simon.fraser@apple.com>
1507
1508         Attempt to fix the Windows build after r160672.
1509         
1510         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1511         (PlatformCALayerWin::PlatformCALayerWin):
1512         * platform/graphics/ca/win/PlatformCALayerWin.h:
1513
1514 2013-12-16  Simon Fraser  <simon.fraser@apple.com>
1515
1516         Apply overhang shadow and linen to UI-side layers
1517         https://bugs.webkit.org/show_bug.cgi?id=125807
1518
1519         Reviewed by Tim Horton.
1520         
1521         With UI-side compositing, we need to apply the overhang shadow and linen
1522         background to layers in the UI process. Achieve this by setting a "custom
1523         appearance" flag on layers that need a shadow or linen background, and
1524         migrating this flag to the UI process. Static functions on ScrollbarThemeMac
1525         are exposed to do the actual setting.
1526
1527         * WebCore.exp.in: Export ScrollbarThemeMac and GraphicsLayerCA functions.
1528         * WebCore.xcodeproj/project.pbxproj: ScrollbarThemeMac.h and ScrollbarThemeComposite.h
1529         need to be Private.
1530         * platform/graphics/GraphicsLayer.cpp: Initialize m_customAppearance.
1531         (WebCore::GraphicsLayer::GraphicsLayer):
1532         * platform/graphics/GraphicsLayer.h: Getter/setter for CustomAppearance.
1533         (WebCore::GraphicsLayer::setCustomAppearance):
1534         (WebCore::GraphicsLayer::customAppearance):
1535         * platform/graphics/ca/GraphicsLayerCA.cpp: Update CustomAppearanceChanged as
1536         we do other properties.
1537         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1538         (WebCore::GraphicsLayerCA::updateCustomAppearance):
1539         (WebCore::GraphicsLayerCA::setCustomAppearance):
1540         * platform/graphics/ca/GraphicsLayerCA.h:
1541         * platform/graphics/ca/PlatformCALayer.h:
1542         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1543         * platform/graphics/ca/mac/PlatformCALayerMac.mm: When we have a custom
1544         appearance, use ScrollbarThemeMac functions to update the layer. Ensure
1545         that if the bounds change, we update the shadow (whose path depends on the bounds).
1546         (PlatformCALayerMac::PlatformCALayerMac):
1547         (PlatformCALayerMac::clone):
1548         (PlatformCALayerMac::setBounds):
1549         (PlatformCALayerMac::requiresCustomAppearanceUpdateOnBoundsChange):
1550         (PlatformCALayerMac::updateCustomAppearance):
1551         * platform/mac/ScrollbarThemeMac.h: Export some static functions.
1552         * platform/mac/ScrollbarThemeMac.mm: Change code to use static functions.
1553         (WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
1554         (WebCore::ScrollbarThemeMac::removeOverhangAreaBackground):
1555         (WebCore::ScrollbarThemeMac::setUpOverhangAreaShadow):
1556         (WebCore::ScrollbarThemeMac::removeOverhangAreaShadow):
1557         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
1558         (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
1559         * rendering/RenderLayerCompositor.cpp:
1560         (WebCore::RenderLayerCompositor::updateRootLayerPosition): No need to call
1561         setUpContentShadowLayer() now when size changes; PlatformCALayer takes
1562         care of that.
1563         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Now set
1564         custom appearance via GraphicsLayer.
1565
1566 2013-12-16  Brent Fulgham  <bfulgham@apple.com>
1567
1568         [Win] Remove dead code after converstion to VS2013
1569         https://bugs.webkit.org/show_bug.cgi?id=125795
1570
1571         Reviewed by Darin Adler.
1572
1573         * WebCorePrefix.h: Remove VS2012 include kludge.
1574         * loader/FTPDirectoryParser.cpp: Remove gmtime workaround code.
1575         * page/DOMWindow.cpp: Remove older pointer-based open implementation.
1576         * page/DOMWindow.h: Ditto
1577         * platform/text/TextEncodingRegistry.cpp:
1578         (WebCore::TextEncodingNameHash::equal): Remove optimization bug workaround
1579         * testing/Internals.cpp:
1580         (WebCore::Internals::openDummyInspectorFrontend): Remove compiler workaround
1581
1582 2013-12-16  Daniel Bates  <dabates@apple.com>
1583
1584         [iOS] Upstream WebCore/history changes
1585         https://bugs.webkit.org/show_bug.cgi?id=125769
1586
1587         Reviewed by Darin Adler.
1588
1589         * history/BackForwardClient.h:
1590         * history/BackForwardList.cpp:
1591         (WebCore::BackForwardList::current): Added; guard by PLATFORM(IOS). Also added FIXME comment.
1592         (WebCore::BackForwardList::setCurrent): Added; guard by PLATFORM(IOS). Also added FIXME comment.
1593         (WebCore::BackForwardList::clearAllPageCaches): Added; guarded by PLATFORM(IOS).
1594         * history/BackForwardList.h:
1595         * history/CachedFrame.cpp:
1596         (WebCore::CachedFrameBase::restore): Added iOS-specific code.
1597         (WebCore::CachedFrame::CachedFrame): Ditto.
1598         * history/CachedPage.cpp:
1599         (WebCore::CachedPage::restore): Ditto.
1600         * history/HistoryItem.cpp:
1601         (WebCore::HistoryItem::HistoryItem): Ditto.
1602         * history/HistoryItem.h:
1603         (WebCore::HistoryItem::scale): Added; guarded by PLATFORM(IOS).
1604         (WebCore::HistoryItem::scaleIsInitial): Added; guarded by PLATFORM(IOS).
1605         (WebCore::HistoryItem::setScale): Added; guarded by PLATFORM(IOS).
1606         (WebCore::HistoryItem::viewportArguments): Added; guarded by PLATFORM(IOS).
1607         (WebCore::HistoryItem::setViewportArguments): Added; guarded by PLATFORM(IOS).
1608         (WebCore::HistoryItem::bookmarkID): Added; guarded by PLATFORM(IOS).
1609         (WebCore::HistoryItem::setBookmarkID): Added; guarded by PLATFORM(IOS).
1610         (WebCore::HistoryItem::sharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
1611         (WebCore::HistoryItem::setSharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
1612         * history/PageCache.cpp:
1613         (WebCore::logCanCacheFrameDecision): Added iOS-specific code.
1614         (WebCore::logCanCachePageDecision): Ditto.
1615         (WebCore::PageCache::canCachePageContainingThisFrame): Ditto.
1616         (WebCore::PageCache::canCache): Ditto.
1617         (WebCore::PageCache::pruneToCapacityNow): Added.
1618         * history/PageCache.h:
1619
1620 2013-12-16  Daniel Bates  <dabates@apple.com>
1621
1622         [iOS] Upstream WebCore/svg changes
1623         https://bugs.webkit.org/show_bug.cgi?id=125784
1624
1625         Reviewed by Darin Adler.
1626
1627         * svg/SVGAElement.cpp:
1628         (WebCore::SVGAElement::willRespondToMouseClickEvents): Added.
1629         * svg/SVGAElement.h:
1630         * svg/SVGElement.cpp:
1631         (WebCore::SVGElement::parseAttribute): Added attribute listeners for touch{cancel, end, move, start},
1632         and gesture{change, end, start}.
1633
1634 2013-12-13  Jeffrey Pfau  <jpfau@apple.com>
1635
1636         [Mac] Cache partitioning asserts when associated NSURLRequest is nil
1637         https://bugs.webkit.org/show_bug.cgi?id=125716
1638
1639         Reviewed by Darin Adler.
1640
1641         * platform/network/mac/ResourceRequestMac.mm:
1642         (WebCore::ResourceRequest::doUpdateResourceRequest):
1643
1644 2013-12-16  Brady Eidson  <beidson@apple.com>
1645
1646         DatabaseProcess: Fix a few bugs with opening an IDB connection
1647         https://bugs.webkit.org/show_bug.cgi?id=125798
1648
1649         Reviewed by Alexey Proskuryakov.
1650
1651         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1652         (WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only
1653           early return when there *are* pending delete calls. The logic here was backwards,
1654           preventing the backend from ever getting to processPendingOpenCalls().
1655
1656 2013-12-16  Alex Christensen  <achristensen@webkit.org>
1657
1658         Fixed Win64 build on VS2013.
1659         https://bugs.webkit.org/show_bug.cgi?id=125753
1660
1661         Reviewed by Brent Fulgham.
1662
1663         * WebCore.vcxproj/WebCore.vcxproj:
1664         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
1665         Added correct PlatformToolset for 64-bit builds.
1666
1667 2013-12-16  Simon Fraser  <simon.fraser@apple.com>
1668
1669         Package up some data about scrollability into a struct for use in the scrolling tree
1670         https://bugs.webkit.org/show_bug.cgi?id=125792
1671
1672         Reviewed by Beth Dakin.
1673
1674         Both scrolling state nodes and scrolling nodes share a set of parameters
1675         relating to scrollability and rubberbanding, so package them into a struct
1676         for re-use. Send the struct wholesale to the scrolling thread.
1677
1678         * page/scrolling/ScrollingCoordinator.h:
1679         (WebCore::ScrollableAreaParameters::ScrollableAreaParameters): New struct.
1680         (WebCore::ScrollableAreaParameters::operator==):
1681         * page/scrolling/ScrollingStateScrollingNode.cpp:
1682         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Reordering.
1683         (WebCore::ScrollingStateScrollingNode::setScrollOrigin): Moved.
1684         (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters): Set the parameters all at once.
1685         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
1686         * page/scrolling/ScrollingStateScrollingNode.h: Getters access the struct. Reorder member variables.
1687         * page/scrolling/ScrollingTreeScrollingNode.cpp:
1688         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
1689         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
1690         * page/scrolling/ScrollingTreeScrollingNode.h:
1691         (WebCore::ScrollingTreeScrollingNode::scrollOrigin):
1692         (WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
1693         (WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
1694         (WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
1695         (WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
1696         (WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):
1697         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1698         * page/scrolling/mac/ScrollingCoordinatorMac.mm: Removed setScrollParametersForNode().
1699         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): Set the params in this
1700         function. Reordering.
1701
1702 2013-12-16  Sam Weinig  <sam@webkit.org>
1703
1704         CTTE: Convert more of SVG to use references
1705         https://bugs.webkit.org/show_bug.cgi?id=125762
1706
1707         Reviewed by Darin Adler.
1708
1709         * rendering/svg/RenderSVGImage.cpp:
1710         (WebCore::RenderSVGImage::imageChanged):
1711         * rendering/svg/RenderSVGResource.cpp:
1712         (WebCore::removeFromCacheAndInvalidateDependencies):
1713         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
1714         * rendering/svg/RenderSVGResource.h:
1715         * rendering/svg/RenderSVGResourceClipper.cpp:
1716         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
1717         * rendering/svg/RenderSVGResourceClipper.h:
1718         * rendering/svg/RenderSVGResourceContainer.cpp:
1719         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
1720         (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
1721         (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
1722         (WebCore::RenderSVGResourceContainer::removeClient):
1723         * rendering/svg/RenderSVGResourceContainer.h:
1724         * rendering/svg/RenderSVGResourceFilter.cpp:
1725         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
1726         (WebCore::RenderSVGResourceFilter::postApplyResource):
1727         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1728         * rendering/svg/RenderSVGResourceFilter.h:
1729         * rendering/svg/RenderSVGResourceGradient.cpp:
1730         (WebCore::RenderSVGResourceGradient::removeClientFromCache):
1731         * rendering/svg/RenderSVGResourceGradient.h:
1732         * rendering/svg/RenderSVGResourceMarker.cpp:
1733         (WebCore::RenderSVGResourceMarker::removeClientFromCache):
1734         * rendering/svg/RenderSVGResourceMarker.h:
1735         * rendering/svg/RenderSVGResourceMasker.cpp:
1736         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
1737         * rendering/svg/RenderSVGResourceMasker.h:
1738         * rendering/svg/RenderSVGResourcePattern.cpp:
1739         (WebCore::RenderSVGResourcePattern::removeClientFromCache):
1740         * rendering/svg/RenderSVGResourcePattern.h:
1741         * rendering/svg/RenderSVGResourceSolidColor.h:
1742         (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
1743         * rendering/svg/SVGRenderSupport.cpp:
1744         (WebCore::invalidateResourcesOfChildren):
1745         * rendering/svg/SVGResources.cpp:
1746         (WebCore::SVGResources::removeClientFromCache):
1747         * rendering/svg/SVGResources.h:
1748         * rendering/svg/SVGResourcesCache.cpp:
1749         (WebCore::SVGResourcesCache::clientLayoutChanged):
1750         (WebCore::SVGResourcesCache::clientStyleChanged):
1751         (WebCore::SVGResourcesCache::clientWasAddedToTree):
1752         (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
1753         (WebCore::SVGResourcesCache::clientDestroyed):
1754         * svg/SVGAnimateMotionElement.cpp:
1755         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1756         * svg/SVGCircleElement.cpp:
1757         (WebCore::SVGCircleElement::svgAttributeChanged):
1758         * svg/SVGEllipseElement.cpp:
1759         (WebCore::SVGEllipseElement::svgAttributeChanged):
1760         * svg/SVGFEImageElement.cpp:
1761         (WebCore::SVGFEImageElement::notifyFinished):
1762         * svg/SVGFELightElement.cpp:
1763         (WebCore::SVGFELightElement::childrenChanged):
1764         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1765         (WebCore::invalidateFilterPrimitiveParent):
1766         * svg/SVGFilterPrimitiveStandardAttributes.h:
1767         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
1768         (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
1769         * svg/SVGForeignObjectElement.cpp:
1770         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1771         * svg/SVGGElement.cpp:
1772         (WebCore::SVGGElement::svgAttributeChanged):
1773         * svg/SVGGraphicsElement.cpp:
1774         (WebCore::SVGGraphicsElement::svgAttributeChanged):
1775         * svg/SVGImageElement.cpp:
1776         (WebCore::SVGImageElement::svgAttributeChanged):
1777         * svg/SVGLineElement.cpp:
1778         (WebCore::SVGLineElement::svgAttributeChanged):
1779         * svg/SVGPathElement.cpp:
1780         (WebCore::SVGPathElement::svgAttributeChanged):
1781         (WebCore::SVGPathElement::invalidateMPathDependencies):
1782         (WebCore::SVGPathElement::pathSegListChanged):
1783         * svg/SVGPolyElement.cpp:
1784         (WebCore::SVGPolyElement::svgAttributeChanged):
1785         * svg/SVGRectElement.cpp:
1786         (WebCore::SVGRectElement::svgAttributeChanged):
1787         * svg/SVGSVGElement.cpp:
1788         (WebCore::SVGSVGElement::svgAttributeChanged):
1789         (WebCore::SVGSVGElement::setupInitialView):
1790         * svg/SVGStopElement.cpp:
1791         (WebCore::SVGStopElement::svgAttributeChanged):
1792         * svg/SVGTRefElement.cpp:
1793         (WebCore::SVGTRefElement::svgAttributeChanged):
1794         * svg/SVGTextContentElement.cpp:
1795         (WebCore::SVGTextContentElement::svgAttributeChanged):
1796         * svg/SVGTextPathElement.cpp:
1797         (WebCore::SVGTextPathElement::svgAttributeChanged):
1798         * svg/SVGTextPositioningElement.cpp:
1799         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
1800         * svg/SVGUseElement.cpp:
1801         (WebCore::SVGUseElement::svgAttributeChanged):
1802
1803 2013-12-16  Hans Muller  <hmuller@adobe.com>
1804
1805         [CSS Shapes] Add support for the computing the included intervals for a BoxShape
1806         https://bugs.webkit.org/show_bug.cgi?id=124605
1807
1808         Reviewed by Andreas Kling.
1809
1810         Setting shape-inside to content-box now works.
1811
1812         Changed FloatRoundedRect::xInterceptsAtY() to include the bottom edge of
1813         the rectangle and to check for the special cases where any or all of the
1814         corner radii are empty.
1815
1816         Test: fast/shapes/shape-inside/shape-inside-content-box.html
1817
1818         * platform/graphics/FloatRoundedRect.cpp:
1819         (WebCore::FloatRoundedRect::xInterceptsAtY):
1820         * rendering/shapes/BoxShape.cpp:
1821         (WebCore::BoxShape::getIncludedIntervals): Replaced the stub implementation with logic that's similar to getExcludedIntervals().
1822         * rendering/shapes/ShapeInfo.cpp:
1823         (WebCore::::computedShape): Removed a meaningless assert.
1824         * rendering/shapes/ShapeInsideInfo.cpp:
1825         (WebCore::ShapeInsideInfo::isEnabledFor):
1826
1827 2013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
1828
1829         [ATK] Expose accessibility objects for more WAI-ARIA roles
1830         https://bugs.webkit.org/show_bug.cgi?id=125596
1831
1832         Reviewed by Chris Fleizach.
1833
1834         Exposed accessibility objects with the proper AtkRoles, some of
1835         them to be provided by the next stable release of ATK.
1836
1837         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1838         (atkRole):
1839
1840 2013-12-16  Eric Carlson  <eric.carlson@apple.com>
1841
1842         Fix QuickTime plug-in replacement scripting bugs
1843         https://bugs.webkit.org/show_bug.cgi?id=125717
1844
1845         Reviewed by Sam Weinig.
1846
1847         No new tests, existing test updated.
1848
1849         * Modules/plugins/QuickTimePluginReplacement.js:
1850         (Replacement): Change '' to "" to avoid "Empty character constant" warning when creating
1851             Derived Sources.
1852         (Replacement.prototype.createVideoElement): Handle qtsrc attribute. Remember base url.
1853         (Replacement.prototype.setURL): Resolve urls relative to base.
1854
1855 2013-12-15  Darin Adler  <darin@apple.com>
1856
1857         Catch callers who forget to use initializeStyle
1858         https://bugs.webkit.org/show_bug.cgi?id=125763
1859
1860         Reviewed by Andreas Kling.
1861
1862         A recent fix was because a caller used setStyle first rather than using
1863         initializeStyle. This patch adds an assertion to catch cases where we do
1864         that so we see the mistake right away instead of indirectly later.
1865
1866         * rendering/RenderElement.cpp:
1867         (WebCore::RenderElement::initializeStyle): Simplified an assertion.
1868         (WebCore::RenderElement::setStyle): Added an assertion that m_hasInitializedStyle
1869         is true, with an exception for RenderView, which needs to be created before we
1870         have the correct style computed for it (at least for now). Also broke out an
1871         assertion that was using &&, since we would prefer to know which clause failed,
1872         making separate assertions more useful than a combined assertion.
1873
1874 2013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
1875
1876         [ATK] Expose accessibility objects with ATK_ROLE_CHECK_MENU_ITEM
1877         https://bugs.webkit.org/show_bug.cgi?id=125594
1878
1879         Reviewed by Chris Fleizach.
1880
1881         Exposed accessibility objects with checkmenuitem role with the
1882         proper AtkRole, to be provided by the next stable release of ATK.
1883
1884         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1885         (atkRole):
1886
1887 2013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
1888
1889         [ATK] Expose accessibility objects with ATK_ROLE_ARTICLE
1890         https://bugs.webkit.org/show_bug.cgi?id=125587
1891
1892         Reviewed by Chris Fleizach.
1893
1894         Exposed accessibility objects with article role with the proper
1895         AtkRole, to be provided by the next stable release of ATK.
1896
1897         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1898         (atkRole):
1899
1900 2013-11-27  Sergio Villar Senin  <svillar@igalia.com>
1901
1902         [CSS Grid Layout] Fix the preferred logical widths code to work with spanning grid items
1903         https://bugs.webkit.org/show_bug.cgi?id=123994
1904
1905         Reviewed by Andreas Kling.
1906
1907         From Blink r159189 by <jchaffraix@chromium.org>
1908
1909         There was no definition in the specs for the intrinsic / preferred
1910         logical widths on the grid element. The following was proposed to
1911         the WG and later accepted:
1912         - The sum of the grid tracks' UsedBreadth is the minimum logical width
1913         - The sum of the grid tracks' MaxBreadth is the maximum logical width
1914
1915         http://lists.w3.org/Archives/Public/www-style/2013Oct/0054.html
1916         for more information.
1917
1918         * rendering/RenderGrid.cpp:
1919         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
1920         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
1921         (WebCore::RenderGrid::minContentForChild):
1922         (WebCore::RenderGrid::maxContentForChild):
1923         * rendering/RenderGrid.h:
1924
1925 2013-12-15  Frédéric Wang  <fred.wang@free.fr>
1926
1927         Add support for maction@toggle
1928         https://bugs.webkit.org/show_bug.cgi?id=120059
1929
1930         Reviewed by Chris Fleizach.
1931
1932         Test: mathml/presentation/maction-toggle.html
1933
1934         * mathml/MathMLSelectElement.cpp:
1935         (WebCore::MathMLSelectElement::getSelectedChildAndIndex):
1936         (WebCore::MathMLSelectElement::updateSelectedChild):
1937         (WebCore::MathMLSelectElement::defaultEventHandler):
1938         (WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
1939         (WebCore::MathMLSelectElement::toggle):
1940         * mathml/MathMLSelectElement.h:
1941
1942 2013-12-15  Darin Adler  <darin@apple.com>
1943
1944         More nullptr in RenderElement
1945         https://bugs.webkit.org/show_bug.cgi?id=125764
1946
1947         Reviewed by Andreas Kling.
1948
1949         * rendering/RenderElement.cpp:
1950         (WebCore::RenderElement::uncachedFirstLineStyle):
1951         (WebCore::RenderElement::updateShapeImage):
1952         (WebCore::RenderElement::destroyLeftoverChildren):
1953         (WebCore::RenderElement::findNextLayer):
1954         Use nullptr in a few more places.
1955
1956 2013-12-15  Ryosuke Niwa  <rniwa@webkit.org>
1957
1958         REGRESSION: 2x regression on Dromaeo DOM query tests
1959         https://bugs.webkit.org/show_bug.cgi?id=125377
1960
1961         Reviewed by Filip Pizlo.
1962
1963         The bug was caused by JSC not JIT'ing property accesses on document because of its having
1964         custom named getter (named properties).  This resulted in resolution of methods on document
1965         such as getElementById to happen inside the interpreter.
1966
1967         Fixed the bug by using the new JSC type info flag which tells JSC to JIT property access on
1968         document, and then notifying JSC whenever a new named property appeared on document.
1969
1970         Tests: js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
1971                js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
1972                js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
1973                js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
1974                js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
1975                js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
1976
1977         * bindings/js/JSDOMBinding.cpp:
1978         (WebCore::addImpureProperty): Wraps VM::addImpureProperty.
1979         * bindings/js/JSDOMBinding.h:
1980         * bindings/scripts/CodeGeneratorJS.pm:
1981         (GenerateHeader): Added the support for NewImpurePropertyFiresWatchpoints.
1982         * bindings/scripts/IDLAttributes.txt: Ditto.
1983         * html/HTMLDocument.cpp:
1984         (WebCore::HTMLDocument::addDocumentNamedItem): Calls addImpureProperty.
1985         * html/HTMLDocument.idl: Added NewImpurePropertyFiresWatchpoints.
1986
1987 2013-12-15  Brent Fulgham  <bfulgham@webkit.org>
1988
1989         [WIn] Unreviewed build fix after r160599
1990
1991         * rendering/RenderMediaControls.cpp:
1992         (WebCore::determineState): RenderObject::theme now returns
1993         a reference.
1994
1995 2013-12-15  Brent Fulgham  <bfulgham@webkit.org>
1996
1997         [Win] Unreviewed build fix
1998
1999         The build system continues to attempt to build QTMovieWin, even
2000         though it is excluded from the build solution. I'm actually
2001         removing the project files to prevent this.
2002
2003         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Removed.
2004         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Removed.
2005
2006 2013-12-15  Rob Buis  <rob.buis@samsung.com>
2007
2008         [CSS Shapes] shape-outside animation does not handle 'auto' well
2009         https://bugs.webkit.org/show_bug.cgi?id=125700
2010
2011         Reviewed by Dirk Schulze.
2012
2013         Handle the case where we are blending/animating with a null ShapeValue due to 'auto'.
2014
2015         Adapted LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html for testing this.
2016
2017         * page/animation/CSSPropertyAnimation.cpp:
2018         (WebCore::blendFunc):
2019
2020 2013-12-15  Andy Estes  <aestes@apple.com>
2021
2022         [iOS] Upstream changes to FeatureDefines.xcconfig
2023         https://bugs.webkit.org/show_bug.cgi?id=125742
2024
2025         Reviewed by Dan Bernstein.
2026
2027         * Configurations/FeatureDefines.xcconfig:
2028
2029 2013-12-14  Darin Adler  <darin@apple.com>
2030
2031         Crash in CSSImageGeneratorValue and RenderScrollbar
2032         https://bugs.webkit.org/show_bug.cgi?id=125702
2033
2034         Reviewed by Alexey Proskuryakov.
2035
2036         This crash had two causes at two different levels. The crash fixes both.
2037
2038         At the RenderScrollbar level, we were setting up a new renderer, a
2039         RenderScrollbarPart, and never calling initializeStyle. This meant that
2040         we did not do proper style setup, which meant we did not end up calling
2041         CSSImageGeneratorValue::addClient and so had a removeClient that was not
2042         properly balanced by an addClient. This is the primary bug.
2043
2044         At the CSSImageGeneratorValue level, the addClient and removeClient
2045         functions were not properly handling possibly-mismatched calls. It was
2046         easy to fix the functions to work even if the calls are not perfectly
2047         matched up, which makes the consequences of a missed addClient call
2048         much less dire, no longer messing up reference counting. Fixing this
2049         mitigates the risk if we made this same mistake elsewhere, although I
2050         could not find any other places with some quick searches.
2051
2052         Test: fast/css/scrollbar-image-crash.html
2053
2054         * css/CSSImageGeneratorValue.cpp:
2055         (WebCore::CSSImageGeneratorValue::addClient): Only call ref if this will
2056         add the first client.
2057         (WebCore::CSSImageGeneratorValue::removeClient): Only call deref if this
2058         removes the last client. Also added an assertion that can fire if we call
2059         removeClient without first calling addClient, which is illegal. However,
2060         the function handles that case without over-deref'ing itself.
2061
2062         * rendering/RenderScrollbar.cpp:
2063         (WebCore::RenderScrollbar::updateScrollbarPart): Simplify the logic for
2064         needRenderer a bit. Use initializeStyle rather than setStyle when first
2065         creating the RenderScrollbarPart. Also use add and take properly so we
2066         don't do extra hash lookups the old code did with get/set and get/remove.
2067
2068 2013-12-14  Sam Weinig  <sam@webkit.org>
2069
2070         CTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
2071         https://bugs.webkit.org/show_bug.cgi?id=125743
2072
2073         Reviewed by Dan Bernstein.
2074
2075         * rendering/svg/RenderSVGContainer.cpp:
2076         (WebCore::RenderSVGContainer::selfWillPaint):
2077         * rendering/svg/RenderSVGImage.cpp:
2078         (WebCore::RenderSVGImage::imageChanged):
2079         * rendering/svg/RenderSVGResource.cpp:
2080         (WebCore::requestPaintingResource):
2081         (WebCore::removeFromCacheAndInvalidateDependencies):
2082         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
2083         * rendering/svg/RenderSVGResourceClipper.cpp:
2084         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2085         * rendering/svg/RenderSVGRoot.cpp:
2086         (WebCore::RenderSVGRoot::paintReplaced):
2087         * rendering/svg/RenderSVGShape.cpp:
2088         (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
2089         (WebCore::RenderSVGShape::markerRect):
2090         (WebCore::RenderSVGShape::drawMarkers):
2091         * rendering/svg/SVGRenderSupport.cpp:
2092         (WebCore::invalidateResourcesOfChildren):
2093         (WebCore::SVGRenderSupport::layoutChildren):
2094         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
2095         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
2096         (WebCore::SVGRenderSupport::pointInClippingArea):
2097         * rendering/svg/SVGRenderingContext.cpp:
2098         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2099         * rendering/svg/SVGResourcesCache.cpp:
2100         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
2101         (WebCore::SVGResourcesCache::clientLayoutChanged):
2102         (WebCore::SVGResourcesCache::clientDestroyed):
2103         * rendering/svg/SVGResourcesCache.h:
2104         * rendering/svg/SVGResourcesCycleSolver.cpp:
2105         (WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
2106
2107 2013-12-14  Dan Bernstein  <mitz@apple.com>
2108
2109         Clean up the project after r160487
2110
2111         * WebCore.xcodeproj/project.pbxproj: Moved reference to Security.framework from the top
2112         level of the project to the Frameworks group, and made it SDK-relative.
2113
2114 2013-12-14  Andreas Kling  <akling@apple.com>
2115
2116         Page::theme() should return a reference.
2117         <https://webkit.org/b/125737>
2118
2119         There's always a RenderTheme, and not a single call site was checking
2120         for null pointers anyway. Updated RenderObject::theme() as well.
2121
2122         Reviewed by Antti Koivisto.
2123
2124 2013-12-13  Sam Weinig  <sam@webkit.org>
2125
2126         CTTE: Convert Element and RenderObject iterator usage to use range-based for loops
2127         https://bugs.webkit.org/show_bug.cgi?id=125731
2128
2129         Reviewed by Andreas Kling.
2130
2131         Perform straight forward conversions. A few stragglers that do odd things remain.
2132
2133 2013-12-14  Joseph Pecoraro  <pecoraro@apple.com>
2134
2135         Small string improvements to JSInjectedScriptHost::type and other bindings
2136         https://bugs.webkit.org/show_bug.cgi?id=125722
2137
2138         Reviewed by Timothy Hatcher.
2139
2140         * bindings/js/JSInjectedScriptHostCustom.cpp:
2141         (WebCore::JSInjectedScriptHost::type):
2142         Use SmallStrings, jsNontrivialString and ASCIILiteral.
2143
2144         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2145         (WebCore::JSJavaScriptCallFrame::type):
2146         Use jsNontrivialString.
2147
2148         * bridge/c/c_instance.cpp:
2149         (JSC::Bindings::CInstance::stringValue):
2150         Use jsNontrivialString and ASCIILiteral.
2151
2152 2013-12-14  Andreas Kling  <akling@apple.com>
2153
2154         Move a couple of inlines from RenderObject to RenderElement.
2155         <https://webkit.org/b/125734>
2156
2157         Take most of the inline functions on RenderObject that call style()
2158         and move them over to RenderElement where style() is branchless.
2159
2160         Reviewed by Antti Koivisto.
2161
2162 2013-12-14  Andreas Kling  <akling@apple.com>
2163
2164         RenderElement::rendererForRootBackground() should return a reference.
2165         <https://webkit.org/b/125735>
2166
2167         This function always finds a renderer to return.
2168
2169         Reviewed by Antti Koivisto.
2170
2171 2013-12-14  Mark Rowe  <mrowe@apple.com>
2172
2173         Build fix after r160557.
2174
2175         * Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick
2176         up the built version in production builds rather than the system version.
2177
2178 2013-12-14  Brendan Long  <b.long@cablelabs.com>
2179
2180         [GStreamer] Use GMutexLocker instead of g_mutex_lock
2181         https://bugs.webkit.org/show_bug.cgi?id=125588
2182
2183         Reviewed by Philippe Normand.
2184
2185         No new tests because this is just code simplification.
2186
2187         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2188         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
2189         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
2190         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2191         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2192         (webkitVideoSinkTimeoutCallback):
2193         (webkitVideoSinkRender):
2194         (unlockBufferMutex):
2195         (webkitVideoSinkUnlockStop):
2196         (webkitVideoSinkStart):
2197
2198 2013-12-13  Andreas Kling  <akling@apple.com>
2199
2200         Move RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
2201         <https://webkit.org/b/125712>
2202
2203         This function is only ever called on RenderElements, so move it there.
2204         Removes some RenderObject::style() branchiness.
2205
2206         Reviewed by Darin Adler.
2207
2208 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
2209
2210         Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
2211         https://bugs.webkit.org/show_bug.cgi?id=125707
2212
2213         Reviewed by Timothy Hatcher.
2214
2215           - Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch
2216             which comes from InspectorJSTypeBuilders.
2217           - Remove domains that moved to JavaScriptCore.
2218
2219         No new tests, this only moves code around. There are no functional changes.
2220
2221         * CMakeLists.txt:
2222         * DerivedSources.make:
2223         * GNUmakefile.am:
2224         Add new files.
2225
2226         * inspector/ContentSearchUtils.cpp:
2227         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
2228         (WebCore::ContentSearchUtils::searchInTextByLines):
2229         * inspector/ContentSearchUtils.h:
2230         * inspector/InspectorAgent.cpp:
2231         * inspector/InspectorAgent.h:
2232         * inspector/InspectorDebuggerAgent.h:
2233         * inspector/InspectorPageAgent.cpp:
2234         (WebCore::InspectorPageAgent::searchInResource):
2235         * inspector/InspectorPageAgent.h:
2236         * inspector/protocol/Page.json:
2237         Update includes and type builder type names.
2238
2239         * inspector/InspectorDebuggerAgent.cpp:
2240         (WebCore::breakpointActionTypeForString):
2241         (WebCore::InspectorDebuggerAgent::searchInContent):
2242         * inspector/InspectorTimelineAgent.cpp:
2243         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2244         Use the new getEnum function names.
2245
2246 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
2247
2248         [Win] Remove pre-VS2013 support code.
2249         https://bugs.webkit.org/show_bug.cgi?id=125693
2250
2251         Reviewed by Darin Adler.
2252
2253         * Modules/webdatabase/DatabaseTracker.cpp:
2254         (WebCore::DatabaseTracker::setQuota): Use C99 format arguments
2255         * loader/FTPDirectoryParser.cpp:
2256         (WebCore::parseOneFTPLine): Ditto
2257         * loader/icon/IconDatabase.cpp:
2258         (WebCore::IconDatabase::pruneUnretainedIcons): Ditto 
2259         * platform/sql/SQLiteDatabase.cpp:
2260         (WebCore::SQLiteDatabase::setMaximumSize): Ditto
2261
2262 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
2263
2264         SVG bindings are improperly being generated with "fastGetAttribute"
2265         https://bugs.webkit.org/show_bug.cgi?id=125670
2266
2267         Reviewed by Darin Adler.
2268
2269         A bug was introduced in r152845 that improperly called the
2270         IsSVGAnimatedType using the $attribute hash, rather than the
2271         expected $attribute->signature->type.
2272
2273         * bindings/scripts/CodeGenerator.pm:
2274         (GetterExpression): Clean up attribute type confusion.
2275
2276 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
2277
2278         [Win] Unreviewed build fix after r160548
2279
2280         * WebCore.vcxproj/WebCore.vcxproj: Exclude MediaPlayerPrivateQuickTimeVisualContext from
2281         Windows build.
2282         * platform/graphics/MediaPlayer.cpp: Don't use QuickTime as the PlatformMediaEngine.
2283
2284 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
2285
2286         [GTK] Remove Warnings in building about duplicate INSPECTOR variables
2287         https://bugs.webkit.org/show_bug.cgi?id=125710
2288
2289         Reviewed by Tim Horton.
2290
2291         * GNUmakefile.am:
2292
2293 2013-12-13  Roger Fong  <roger_fong@apple.com>
2294
2295         [WebGL] Check for global variable precision mismatch between vertex and fragment shaders.
2296         https://bugs.webkit.org/show_bug.cgi?id=125546.
2297         <rdar://problem/15203364>
2298
2299         Reviewed by Brent Fulgham.
2300
2301         Covered Khronos conformances tests:
2302         webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html
2303
2304         * html/canvas/WebGLRenderingContext.cpp:
2305         (WebCore::WebGLRenderingContext::linkProgram):
2306         * platform/graphics/GraphicsContext3D.h: Rename areProgramSymbolsValid since it currently only serves one purpose.
2307         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2308         (WebCore::GraphicsContext3D::precisionsMatch):
2309
2310 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
2311
2312         [Win] Unreviewed build fix after r160548
2313
2314         * WebCore.vcxproj/WebCoreGenerated.vcxproj: Specify that we are
2315         using the vs120_xp build target for Makefile-based projects.
2316
2317 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
2318
2319         Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
2320         https://bugs.webkit.org/show_bug.cgi?id=125595
2321
2322         Reviewed by Timothy Hatcher.
2323
2324           - CodeGeneration changed to output Frontend and Backend dispatchers
2325             in namespace Inspector. So update all the agent's appropriately.
2326           - Update Derived Sources code generation to use the Scripts that had
2327             moved to JavaScriptCore. Some ports just use JSC/inspector/scripts
2328             directly, but others have to use the Scripts exported by JSC
2329             in JavaScriptCore's PrivateHeaders.
2330           - Add ForwardingHeaders for the files generated in JavaScriptCore.
2331           - Update the names of Inspector DerivedSources files, since they
2332             were renamed to InspectorWeb*.
2333
2334         No new tests, this only moves code around. There are no functional changes.
2335
2336         * CMakeLists.txt:
2337         * DerivedSources.make:
2338         * ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
2339         * ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
2340         * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
2341         * GNUmakefile.am:
2342         * GNUmakefile.list.am:
2343         * WebCore.vcxproj/WebCore.vcxproj:
2344         * WebCore.vcxproj/WebCore.vcxproj.filters:
2345         * WebCore.vcxproj/build-generated-files.sh:
2346         * WebCore.xcodeproj/project.pbxproj:
2347         Remove files, rename files, update code generation.
2348
2349         * make-generated-sources.sh:
2350         Update this standalone developer script to fill in the new InspectorScripts variable.
2351
2352         * inspector/ConsoleMessage.h:
2353         * inspector/InjectedScriptHost.cpp:
2354         * inspector/InspectorAgent.cpp:
2355         * inspector/InspectorAgent.h:
2356         * inspector/InspectorApplicationCacheAgent.cpp:
2357         * inspector/InspectorApplicationCacheAgent.h:
2358         * inspector/InspectorCSSAgent.h:
2359         * inspector/InspectorCanvasAgent.cpp:
2360         * inspector/InspectorCanvasAgent.h:
2361         * inspector/InspectorConsoleAgent.cpp:
2362         * inspector/InspectorConsoleAgent.h:
2363         * inspector/InspectorController.cpp:
2364         * inspector/InspectorDOMAgent.cpp:
2365         * inspector/InspectorDOMAgent.h:
2366         * inspector/InspectorDOMDebuggerAgent.cpp:
2367         * inspector/InspectorDOMDebuggerAgent.h:
2368         * inspector/InspectorDOMStorageAgent.cpp:
2369         * inspector/InspectorDOMStorageAgent.h:
2370         * inspector/InspectorDatabaseAgent.cpp:
2371         * inspector/InspectorDatabaseAgent.h:
2372         * inspector/InspectorDatabaseResource.cpp:
2373         * inspector/InspectorDatabaseResource.h:
2374         * inspector/InspectorDebuggerAgent.cpp:
2375         * inspector/InspectorDebuggerAgent.h:
2376         * inspector/InspectorFrontendClientLocal.cpp:
2377         * inspector/InspectorHeapProfilerAgent.h:
2378         * inspector/InspectorIndexedDBAgent.cpp:
2379         * inspector/InspectorIndexedDBAgent.h:
2380         * inspector/InspectorInputAgent.h:
2381         * inspector/InspectorLayerTreeAgent.cpp:
2382         * inspector/InspectorLayerTreeAgent.h:
2383         * inspector/InspectorMemoryAgent.cpp:
2384         * inspector/InspectorMemoryAgent.h:
2385         * inspector/InspectorPageAgent.cpp:
2386         * inspector/InspectorPageAgent.h:
2387         * inspector/InspectorProfilerAgent.cpp:
2388         * inspector/InspectorProfilerAgent.h:
2389         * inspector/InspectorResourceAgent.cpp:
2390         * inspector/InspectorResourceAgent.h:
2391         * inspector/InspectorRuntimeAgent.h:
2392         * inspector/InspectorTimelineAgent.cpp:
2393         * inspector/InspectorTimelineAgent.h:
2394         * inspector/InspectorWorkerAgent.cpp:
2395         * inspector/InspectorWorkerAgent.h:
2396         * inspector/PageRuntimeAgent.h:
2397         * inspector/ScriptCallFrame.cpp:
2398         * inspector/WorkerInspectorController.cpp:
2399         * inspector/WorkerRuntimeAgent.h:
2400         Updates header names and class namespace changes.
2401
2402 2013-12-13  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2403
2404         Adding RTCPeerConnectionErrorCallback
2405         https://bugs.webkit.org/show_bug.cgi?id=125574
2406
2407         Reviewed by Eric Carlson.
2408
2409         According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
2410         setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.
2411
2412         Existing tests were updated.
2413
2414         * CMakeLists.txt:
2415         * GNUmakefile.list.am:
2416         * Modules/mediastream/RTCPeerConnection.cpp:
2417         (WebCore::RTCPeerConnection::createOffer):
2418         (WebCore::RTCPeerConnection::createAnswer):
2419         (WebCore::RTCPeerConnection::setLocalDescription):
2420         (WebCore::RTCPeerConnection::setRemoteDescription):
2421         (WebCore::RTCPeerConnection::addIceCandidate):
2422         * Modules/mediastream/RTCErrorCallback.h: Removed.
2423         * Modules/mediastream/RTCErrorCallback.idl: Removed.
2424         * Modules/mediastream/RTCPeerConnection.h:
2425         * Modules/mediastream/RTCPeerConnection.idl:
2426         * Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
2427         * Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
2428         * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
2429         (WebCore::RTCSessionDescriptionRequestImpl::create):
2430         (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
2431         (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
2432         * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
2433         * Modules/mediastream/RTCVoidRequestImpl.cpp:
2434         (WebCore::RTCVoidRequestImpl::create):
2435         (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
2436         (WebCore::RTCVoidRequestImpl::requestFailed):
2437         * Modules/mediastream/RTCVoidRequestImpl.h:
2438         * WebCore.xcodeproj/project.pbxproj:
2439         * platform/mediastream/RTCPeerConnectionHandler.cpp:
2440         (WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
2441         (WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
2442         (WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
2443         (WebCore::RTCPeerConnectionHandler::internalErrorName):
2444         * platform/mediastream/RTCPeerConnectionHandler.h:
2445         * platform/mock/RTCNotifiersMock.cpp:
2446         (WebCore::SessionRequestNotifier::SessionRequestNotifier):
2447         (WebCore::SessionRequestNotifier::fire):
2448         (WebCore::VoidRequestNotifier::VoidRequestNotifier):
2449         (WebCore::VoidRequestNotifier::fire):
2450         * platform/mock/RTCNotifiersMock.h:
2451         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2452         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
2453         (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
2454
2455 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
2456
2457         [Win] Switch WebKit solution to Visual Studio 2013
2458         https://bugs.webkit.org/show_bug.cgi?id=125192
2459
2460         Reviewed by Anders Carlsson.
2461
2462         * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013
2463         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
2464         * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto
2465
2466 2013-12-13  Alexey Proskuryakov  <ap@apple.com>
2467
2468         WebCrypto Key.usages should be ordered alphabetically
2469         https://bugs.webkit.org/show_bug.cgi?id=125696
2470
2471         Reviewed by Darin Adler.
2472
2473         * crypto/CryptoKey.cpp: (WebCore::CryptoKey::usages): Do it.
2474
2475 2013-12-13  Darin Adler  <darin@apple.com>
2476
2477         Make some optimizations for DOM bindings involving vectors
2478         https://bugs.webkit.org/show_bug.cgi?id=125680
2479
2480         Reviewed by Andreas Kling.
2481
2482         * bindings/js/JSDOMBinding.h:
2483         (WebCore::toJS): Removed unnecessary copying of vectors when converting them
2484         to JavaScript values.
2485         (WebCore::toRefPtrNativeArray): Use reserveInitialCapacity and uncheckedAppend.
2486         (WebCore::toNativeArray): Ditto.
2487         (WebCore::toNativeArguments): Ditto.
2488
2489 2013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2490
2491         REGRESSION(r155784): [GTK] Some methods incorrectly removed in r155784 and deprecated in r158662
2492         https://bugs.webkit.org/show_bug.cgi?id=125692
2493
2494         Reviewed by Martin Robinson.
2495
2496         In r155784 the build was fixed by skipping Console::profile() and
2497         Console::profileEnd(), but the patch also skipped other methods
2498         containing the profile method name. Those were incorrectly
2499         deprecated in r158662 thinking that the property had been removed
2500         in the idl.
2501
2502         * bindings/gobject/WebKitDOMDeprecated.cpp: Undeprecate
2503         webkit_dom_html_head_element_get_profile and
2504         webkit_dom_html_head_element_set_profile.
2505         * bindings/gobject/WebKitDOMDeprecated.h: Ditto.
2506         * bindings/gobject/WebKitDOMDeprecated.symbols: Ditto.
2507         * bindings/scripts/CodeGeneratorGObject.pm:
2508         (SkipFunction): Skip webkit_dom_console_profile and
2509         webkit_dom_console_profile_end.
2510
2511 2013-12-13  Rob Buis  <rob.buis@samsung.com>
2512
2513         Clean up SVGScriptElement
2514         https://bugs.webkit.org/show_bug.cgi?id=125527
2515
2516         Reviewed by Darin Adler.
2517
2518         From the Blink port of this bug it becomes clear that svg/dom/SVGScriptElement/script-set-href.svg and
2519         svg/dom/svg-element-attribute-js-null.xhtml still hit an assert in Debug because SVGNames::typeAttr can't
2520         be used with fastGetAttribute in all cases, because it can be animatable. However for SVGScriptElement
2521         it is not animatable, so make isAnimatableAttribute virtual (note Debug only method) and allow typeAttr
2522         in the SVGScriptElement case to be useable for fastGetAttribute.
2523
2524         Test: svg/dom/SVGScriptElement/script-type-attribute.svg
2525
2526         * svg/SVGElement.h:
2527         * svg/SVGScriptElement.cpp:
2528         (WebCore::SVGScriptElement::isAnimatableAttribute):
2529         * svg/SVGScriptElement.h:
2530
2531 2013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2532
2533         [GTK] Expose also webkit_dom_document_get_url
2534         https://bugs.webkit.org/show_bug.cgi?id=125691
2535
2536         Reviewed by Martin Robinson.
2537
2538         For some reason we expose the URL property, so it can be accessed
2539         with g_object_get(), but we have a special case to not provide a
2540         public getter.
2541
2542         * bindings/gobject/webkitdom.symbols: Add new symbol.
2543         * bindings/scripts/CodeGeneratorGObject.pm:
2544         (GenerateFunctions): Remove the special case of URL property.
2545
2546 2013-12-13  Andreas Kling  <akling@apple.com>
2547
2548         CSSFilterImageValue constructor should require both image and filter.
2549         <https://webkit.org/b/125056>
2550
2551         Make the CSSFilterImageValue::create() helper take both the image and
2552         filter CSSValues by PassRef since they should never be null.
2553
2554         Tweaked ComputedStyleExtractor::valueForFilter() to return a PassRef
2555         for this to work.
2556
2557         Reviewed by Anders Carlsson.
2558
2559 2013-12-12  Andreas Kling  <akling@apple.com>
2560
2561         StyleResolver::adjustRenderStyle() should take RenderStyle references.
2562         <https://webkit.org/b/125623>
2563
2564         This function doesn't handle null styles being passed, so prevent
2565         it at compile time.
2566
2567         Reviewed by Anders Carlsson.
2568
2569 2013-12-13  Darin Adler  <darin@apple.com>
2570
2571         Eliminate awkward virtualComputedStyle construction
2572         https://bugs.webkit.org/show_bug.cgi?id=125681
2573
2574         Reviewed by Andreas Kling.
2575
2576         * dom/Element.cpp:
2577         (WebCore::Element::computedStyle): Tweak coding style a bit.
2578
2579         * dom/Element.h: Marked computedStyle virtual and got rid of virtualComputedStyle.
2580         This fixes a bug that we would not call SVGElement::computedStyle if we called
2581         it through an Element pointer or reference. Not sure how to get test coverage for this.
2582
2583         * dom/Node.cpp:
2584         (WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.
2585
2586         * dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
2587
2588         * svg/SVGElement.cpp:
2589         (WebCore::SVGElement::computedStyle): Tweak coding style a bit.
2590
2591         * svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo
2592         virtualComputedStyle.
2593
2594 2013-12-13  Darin Adler  <darin@apple.com>
2595
2596         Fix a couple stray uses of RefPtr that should release
2597         https://bugs.webkit.org/show_bug.cgi?id=125679
2598
2599         Reviewed by Andreas Kling.
2600
2601         * css/CSSParser.cpp:
2602         (WebCore::CSSParser::parseFilter): Add calls to release, in
2603         one case rearranging the order of operations slightly so we
2604         don't release the pointer before using it.
2605
2606 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
2607
2608         WebCrypto wrapKey operation doesn't check key usage
2609         https://bugs.webkit.org/show_bug.cgi?id=125675
2610
2611         Reviewed by Darin Adler.
2612
2613         Tests: crypto/subtle/unwrapKey-check-usage.html
2614                crypto/subtle/wrapKey-check-usage.html
2615
2616         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
2617         Added accidentally omitted code. Other operations are fine.
2618
2619 2013-12-12  Darin Adler  <darin@apple.com>
2620
2621         Make some improvements in CSSImageGeneratorValue code
2622         https://bugs.webkit.org/show_bug.cgi?id=125676
2623
2624         Reviewed by Simon Fraser.
2625
2626         * css/CSSCrossfadeValue.cpp:
2627         (WebCore::subimageKnownToBeOpaque): Take a reference to the CSSValue, since
2628         it's known not to be null. Used checked cast.
2629         (WebCore::CSSCrossfadeValue::knownToBeOpaque): Updated to pass a reference.
2630
2631         * css/CSSImageGeneratorValue.cpp:
2632         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize): Use
2633         make_unique instead of adoptPtr.
2634         (WebCore::CSSImageGeneratorValue::subimageIsPending): Use checked cast.
2635         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto, also
2636         use nullptr.
2637
2638         * css/CSSImageGeneratorValue.h: Removed unneeded includes, added some forward
2639         declarations, used unique_ptr instead of OwnPtr, and used CSS_VALUE_TYPE_CASTS
2640         macro to create cast functions.
2641
2642         * css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
2643
2644         * css/StyleResolver.cpp:
2645         (WebCore::StyleResolver::State::clear): Use nullptr instead of 0.
2646         (WebCore::StyleResolver::applyProperty): Use checked cast and pass references
2647         instead of pointers to StyleGeneratedImage::create.
2648         (WebCore::StyleResolver::styleImage): Use checked cast and pass references
2649         instead of pointers to generatedOrPendingFromValue.
2650         (WebCore::StyleResolver::generatedOrPendingFromValue): Take the value as a
2651         reference instead of a pointer.
2652         (WebCore::StyleResolver::loadPendingImage): Pass a refernece instead of a
2653         pointer to StyleGeneratedImage::create.
2654         (WebCore::StyleResolver::loadPendingImages): Use auto for iteration instead of
2655         a lot type name.
2656
2657         * css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value
2658         as a reference instead of a pointer.
2659
2660         * page/animation/CSSPropertyAnimation.cpp:
2661         (WebCore::blendFilter): Pass a reference insted of a pointer to
2662         StyleGeneratedImage::create.
2663         (WebCore::crossfadeBlend): Ditto.
2664         (WebCore::blendFunc): Ditto. Also use references for local variables.
2665
2666         * rendering/style/StyleGeneratedImage.cpp:
2667         (WebCore::StyleGeneratedImage::StyleGeneratedImage): Use PassRef instead of
2668         PassRefPtr for the argument type.
2669         (WebCore::StyleGeneratedImage::cssValue): Updated since m_imageGeneratorValue
2670         is now a Ref instead of a RefPtr. Sadly this requires a const_cast that we can
2671         come back and get rid of later.
2672         (WebCore::StyleGeneratedImage::imageSize): Ditto.
2673         (WebCore::StyleGeneratedImage::image): Ditto.
2674
2675         * rendering/style/StyleGeneratedImage.h: Changed create function and constructor
2676         to take a PassRef. Made imageValue non-const since it returns a non-const value,
2677         to be consistent with "conceptual const". Changed m_imageGeneratorValue to be a
2678         Ref instead of a RefPtr.
2679
2680         * rendering/style/StyleImage.h: Made WrappedImagePtr be const void*, since it's
2681         a pointer used only for equality checks. Not a great idiom, but fine to use a
2682         const pointer instead of non-const, and avoids the const_cast we'd otherwise
2683         need in StyleGeneratedImage::data.
2684
2685 2013-12-12  KyungTae Kim  <ktf.kim@samsung.com>
2686
2687         Improve the find word boundary performance
2688         https://bugs.webkit.org/show_bug.cgi?id=125619
2689
2690         In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
2691         So use separate function for endWordBoundary can improve the performance.
2692
2693         Reviewed by Darin Adler.
2694
2695         No tests because no operation changes.
2696
2697         * editing/VisibleUnits.cpp: Use findEndWordBoundary in endWordBoundary
2698         (WebCore::endWordBoundary):
2699         * platform/text/TextBoundaries.cpp: Add findEndWordBoundary function
2700         (WebCore::findEndWordBoundary):
2701         * platform/text/TextBoundaries.h:
2702         * platform/text/mac/TextBoundaries.mm: Add findEndWordBoundary function
2703         (WebCore::findEndWordBoundary):
2704
2705 2013-12-12  Benjamin Poulain  <bpoulain@apple.com>
2706
2707         Fix a silly mistake of r160467
2708         https://bugs.webkit.org/show_bug.cgi?id=125657
2709
2710         Reviewed by Alexey Proskuryakov.
2711
2712         Fix a typo. The validity check was missing the logical not.
2713
2714         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
2715         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
2716         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
2717         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
2718         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
2719         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
2720         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
2721         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
2722         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
2723         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
2724         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
2725         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
2726
2727 2013-12-12  Tim Horton  <timothy_horton@apple.com>
2728
2729         [wk2] Handle pinch-to-zoom gesture
2730         https://bugs.webkit.org/show_bug.cgi?id=125604
2731
2732         Reviewed by Simon Fraser.
2733
2734         * WebCore.exp.in:
2735         Export some TransformationMatrix functions.
2736
2737         * WebCore.xcodeproj/project.pbxproj:
2738         Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.
2739
2740         * rendering/RenderLayerCompositor.h:
2741         (WebCore::RenderLayerCompositor::layerForContentShadow):
2742         Add a getter for the content shadow layer.
2743
2744 2013-12-12  Brady Eidson  <beidson@apple.com>
2745
2746         DatabaseProcess IndexedDB: Establish a metadata backing store on disk
2747         https://bugs.webkit.org/show_bug.cgi?id=125258
2748
2749         Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
2750
2751         Teach CrossThreadCopier how to handle IDBDatabaseMetadata.
2752
2753         * CMakeLists.txt:
2754         * GNUmakefile.list.am:
2755         * WebCore.exp.in:
2756         * WebCore.xcodeproj/project.pbxproj:
2757
2758         * Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.
2759         (WebCore::IDBDatabaseMetadata::isolatedCopy):
2760         (WebCore::IDBObjectStoreMetadata::isolatedCopy):
2761         (WebCore::IDBIndexMetadata::isolatedCopy):
2762         * Modules/indexeddb/IDBDatabaseMetadata.h:
2763
2764         * Modules/indexeddb/IDBKeyPath.cpp:
2765         (WebCore::IDBKeyPath::isolatedCopy):
2766         * Modules/indexeddb/IDBKeyPath.h:
2767
2768         * platform/CrossThreadCopier.cpp:
2769         (WebCore::::copy): Add an IDBDatabaseMetadata specialization.
2770         * platform/CrossThreadCopier.h:
2771
2772 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
2773
2774         Add support for RSAES-PKCS1-v1_5
2775         https://bugs.webkit.org/show_bug.cgi?id=125647
2776
2777         Build fix.
2778
2779         * crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
2780
2781 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
2782
2783         Add support for RSAES-PKCS1-v1_5
2784         https://bugs.webkit.org/show_bug.cgi?id=125647
2785
2786         Reviewed by Anders Carlsson.
2787
2788         Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html
2789                crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
2790
2791         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
2792         * crypto/algorithms/CryptoAlgorithmAES_KW.h:
2793         Removed meaningless parameters arguments from private functions. The base arguments
2794         class is always empty.
2795
2796         * WebCore.xcodeproj/project.pbxproj:
2797         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2798         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2799         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2800         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2801         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2802         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
2803         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2804         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: Added.
2805         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5):
2806         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5):
2807         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
2808         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::identifier):
2809         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
2810         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
2811         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
2812         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
2813         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
2814         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Added.
2815         * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: Added.
2816         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
2817         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
2818         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2819         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2820         Added support for this algorithm.
2821
2822 2013-12-12  Andreas Kling  <akling@apple.com>
2823
2824         [Mac] Stop not caching HTTP resources with "Vary" header in response.
2825         <https://webkit.org/b/125483>
2826         <rdar://problem/11781097>
2827
2828         Remove the workaround preventing resources with the "Vary" header
2829         from going into cache, as the CFNetwork cache has supported this
2830         for quite a while now.
2831
2832         31.5 MB progression on Membuster3, because we can now mmap those
2833         resources from disk once they are in the cache.
2834
2835         We keep the workaround on PLATFORM(WIN) for now.
2836
2837         Reviewed by Antti Koivisto.
2838
2839 2013-12-12  Sam Weinig  <sam@webkit.org>
2840
2841         Replace uses of WTF::BitArray with std::bitset
2842         https://bugs.webkit.org/show_bug.cgi?id=125642
2843
2844         Reviewed by Anders Carlsson.
2845
2846         * css/CSSParser.cpp:
2847         (WebCore::filterProperties):
2848         (WebCore::CSSParser::createStyleProperties):
2849         * css/StyleProperties.cpp:
2850         (WebCore::StyleProperties::asText):
2851
2852 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
2853
2854         Public key in a generated KeyPair should always be extractable
2855         https://bugs.webkit.org/show_bug.cgi?id=125643
2856
2857         Reviewed by Sam Weinig.
2858
2859         The spec doesn't explain how generateKey works with key pairs (there are open bugs
2860         about that). Making public keys non-extractable makes no sense one way or another.
2861
2862         Test: crypto/subtle/rsa-oaep-generate-non-extractable-key.html
2863
2864         * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::generatePair):
2865
2866 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
2867
2868         Make algorithm.name return registered name, not normalized one
2869         https://bugs.webkit.org/show_bug.cgi?id=125641
2870
2871         Reviewed by Anders Carlsson.
2872
2873         Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
2874         as part of normalization.
2875
2876         But it makes little sense to register algorithms as mixed (mostly upper) case, yet
2877         return the name lowercased. Other implementations don't bother respecting this,
2878         and signs are that the spec will change.
2879
2880         I'd like to match other implementations here, because sticking to the spec only
2881         makes us fail 3rd party test suites for no good reason.
2882
2883         Updated many existing tests.
2884
2885         * crypto/CryptoAlgorithmRegistry.cpp:
2886         (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
2887         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
2888         * crypto/CryptoAlgorithmRegistry.h:
2889         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
2890         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
2891         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2892         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
2893         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
2894         * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
2895         * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
2896         * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
2897         * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
2898         * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
2899
2900 2013-12-12  Csaba Osztrogonác  <ossy@webkit.org>
2901
2902         Move CertificateInfo to WebCore
2903         https://bugs.webkit.org/show_bug.cgi?id=124720
2904
2905         Reviewed by Darin Adler.
2906
2907         Based on the patch by Kwang Yul Seo <skyul@company100.net>
2908
2909         * GNUmakefile.list.am:
2910         * PlatformEfl.cmake:
2911         * PlatformGTK.cmake:
2912         * WebCore.exp.in:
2913         * WebCore.xcodeproj/project.pbxproj:
2914         * platform/network/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.h.
2915         (WebCore::CertificateInfo::setCertificateChain): Added, because WebCoreArgumentCoders needs it.
2916         * platform/network/mac/CertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.mm.
2917         (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersMac.mm.
2918         * platform/network/soup/CertificateInfo.cpp: Copied from Source/WebKit2/Shared/WebCertificateInfo.h.
2919         (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersSoup.cpp.
2920         * platform/network/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/CertificateInfo.h.
2921         (WebCore::CertificateInfo::setCertificate): Added, because WebCoreArgumentCoders needs it.
2922         (WebCore::CertificateInfo::setTLSErrors): Added, because WebCoreArgumentCoders needs it.
2923
2924 2013-12-12  Commit Queue  <commit-queue@webkit.org>
2925
2926         Unreviewed, rolling out r160417.
2927         http://trac.webkit.org/changeset/160417
2928         https://bugs.webkit.org/show_bug.cgi?id=125629
2929
2930         The patch is causing crashes (Requested by zdobersek1 on
2931         #webkit).
2932
2933         * accessibility/AXObjectCache.cpp:
2934         (WebCore::AXObjectCache::~AXObjectCache):
2935         (WebCore::AXObjectCache::remove):
2936         * accessibility/AXObjectCache.h:
2937         (WebCore::AXObjectCache::detachWrapper):
2938         * accessibility/atk/AXObjectCacheAtk.cpp:
2939         (WebCore::AXObjectCache::detachWrapper):
2940         (WebCore::AXObjectCache::attachWrapper):
2941         (WebCore::AXObjectCache::postPlatformNotification):
2942         * accessibility/ios/AXObjectCacheIOS.mm:
2943         (WebCore::AXObjectCache::detachWrapper):
2944         * accessibility/mac/AXObjectCacheMac.mm:
2945         (WebCore::AXObjectCache::detachWrapper):
2946         * accessibility/win/AXObjectCacheWin.cpp:
2947         (WebCore::AXObjectCache::detachWrapper):
2948
2949 2013-12-12  Martin Robinson  <mrobinson@igalia.com>
2950
2951         Remove a few more guards mistakenly added in r160367
2952
2953         Reviewed by Carlos Garcia Campos
2954
2955         r160367 was too liberal in hiding APIs from the GObject DOM bindings.
2956         We should expose the BatteryManager and the text and audio tracks.
2957
2958         * Modules/battery/BatteryManager.idl:
2959         * html/HTMLMediaElement.idl:
2960
2961 2013-12-11  Darin Adler  <darin@apple.com>
2962
2963         StylePendingImage needs to correctly manage the CSSValue pointer lifetime
2964         https://bugs.webkit.org/show_bug.cgi?id=125468
2965
2966         Reviewed by Andreas Kling.
2967
2968         Test: fast/css/pending-image-crash.xhtml
2969
2970         Disconnect the reference counted StylePendingImage from the CSSValue that owns
2971         it when it's not needed any more, otherwise we could end up using a pointer
2972         that might no longer be valid.
2973
2974         * css/CSSCursorImageValue.cpp:
2975         (WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue
2976         on the current image if it is a StylePendingImage.
2977         (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage.
2978         (WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing
2979         m_image to a new value.
2980         (WebCore::CSSCursorImageValue::clearCachedImage): Ditto.
2981         * css/CSSCursorImageValue.h: Added detachPendingImage.
2982
2983         * css/CSSImageSetValue.cpp:
2984         (WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue
2985         on the current image set if it is a StylePendingImage.
2986         (WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage.
2987         (WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing
2988         m_imageSet to a new value.
2989         * css/CSSImageSetValue.h: Added detachPendingImage.
2990
2991         * css/CSSImageValue.cpp:
2992         (WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the
2993         current image if it is a StylePendingImage.
2994         (WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage.
2995         (WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image
2996         to a new value.
2997         * css/CSSImageValue.h: Added detachPendingImage.
2998
2999         * rendering/style/StylePendingImage.h:
3000         (WebCore::StylePendingImage::cssImageValue): Added a null check.
3001         (WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check.
3002         (WebCore::StylePendingImage::cssCursorImageValue): Added a null check.
3003         (WebCore::StylePendingImage::cssImageSetValue): Added a null check.
3004         (WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since
3005         the style is no longer using this StylePendingImage.
3006         (WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we
3007         need is some arbitrary pointer uniquely identifying the image. Before loading the image,
3008         we have no suitable weak identifier, so it suffices to use the unique pointer to each
3009         StylePendingImage object. This function is used only in a limited way; it would be nice
3010         to find a way to make the code less strange long term.
3011
3012 2013-12-11  Darin Adler  <darin@apple.com>
3013
3014         Remove some unneeded code noticed while looking at StylePendingImage
3015         https://bugs.webkit.org/show_bug.cgi?id=125618
3016
3017         Reviewed by Andreas Kling.
3018
3019         * css/StyleResolver.cpp:
3020         (WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.
3021
3022         * rendering/RenderImageResource.cpp: Removed unneeded nullImage and
3023         usesImageContainerSize member functions.
3024         (WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
3025         through RenderImageResourceImage::nullImage.
3026
3027         * rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
3028         and nullImage functions. Also removed unneeded includes.
3029
3030         * rendering/RenderImageResourceStyleImage.h: Removed unneeded
3031         usesImageContainerSize override. Nobody was calling it.
3032
3033 2013-12-11  Benjamin Poulain  <bpoulain@apple.com>
3034
3035         Add the CFNetwork implementation of the asynchronous ResourceHandle
3036         https://bugs.webkit.org/show_bug.cgi?id=124440
3037
3038         Reviewed by Alexey Proskuryakov.
3039
3040         Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
3041         The difference is those objects handle the network callback on a different queue.
3042
3043         Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.
3044
3045         The initialization of the request and connection is moved to the subclass to clean up initialization.
3046
3047         * WebCore.xcodeproj/project.pbxproj:
3048         * platform/network/ResourceHandle.h:
3049         * platform/network/ResourceHandleClient.cpp:
3050         (WebCore::ResourceHandleClient::willCacheResponseAsync):
3051         * platform/network/ResourceHandleClient.h:
3052         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
3053         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
3054         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
3055         (WebCore::connectionWasCancelled):
3056         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
3057         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
3058         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
3059         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
3060         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
3061         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
3062         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
3063         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
3064         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
3065         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
3066         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
3067         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
3068         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
3069         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
3070         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
3071         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
3072         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
3073         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
3074         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
3075         * platform/network/cf/ResourceHandleCFNet.cpp:
3076         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
3077         (WebCore::ResourceHandle::createCFURLConnection):
3078         (WebCore::ResourceHandle::start):
3079         (WebCore::ResourceHandle::shouldUseCredentialStorage):
3080         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
3081         (WebCore::ResourceHandle::continueWillSendRequest):
3082         (WebCore::ResourceHandle::continueDidReceiveResponse):
3083         (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
3084         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
3085         (WebCore::ResourceHandle::continueWillCacheResponse):
3086         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
3087         (WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
3088         (WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
3089         (WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
3090         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
3091         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
3092         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
3093         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
3094         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
3095         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
3096         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
3097         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
3098         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
3099         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
3100         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
3101
3102 2013-12-11  David Kilzer  <ddkilzer@apple.com>
3103
3104         Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
3105         <http://webkit.org/b/125329>
3106
3107         Reviewed by Darin Adler.
3108
3109         No tests since this is a build fix for:
3110
3111             $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"
3112
3113         * rendering/InlineBox.cpp:
3114         * rendering/InlineBox.h:
3115         - Replace ASSERT_DISABLED use with
3116           ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
3117
3118         * rendering/InlineFlowBox.cpp:
3119         (WebCore::InlineFlowBox::~InlineFlowBox):
3120         - Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
3121           #ifndef NDEBUG since this calls setHasBadParent().
3122         (WebCore::InlineFlowBox::checkConsistency):
3123         - Move ASSERT(!m_hasBadChildList) outside of
3124           #if CHECK_CONSISTENCY and change to
3125           ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).
3126
3127         * rendering/InlineFlowBox.h:
3128         (WebCore::InlineFlowBox::InlineFlowBox):
3129         (WebCore::InlineFlowBox::setHasBadChildList):
3130         - Change #ifndef NDEBUG to
3131           #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
3132           m_hasBadChildList.
3133
3134 2013-12-11  Ralph Thomas  <ralpht@gmail.com>
3135
3136         [WebGL] Fix build on GL ES 2.0 targets after r160119
3137         https://bugs.webkit.org/show_bug.cgi?id=125541
3138
3139         Reviewed by Brent Fulgham.
3140
3141         GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
3142         This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.
3143
3144         No new tests, no change in functionality.
3145
3146         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3147         (WebCore::GraphicsContext3D::texSubImage2D):
3148
3149 2013-12-11  Joseph Pecoraro  <pecoraro@apple.com>
3150
3151         Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
3152         https://bugs.webkit.org/show_bug.cgi?id=125324
3153
3154         Reviewed by Timothy Hatcher.
3155
3156         Part 1: Push down core inspector classes.
3157
3158           - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
3159             down to JavaScriptCore and into the Inspector namespace.
3160           - Add forwarding headers for JavaScriptCore/inspector files.
3161           - Use the Inspector namespace where appropriate.
3162           - Rename InspectorBaseAgent to InspectorAgentBase for clarity.
3163
3164         Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
3165
3166           - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
3167           - Add forwarding headers
3168           - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
3169
3170         Part 3: Push Down ScriptFunctionCall
3171
3172           - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
3173           - Give constructor a function to all for a different JSC::call, because
3174             WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
3175           - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.
3176
3177         Part 4: Extract InspectorTypeBuilder helper functions
3178
3179           - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
3180             its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
3181           - This moves TypeBuilder from namespace WebCore to namespace Inspector
3182           - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
3183             eventually the CodeGenerator script will do this for more then TypeBuilders
3184             and there will be "JS" TypeBuilders and "Web" TypeBuilders files.
3185
3186         No new tests. No change in functionality, just moving things around.
3187
3188         * CMakeLists.txt:
3189         * ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
3190         * ForwardingHeaders/bindings/ScriptObject.h: Added.
3191         * ForwardingHeaders/bindings/ScriptValue.h: Added.
3192         * ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
3193         * ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
3194         * ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
3195         * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
3196         * ForwardingHeaders/inspector/InspectorValues.h: Added.
3197         * GNUmakefile.am:
3198         * GNUmakefile.list.am:
3199         * Modules/indexeddb/IDBAny.cpp:
3200         (WebCore::IDBAny::scriptValue):
3201         (WebCore::IDBAny::IDBAny):
3202         * Modules/indexeddb/IDBAny.h:
3203         * Modules/indexeddb/IDBCursor.cpp:
3204         (WebCore::IDBCursor::key):
3205         (WebCore::IDBCursor::primaryKey):
3206         (WebCore::IDBCursor::value):
3207         (WebCore::IDBCursor::update):
3208         (WebCore::IDBCursor::continueFunction):
3209         (WebCore::IDBCursor::setValueReady):
3210         * Modules/indexeddb/IDBCursor.h:
3211         * Modules/indexeddb/IDBFactory.cpp:
3212         (WebCore::IDBFactory::cmp):
3213         * Modules/indexeddb/IDBFactory.h:
3214         * Modules/indexeddb/IDBIndex.cpp:
3215         (WebCore::IDBIndex::openCursor):
3216         (WebCore::IDBIndex::count):
3217         (WebCore::IDBIndex::openKeyCursor):
3218         (WebCore::IDBIndex::get):
3219         (WebCore::IDBIndex::getKey):
3220         * Modules/indexeddb/IDBIndex.h:
3221         (WebCore::IDBIndex::openCursor):
3222         (WebCore::IDBIndex::openKeyCursor):
3223         * Modules/indexeddb/IDBKeyRange.cpp:
3224         (WebCore::IDBKeyRange::lowerValue):
3225         (WebCore::IDBKeyRange::upperValue):
3226         (WebCore::IDBKeyRange::only):
3227         (WebCore::IDBKeyRange::lowerBound):
3228         (WebCore::IDBKeyRange::upperBound):
3229         (WebCore::IDBKeyRange::bound):
3230         * Modules/indexeddb/IDBKeyRange.h:
3231         (WebCore::IDBKeyRange::lowerBound):
3232         (WebCore::IDBKeyRange::upperBound):
3233         (WebCore::IDBKeyRange::bound):
3234         * Modules/indexeddb/IDBObjectStore.cpp:
3235         (WebCore::IDBObjectStore::get):
3236         (WebCore::generateIndexKeysForValue):
3237         (WebCore::IDBObjectStore::add):
3238         (WebCore::IDBObjectStore::put):
3239         (WebCore::IDBObjectStore::deleteFunction):
3240         (WebCore::IDBObjectStore::openCursor):
3241         (WebCore::IDBObjectStore::count):
3242         * Modules/indexeddb/IDBObjectStore.h:
3243         * Modules/indexeddb/IDBRequest.cpp:
3244         (WebCore::IDBRequest::setResultCursor):
3245         (WebCore::IDBRequest::onSuccess):
3246         (WebCore::IDBRequest::onSuccessInternal):
3247         * Modules/indexeddb/IDBRequest.h:
3248         * Modules/mediastream/CapabilityRange.cpp:
3249         (WebCore::scriptValue):
3250         (WebCore::CapabilityRange::min):
3251         (WebCore::CapabilityRange::max):
3252         * Modules/mediastream/CapabilityRange.h:
3253         * Modules/mediastream/MediaTrackConstraint.h:
3254         * Modules/mediastream/RTCIceCandidate.cpp:
3255         * Modules/plugins/QuickTimePluginReplacement.cpp:
3256         * Modules/plugins/QuickTimePluginReplacement.h:
3257         * UseJSC.cmake:
3258         * WebCore.exp.in:
3259         * WebCore.vcxproj/WebCore.vcxproj:
3260         * WebCore.vcxproj/WebCore.vcxproj.filters:
3261         * WebCore.xcodeproj/project.pbxproj:
3262         * bindings/js/Dictionary.h:
3263         (WebCore::Dictionary::getEventListener):
3264         * bindings/js/IDBBindingUtilities.cpp:
3265         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
3266         (WebCore::injectIDBKeyIntoScriptValue):
3267         (WebCore::canInjectIDBKeyIntoScriptValue):
3268         (WebCore::deserializeIDBValue):
3269         (WebCore::deserializeIDBValueBuffer):
3270         (WebCore::idbKeyToScriptValue):
3271         (WebCore::scriptValueToIDBKey):
3272         * bindings/js/IDBBindingUtilities.h:
3273         * bindings/js/JSBindingsAllInOne.cpp:
3274         * bindings/js/JSDictionary.cpp:
3275         (WebCore::JSDictionary::convertValue):
3276         * bindings/js/JSDictionary.h:
3277         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3278         (WebCore::JSHTMLCanvasElement::getContext):
3279         * bindings/js/JSInjectedScriptHostCustom.cpp:
3280         (WebCore::InjectedScriptHost::scriptValueAsNode):
3281         (WebCore::InjectedScriptHost::nodeAsScriptValue):
3282         (WebCore::JSInjectedScriptHost::inspectedObject):
3283         (WebCore::JSInjectedScriptHost::inspect):
3284         * bindings/js/JSInjectedScriptManager.cpp:
3285         (WebCore::InjectedScriptManager::createInjectedScript):
3286         * bindings/js/JSMainThreadExecState.cpp:
3287         (WebCore::functionCallHandlerFromAnyThread):
3288         * bindings/js/JSMainThreadExecState.h:
3289         (WebCore::JSMainThreadExecState::currentState):
3290         * bindings/js/JSMessageEventCustom.cpp:
3291         (WebCore::JSMessageEvent::data):
3292         (WebCore::handleInitMessageEvent):
3293         * bindings/js/ScheduledAction.cpp:
3294         * bindings/js/ScriptCallStackFactory.cpp:
3295         (WebCore::createScriptArguments):
3296         * bindings/js/ScriptController.cpp:
3297         (WebCore::ScriptController::evaluateInWorld):
3298         (WebCore::ScriptController::evaluate):
3299         (WebCore::ScriptController::executeScriptInWorld):
3300         (WebCore::ScriptController::executeScript):
3301         (WebCore::ScriptController::executeIfJavaScriptURL):
3302         * bindings/js/ScriptController.h:
3303         * bindings/js/ScriptDebugServer.cpp:
3304         (WebCore::ScriptDebugServer::setScriptSource):
3305         (WebCore::ScriptDebugServer::updateCallStack):
3306         (WebCore::ScriptDebugServer::dispatchDidPause):
3307         (WebCore::ScriptDebugServer::runScript):
3308         * bindings/js/ScriptDebugServer.h:
3309         * bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
3310         (WebCore::handleException):
3311         (WebCore::ScriptGlobalObject::set):
3312         (WebCore::ScriptGlobalObject::get):
3313         (WebCore::ScriptGlobalObject::remove):
3314         * bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
3315         (WebCore::ScriptGlobalObject::ScriptGlobalObject):
3316         * bindings/js/ScriptObject.h: Removed.
3317         * bindings/js/ScriptProfile.cpp:
3318         (WebCore::buildInspectorObjectFor):
3319         (WebCore::ScriptProfile::buildInspectorObjectForHead):
3320         (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
3321         * bindings/js/ScriptProfile.h:
3322         * bindings/js/ScriptProfiler.cpp:
3323         (WebCore::ScriptProfiler::objectByHeapObjectId):
3324         (WebCore::ScriptProfiler::getHeapObjectId):
3325         * bindings/js/ScriptProfiler.h:
3326         * bindings/js/ScriptState.h:
3327         * bindings/js/SerializedScriptValue.cpp:
3328         (WebCore::SerializedScriptValue::deserializeForInspector):
3329         (WebCore::SerializedScriptValue::serialize):
3330         (WebCore::SerializedScriptValue::deserialize):
3331         * bindings/js/SerializedScriptValue.h:
3332         * bindings/js/WorkerScriptController.cpp:
3333         (WebCore::WorkerScriptController::evaluate):
3334         (WebCore::WorkerScriptController::setException):
3335         * bindings/js/WorkerScriptController.h:
3336         * bindings/scripts/CodeGeneratorJS.pm:
3337         * bindings/scripts/test/JS/JSTestObj.cpp:
3338         (WebCore::setJSTestObjAnyAttribute):
3339         * dom/CustomEvent.cpp:
3340         (WebCore::CustomEvent::initCustomEvent):
3341         * dom/CustomEvent.h:
3342         (WebCore::CustomEvent::detail):
3343         * dom/MessageEvent.cpp:
3344         (WebCore::MessageEvent::MessageEvent):
3345         (WebCore::MessageEvent::initMessageEvent):
3346         * dom/MessageEvent.h:
3347         (WebCore::MessageEvent::create):
3348         (WebCore::MessageEvent::dataAsScriptValue):
3349         * dom/PopStateEvent.h:
3350         (WebCore::PopStateEvent::state):
3351         * dom/ScriptElement.cpp:
3352         * html/HTMLMediaElement.cpp:
3353         * html/parser/XSSAuditor.cpp:
3354         * html/parser/XSSAuditorDelegate.cpp:
3355         * inspector/CodeGeneratorInspector.py:
3356         (RawTypes.BaseType.get_raw_validator_call_text):
3357         (RawTypes.Object.get_array_item_raw_c_type_text):
3358         (RawTypes.Any.get_array_item_raw_c_type_text):
3359         (RawTypes.Array.get_array_item_raw_c_type_text):
3360         (CommandReturnPassModel.OptOutput.get_return_var_type):
3361         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
3362         (TypeModel.ExactlyInt.get_input_param_type_text):
3363         (TypeModel.ExactlyInt.get_opt_output_type_):
3364         (TypeModel.init_class):
3365         (TypeBindings.create_named_type_declaration.Helper):
3366         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
3367         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
3368         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
3369         (Inspector):
3370         (ArrayBinding.get_array_item_c_type_text):
3371         (Generator.go):
3372         (Generator.process_command):
3373         * inspector/CodeGeneratorInspectorStrings.py:
3374         (void):
3375         (InspectorFrontend_h):
3376         (InspectorBackendDispatchers_h):
3377         * inspector/ConsoleMessage.cpp:
3378         (WebCore::messageSourceValue):
3379         (WebCore::messageTypeValue):
3380         (WebCore::messageLevelValue):
3381         (WebCore::ConsoleMessage::addToFrontend):
3382         * inspector/ConsoleMessage.h:
3383         * inspector/ContentSearchUtils.cpp:
3384         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
3385         (WebCore::ContentSearchUtils::searchInTextByLines):
3386         * inspector/ContentSearchUtils.h:
3387         * inspector/InjectedScript.cpp:
3388         (WebCore::InjectedScript::InjectedScript):
3389         (WebCore::InjectedScript::evaluate):
3390         (WebCore::InjectedScript::callFunctionOn):
3391         (WebCore::InjectedScript::evaluateOnCallFrame):
3392         (WebCore::InjectedScript::getFunctionDetails):
3393         (WebCore::InjectedScript::getProperties):
3394         (WebCore::InjectedScript::getInternalProperties):
3395         (WebCore::InjectedScript::nodeForObjectId):
3396         (WebCore::InjectedScript::releaseObject):
3397         (WebCore::InjectedScript::wrapCallFrames):
3398         (WebCore::InjectedScript::wrapObject):
3399         (WebCore::InjectedScript::wrapTable):
3400         (WebCore::InjectedScript::wrapNode):
3401         (WebCore::InjectedScript::findObjectById):
3402         (WebCore::InjectedScript::inspectNode):
3403         (WebCore::InjectedScript::releaseObjectGroup):
3404         (WebCore::InjectedScript::nodeAsScriptValue):
3405         * inspector/InjectedScript.h:
3406         * inspector/InjectedScriptBase.cpp:
3407         (WebCore::InjectedScriptBase::InjectedScriptBase):
3408         (WebCore::InjectedScriptBase::initialize):
3409         (WebCore::InjectedScriptBase::injectedScriptObject):
3410         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
3411         (WebCore::InjectedScriptBase::makeCall):
3412         (WebCore::InjectedScriptBase::makeEvalCall):