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