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