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