Roll out r156930 and r156937, they caused 34 assertion failures on bots.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
2
3         Roll out r156930 and r156937, they caused 34 assertion failures on bots.
4
5         * css/mathml.css:
6         * mathml/MathMLTextElement.cpp:
7         * mathml/MathMLTextElement.h:
8         * rendering/RenderFlexibleBox.h:
9         * rendering/mathml/RenderMathMLBlock.cpp:
10         * rendering/mathml/RenderMathMLBlock.h:
11         * rendering/mathml/RenderMathMLFenced.cpp:
12         * rendering/mathml/RenderMathMLOperator.cpp:
13         * rendering/mathml/RenderMathMLOperator.h:
14         * rendering/mathml/RenderMathMLRoot.cpp:
15         * rendering/mathml/RenderMathMLRoot.h:
16         * rendering/mathml/RenderMathMLRow.cpp:
17         * rendering/mathml/RenderMathMLRow.h:
18
19 2013-10-04  Anders Carlsson  <andersca@apple.com>
20
21         FramePolicyFunction should be an std::function
22         https://bugs.webkit.org/show_bug.cgi?id=122362
23
24         Reviewed by Darin Adler.
25
26         This makes policy callback handling simpler inside WebKit.
27
28         * loader/EmptyClients.cpp:
29         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
30         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
31         (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
32         * loader/EmptyClients.h:
33         * loader/FrameLoader.cpp:
34         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
35         * loader/FrameLoaderClient.h:
36         * loader/PolicyChecker.cpp:
37         (WebCore::PolicyChecker::checkNavigationPolicy):
38         (WebCore::PolicyChecker::checkNewWindowPolicy):
39         (WebCore::PolicyChecker::checkContentPolicy):
40
41 2013-10-04  Andreas Kling  <akling@apple.com>
42
43         CTTE: IconController and IconLoader should have Frame& backpointer.
44         <https://webkit.org/b/122372>
45
46         Reviewed by Anders Carlsson.
47
48         Also slap IconLoader with FINAL glove.
49
50 2013-10-04  Andreas Kling  <akling@apple.com>
51
52         CTTE: RenderScrollbar DOM owner is always an Element.
53         <https://webkit.org/b/122348>
54
55         Reviewed by Antti Koivisto.
56
57         When RenderScrollbar is owned by a DOM node, it's always Element.
58         Tighten the code a bit with this knowledge.
59
60         Also marked the class FINAL and beat it with the OVERRIDE stick.
61
62 2013-10-04  Andreas Kling  <akling@apple.com>
63
64         TypingCommand helpers should take Document&.
65         <https://webkit.org/b/122370>
66
67         Reviewed by Anders Carlsson.
68
69         Instead of taking a Document* and immediately asserting that it's
70         non-null, just take Document&.
71
72 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
73
74         Use more references instead of pointers in DocumentOrderedMap
75         https://bugs.webkit.org/show_bug.cgi?id=122368
76
77         Reviewed by Andreas Kling.
78
79         Use AtomicStringImpl& instead of AtomicString* or AtomicString& to eliminate
80         assertions and nullity checks.
81
82         * bindings/js/JSDOMWindowCustom.cpp:
83         (WebCore::namedItemGetter):
84         (WebCore::JSDOMWindow::getOwnPropertySlot):
85         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
86         * bindings/js/JSHTMLDocumentCustom.cpp:
87         (WebCore::JSHTMLDocument::canGetItemsForName):
88         (WebCore::JSHTMLDocument::nameGetter):
89         * dom/Document.cpp:
90         (WebCore::Document::addImageElementByLowercasedUsemap):
91         (WebCore::Document::removeImageElementByLowercasedUsemap):
92         (WebCore::Document::imageElementByLowercasedUsemap):
93         * dom/Document.h:
94         * dom/DocumentOrderedMap.cpp:
95         (WebCore::keyMatchesId):
96         (WebCore::keyMatchesName):
97         (WebCore::keyMatchesMapName):
98         (WebCore::keyMatchesLowercasedMapName):
99         (WebCore::keyMatchesLowercasedUsemap):
100         (WebCore::keyMatchesLabelForAttribute):
101         (WebCore::keyMatchesWindowNamedItem):
102         (WebCore::keyMatchesDocumentNamedItem):
103         (WebCore::DocumentOrderedMap::add):
104         (WebCore::DocumentOrderedMap::remove):
105         (WebCore::DocumentOrderedMap::get):
106         (WebCore::DocumentOrderedMap::getElementById):
107         (WebCore::DocumentOrderedMap::getElementByName):
108         (WebCore::DocumentOrderedMap::getElementByMapName):
109         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
110         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
111         (WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
112         (WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
113         (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
114         (WebCore::DocumentOrderedMap::getAllElementsById):
115         * dom/DocumentOrderedMap.h:
116         (WebCore::DocumentOrderedMap::containsSingle):
117         (WebCore::DocumentOrderedMap::contains):
118         (WebCore::DocumentOrderedMap::containsMultiple):
119         * dom/Element.cpp:
120         (WebCore::Element::updateNameForTreeScope):
121         (WebCore::Element::updateNameForDocument):
122         (WebCore::Element::updateIdForTreeScope):
123         (WebCore::Element::updateIdForDocument):
124         (WebCore::Element::updateLabel):
125         * dom/IdTargetObserverRegistry.cpp:
126         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
127         * dom/IdTargetObserverRegistry.h:
128         (WebCore::IdTargetObserverRegistry::notifyObservers):
129         * dom/TreeScope.cpp:
130         (WebCore::TreeScope::getElementById):
131         (WebCore::TreeScope::getAllElementsById):
132         (WebCore::TreeScope::addElementById):
133         (WebCore::TreeScope::removeElementById):
134         (WebCore::TreeScope::getElementByName):
135         (WebCore::TreeScope::addElementByName):
136         (WebCore::TreeScope::removeElementByName):
137         (WebCore::TreeScope::addImageMap):
138         (WebCore::TreeScope::removeImageMap):
139         (WebCore::TreeScope::getImageMap):
140         (WebCore::TreeScope::addLabel):
141         (WebCore::TreeScope::removeLabel):
142         (WebCore::TreeScope::labelElementForId):
143         * dom/TreeScope.h:
144         (WebCore::TreeScope::hasElementWithId):
145         (WebCore::TreeScope::containsMultipleElementsWithId):
146         (WebCore::TreeScope::hasElementWithName):
147         (WebCore::TreeScope::containsMultipleElementsWithName):
148         * html/HTMLCollection.cpp:
149         (WebCore::HTMLCollection::namedItem):
150         * html/HTMLDocument.cpp:
151         (WebCore::HTMLDocument::addDocumentNamedItem):
152         (WebCore::HTMLDocument::removeDocumentNamedItem):
153         (WebCore::HTMLDocument::addWindowNamedItem):
154         (WebCore::HTMLDocument::removeWindowNamedItem):
155         * html/HTMLDocument.h:
156         (WebCore::HTMLDocument::documentNamedItem):
157         (WebCore::HTMLDocument::hasDocumentNamedItem):
158         (WebCore::HTMLDocument::documentNamedItemContainsMultipleElements):
159         (WebCore::HTMLDocument::windowNamedItem):
160         (WebCore::HTMLDocument::hasWindowNamedItem):
161         (WebCore::HTMLDocument::windowNamedItemContainsMultipleElements):
162         * html/HTMLImageElement.cpp:
163         (WebCore::HTMLImageElement::parseAttribute):
164         (WebCore::HTMLImageElement::insertedInto):
165         (WebCore::HTMLImageElement::removedFrom):
166         * html/HTMLMapElement.cpp:
167         (WebCore::HTMLMapElement::imageElement):
168         (WebCore::HTMLMapElement::parseAttribute):
169         (WebCore::HTMLMapElement::insertedInto):
170         (WebCore::HTMLMapElement::removedFrom):
171         * html/HTMLObjectElement.cpp:
172         (WebCore::HTMLObjectElement::updateDocNamedItem):
173
174 2013-10-04  Andreas Kling  <akling@apple.com>
175
176         CTTE: PolicyChecker backpointer to Frame should be a reference.
177         <https://webkit.org/b/122354>
178
179         Reviewed by Anders Carlsson.
180
181         PolicyChecker is tied to the lifetime of FrameLoader, which in turn
182         is tied to the lifetime of Frame.
183
184 2013-10-04  Andreas Kling  <akling@apple.com>
185
186         Editor should use reference-getting document() internally.
187         <https://webkit.org/b/122364>
188
189         Reviewed by Darin Adler.
190
191         Instead of grabbing at Editor::m_frame.document(), use the nice
192         Editor::document() helper that always returns a Document&.
193
194         Calling Editor methods on a Frame's editor() while there is no
195         Document in the Frame is a programming error and this is covered
196         by an assertion in document().
197
198         This removes a bunch of null checks and enables further cleanup.
199
200 2013-10-04  Martin Robinson  <mrobinson@igalia.com>
201
202         Try to fix the Windows build after r156930.
203
204         * rendering/mathml/RenderMathMLOperator.cpp:
205         (WebCore::RenderMathMLOperator::paintCharacter): Use ceilf and floorf to avoid issues
206         with overload collisions and implicit casts of LayoutUnits.
207
208 2013-10-04  Mark Lam  <mark.lam@apple.com>
209
210         Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
211         https://bugs.webkit.org/show_bug.cgi?id=121969.
212
213         Reviewed by Geoffrey Garen.
214
215         Tests: inspector-protocol/debugger/call-frame-function-name.html
216                inspector-protocol/debugger/call-frame-this-host.html
217                inspector-protocol/debugger/call-frame-this-nonstrict.html
218                inspector-protocol/debugger/call-frame-this-strict.html
219
220         1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
221            DebuggerCallFrame now tracks whether it is valid instead of needing
222            JavaScriptCallFrame do it.
223         2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
224            just before it pauses and calls back to its client, and then invalidates
225            it immediately when the callback returns. Every subsequent callback to
226            the client will use a new instance of the DebuggerCallFrame.
227         3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
228            it "pauses".
229         4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
230            it is needed i.e. when the client calls callerFrame(). Similarly,
231            JavaScriptCallFrame only creates its caller when it's requested.
232         5. DebuggerCallFrame's line() and column() now returns a base-zero int.
233         6. WebScriptDebugDelegate now only caches the functionName of the frame
234            instead of the entire DebuggerCallFrame because that is all that is
235            needed.
236         7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
237
238         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
239         (WebCore::JSJavaScriptCallFrame::thisObject):
240         * bindings/js/JavaScriptCallFrame.cpp:
241         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
242         (WebCore::JavaScriptCallFrame::caller):
243         * bindings/js/JavaScriptCallFrame.h:
244         (WebCore::JavaScriptCallFrame::create):
245         (WebCore::JavaScriptCallFrame::sourceID):
246         (WebCore::JavaScriptCallFrame::position):
247         (WebCore::JavaScriptCallFrame::line):
248         (WebCore::JavaScriptCallFrame::column):
249         (WebCore::JavaScriptCallFrame::functionName):
250         (WebCore::JavaScriptCallFrame::type):
251         (WebCore::JavaScriptCallFrame::scopeChain):
252         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
253         (WebCore::JavaScriptCallFrame::thisValue):
254         (WebCore::JavaScriptCallFrame::evaluate):
255         * bindings/js/ScriptDebugServer.cpp:
256         (WebCore::DebuggerCallFrameScope::DebuggerCallFrameScope):
257         (WebCore::DebuggerCallFrameScope::~DebuggerCallFrameScope):
258         (WebCore::ScriptDebugServer::ScriptDebugServer):
259         (WebCore::ScriptDebugServer::setBreakpoint):
260         (WebCore::ScriptDebugServer::removeBreakpoint):
261         (WebCore::ScriptDebugServer::hasBreakpoint):
262         (WebCore::ScriptDebugServer::evaluateBreakpointAction):
263         (WebCore::ScriptDebugServer::breakProgram):
264         (WebCore::ScriptDebugServer::stepOverStatement):
265         (WebCore::ScriptDebugServer::stepOutOfFunction):
266         (WebCore::ScriptDebugServer::currentDebuggerCallFrame):
267         (WebCore::ScriptDebugServer::dispatchDidPause):
268         (WebCore::ScriptDebugServer::updateCallFrame):
269         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
270         (WebCore::ScriptDebugServer::pauseIfNeeded):
271         (WebCore::ScriptDebugServer::callEvent):
272         (WebCore::ScriptDebugServer::returnEvent):
273         (WebCore::ScriptDebugServer::willExecuteProgram):
274         (WebCore::ScriptDebugServer::didExecuteProgram):
275         * bindings/js/ScriptDebugServer.h:
276         * bindings/js/WorkerScriptDebugServer.cpp:
277         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
278
279 2013-10-04  Andreas Kling  <akling@apple.com>
280
281         Ref-ify more stack guards.
282         <https://webkit.org/b/122360>
283
284         Reviewed by Anders Carlsson.
285
286         Make another pass turning RefPtr<T> into Ref<T> where possible.
287
288 2013-10-04  Ojan Vafai  <ojan@chromium.org> and Martin Robinson  <mrobinson@igalia.com>
289
290         [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
291         https://bugs.webkit.org/show_bug.cgi?id=121416
292
293         Reviewed by David Hyatt.
294
295         Tests: mathml/presentation/mo-minus.html
296                mathml/presentation/mo-stacked-glyphs.html
297                mathml/presentation/mo-stretchy-vertical-bar.html
298                mathml/very-large-stretchy-operators.html
299
300         MathML stretched operators by both modifying the width of the operator
301         and adding children to the operator node in the render tree.
302
303         Instead we make the operator width equal to the widest glyph possible that we use
304         to represent the operator.  Additionally instead of rendering stretchy glyphs via
305         stacked operator pieces in separate render tree nodes, keep only one node for the
306         glyph, and use a custom paint method to paint the stacked representation.
307
308         With this patch, rendering seems roughly equivalent on Mac and markedly better
309         on Linux.
310
311         * css/mathml.css:
312         Not sure what this line-height:0 was here for, but it caused bugs with the new code
313
314         * mathml/MathMLTextElement.cpp:
315         (WebCore::MathMLTextElement::attach):
316         (WebCore):
317         (WebCore::MathMLTextElement::childrenChanged):
318         Need to update the anonymous render tree below <mo> elements when their
319         children change or when the renderer is first attached.
320
321         * mathml/MathMLTextElement.h:
322         (MathMLTextElement):
323         * rendering/mathml/RenderMathMLBlock.cpp:
324         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
325         * rendering/mathml/RenderMathMLBlock.h:
326         Now that the preferred width doesn't depend on the height, we don't
327         need to override computePreferredLogicalWidths at all.
328
329         * rendering/mathml/RenderMathMLFenced.cpp:
330         (WebCore::RenderMathMLFenced::makeFences):
331         (WebCore::RenderMathMLFenced::styleDidChange):
332         Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
333
334         * rendering/mathml/RenderMathMLOperator.cpp:
335         (WebCore::RenderMathMLOperator::expandedStretchHeight):
336         Store the non-expanded stretch height so that we can detect when the height
337         actually changed.
338
339         (WebCore::RenderMathMLOperator::stretchToHeight):
340         Only update the style on the anonymous render tree since this is called
341         from RenderMathMLRow::layout
342
343         (WebCore::RenderMathMLOperator::styleDidChange):
344         (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
345         (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
346         (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
347         and we want the width of the operator to be the advance instead of the tight bounding width.
348         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
349         we can use to render this operator.
350         (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
351         version of the glyph.
352         (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
353         is the character used for stretching operations.
354         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
355         of glyph pieces for stretching characters.
356         (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
357         the child if we are using the stretchy style.
358         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
359         (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
360         stretchy glyph.
361         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
362         features of the stretchy glyph.
363         (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
364         * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
365
366 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
367
368         Build fix after r156925. It collided with r156903.
369
370         * html/HTMLImageElement.cpp:
371         (WebCore::HTMLImageElement::insertedInto):
372         (WebCore::HTMLImageElement::removedFrom):
373
374 2013-10-04  Andreas Kling  <akling@apple.com>
375
376         Clean out some FrameLoaderClient hooks that no ports were using.
377         <https://webkit.org/b/122356>
378
379         Reviewed by Anders Carlsson.
380
381         Removed the following hooks that were leftovers from dead ports:
382
383             - didExhaustMemoryAvailableForScript
384             - didNotAllowScript
385             - didNotAllowPlugins
386             - willCheckAndDispatchMessageEvent
387             - didChangeName
388             - dispatchWillInsertBody
389             - dispatchDidChangeResourcePriority
390
391 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
392
393         FocusController::advanceFocus spends a lot of time in HTMLMapElement::imageElement
394         https://bugs.webkit.org/show_bug.cgi?id=122313
395
396         Reviewed by Andreas Kling.
397
398         The bug was caused by HTMLMapElement::imageElement traversing the entire document to look for
399         the image element associated with a given map element. Because HTMLCollection used to find the
400         image element is not cached, it traversed the entire document on every area element we visit,
401         resulting in O(n^2) behavior.
402
403         Fixed the bug by adding the name-to-image-element map on document to avoid the traversal in
404         HTMLMapElement::imageElement.
405
406         * dom/Document.cpp:
407         (WebCore::Document::addImageElementByLowercasedUsemap): Added.
408         (WebCore::Document::removeImageElementByLowercasedUsemap): Added.
409         (WebCore::Document::imageElementByLowercasedUsemap): Added.
410
411         * dom/Document.h: Added m_imagesByUsemap.
412
413         * dom/DocumentOrderedMap.cpp:
414         (WebCore::keyMatchesLowercasedUsemap): Added.
415         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap): Added.
416
417         * dom/DocumentOrderedMap.h:
418         * html/HTMLImageElement.cpp:
419         (WebCore::HTMLImageElement::parseAttribute): Update the name-to-usemap map. The code to parse
420         the usemap attribute and strip # was moved from HTMLMapElement::imageElement.
421         (WebCore::HTMLImageElement::insertedInto): Ditto.
422         (WebCore::HTMLImageElement::removedFrom): Ditto.
423         (WebCore::HTMLImageElement::matchesLowercasedUsemap): Added; called by DocumentOrderedMap.
424
425         * html/HTMLImageElement.h:
426
427         * html/HTMLMapElement.cpp:
428         (WebCore::HTMLMapElement::imageElement): Call Document::imageElementByUsemap instead of
429         looking through all image elements in the document.
430
431 2013-10-04  Sam Weinig  <sam@webkit.org>
432
433         Unify rubberband control
434         https://bugs.webkit.org/show_bug.cgi?id=122341
435
436         Reviewed by Tim Horton.
437
438         - Consolidates the two ways we were passing state about whether
439           to rubber-band on a particular edge down to one.
440
441         * WebCore.exp.in:
442         * page/Page.cpp:
443         * page/Page.h:
444         * page/scrolling/ScrollingCoordinator.h:
445         (WebCore::ScrollingCoordinator::isRubberBandInProgress):
446         * page/scrolling/ScrollingTree.cpp:
447         (WebCore::ScrollingTree::ScrollingTree):
448         (WebCore::ScrollingTree::setCanRubberBandState):
449         (WebCore::ScrollingTree::rubberBandsAtLeft):
450         (WebCore::ScrollingTree::rubberBandsAtRight):
451         (WebCore::ScrollingTree::rubberBandsAtBottom):
452         (WebCore::ScrollingTree::rubberBandsAtTop):
453         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
454         * page/scrolling/ScrollingTree.h:
455         * page/scrolling/mac/ScrollingCoordinatorMac.h:
456         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
457         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
458         (WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):
459
460 2013-10-04  Andreas Kling  <akling@apple.com>
461
462         CTTE: SubframeLoader backpointer to Frame should be a reference.
463         <https://webkit.org/b/122350>
464
465         Reviewed by Anders Carlsson.
466
467         SubframeLoader is tied to the lifetime of FrameLoader, which in turn
468         is tied to the lifetime of Frame.
469
470 2013-10-04  Anders Carlsson  <andersca@apple.com>
471
472         Remove some unneeded code from WidgetMac
473         https://bugs.webkit.org/show_bug.cgi?id=122355
474
475         Reviewed by Dan Bernstein.
476
477         Remove code to manage the visible rect, it's not needed anymore.
478
479         * platform/Widget.h:
480         * platform/mac/WidgetMac.mm:
481         (WebCore::Widget::~Widget):
482         (WebCore::Widget::setFrameRect):
483         (WebCore::Widget::setPlatformWidget):
484
485 2013-10-04  Daniel Bates  <dabates@apple.com>
486
487         [iOS] Upstream disk image cache
488         https://bugs.webkit.org/show_bug.cgi?id=121985
489
490         Reviewed by Joseph Pecoraro.
491
492         * WebCore.exp.in:
493         * WebCore.xcodeproj/project.pbxproj:
494         * loader/ResourceBuffer.cpp:
495         (WebCore::ResourceBuffer::isUsingDiskImageCache):
496         * loader/ResourceBuffer.h:
497         * loader/cache/CachedImage.cpp:
498         (WebCore::CachedImage::canUseDiskImageCache): Added.
499         (WebCore::CachedImage::useDiskImageCache): Added.
500         * loader/cache/CachedImage.h:
501         * loader/cache/CachedResource.cpp:
502         (WebCore::CachedResource::isSafeToMakePurgeable):
503         (WebCore::CachedResource::isUsingDiskImageCache): Added.
504         * loader/cache/CachedResource.h:
505         (WebCore::CachedResource::canUseDiskImageCache): Added.
506         (WebCore::CachedResource::useDiskImageCache): Added.
507         * loader/cache/MemoryCache.cpp:
508         (WebCore::MemoryCache::flushCachedImagesToDisk): Added.
509         (WebCore::MemoryCache::TypeStatistic::addResource):
510         (WebCore::MemoryCache::dumpStats):
511         (WebCore::MemoryCache::dumpLRULists):
512         * loader/cache/MemoryCache.h:
513         (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
514         * loader/ios/DiskImageCacheClientIOS.h: Added.
515         * loader/ios/DiskImageCacheIOS.h: Added.
516         * loader/ios/DiskImageCacheIOS.mm: Added.
517         * platform/Logging.h:
518         * platform/SharedBuffer.cpp:
519         (WebCore::SharedBuffer::SharedBuffer):
520         (WebCore::SharedBuffer::~SharedBuffer):
521         (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Added.
522         (WebCore::SharedBuffer::allowToBeMemoryMapped): Added.
523         (WebCore::SharedBuffer::failedMemoryMap): Added.
524         (WebCore::SharedBuffer::markAsMemoryMapped): Added.
525         (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Added.
526         (WebCore::SharedBuffer::memoryMappedNotificationCallback): Added.
527         (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Added.
528         (WebCore::SharedBuffer::data):
529         (WebCore::SharedBuffer::append):
530         (WebCore::SharedBuffer::buffer):
531         (WebCore::SharedBuffer::getSomeData):
532         * platform/SharedBuffer.h:
533         (WebCore::SharedBuffer::isMemoryMapped): Added.
534         * platform/cf/SharedBufferCF.cpp:
535         (WebCore::SharedBuffer::SharedBuffer):
536
537 2013-10-04  Bear Travis  <betravis@adobe.com>
538
539         [CSS Shapes] Basic shapes should be animatable for shape-outside
540         https://bugs.webkit.org/show_bug.cgi?id=122343
541
542         Reviewed by Dirk Schulze.
543
544         Test: fast/shapes/shape-outside-floats/shape-outside-animation.html
545
546         Add shape outside to the list of animatable properties. The infrastructure
547         is already in place for animating basic shapes on shape-inside and clipping
548         paths. See https://bugs.webkit.org/show_bug.cgi?id=101854.
549
550         * page/animation/CSSPropertyAnimation.cpp:
551         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
552
553 2013-10-04  Andreas Kling  <akling@apple.com>
554
555         Tighten typing in some RenderLayer code.
556         <https://webkit.org/b/122342>
557
558         Reviewed by Antti Koivisto.
559
560         Use tighter types instead of Node and RenderObject inside RenderLayer
561         where applicable.
562
563 2013-10-04  Ralph Thomas  <ralpht@gmail.com>
564
565         Inserting a JS generated keyframe animation shouldn't trigger a whole document style recalc
566         https://bugs.webkit.org/show_bug.cgi?id=119479
567
568         Reviewed by Antti Koivisto.
569
570         Change CSSStyleSheet::didMutateRules to not invalidate all node's styles when inserting a
571         @-webkit-keyframes rule, and to instead insert the rule directly into the StyleResolver.
572
573         Test: animation/keyframes-dynamic.html: adds and removes keyframe rules using JavaScript and
574         validates that the correct elements are animated.
575
576         * css/CSSStyleSheet.cpp:
577         (WebCore::CSSStyleSheet::didMutateRules):
578         (WebCore::CSSStyleSheet::insertRule):
579         * css/CSSStyleSheet.h:
580
581 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
582
583         [WebIDL] Annotate IDL interfaces under Source/WebCore/fileapi/ with the OperationsNotDeletable attribute
584         https://bugs.webkit.org/show_bug.cgi?id=122275
585
586         Reviewed by Darin Adler.
587
588         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
589         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
590         doesn't have any effect, but will keep the operations not configurable after the generator is modified
591         to preserve the original behavior. The attribute will be removed from each interface after checking
592         conformity with other browsers (in terms of configurability of operations of that interface) and the
593         WebKit's existing test suites.
594
595         This patch covers IDL interfaces under Source/WebCore/fileapi/.
596
597         * fileapi/Blob.idl:
598         * fileapi/FileException.idl:
599         * fileapi/FileList.idl:
600         * fileapi/FileReader.idl:
601         * fileapi/FileReaderSync.idl:
602
603 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
604
605         [WebIDL] Annotate IDL interfaces under Source/WebCore/dom/ with the OperationsNotDeletable attribute
606         https://bugs.webkit.org/show_bug.cgi?id=122271
607
608         Reviewed by Darin Adler.
609
610         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
611         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
612         doesn't have any effect, but will keep the operations not configurable after the generator is modified
613         to preserve the original behavior. The attribute will be removed from each interface after checking
614         conformity with other browsers (in terms of configurability of operations of that interface) and the
615         WebKit's existing test suites.
616
617         This patch covers IDL interfaces under Source/WebCore/dom/.
618
619         * dom/CharacterData.idl:
620         * dom/ChildNode.idl:
621         * dom/ClientRectList.idl:
622         * dom/Clipboard.idl:
623         * dom/CompositionEvent.idl:
624         * dom/CustomEvent.idl:
625         * dom/DOMCoreException.idl:
626         * dom/DOMImplementation.idl:
627         * dom/DOMNamedFlowCollection.idl:
628         * dom/DOMStringList.idl:
629         * dom/DOMStringMap.idl:
630         * dom/DataTransferItem.idl:
631         * dom/DataTransferItemList.idl:
632         * dom/DeviceMotionEvent.idl:
633         * dom/DeviceOrientationEvent.idl:
634         * dom/Document.idl:
635         * dom/DocumentFragment.idl:
636         * dom/DocumentType.idl:
637         * dom/Element.idl:
638         * dom/Event.idl:
639         * dom/EventException.idl:
640         * dom/EventListener.idl:
641         * dom/EventTarget.idl:
642         * dom/KeyboardEvent.idl:
643         * dom/MessageEvent.idl:
644         * dom/MessagePort.idl:
645         * dom/MouseEvent.idl:
646         * dom/MutationEvent.idl:
647         * dom/MutationObserver.idl:
648         * dom/NamedNodeMap.idl:
649         * dom/Node.idl:
650         * dom/NodeFilter.idl:
651         * dom/NodeIterator.idl:
652         * dom/NodeList.idl:
653         * dom/Range.idl:
654         * dom/RangeException.idl:
655         * dom/ShadowRoot.idl:
656         * dom/Text.idl:
657         * dom/TextEvent.idl:
658         * dom/TouchEvent.idl:
659         * dom/TouchList.idl:
660         * dom/TreeWalker.idl:
661         * dom/UIEvent.idl:
662         * dom/WebKitNamedFlow.idl:
663         * dom/WheelEvent.idl:
664
665 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
666
667         [WebIDL] Annotate IDL interfaces under Source/WebCore/xml/ with the OperationsNotDeletable attribute
668         https://bugs.webkit.org/show_bug.cgi?id=122269
669
670         Reviewed by Darin Adler.
671
672         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
673         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
674         doesn't have any effect, but will keep the operations not configurable after the generator is modified
675         to preserve the original behavior. The attribute will be removed from each interface after checking
676         conformity with other browsers (in terms of configurability of operations of that interface) and the
677         WebKit's existing test suites.
678
679         This patch covers IDL interfaces under Source/WebCore/xml/.
680
681         * xml/DOMParser.idl:
682         * xml/XMLHttpRequest.idl:
683         * xml/XMLHttpRequestException.idl:
684         * xml/XMLHttpRequestUpload.idl:
685         * xml/XMLSerializer.idl:
686         * xml/XPathEvaluator.idl:
687         * xml/XPathException.idl:
688         * xml/XPathExpression.idl:
689         * xml/XPathNSResolver.idl:
690         * xml/XPathResult.idl:
691         * xml/XSLTProcessor.idl:
692
693 2013-10-04  Bear Travis  <betravis@adobe.com>
694
695         [CSS Shapes] Shape Outside should relayout when set dynamically
696         https://bugs.webkit.org/show_bug.cgi?id=122197
697
698         Reviewed by Alexandru Chiculita.
699
700         Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html
701                fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html
702
703         When shape outside is modified, dependent content needs to relayout. This patch
704         removes the float from the float lists and marks dependents for layout using
705         RenderBox::removeFloatingOrPositionedChildFromBlockLists(). This is the same
706         method used when switching from float: left to float: right and vice versa
707         (see RenderElement::styleWillChange).
708
709         * rendering/RenderBox.cpp:
710         (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Mark shape-outside dependents
711         for layout.
712         * rendering/RenderBox.h:
713         (WebCore::RenderBox::markShapeOutsideDependentsForLayout): Mark all the items that may be
714         affected by this shape-outside for relayout.
715
716 2013-10-04  Antti Koivisto  <antti@apple.com>
717
718         Tighten markContainingBlocksForLayout
719         https://bugs.webkit.org/show_bug.cgi?id=122326
720
721         Reviewed by Anders Carlsson.
722
723 2013-10-04  Andreas Kling  <akling@apple.com>
724
725         Node: removedFrom() and insertedInto() should use references.
726         <https://webkit.org/b/122315>
727
728         Reviewed by Anders Carlsson.
729
730         ContainerNode* -> ContainerNode&
731
732 2013-10-04  Romain Perier  <romain.perier@gmail.com>
733
734         Optimize strings copies in srcset parser
735         https://bugs.webkit.org/show_bug.cgi?id=121899
736
737         Reviewed by Alexey Proskuryakov.
738
739         No new tests, covered by existing ones.
740
741         * html/parser/HTMLParserIdioms.cpp:
742         (WebCore::parseImagesWithScaleFromSrcsetAttribute): Don't copy
743         image.imageURL at each loop iteration, save indexes instead.
744         (WebCore::bestFitSourceForImageAttributes): Make a String for
745         the URL only when the corresponding candidate is chosen
746         by the selection algorithm. It reduces the number of copies
747         significantly and improves performance
748         (around 30% with the "Release" profile and 60% with the "Debug" one).
749
750 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
751
752         Add svn:ignore to *.pyc files in inspector/Scripts directory, so that they don't
753         show up as unversioned all the time.
754
755         * inspector/Scripts: Added property svn:ignore.
756
757 2013-10-04  peavo@outlook.com  <peavo@outlook.com>
758
759         [Win][WebGL] Crash on exit
760         https://bugs.webkit.org/show_bug.cgi?id=120764
761
762         Reviewed by Martin Robinson.
763
764         On exit, libGLESv2.dll is detached from the process and relevant memory is released
765         before the atexit GL context cleanup handler is called, causing a NULL pointer crash.
766         The GL context cleanup code was originally written to avoid a X server crash on exit,
767         so it's only needed for PLATFORM(X11).
768
769         * platform/graphics/GLContext.cpp: Only clean up active GL contexts on exit for PLATFORM(X11).
770         (WebCore::GLContext::cleanupSharedX11Display):
771         (WebCore::GLContext::cleanupActiveContextsAtExit):
772         (WebCore::GLContext::GLContext):
773         (WebCore::GLContext::~GLContext):
774
775 2013-10-04  Mihnea Ovidenie  <mihnea@adobe.com>
776
777         [CSSRegions] Regions as stacking contexts should paint over positioned sibling
778         https://bugs.webkit.org/show_bug.cgi?id=122321
779
780         Reviewed by Alexandru Chiculita.
781
782         Test: fast/regions/layers/region-normalflow-stacking-context.html
783
784         Since regions are stacking contexts, they should not be in normal flow list of layers.
785         More clean-up after https://bugs.webkit.org/show_bug.cgi?id=117365 and https://bugs.webkit.org/show_bug.cgi?id=121828
786         which enabled the layers.
787
788         * rendering/RenderLayer.cpp:
789         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
790         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
791
792 2013-10-04  Krzysztof Wolanski  <k.wolanski@samsung.com>
793
794         [EFL] Enable correct behaviour for deleting regional indicator symbols
795         https://bugs.webkit.org/show_bug.cgi?id=122209
796
797         Reviewed by Gyuyoung Kim.
798
799         Regional indicator symbols that are combined should behave as a single character when deleting.
800         Removed unused variable initialState.
801
802         * rendering/RenderText.cpp:
803         (WebCore::RenderText::previousOffsetForBackwardDeletion):
804
805 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
806
807         [WebIDL] Annotate IDL interfaces under Source/WebCore/css/ with the OperationsNotDeletable attribute
808         https://bugs.webkit.org/show_bug.cgi?id=122276
809
810         Reviewed by Darin Adler.
811
812         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
813         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
814         doesn't have any effect, but will keep the operations not configurable after the generator is modified
815         to preserve the original behavior. The attribute will be removed from each interface after checking
816         conformity with other browsers (in terms of configurability of operations of that interface) and the
817         WebKit's existing test suites.
818
819         This patch covers IDL interfaces under Source/WebCore/css/.
820
821         * css/CSSHostRule.idl:
822         * css/CSSMediaRule.idl:
823         * css/CSSPrimitiveValue.idl:
824         * css/CSSRuleList.idl:
825         * css/CSSStyleDeclaration.idl:
826         * css/CSSStyleSheet.idl:
827         * css/CSSSupportsRule.idl:
828         * css/CSSValueList.idl:
829         * css/DOMWindowCSS.idl:
830         * css/FontLoader.idl:
831         * css/MediaList.idl:
832         * css/MediaQueryList.idl:
833         * css/MediaQueryListListener.idl:
834         * css/StyleMedia.idl:
835         * css/StyleSheet.idl:
836         * css/StyleSheetList.idl:
837         * css/WebKitCSSFilterValue.idl:
838         * css/WebKitCSSKeyframesRule.idl:
839         * css/WebKitCSSMatrix.idl:
840         * css/WebKitCSSTransformValue.idl:
841
842 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
843
844         [WebIDL] Annotate IDL interfaces under Source/WebCore/loader/appcache/ with the OperationsNotDeletable attribute
845         https://bugs.webkit.org/show_bug.cgi?id=122274
846
847         Reviewed by Darin Adler.
848
849         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
850         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
851         doesn't have any effect, but will keep the operations not configurable after the generator is modified
852         to preserve the original behavior. The attribute will be removed from each interface after checking
853         conformity with other browsers (in terms of configurability of operations of that interface) and the
854         WebKit's existing test suites.
855
856         This patch covers IDL interfaces under Source/WebCore/loader/appcache/.
857
858         * loader/appcache/DOMApplicationCache.idl:
859
860 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
861
862         [WebIDL] Annotate IDL interfaces under Source/WebCore/plugins/ with the OperationsNotDeletable attribute
863         https://bugs.webkit.org/show_bug.cgi?id=122273
864
865         Reviewed by Darin Adler.
866
867         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
868         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
869         doesn't have any effect, but will keep the operations not configurable after the generator is modified
870         to preserve the original behavior. The attribute will be removed from each interface after checking
871         conformity with other browsers (in terms of configurability of operations of that interface) and the
872         WebKit's existing test suites.
873
874         This patch covers IDL interfaces under Source/WebCore/plugins/.
875
876         * plugins/DOMMimeTypeArray.idl:
877         * plugins/DOMPlugin.idl:
878         * plugins/DOMPluginArray.idl:
879
880 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
881
882         [WebIDL] Annotate IDL interfaces under Source/WebCore/storage/ with the OperationsNotDeletable attribute
883         https://bugs.webkit.org/show_bug.cgi?id=122272
884
885         Reviewed by Darin Adler.
886
887         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
888         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
889         doesn't have any effect, but will keep the operations not configurable after the generator is modified
890         to preserve the original behavior. The attribute will be removed from each interface after checking
891         conformity with other browsers (in terms of configurability of operations of that interface) and the
892         WebKit's existing test suites.
893
894         This patch covers IDL interfaces under Source/WebCore/storage/.
895
896         * storage/Storage.idl:
897         * storage/StorageEvent.idl:
898
899 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
900
901         [WebIDL] Annotate IDL interfaces under Source/WebCore/workers/ with the OperationsNotDeletable attribute
902         https://bugs.webkit.org/show_bug.cgi?id=122270
903
904         Reviewed by Darin Adler.
905
906         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
907         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
908         doesn't have any effect, but will keep the operations not configurable after the generator is modified
909         to preserve the original behavior. The attribute will be removed from each interface after checking
910         conformity with other browsers (in terms of configurability of operations of that interface) and the
911         WebKit's existing test suites.
912
913         This patch covers IDL interfaces under Source/WebCore/workers/.
914
915         * workers/DedicatedWorkerGlobalScope.idl:
916         * workers/Worker.idl:
917         * workers/WorkerGlobalScope.idl:
918         * workers/WorkerLocation.idl:
919
920 2013-10-04  Andrei Bucur  <abucur@adobe.com>
921
922         [CSS Regions] Infinite loop when computing widows
923         https://bugs.webkit.org/show_bug.cgi?id=122215
924
925         Reviewed by David Hyatt.
926
927         The patch ensures it's not possible to relayout a block indefinitely because of widows contraints. You can't
928         break a block more than once to account for widows. This can happen if, for example, some lines are moved
929         to the next container and there the content breaks in another container again without respecting the widows property.
930         This is in line with the idea of not leaving empty fragmentation containers during layout.
931
932         Test: fast/regions/regions-widows-stack-overflow.html
933
934         * rendering/RenderBlockFlow.cpp:
935         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
936         (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
937         (WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
938         (WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
939         (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
940
941         * rendering/RenderBlockFlow.h:
942         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData): Rename the m_shouldBreakAtLineToAvoidWidow
943         flag to m_didBreakAtLineToAvoidWidow.
944
945         (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow): Use the line index to determine if it should break or not.
946         (WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow): Use to determine if a break already happened because of widows.
947
948         * rendering/RenderBlockLineLayout.cpp:
949         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
950
951 2013-10-03  Anders Carlsson  <andersca@apple.com>
952
953         Assert that we don't try to index past the end of the m_coreTextIndices array
954         https://bugs.webkit.org/show_bug.cgi?id=122308
955
956         Reviewed by Dan Bernstein.
957
958         Because an assertion failure is better than a random crash.
959
960         * platform/graphics/mac/ComplexTextController.cpp:
961         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
962
963 2013-10-03  Antti Koivisto  <antti@apple.com>
964
965         Move setting of some layout bits to RenderElement
966         https://bugs.webkit.org/show_bug.cgi?id=122256
967
968         Reviewed by Andreas Kling.
969         
970         These bits never apply to RenderText nodes:
971         
972         normalChildNeedsLayout
973         posChildNeedsLayout
974         needsSimplifiedNormalFlowLayout
975         normalChildNeedsLayout
976         positionedMovementLayout
977
978         The code for setting them can be moved to RenderElement.
979
980         Also separated the code paths for setting and clearing the bits and uninlined
981         everything that is not massively popular.
982
983 2013-10-03  Sam Weinig  <sam@webkit.org>
984
985         Remove shouldRubberBandInDirection from the WKBundlePageUIClient
986         https://bugs.webkit.org/show_bug.cgi?id=122309
987
988         Reviewed by Andreas Kling.
989
990         * loader/EmptyClients.h:
991         * page/ChromeClient.h:
992         * page/FrameView.cpp:
993         * page/FrameView.h:
994         * platform/ScrollableArea.h:
995         * platform/mac/ScrollAnimatorMac.mm:
996         (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
997
998 2013-10-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
999
1000         Fix the HTMLSelectElement.prototype.remove() method
1001         https://bugs.webkit.org/show_bug.cgi?id=121586
1002
1003         Reviewed by Darin Adler.
1004
1005         Fix the HTMLSelectElement.prototype.remove() method so that it behaves like
1006         Element.remove() if no argument is passed (from ChildNode). This behavior
1007         is consistent with Firefox and Blink.
1008
1009         See https://www.w3.org/Bugs/Public/show_bug.cgi?id=20720 for more
1010         information.
1011
1012         Tests: js/dom/select-options-remove.html
1013
1014         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1015         (WebCore::JSHTMLOptionsCollection::remove):
1016         Stop calling JSHTMLSelectElement::remove() blindly as it is dangerous, especially
1017         now that calling it without argument now detaches the element. Instead, have the
1018         bindings call the corresponding methods on the HTMLOptionsCollection implementation
1019         object, as it should.
1020
1021         * bindings/js/JSHTMLSelectElementCustom.cpp:
1022         (WebCore::JSHTMLSelectElement::remove):
1023         Call Element::remove() if no argument is given.
1024
1025         * html/HTMLOptionsCollection.cpp:
1026         (WebCore::HTMLOptionsCollection::remove):
1027         * html/HTMLOptionsCollection.h:
1028         * html/HTMLSelectElement.cpp:
1029         * html/HTMLSelectElement.h:
1030         Rename remove(int) to removeByIndex(int) to avoid conflict with
1031         Node::remove(ExceptionCode&).
1032
1033 2013-10-03  Samuel White  <samuel_white@apple.com>
1034
1035         Regression: AX: <table><caption> no longer exposed as AXTitle.
1036         https://bugs.webkit.org/show_bug.cgi?id=121977
1037
1038         Reviewed by Darin Adler.
1039
1040         Some cleanup of accessibilityText. Notably, subclasses were unnecessarily redeclaring this method as both private and
1041         protected. Added OVERRIDE keyword to these subclasses as needed. Moved titleElementText to virtual so we can do subclass
1042         overrides in cases like this bug. That is, AccessibilityTable can leverage the existing machinery for alternativeText,
1043         visibleText, and helpText, but we do some custom work ONLY in titleElementText.
1044
1045         Test: accessibility/table-title.html
1046
1047         * accessibility/AccessibilityImageMapLink.h:
1048         * accessibility/AccessibilityMediaControls.h:
1049         * accessibility/AccessibilityNodeObject.cpp:
1050         (WebCore::AccessibilityNodeObject::titleElementText):
1051         * accessibility/AccessibilityNodeObject.h:
1052         * accessibility/AccessibilityTable.cpp:
1053         (WebCore::AccessibilityTable::titleElementText):
1054         * accessibility/AccessibilityTable.h:
1055
1056 2013-10-03  Anders Carlsson  <andersca@apple.com>
1057
1058         Ignore deprecation warnings
1059         https://bugs.webkit.org/show_bug.cgi?id=122302
1060
1061         Reviewed by Mark Rowe.
1062
1063         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1064         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
1065         * bindings/objc/DOMHTML.mm:
1066         (-[DOMHTMLInputElement _rectOnScreen]):
1067         * page/mac/EventHandlerMac.mm:
1068         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
1069         * page/mac/FrameSnapshottingMac.mm:
1070         (WebCore::imageFromRect):
1071         * platform/graphics/mac/IconMac.mm:
1072         (WebCore::Icon::Icon):
1073         * platform/mac/DragImageMac.mm:
1074         (WebCore::scaleDragImage):
1075         * platform/mac/PlatformEventFactoryMac.mm:
1076         (WebCore::globalPoint):
1077         * platform/mac/ScrollViewMac.mm:
1078         (WebCore::ScrollView::platformContentsToScreen):
1079         (WebCore::ScrollView::platformScreenToContents):
1080
1081 2013-10-03  Hans Muller  <hmuller@adobe.com>
1082
1083         [CSS Shapes] Support the shape-image-threshold property
1084         https://bugs.webkit.org/show_bug.cgi?id=122254
1085
1086         Reviewed by Andreas Kling.
1087
1088         Replace the hardwired 0 Shape::createShape() threshold parameter with the style's
1089         shapeImageThreshold() value (which has been clamped to [0,1]).
1090
1091         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001.html
1092                fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-002.html
1093
1094         * rendering/shapes/ShapeInfo.cpp:
1095         (WebCore::::computedShape):
1096
1097 2013-10-03  Mihai Maerean  <mmaerean@adobe.com>
1098
1099         [CSS Regions] Follow-up code style change after bug #121828 All regions have layers
1100         https://bugs.webkit.org/show_bug.cgi?id=122265
1101
1102         Reviewed by Darin Adler.
1103
1104         Comments moved to the cpp file, as requested in the review of bug #121828 All regions have layers.
1105
1106         No new tests, no behavior change.
1107
1108         * rendering/RenderMultiColumnSet.cpp:
1109         (WebCore::RenderMultiColumnSet::requiresLayer):
1110         * rendering/RenderMultiColumnSet.h:
1111         * rendering/RenderRegion.cpp:
1112         (WebCore::RenderRegion::requiresLayer):
1113         * rendering/RenderRegion.h:
1114
1115 2013-10-03  Alejandro G. Castro  <alex@igalia.com>
1116
1117         [cairo] Initialize the m_compositorTexture in GraphicsContext3DCairo.cpp
1118         https://bugs.webkit.org/show_bug.cgi?id=122285
1119
1120         Reviewed by Noam Rosenthal.
1121
1122         Initialize to the default texture to avoid the random texture name
1123         and generate the texture name.
1124
1125         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1126         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize
1127         m_compositorTexture.
1128         (WebCore::GraphicsContext3D::~GraphicsContext3D): Delete the
1129         generated textures names.
1130         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1131         (WebCore::GraphicsContext3D::reshapeFBOs): Generate the texture
1132         names for m_compositorTexture and m_texture.
1133
1134 2013-10-03  Zoltan Horvath  <zoltan@webkit.org>
1135
1136         [CSS Shapes] Support block content with inline content around floats in shape-inside
1137         https://bugs.webkit.org/show_bug.cgi?id=121616
1138
1139         Reviewed by David Hyatt.
1140
1141         In r156022 and r156364, I added support for floats inside shape-inside with inline content. This change extends
1142         the existing implementation to support block content with inline content (paragraphs). I added an extra text for
1143         positioning a float inside shape-inside without text content around it.
1144
1145         Tests: fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-block-content.html
1146                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-block-content.html
1147                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle.html
1148                fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-block-content.html
1149                fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-block-content.html
1150
1151         * rendering/FloatingObjects.h:
1152         (WebCore::FloatingObject::logicalSize): Add new function to return the FloatingObject logical size.
1153         * rendering/LineWidth.cpp:
1154         (WebCore::LineWidth::fitBelowFloats): When the lineBreaker code pushes down the content below the floating object,
1155         we need to update the segments if we are in a shape-inside.
1156         * rendering/RenderBlock.cpp:
1157         (WebCore::RenderBlock::computeLogicalLocationForFloat): Do the positioning based on the float actual size, and use the
1158         recent shapeInsideInfo. (Calling layoutShapeInsideInfo which deals with the layoutStates also instead of shapeInsideInfo.)
1159         * rendering/RenderBlock.h:
1160         * rendering/RenderBlockLineLayout.cpp:
1161         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): If we don't have inline content we still need to positionize
1162         our float content in a shape-inside.
1163         (WebCore::updateSegmentsForShapes): Use the right coordinates for block content with inline content.
1164
1165 2013-10-03  Brady Eidson  <beidson@apple.com>
1166
1167         Move IDBFactoryBackend creation to DatabaseStrategy.
1168         https://bugs.webkit.org/show_bug.cgi?id=122284
1169
1170         Reviewed by Alexey Proskuryakov.
1171
1172         * WebCore.exp.in:
1173         * WebCore.xcodeproj/project.pbxproj:
1174
1175         * Modules/indexeddb/IDBFactory.h:
1176         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
1177         (WebCore::IDBFactoryBackendInterface::create):
1178
1179         * platform/DatabaseStrategy.cpp:
1180         (WebCore::DatabaseStrategy::createIDBFactoryBackend): Implement a default.
1181         * platform/DatabaseStrategy.h:
1182
1183 2013-10-03  peavo@outlook.com  <peavo@outlook.com>
1184
1185         [WinCairo] Compile error with VIDEO disabled.
1186         https://bugs.webkit.org/show_bug.cgi?id=122266
1187
1188         Reviewed by Brent Fulgham.
1189
1190         * dom/Document.cpp:
1191         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Protect with ENABLE(VIDEO) guard.
1192
1193 2013-10-03  Hans Muller  <hmuller@adobe.com>
1194
1195         [CSS Shapes] add shape-margin support for image valued shapes
1196         https://bugs.webkit.org/show_bug.cgi?id=121619
1197
1198         Reviewed by Alexandru Chiculita.
1199
1200         Add support for computing the shape-margin boundary for a shape-outside whose
1201         value is an image.
1202
1203         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-001.html
1204                fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-002.html
1205                fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-003.html
1206
1207         * rendering/shapes/RasterShape.cpp:
1208         (WebCore::MarginIntervalGenerator::MarginIntervalGenerator): Internal utility that generates the margin intervals for the image interval specified with set().
1209         (WebCore::MarginIntervalGenerator::set):
1210         (WebCore::MarginIntervalGenerator::intervalAt):
1211         (WebCore::findInsertionPoint): Find the insertion point index for the the specified X value, within a vector of intervals sorted by X1.
1212         (WebCore::RasterShapeIntervals::uniteMarginInterval): Destructively unite one interval with an existing one, or append it.
1213         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
1214         (WebCore::RasterShape::marginIntervals): Return the lazily computed value, or create it with computeShapeMarginIntervals().
1215         * rendering/shapes/RasterShape.h:
1216         (WebCore::RasterShapeIntervals::getIntervals):
1217         (WebCore::RasterShape::RasterShape):
1218         (WebCore::RasterShapeIntervals::uniteMarginInterval):
1219         * WTF/wtf/MathExtras.h: Added clampToUnsigned() inline.
1220
1221 2013-10-03  Mihnea Ovidenie  <mihnea@adobe.com>
1222
1223         [CSSRegions] Remove unused RenderLayerModelObject::updateLayerIfNeeded
1224         https://bugs.webkit.org/show_bug.cgi?id=122262
1225
1226         Reviewed by Alexandru Chiculita.
1227
1228         All regions have layers by default therefore there is no need for this function.
1229         No tests needed, just a minor cleanup.
1230
1231         * rendering/RenderLayerModelObject.cpp:
1232         * rendering/RenderLayerModelObject.h:
1233
1234 2013-10-02  Mario Sanchez Prada  <mario.prada@samsung.com>
1235
1236         [ATK] Expose aria-invalid as a text attribute (not object attribute)
1237         https://bugs.webkit.org/show_bug.cgi?id=122015
1238
1239         Reviewed by Chris Fleizach.
1240
1241         Expose the aria-invalid attribute correctly through a text
1242         attribute (through the AtkText interface) instead of using an
1243         object, according to what the WAI-ARIA specs says.
1244         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
1245
1246         This will be tested by accesibility/aria-invalid.html, which should
1247         keep passing after thanks to the changes done in the DRT and WKTR.
1248
1249         * accessibility/AccessibilityObject.cpp:
1250         (WebCore::AccessibilityObject::invalidStatus): Update this method
1251         to only return values recognized by the WAI-ARIA specification.
1252
1253         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1254         (getAttributeSetForAccessibilityObject): Expose aria-invalid as a
1255         custom text attribute 'invalid', following the lead of Firefox.
1256         Also register that custom attribute as a AtkTextAttribute.
1257         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1258         (webkitAccessibleGetAttributes): Remove exposure of aria-invalid
1259         as an object attribute from here.
1260
1261 2013-10-03  Zan Dobersek  <zdobersek@igalia.com>
1262
1263         Add the NotDeletable, OperationsNotDeletable IDL attributes
1264         https://bugs.webkit.org/show_bug.cgi?id=122217
1265
1266         Reviewed by Darin Adler.
1267
1268         Before adjusting the JSC bindings generator to enforce configurable operations and thus conform to the
1269         WebIDL specification in this regard, two no-op attributes are introduced that will preserve the current
1270         behavior of operations being non-configurable.
1271
1272         All the relevant interfaces will be annotated with the OperationsNotDeletable attribute first. After the
1273         generator is properly modified, this attribute will be removed from the interfaces after checking that
1274         the operations' configurability also matches the configurability of operations in other browser engines
1275         and that the change introduces no regressions in tests.
1276
1277         The NotDeletable attribute will be used as required to annotate operations that should stay
1278         non-configurable for backwards compatibility or cross-browser compatibility.
1279
1280         * bindings/scripts/IDLAttributes.txt:
1281
1282 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
1283
1284         Remove preDispatchEventHandler and postDispatchEventHandler,
1285         functions that are supposed to be removed in the previous commit (r156825).
1286
1287         * dom/Node.h:
1288
1289 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
1290
1291         Get rid of Node::preDispatchEventHandler and Node::postDispatchEventHandler
1292         https://bugs.webkit.org/show_bug.cgi?id=122144
1293
1294         Reviewed by Darin Adler.
1295
1296         Get rid of pre/post event dispatch callbacks preDispatchEventHandler and postDispatchEventHandler since
1297         the former was only called by HTMLMediaElement and HTMLInputElement and the latter was only called by
1298         HTMLInputElement.
1299
1300         Explicitly call HTMLMediaElement's willDispatchFullScreenChangeEvent in fullScreenChangeDelayTimerFired
1301         of Document since this is the only place that fires the fullscreenchange event.
1302
1303         Also add an explicit call to willDispatchEvent and didDispatchClickEvent in EventDispatcher::dispatch.
1304         This also allows us to stack-allocate InputElementClickHandlingState instead of having willDispatchEvent
1305         heap-allocate it and pass it around as void*.
1306
1307         * WebCore.order:
1308         * dom/Document.cpp:
1309         (WebCore::Document::fullScreenChangeDelayTimerFired):
1310         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
1311         * dom/Document.h:
1312         * dom/EventContext.cpp:
1313         * dom/EventDispatcher.cpp:
1314         (WebCore::EventDispatcher::dispatch):
1315         (WebCore::EventDispatcher::callWillDispatchEventOnInputElement):
1316         (WebCore::EventDispatcher::dispatchEventPostProcess):
1317         * dom/EventDispatcher.h:
1318         * html/CheckboxInputType.cpp:
1319         (WebCore::CheckboxInputType::willDispatchClick):
1320         * html/CheckboxInputType.h:
1321         * html/HTMLInputElement.cpp:
1322         (WebCore::HTMLInputElement::willDispatchEvent):
1323         (WebCore::HTMLInputElement::didDispatchClickEvent):
1324         * html/HTMLInputElement.h:
1325         * html/HTMLMediaElement.cpp:
1326         * html/HTMLMediaElement.h:
1327         (WebCore::HTMLMediaElement::willDispatchFullScreenChangeEvent): Renamed from preDispatchEventHandler.
1328         * html/HTMLTextFormControlElement.h:
1329         * html/InputType.cpp:
1330         (WebCore::InputType::willDispatchClick):
1331         * html/InputType.h:
1332         * html/RadioInputType.cpp:
1333         (WebCore::RadioInputType::willDispatchClick):
1334         * html/RadioInputType.h:
1335
1336 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
1337
1338         Update binding test results after r156808 for r156769.
1339
1340         * bindings/scripts/test/JS/JSattribute.cpp:
1341         (WebCore::JSattributeOwner::finalize):
1342         * bindings/scripts/test/JS/JSattribute.h:
1343         (WebCore::wrapperOwner):
1344         (WebCore::wrapperContext):
1345         * bindings/scripts/test/JS/JSreadonly.cpp:
1346         (WebCore::JSreadonlyOwner::finalize):
1347         * bindings/scripts/test/JS/JSreadonly.h:
1348         (WebCore::wrapperOwner):
1349         (WebCore::wrapperContext):
1350
1351 2013-10-02  Commit Queue  <commit-queue@webkit.org>
1352
1353         Unreviewed, rolling out r156816.
1354         http://trac.webkit.org/changeset/156816
1355         https://bugs.webkit.org/show_bug.cgi?id=122259
1356
1357         broke 8 tests (Requested by kling on #webkit).
1358
1359         * html/HTMLFrameSetElement.cpp:
1360         (WebCore::HTMLFrameSetElement::willRecalcStyle):
1361         * html/RangeInputType.cpp:
1362         (WebCore::RangeInputType::listAttributeTargetChanged):
1363         * html/shadow/SliderThumbElement.cpp:
1364         (WebCore::RenderSliderContainer::layout):
1365         (WebCore::SliderThumbElement::setPositionFromValue):
1366         (WebCore::SliderThumbElement::setPositionFromPoint):
1367         (WebCore::SliderThumbElement::stopDragging):
1368         * page/FrameView.cpp:
1369         (WebCore::FrameView::setHeaderHeight):
1370         (WebCore::FrameView::setFooterHeight):
1371         (WebCore::FrameView::layout):
1372         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
1373         (WebCore::FrameView::scheduleRelayout):
1374         (WebCore::FrameView::setNeedsLayout):
1375         * page/Page.cpp:
1376         (WebCore::Page::setPageScaleFactor):
1377         * rendering/FlowThreadController.h:
1378         (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
1379         * rendering/RenderBlock.cpp:
1380         (WebCore::RenderBlock::relayoutShapeDescendantIfMoved):
1381         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
1382         (WebCore::RenderBlock::layoutBlock):
1383         (WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
1384         (WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
1385         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
1386         (WebCore::RenderBlock::simplifiedLayout):
1387         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
1388         (WebCore::RenderBlock::layoutPositionedObjects):
1389         (WebCore::RenderBlock::markPositionedObjectsForLayout):
1390         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
1391         (WebCore::RenderBlock::removePositionedObjects):
1392         (WebCore::RenderBlock::insertFloatingObject):
1393         (WebCore::RenderBlock::positionNewFloats):
1394         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
1395         (WebCore::RenderBlock::getClearDelta):
1396         * rendering/RenderBlockFlow.cpp:
1397         (WebCore::RenderBlockFlow::layoutBlock):
1398         (WebCore::RenderBlockFlow::layoutBlockChild):
1399         (WebCore::RenderBlockFlow::adjustPositionedBlock):
1400         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
1401         * rendering/RenderBlockLineLayout.cpp:
1402         (WebCore::RenderBlock::layoutRunsAndFloats):
1403         (WebCore::RenderBlockFlow::layoutInlineChildren):
1404         (WebCore::RenderBlock::positionNewFloatOnLine):
1405         * rendering/RenderBox.cpp:
1406         (WebCore::RenderBox::styleWillChange):
1407         (WebCore::RenderBox::styleDidChange):
1408         (WebCore::RenderBox::layout):
1409         (WebCore::RenderBox::positionLineBox):
1410         * rendering/RenderDeprecatedFlexibleBox.cpp:
1411         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1412         (WebCore::gatherFlexChildrenInfo):
1413         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1414         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1415         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1416         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
1417         * rendering/RenderElement.cpp:
1418         (WebCore::RenderElement::insertChildInternal):
1419         * rendering/RenderElement.h:
1420         (WebCore::RenderElement::setAncestorLineBoxDirty):
1421         (WebCore::RenderObject::setNeedsLayout):
1422         * rendering/RenderEmbeddedObject.cpp:
1423         (WebCore::RenderEmbeddedObject::layout):
1424         * rendering/RenderFieldset.cpp:
1425         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
1426         * rendering/RenderFlexibleBox.cpp:
1427         (WebCore::RenderFlexibleBox::styleDidChange):
1428         (WebCore::RenderFlexibleBox::layoutBlock):
1429         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
1430         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
1431         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1432         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
1433         * rendering/RenderFlowThread.cpp:
1434         (WebCore::RenderFlowThread::invalidateRegions):
1435         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
1436         * rendering/RenderFrameBase.cpp:
1437         (WebCore::RenderFrameBase::layoutWithFlattening):
1438         * rendering/RenderFrameSet.cpp:
1439         (WebCore::RenderFrameSet::layout):
1440         (WebCore::RenderFrameSet::positionFrames):
1441         (WebCore::RenderFrameSet::positionFramesWithFlattening):
1442         (WebCore::RenderFrameSet::continueResizing):
1443         * rendering/RenderGrid.cpp:
1444         (WebCore::RenderGrid::layoutBlock):
1445         (WebCore::RenderGrid::logicalContentHeightForChild):
1446         (WebCore::RenderGrid::layoutGridItems):
1447         * rendering/RenderHTMLCanvas.cpp:
1448         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
1449         * rendering/RenderIFrame.cpp:
1450         (WebCore::RenderIFrame::layout):
1451         * rendering/RenderImage.cpp:
1452         (WebCore::RenderImage::imageDimensionsChanged):
1453         * rendering/RenderInline.cpp:
1454         (WebCore::RenderInline::styleDidChange):
1455         * rendering/RenderLayer.cpp:
1456         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
1457         * rendering/RenderLayerModelObject.cpp:
1458         (WebCore::RenderLayerModelObject::styleDidChange):
1459         * rendering/RenderListMarker.cpp:
1460         (WebCore::RenderListMarker::layout):
1461         * rendering/RenderMarquee.cpp:
1462         (WebCore::RenderMarquee::updateMarqueeStyle):
1463         * rendering/RenderMedia.cpp:
1464         (WebCore::RenderMedia::layout):
1465         * rendering/RenderMultiColumnBlock.cpp:
1466         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
1467         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1468         * rendering/RenderObject.cpp:
1469         (WebCore::RenderObject::markContainingBlocksForLayout):
1470         (WebCore::RenderObject::layout):
1471         * rendering/RenderObject.h:
1472         (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
1473         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
1474         (WebCore::RenderObject::setNormalChildNeedsLayout):
1475         (WebCore::RenderObject::setPosChildNeedsLayout):
1476         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
1477         (WebCore::RenderObject::setChildNeedsLayout):
1478         * rendering/RenderReplaced.cpp:
1479         (WebCore::RenderReplaced::layout):
1480         * rendering/RenderReplica.cpp:
1481         (WebCore::RenderReplica::layout):
1482         * rendering/RenderRubyRun.cpp:
1483         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
1484         * rendering/RenderScrollbar.cpp:
1485         (WebCore::RenderScrollbar::updateScrollbarParts):
1486         * rendering/RenderScrollbarPart.cpp:
1487         (WebCore::RenderScrollbarPart::layout):
1488         * rendering/RenderTable.cpp:
1489         (WebCore::RenderTable::layout):
1490         * rendering/RenderTable.h:
1491         (WebCore::RenderTable::setNeedsSectionRecalc):
1492         * rendering/RenderTableCell.cpp:
1493         (WebCore::RenderTableCell::computeIntrinsicPadding):
1494         (WebCore::RenderTableCell::setCellLogicalWidth):
1495         (WebCore::RenderTableCell::layout):
1496         * rendering/RenderTableRow.cpp:
1497         (WebCore::RenderTableRow::styleDidChange):
1498         (WebCore::RenderTableRow::layout):
1499         * rendering/RenderTableSection.cpp:
1500         (WebCore::RenderTableSection::calcRowLogicalHeight):
1501         (WebCore::RenderTableSection::layout):
1502         (WebCore::RenderTableSection::layoutRows):
1503         (WebCore::RenderTableSection::recalcCells):
1504         * rendering/RenderTextControl.cpp:
1505         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
1506         * rendering/RenderTextControlSingleLine.cpp:
1507         (WebCore::setNeedsLayoutOnAncestors):
1508         (WebCore::RenderTextControlSingleLine::layout):
1509         (WebCore::RenderTextControlSingleLine::styleDidChange):
1510         * rendering/RenderVideo.cpp:
1511         (WebCore::RenderVideo::updateIntrinsicSize):
1512         * rendering/RenderView.cpp:
1513         (WebCore::RenderView::layout):
1514         * rendering/RenderWidget.cpp:
1515         (WebCore::RenderWidget::layout):
1516         * rendering/mathml/RenderMathMLBlock.cpp:
1517         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
1518         * rendering/mathml/RenderMathMLScripts.cpp:
1519         (WebCore::RenderMathMLScripts::layout):
1520         * rendering/svg/RenderSVGContainer.cpp:
1521         (WebCore::RenderSVGContainer::layout):
1522         * rendering/svg/RenderSVGGradientStop.cpp:
1523         (WebCore::RenderSVGGradientStop::layout):
1524         * rendering/svg/RenderSVGHiddenContainer.cpp:
1525         (WebCore::RenderSVGHiddenContainer::layout):
1526         * rendering/svg/RenderSVGImage.cpp:
1527         (WebCore::RenderSVGImage::layout):
1528         * rendering/svg/RenderSVGResource.cpp:
1529         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
1530         * rendering/svg/RenderSVGResourceContainer.cpp:
1531         (WebCore::RenderSVGResourceContainer::registerResource):
1532         * rendering/svg/RenderSVGRoot.cpp:
1533         (WebCore::RenderSVGRoot::layout):
1534         * rendering/svg/RenderSVGShape.cpp:
1535         (WebCore::RenderSVGShape::layout):
1536         * rendering/svg/RenderSVGText.cpp:
1537         (WebCore::RenderSVGText::layout):
1538         * rendering/svg/SVGRenderSupport.cpp:
1539         (WebCore::SVGRenderSupport::layoutChildren):
1540         * svg/SVGClipPathElement.cpp:
1541         (WebCore::SVGClipPathElement::svgAttributeChanged):
1542         (WebCore::SVGClipPathElement::childrenChanged):
1543         * svg/SVGFilterElement.cpp:
1544         (WebCore::SVGFilterElement::setFilterRes):
1545         (WebCore::SVGFilterElement::svgAttributeChanged):
1546         (WebCore::SVGFilterElement::childrenChanged):
1547         * svg/SVGGradientElement.cpp:
1548         (WebCore::SVGGradientElement::svgAttributeChanged):
1549         (WebCore::SVGGradientElement::childrenChanged):
1550         * svg/SVGLinearGradientElement.cpp:
1551         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
1552         * svg/SVGMarkerElement.cpp:
1553         (WebCore::SVGMarkerElement::svgAttributeChanged):
1554         (WebCore::SVGMarkerElement::childrenChanged):
1555         * svg/SVGMaskElement.cpp:
1556         (WebCore::SVGMaskElement::svgAttributeChanged):
1557         (WebCore::SVGMaskElement::childrenChanged):
1558         * svg/SVGPatternElement.cpp:
1559         (WebCore::SVGPatternElement::svgAttributeChanged):
1560         (WebCore::SVGPatternElement::childrenChanged):
1561         * svg/SVGRadialGradientElement.cpp:
1562         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
1563         * svg/SVGSVGElement.cpp:
1564         (WebCore::SVGSVGElement::updateCurrentTranslate):
1565
1566 2013-10-02  Andreas Kling  <akling@apple.com>
1567
1568         Keep SVGElementRareData in an SVGElement member instead of a hashmap.
1569         <https://webkit.org/b/122253>
1570
1571         Reviewed by Antti Koivisto.
1572
1573         Free up another Node flag by moving SVGElement's SVG-specific rare data
1574         to a member variable instead of tracking them in a hashmap on the side.
1575
1576         This grows SVGElement by one pointer, but I will make up for this in
1577         subsequent patches.
1578
1579 2013-10-02  Antti Koivisto  <antti@apple.com>
1580
1581         Move setting of some layout bits to RenderElement
1582         https://bugs.webkit.org/show_bug.cgi?id=122256
1583
1584         Reviewed by Andreas Kling.
1585         
1586         These bits never apply to RenderText nodes:
1587         
1588         normalChildNeedsLayout
1589         posChildNeedsLayout
1590         needsSimplifiedNormalFlowLayout
1591         normalChildNeedsLayout
1592         positionedMovementLayout
1593
1594         The code for setting them can be moved to RenderElement.
1595
1596         Also separated the code paths for setting and clearing the bits and uninlined
1597         everything that is not massively popular.
1598
1599 2013-10-02  Andreas Kling  <akling@apple.com>
1600
1601         CTTE: Drag events are only dispatched on Elements.
1602         <https://webkit.org/b/122250>
1603
1604         Reviewed by Antti Koivisto.
1605
1606         We never dispatch drag events on non-Element nodes so tighten up the
1607         code to operate on Elements instead.
1608
1609 2013-10-02  Hans Muller  <hmuller@adobe.com>
1610
1611         [CSS Shapes] Implement the shape-image-threshold property
1612         https://bugs.webkit.org/show_bug.cgi?id=122216
1613
1614         Reviewed by Andreas Kling.
1615
1616         Added support for the CSS shape-image-threshold property. This change
1617         just enables parsing the property, it's not connected to the
1618         Shapes code yet.
1619
1620         The number valued shape-image-threshold property is defined here:
1621         http://dev.w3.org/csswg/css-shapes-1/#shape-image-threshold-property
1622         Its computed value is clamped to the range [0, 1].
1623
1624         Test: fast/shapes/parsing/parsing-shape-image-threshold.html
1625
1626         * css/CSSComputedStyleDeclaration.cpp:
1627         (WebCore::ComputedStyleExtractor::propertyValue):
1628         * css/CSSParser.cpp:
1629         (WebCore::CSSParser::parseValue):
1630         * css/CSSPropertyNames.in:
1631         * css/DeprecatedStyleBuilder.cpp:
1632         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1633         * css/StyleResolver.cpp:
1634         (WebCore::StyleResolver::applyProperty):
1635         * rendering/style/RenderStyle.h:
1636         * rendering/style/StyleRareNonInheritedData.cpp:
1637         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1638         (WebCore::StyleRareNonInheritedData::operator==):
1639         * rendering/style/StyleRareNonInheritedData.h:
1640
1641 2013-10-02  Andreas Kling  <akling@apple.com>
1642
1643         Remove Qt-specific code in WebCore/plugins.
1644         <https://webkit.org/b/122247>
1645
1646         Reviewed by Anders Carlsson.
1647
1648         Purge PLATFORM(QT) blocks and Qt-specific files.
1649
1650 2013-10-02  Eric Carlson  <eric.carlson@apple.com>
1651
1652         IDL parser should remove a leading "_" from identifier names
1653         https://bugs.webkit.org/show_bug.cgi?id=122239
1654
1655         Reviewed by Jer Noble.
1656
1657         No new tests, updated bindings tests and results.
1658
1659         * bindings/scripts/IDLParser.pm:
1660         (identifierRemoveNullablePrefix): Remove leading "_".
1661         (parseInterface): Call identifierRemoveNullablePrefix.
1662         (parseException): Ditto.
1663         (parseEnum): Ditto.
1664         (parseConst): Ditto.
1665         (parseAttributeRest): Ditto.
1666         (parseOperationRest): Ditto.
1667         (parseOptionalOrRequiredArgument): Ditto.
1668         (parseExceptionField): Ditto.
1669         (parseNonAnyType): Ditto.
1670
1671         Update tests and results.
1672         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1673         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1674         * bindings/scripts/test/CPP/WebDOMattribute.cpp: Added.
1675         * bindings/scripts/test/CPP/WebDOMattribute.h: Added.
1676         * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Added.
1677         * bindings/scripts/test/CPP/WebDOMreadonly.h: Added.
1678         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1679         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1680         * bindings/scripts/test/GObject/WebKitDOMTestObj.symbols:
1681         * bindings/scripts/test/GObject/WebKitDOMattribute.cpp: Added.
1682         * bindings/scripts/test/GObject/WebKitDOMattribute.h: Added.
1683         * bindings/scripts/test/GObject/WebKitDOMattribute.symbols: Added.
1684         * bindings/scripts/test/GObject/WebKitDOMattributePrivate.h: Added.
1685         * bindings/scripts/test/GObject/WebKitDOMreadonly.cpp: Added.
1686         * bindings/scripts/test/GObject/WebKitDOMreadonly.h: Added.
1687         * bindings/scripts/test/GObject/WebKitDOMreadonly.symbols: Added.
1688         * bindings/scripts/test/GObject/WebKitDOMreadonlyPrivate.h: Added.
1689         * bindings/scripts/test/JS/JSTestObj.cpp:
1690         * bindings/scripts/test/JS/JSTestObj.h:
1691         * bindings/scripts/test/JS/JSattribute.cpp: Added.
1692         * bindings/scripts/test/JS/JSattribute.h: Added.
1693         * bindings/scripts/test/JS/JSreadonly.cpp: Added.
1694         * bindings/scripts/test/JS/JSreadonly.h: Added.
1695         * bindings/scripts/test/ObjC/DOMTestObj.h:
1696         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1697         * bindings/scripts/test/ObjC/DOMattribute.h: Added.
1698         * bindings/scripts/test/ObjC/DOMattribute.mm: Added.
1699         * bindings/scripts/test/ObjC/DOMattributeInternal.h: Added.
1700         * bindings/scripts/test/ObjC/DOMreadonly.h: Added.
1701         * bindings/scripts/test/ObjC/DOMreadonly.mm: Added.
1702         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Added.
1703         * bindings/scripts/test/TestException.idl:
1704         * bindings/scripts/test/TestInterface.idl:
1705         * bindings/scripts/test/TestObj.idl:
1706
1707 2013-10-02  Andreas Kling  <akling@apple.com>
1708
1709         Remove Qt-specific code in WebCore/{bindings,bridge,loader,icon,testing}.
1710         <https://webkit.org/b/122242>
1711
1712         Reviewed by Anders Carlsson.
1713
1714         Purge PLATFORM(QT) blocks and Qt-specific files.
1715
1716 2013-10-02  Andreas Kling  <akling@apple.com>
1717
1718         Remove Qt-specific code in WebCore/{page,accessibility}.
1719         <https://webkit.org/b/122222>
1720
1721         Reviewed by Anders Carlsson.
1722
1723         Purge PLATFORM(QT) blocks and FooBarQt.* files.
1724
1725 2013-10-02  Zoltan Horvath  <zoltan@webkit.org>
1726
1727         [CSS Shapes] Move ShapeInsideInfo::updateSegmentsForLine implementations into the cpp
1728         https://bugs.webkit.org/show_bug.cgi?id=122236
1729
1730         Reviewed by Oliver Hunt.
1731
1732         There is no reason for updateSegmentsForLine methods to be inline. I moved them to the cpp.
1733
1734         No new tests, no behavior change.
1735
1736         * rendering/shapes/ShapeInsideInfo.cpp:
1737         (WebCore::ShapeInsideInfo::updateSegmentsForLine):
1738         * rendering/shapes/ShapeInsideInfo.h:
1739
1740 2013-10-02  Andreas Kling  <akling@apple.com>
1741
1742         Remove Qt from WebCore/platform.
1743         <https://webkit.org/b/122228>
1744
1745         Reviewed by Anders Carlsson.
1746
1747         Purge PLATFORM(QT) blocks and FooBarQt.* files.
1748
1749 2013-10-02  Tim Horton  <timothy_horton@apple.com>
1750
1751         [mac] Stop using DrawingAreaImpl on PLATFORM(MAC) 
1752         https://bugs.webkit.org/show_bug.cgi?id=121859
1753         <rdar://problem/15069359>
1754
1755         Reviewed by Anders Carlsson.
1756
1757         Test: platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html
1758
1759         * page/FrameView.cpp:
1760         (WebCore::FrameView::addTrackedRepaintRect):
1761         (WebCore::FrameView::repaintContentRectangle):
1762         * page/FrameView.h:
1763         Factor out the coordinate conversion and appending of new repaint rects on FrameView.
1764
1765         * platform/graphics/GraphicsLayer.cpp:
1766         (WebCore::GraphicsLayer::dumpProperties):
1767         * rendering/RenderLayerBacking.cpp:
1768         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
1769         Don't dump repaint rects on the root tile cache, they'll be included at the top,
1770         where FrameView's repaints are normally included.
1771
1772         * rendering/RenderLayerBacking.cpp:
1773         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
1774         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1775         Push the root tile cache's tracked repaint rects to FrameView instead.
1776
1777 2013-10-02  Benjamin Poulain  <benjamin@webkit.org>
1778
1779         Clean up more <style scoped> from style resolution
1780         https://bugs.webkit.org/show_bug.cgi?id=122188
1781
1782         Reviewed by Darin Adler.
1783
1784         * css/ElementRuleCollector.cpp:
1785         (WebCore::MatchRequest::MatchRequest):
1786         (WebCore::ElementRuleCollector::collectMatchingRules):
1787         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
1788         (WebCore::ElementRuleCollector::matchAuthorRules):
1789         (WebCore::ElementRuleCollector::ruleMatches):
1790         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
1791         * css/ElementRuleCollector.h:
1792         * css/SelectorChecker.cpp:
1793         (WebCore::SelectorChecker::matchRecursively):
1794         * css/SelectorChecker.h:
1795         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
1796         * dom/SelectorQuery.cpp:
1797         (WebCore::SelectorDataList::selectorMatches):
1798
1799 2013-10-02  Anders Carlsson  <andersca@apple.com>
1800
1801         Update bindings test results.
1802
1803         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1804         (WebCore::JSTestActiveDOMObjectOwner::finalize):
1805         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1806         (WebCore::wrapperOwner):
1807         (WebCore::wrapperContext):
1808         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1809         (WebCore::JSTestCustomNamedGetterOwner::finalize):
1810         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
1811         (WebCore::wrapperOwner):
1812         (WebCore::wrapperContext):
1813         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1814         (WebCore::JSTestEventConstructorOwner::finalize):
1815         * bindings/scripts/test/JS/JSTestEventConstructor.h:
1816         (WebCore::wrapperOwner):
1817         (WebCore::wrapperContext):
1818         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1819         (WebCore::JSTestEventTargetOwner::finalize):
1820         * bindings/scripts/test/JS/JSTestEventTarget.h:
1821         (WebCore::wrapperOwner):
1822         (WebCore::wrapperContext):
1823         * bindings/scripts/test/JS/JSTestException.cpp:
1824         (WebCore::JSTestExceptionOwner::finalize):
1825         * bindings/scripts/test/JS/JSTestException.h:
1826         (WebCore::wrapperOwner):
1827         (WebCore::wrapperContext):
1828         * bindings/scripts/test/JS/JSTestInterface.cpp:
1829         (WebCore::JSTestInterfaceOwner::finalize):
1830         * bindings/scripts/test/JS/JSTestInterface.h:
1831         (WebCore::wrapperOwner):
1832         (WebCore::wrapperContext):
1833         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1834         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
1835         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1836         (WebCore::wrapperOwner):
1837         (WebCore::wrapperContext):
1838         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1839         (WebCore::JSTestNamedConstructorOwner::finalize):
1840         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1841         (WebCore::wrapperOwner):
1842         (WebCore::wrapperContext):
1843         * bindings/scripts/test/JS/JSTestObj.cpp:
1844         (WebCore::JSTestObjOwner::finalize):
1845         * bindings/scripts/test/JS/JSTestObj.h:
1846         (WebCore::wrapperOwner):
1847         (WebCore::wrapperContext):
1848         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1849         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
1850         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
1851         (WebCore::wrapperOwner):
1852         (WebCore::wrapperContext):
1853         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1854         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
1855         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1856         (WebCore::wrapperOwner):
1857         (WebCore::wrapperContext):
1858         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1859         (WebCore::JSTestTypedefsOwner::finalize):
1860         * bindings/scripts/test/JS/JSTestTypedefs.h:
1861         (WebCore::wrapperOwner):
1862         (WebCore::wrapperContext):
1863
1864 2013-10-02  Andreas Kling  <akling@apple.com>
1865
1866         Remove Qt-specific code in WebCore/{rendering,editing,history}.
1867         <https://webkit.org/b/122220>
1868
1869         Reviewed by Anders Carlsson.
1870
1871         Purge PLATFORM(QT) blocks and FooBarQt.* files.
1872
1873 2013-10-02  Andreas Kling  <akling@apple.com>
1874
1875         Remove Qt-specific code in common WebCore/{html,dom} files.
1876         <https://webkit.org/b/122219>
1877
1878         Reviewed by Anders Carlsson.
1879
1880         Purge PLATFORM(QT) blocks.
1881
1882 2013-10-01  Sam Weinig  <sam@webkit.org>
1883
1884         CTTE: DOMWrapperWorlds should be passed around by reference
1885         https://bugs.webkit.org/show_bug.cgi?id=122206
1886
1887         Reviewed by Andreas Kling.
1888
1889         * bindings/js/DOMWrapperWorld.cpp:
1890         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1891         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1892         (WebCore::DOMWrapperWorld::clearWrappers):
1893         (WebCore::normalWorld):
1894         (WebCore::mainThreadNormalWorld):
1895         * bindings/js/DOMWrapperWorld.h:
1896         (WebCore::debuggerWorld):
1897         (WebCore::pluginWorld):
1898         (WebCore::currentWorld):
1899         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1900         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
1901         * bindings/js/JSCSSValueCustom.cpp:
1902         (WebCore::JSCSSValueOwner::finalize):
1903         * bindings/js/JSDOMBinding.h:
1904         (WebCore::wrapperOwner):
1905         (WebCore::wrapperContext):
1906         (WebCore::getInlineCachedWrapper):
1907         (WebCore::setInlineCachedWrapper):
1908         (WebCore::clearInlineCachedWrapper):
1909         (WebCore::getCachedWrapper):
1910         (WebCore::cacheWrapper):
1911         (WebCore::uncacheWrapper):
1912         (WebCore::jsStringWithCache):
1913         * bindings/js/JSDOMGlobalObject.cpp:
1914         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1915         (WebCore::toJSDOMGlobalObject):
1916         * bindings/js/JSDOMGlobalObject.h:
1917         (WebCore::JSDOMGlobalObject::world):
1918         * bindings/js/JSDOMWindowBase.cpp:
1919         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1920         (WebCore::toJSDOMWindow):
1921         * bindings/js/JSDOMWindowBase.h:
1922         * bindings/js/JSDOMWindowShell.cpp:
1923         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1924         (WebCore::JSDOMWindowShell::setWindow):
1925         (WebCore::toJSDOMWindowShell):
1926         * bindings/js/JSDOMWindowShell.h:
1927         (WebCore::JSDOMWindowShell::create):
1928         (WebCore::JSDOMWindowShell::world):
1929         * bindings/js/JSErrorHandler.cpp:
1930         (WebCore::JSErrorHandler::JSErrorHandler):
1931         * bindings/js/JSErrorHandler.h:
1932         (WebCore::JSErrorHandler::create):
1933         * bindings/js/JSEventListener.cpp:
1934         (WebCore::JSEventListener::JSEventListener):
1935         (WebCore::JSEventListener::handleEvent):
1936         * bindings/js/JSEventListener.h:
1937         (WebCore::JSEventListener::create):
1938         (WebCore::JSEventListener::isolatedWorld):
1939         * bindings/js/JSInjectedScriptHostCustom.cpp:
1940         (WebCore::getJSListenerFunctions):
1941         * bindings/js/JSLazyEventListener.cpp:
1942         (WebCore::JSLazyEventListener::JSLazyEventListener):
1943         * bindings/js/JSLazyEventListener.h:
1944         * bindings/js/JSMutationCallback.cpp:
1945         (WebCore::JSMutationCallback::JSMutationCallback):
1946         (WebCore::JSMutationCallback::call):
1947         * bindings/js/JSNodeCustom.cpp:
1948         (WebCore::JSNodeOwner::finalize):
1949         * bindings/js/JSPluginElementFunctions.h:
1950         (WebCore::pluginElementCustomGetOwnPropertySlot):
1951         * bindings/js/JSWorkerGlobalScopeBase.cpp:
1952         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
1953         * bindings/js/ScheduledAction.cpp:
1954         (WebCore::ScheduledAction::create):
1955         (WebCore::ScheduledAction::ScheduledAction):
1956         (WebCore::ScheduledAction::execute):
1957         * bindings/js/ScheduledAction.h:
1958         (WebCore::ScheduledAction::ScheduledAction):
1959         * bindings/js/ScriptCachedFrameData.cpp:
1960         (WebCore::ScriptCachedFrameData::restore):
1961         * bindings/js/ScriptCachedFrameData.h:
1962         * bindings/js/ScriptController.cpp:
1963         (WebCore::ScriptController::~ScriptController):
1964         (WebCore::ScriptController::destroyWindowShell):
1965         (WebCore::ScriptController::createWindowShell):
1966         (WebCore::ScriptController::evaluateInWorld):
1967         (WebCore::ScriptController::getAllWorlds):
1968         (WebCore::ScriptController::initScript):
1969         (WebCore::ScriptController::executeScriptInWorld):
1970         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
1971         * bindings/js/ScriptController.h:
1972         (WebCore::ScriptController::windowShell):
1973         (WebCore::ScriptController::existingWindowShell):
1974         (WebCore::ScriptController::globalObject):
1975         * bindings/js/ScriptDebugServer.cpp:
1976         (WebCore::ScriptDebugServer::isContentScript):
1977         * bindings/js/ScriptState.cpp:
1978         (WebCore::execStateFromNode):
1979         (WebCore::execStateFromPage):
1980         * bindings/js/ScriptState.h:
1981         * bindings/js/SerializedScriptValue.cpp:
1982         (WebCore::SerializedScriptValue::transferArrayBuffers):
1983         * bindings/js/WebCoreJSClientData.h:
1984         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
1985         (WebCore::WebCoreJSClientData::normalWorld):
1986         (WebCore::WebCoreJSClientData::getAllWorlds):
1987         (WebCore::WebCoreJSClientData::rememberWorld):
1988         (WebCore::WebCoreJSClientData::forgetWorld):
1989         * bindings/js/WebCoreTypedArrayController.cpp:
1990         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
1991         * bindings/scripts/CodeGeneratorJS.pm:
1992         (GenerateHeader):
1993         (GenerateImplementation):
1994         * dom/Document.cpp:
1995         (WebCore::Document::ensurePlugInsInjectedScript):
1996         * dom/Document.h:
1997         * dom/DocumentStyleSheetCollection.cpp:
1998         * html/HTMLMediaElement.cpp:
1999         (WebCore::HTMLMediaElement::ensureIsolatedWorld):
2000         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
2001         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
2002         * html/HTMLMediaElement.h:
2003         * html/HTMLPlugInImageElement.cpp:
2004         (WebCore::plugInImageElementIsolatedWorld):
2005         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
2006         * inspector/InspectorAgent.cpp:
2007         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2008         * inspector/InspectorAgent.h:
2009         * inspector/InspectorController.cpp:
2010         (WebCore::InspectorController::didClearWindowObjectInWorld):
2011         * inspector/InspectorController.h:
2012         * inspector/InspectorDOMAgent.cpp:
2013         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2014         * inspector/InspectorInstrumentation.cpp:
2015         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
2016         * inspector/InspectorInstrumentation.h:
2017         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
2018         * inspector/InspectorPageAgent.cpp:
2019         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2020         * inspector/InspectorPageAgent.h:
2021         * loader/EmptyClients.h:
2022         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
2023         * loader/FrameLoader.cpp:
2024         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
2025         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
2026         (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
2027         * loader/FrameLoader.h:
2028         * loader/FrameLoaderClient.h:
2029         (WebCore::FrameLoaderClient::dispatchGlobalObjectAvailable):
2030         * page/CaptionUserPreferencesMediaAF.cpp:
2031         * page/DOMWindowExtension.cpp:
2032         (WebCore::DOMWindowExtension::DOMWindowExtension):
2033         * page/DOMWindowExtension.h:
2034         (WebCore::DOMWindowExtension::create):
2035         (WebCore::DOMWindowExtension::world):
2036         * page/Frame.cpp:
2037         (WebCore::Frame::injectUserScripts):
2038         (WebCore::Frame::injectUserScriptsForWorld):
2039         * page/Frame.h:
2040         * page/PageGroup.cpp:
2041         (WebCore::PageGroup::addUserScriptToWorld):
2042         (WebCore::PageGroup::addUserStyleSheetToWorld):
2043         (WebCore::PageGroup::removeUserScriptFromWorld):
2044         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
2045         (WebCore::PageGroup::removeUserScriptsFromWorld):
2046         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
2047         * page/PageGroup.h:
2048
2049 2013-10-02  Zan Dobersek  <zdobersek@igalia.com>
2050
2051         Unreviewed, removing references to the recently removed Modules/filesystem directory.
2052
2053         * GNUmakefile.am:
2054
2055 2013-10-02  Mihai Maerean  <mmaerean@adobe.com>
2056
2057         [CSS Regions] Activate all regions to have layers, as CSS Regions create a new stacking context
2058         https://bugs.webkit.org/show_bug.cgi?id=121828
2059
2060         Reviewed by Darin Adler.
2061
2062         The CSS Regions specification says "CSS Regions create a new stacking context." (http://dev.w3.org/csswg/css-regions/).
2063
2064         Divs that create stacking contexts are painted after the divs that don't create stacking contexts.
2065
2066         Test: fast/regions/layers/stacking-context-paint-order.html: While the existing region-sibling-paint-order.html
2067         test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
2068         verifies that regions paint correctly when the next sibling doesn't create a stacking context.
2069
2070         * rendering/RenderBlock.cpp: Remove code that is not needed now that all regions have layers.
2071         * rendering/RenderBlock.h: Remove code that is not needed now that all regions have layers.
2072         * rendering/RenderBox.cpp: Remove code that is not needed now that all regions have layers.
2073         * rendering/RenderBox.h: Remove code that is not needed now that all regions have layers.
2074         * rendering/RenderFlowThread.cpp:
2075         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Remove code that is not needed now that all regions have layers.
2076         * rendering/RenderRegion.cpp:
2077         (WebCore::RenderRegion::RenderRegion):
2078         * rendering/RenderRegion.h:
2079         (WebCore::RenderRegion::requiresLayer): Always. CSS Regions create Stacking Contexts. RenderMultiColumnSet
2080         implements its own behaviour so the behaviour of each class is contained within its own files.
2081         * rendering/RenderMultiColumnSet.h:
2082         (WebCore::RenderMultiColumnSet::requiresLayer): RenderMultiColumnSet derives from RenderRegion, but unlike the
2083         CSS Regions specification, the Multi-Columns CSS specification states that the column boxes do not establish new
2084         Stacking Contexts.
2085         * rendering/RenderTreeAsText.cpp:
2086         (WebCore::writeRenderRegionList): There's no need to output " hasLayer" since all regions now have layers.
2087
2088 2013-10-02  Renata Hodovan  <reni@webkit.org>
2089
2090         HTML listbox is not resized horizontally when zooming
2091         https://bugs.webkit.org/show_bug.cgi?id=20445
2092
2093         Reviewed by Darin Adler.
2094
2095         If any style changes happens on a HTMLSelectElement, we need to set the m_optionsChanged property
2096         of its renderer (RenderListBox) otherwise its size won't follow the changed content.
2097
2098         Test: fast/transforms/listbox-zoom.html
2099
2100         * html/HTMLSelectElement.cpp:
2101         (WebCore::HTMLSelectElement::didRecalcStyle):
2102         * html/HTMLSelectElement.h:
2103
2104 2013-10-01  Santosh Mahto  <santosh.ma@samsung.com>
2105
2106         contenteditable justify commands applied to next paragraph as well
2107         https://bugs.webkit.org/show_bug.cgi?id=90611
2108
2109         Reviewed by Ryosuke Niwa.
2110
2111         When the selection extends from first paragraph to start of next
2112         paragraph then Justify command is applied to both the paragraph,
2113         Instead it should be applied only to first paragraph.
2114
2115         Co-author: Sudarshan C P <sudarshan.cp@samsung.com>
2116
2117         Test: editing/execCommand/contenteditable-justify-next-paragraph.html
2118
2119         * editing/ApplyStyleCommand.cpp:
2120         (WebCore::ApplyStyleCommand::applyBlockStyle):
2121         Adjusted visibleEnd to previous position.
2122
2123 2013-10-01  Andreas Kling  <akling@apple.com>
2124
2125         Move mouse event dispatch from Node to Element.
2126         <https://webkit.org/b/122203>
2127
2128         Reviewed by Anders Carlsson.
2129
2130         We never dispatch mouse events on text or other non-element nodes,
2131         so move the related logic to using Element.
2132
2133         Node::dispatchMouseEvent() moves to Element. I also changed the
2134         relatedTarget argument to be an Element* since the related target
2135         is never a Node either.
2136
2137         Most of this patch is *Node -> *Element renames in EventHandler.
2138
2139 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2140
2141         Generate toCSSFooValue for CSS child values
2142         https://bugs.webkit.org/show_bug.cgi?id=122157
2143
2144         Reviewed by Darin Adler.
2145
2146         As a step to cleanup static_cast<> for CSSFooValue, this patch adds toCSSFooValue()
2147         for "CSSAspectRatioValue, CSSBorderImageSliceValue, CSSFunctionValue, CSSInheritedValue,
2148         CSSValueList, CSSVariableValue, and CSSFontFaceSrcValue".
2149
2150         To use CSS_VALUE_TYPE_CASTS, isFunctionValue(), isFontFaceSrcValue() are added to
2151         generate toCSSFunctionValue, toCSSFontFaceSrcValue().
2152
2153         No new tests, no behavior changes.
2154
2155         * css/CSSAspectRatioValue.h:
2156         * css/CSSBorderImageSliceValue.h:
2157         * css/CSSFontFaceSrcValue.h:
2158         * css/CSSFontSelector.cpp:
2159         (WebCore::CSSFontSelector::addFontFaceRule):
2160         * css/CSSFunctionValue.h:
2161         * css/CSSInheritedValue.h:
2162         * css/CSSParser.cpp:
2163         (WebCore::filterProperties):
2164         (WebCore::CSSParser::addFillValue):
2165         (WebCore::CSSParser::addAnimationValue):
2166         (WebCore::CSSParser::createFontFaceRule):
2167         * css/CSSProperty.cpp:
2168         (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
2169         * css/CSSToStyleMap.cpp:
2170         (WebCore::CSSToStyleMap::mapNinePieceImage):
2171         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
2172         * css/CSSValue.cpp:
2173         (WebCore::CSSValue::destroy):
2174         * css/CSSValue.h:
2175         (WebCore::CSSValue::isFunctionValue):
2176         (WebCore::CSSValue::isFontFaceSrcValue):
2177         * css/CSSValueList.h:
2178         (WebCore::CSSValueListInspector::CSSValueListInspector):
2179         * css/CSSVariableValue.h:
2180         * css/DeprecatedStyleBuilder.cpp:
2181         (WebCore::ApplyPropertyFillLayer::applyValue):
2182         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2183         (WebCore::ApplyPropertyCounter::applyValue):
2184         (WebCore::ApplyPropertyCursor::applyValue):
2185         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2186         (WebCore::ApplyPropertyAspectRatio::applyValue):
2187         (WebCore::ApplyPropertyImageResolution::applyValue):
2188         (WebCore::ApplyPropertyTextIndent::applyValue):
2189         * css/MediaQueryEvaluator.cpp:
2190         (WebCore::compareAspectRatioValue):
2191         * css/SVGCSSStyleSelector.cpp:
2192         (WebCore::StyleResolver::applySVGProperty):
2193         * css/StylePropertySet.cpp:
2194         (WebCore::StylePropertySet::getLayeredShorthandValue):
2195         * css/StyleResolver.cpp:
2196         (WebCore::createGridPosition):
2197         (WebCore::StyleResolver::applyProperty):
2198         (WebCore::StyleResolver::parseCustomFilterParameter):
2199         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2200         * editing/EditingStyle.cpp:
2201         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
2202         (WebCore::EditingStyle::mergeStyle):
2203         (WebCore::StyleChange::extractTextStyles):
2204         (WebCore::diffTextDecorations):
2205         * editing/EditorCommand.cpp:
2206         (WebCore::executeToggleStyleInList):
2207         * svg/SVGFontFaceElement.cpp:
2208         (WebCore::SVGFontFaceElement::rebuildFontFace):
2209
2210 2013-10-01  Sam Weinig  <sam@webkit.org>
2211
2212         Convert PageGroup to using std::unique_ptr
2213         https://bugs.webkit.org/show_bug.cgi?id=122184
2214
2215         Reviewed by Anders Carlsson.
2216
2217         * page/CaptionUserPreferences.cpp:
2218         * page/CaptionUserPreferences.h:
2219         * page/CaptionUserPreferencesMediaAF.cpp:
2220         * page/CaptionUserPreferencesMediaAF.h:
2221         * page/Frame.cpp:
2222         * page/GroupSettings.h:
2223         * page/Page.cpp:
2224         * page/PageGroup.cpp:
2225         * page/PageGroup.h:
2226         * page/UserScriptTypes.h:
2227         * page/UserStyleSheetTypes.h:
2228         * workers/DedicatedWorkerGlobalScope.h:
2229         * workers/DedicatedWorkerThread.cpp:
2230         * workers/DedicatedWorkerThread.h:
2231         * workers/SharedWorkerGlobalScope.cpp:
2232         * workers/SharedWorkerGlobalScope.h:
2233         * workers/SharedWorkerThread.cpp:
2234         * workers/SharedWorkerThread.h:
2235         * workers/WorkerGlobalScope.cpp:
2236         * workers/WorkerGlobalScope.h:
2237         * workers/WorkerThread.cpp:
2238         * workers/WorkerThread.h:
2239
2240 2013-10-01  Tim Horton  <timothy_horton@apple.com>
2241
2242         Tiled drawing GraphicsLayer tree dumps should match non-tiled more closely
2243         https://bugs.webkit.org/show_bug.cgi?id=122172
2244
2245         Reviewed by Anders Carlsson.
2246
2247         No new tests, but will be tested by all of the compositing tests after bug 121859 lands.
2248
2249         * platform/graphics/GraphicsLayer.cpp:
2250         (WebCore::GraphicsLayer::dumpProperties):
2251         Only dump drawsContent and backgroundColor if the client says we should.
2252         Provide the ability to skip over a layer in the dump, making it appear as if that layer's
2253         children are direct decendents of that layer's parent.
2254
2255         * platform/graphics/GraphicsLayerClient.h:
2256         (WebCore::GraphicsLayerClient::shouldSkipLayerInDump): Added.
2257         (WebCore::GraphicsLayerClient::shouldDumpPropertyForLayer): Added.
2258
2259         * rendering/RenderLayerBacking.cpp:
2260         (WebCore::RenderLayerBacking::shouldSkipLayerInDump):
2261         Added. Always skip the root tile cache's flattening layer, as it is
2262         uninteresting and does not exist in the non-tiled-drawing compositing case.
2263
2264         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
2265         Don't dump drawsContent on the root tile cache.
2266         Don't dump backgroundcolor on the root tile cache, unless it is non-white.
2267         This may require some WebKit2-specific rebaselines, but they will occur later.
2268
2269         * rendering/RenderLayerBacking.h:
2270         * rendering/RenderLayerCompositor.cpp:
2271         (WebCore::RenderLayerCompositor::updateBacking):
2272         (WebCore::RenderLayerCompositor::layerTreeAsText):
2273         If the root tile cache has no composited children, don't dump anything,
2274         to match the traditional case where we drop out of compositing when
2275         we have no reason to be compositing. Except, do dump the root tile cache's
2276         layers if we're specifically being asked to dump tile caches.
2277
2278 2013-10-01  Joone Hur  <joone.hur@intel.com>
2279
2280         Quirksmode: CSS1: WebKit fails dynamic :first-letter test
2281         https://bugs.webkit.org/show_bug.cgi?id=15602
2282
2283         Reviewed by David Hyatt.
2284
2285         CSS first-letter property does not work properly when the first letter is changed 
2286         by DOM scripting. 
2287         This patch allows to check if the existing first-letter is no longer the
2288         first-letter. In this case, it deletes the old first-letter object and creates 
2289         a new one. For the remaining text, the oldRemainingText object is used 
2290         again for containing the full text(first letter + remaining text). 
2291
2292         Test: fast/css/first-letter-block-change.html
2293
2294         * rendering/RenderBlock.cpp:
2295         (WebCore::RenderBlock::updateFirstLetter):
2296
2297 2013-10-01  Antti Koivisto  <antti@apple.com>
2298
2299         Make tests for renderer base types non-virtual
2300         https://bugs.webkit.org/show_bug.cgi?id=122185
2301
2302         Reviewed by Dave Hyatt.
2303
2304         Make isRenderFoo() functions for commonly tested base types use bit flags instead of virtual calls.
2305         This is faster and we have space in RenderElement.
2306         
2307         These bits are not mutully exclusive. For testing leaf types we can add an enum.
2308
2309 2013-10-01  Ryosuke Niwa  <rniwa@webkit.org>
2310
2311         Cleanup Document::dispatchFullScreenChangeOrErrorEvent
2312         https://bugs.webkit.org/show_bug.cgi?id=122143
2313
2314         Reviewed by Antti Koivisto.
2315
2316         Reduce the code duplication by extracting dispatchFullScreenChangeOrErrorEvent.
2317
2318         * dom/Document.cpp:
2319         (WebCore::Document::fullScreenChangeDelayTimerFired):
2320         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Extracted.
2321         * dom/Document.h:
2322
2323 2013-10-01  Brent Fulgham  <bfulgham@apple.com>
2324
2325         [Win] Implement the media controls in JavaScript 
2326         https://bugs.webkit.org/show_bug.cgi?id=122166
2327
2328         Reviewed by Jer Noble.
2329
2330         * DerivedSources.make: Uncomment feature flag test.
2331         * WebCore.vcxproj/WebCore.vcxproj: Add new media control implementation files.
2332         Also cleaned up some misplaced files in the project tree.
2333         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2334         * WebCore.vcxproj/WebCoreCommon.props: Add missing include path for the
2335         mediacontrols path.
2336         * WebCore.vcxproj/copyForwardingHeaders.cmd: Add Modules/mediacontrols to copied headers.
2337         * rendering/RenderThemeWin.cpp: Add missing include for UserAgentScripts.
2338
2339 2013-10-01  Alex Christensen  <achristensen@webkit.org>
2340
2341         Added adoptCOM to COMPtr on Windows.
2342         https://bugs.webkit.org/show_bug.cgi?id=122069
2343
2344         Reviewed by Brent Fulgham.
2345
2346         * platform/win/COMPtr.h:
2347         (adoptCOM): Added.
2348
2349 2013-10-01  Jer Noble  <jer.noble@apple.com>
2350
2351         Unreviewed build fix; The addedFunction and removedFunction arguments to determineChangedTracksFromNewTracksAndOldItems
2352         were reversed, exposing an underlying, existing bug in AudioTrackPrivate and VideoTrack private. Give a default (null)
2353         value to AudioTrackPrivate::m_client and VideoTrackPrivate::m_client and fix the ordering of arguments in
2354         determineChangedTracksFromNewTracksAndOldItems.
2355
2356         * platform/graphics/AudioTrackPrivate.h:
2357         (WebCore::AudioTrackPrivate::AudioTrackPrivate):
2358         * platform/graphics/VideoTrackPrivate.h:
2359         (WebCore::VideoTrackPrivate::VideoTrackPrivate):
2360         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2361         (WebCore::determineChangedTracksFromNewTracksAndOldItems):
2362
2363 2013-09-30  Jer Noble  <jer.noble@apple.com>
2364
2365         [Mac] Add support for VideoTrack to MediaPlayerPrivateAVFObjC
2366         https://bugs.webkit.org/show_bug.cgi?id=122122
2367
2368         Reviewed by Eric Carlson.
2369
2370         Test: media/track/video-track.html
2371
2372         Refactor the methods which query AVAssetTrack and AVPlayerItemTrack into an Impl class, and
2373         use that class to reset the properties of both AudioTrackAVFObjC and the new VideoTrackAVFObjC.
2374
2375         Add new files to project:
2376         * WebCore.xcodeproj/project.pbxproj:
2377
2378         Add the new implementation class, shared by AudioTrackAVFObjC and VideoTrackAVFObjC:
2379         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: Added.
2380         (WebCore::AVTrackPrivateAVFObjCImpl::create): Simple factory.
2381         (WebCore::AVTrackPrivateAVFObjCImpl::playerItemTrack): Simple getter.
2382         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: Added.
2383         (WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl): Simple constructor.
2384         (WebCore::AVTrackPrivateAVFObjCImpl::enabled): Pass to AVPlayerItemTrack.
2385         (WebCore::AVTrackPrivateAVFObjCImpl::setEnabled): Ditto.
2386         (WebCore::AVTrackPrivateAVFObjCImpl::audioKind): Distinguish between Alternative and Main content.
2387         (WebCore::AVTrackPrivateAVFObjCImpl::videoKind): Distinguish between Alternative, Main, Caption,
2388             and Description content.
2389         (WebCore::AVTrackPrivateAVFObjCImpl::id): Pass to AVAssetTrack.
2390         (WebCore::AVTrackPrivateAVFObjCImpl::label): Retrieve the Title metadata in the user's preferred
2391             language.
2392         (WebCore::AVTrackPrivateAVFObjCImpl::language): Pass to languageForAVAssetTrack.
2393         (WebCore::AVTrackPrivateAVFObjCImpl::languageForAVAssetTrack): Moved from AudioTrackPrivateAVFObjC.
2394         * platform/graphics/avfoundation/VideoTrackPrivateAVF.h: Copied from Source/WebCore/platform/graphics/avfoundation/AudioTrackPrivateAVF.h.
2395         (WebCore::VideoTrackPrivateAVF::kind): Simple getter.
2396         (WebCore::VideoTrackPrivateAVF::id): Ditto.
2397         (WebCore::VideoTrackPrivateAVF::label): Ditto.
2398         (WebCore::VideoTrackPrivateAVF::language): Ditto.
2399         (WebCore::VideoTrackPrivateAVF::setKind): Simple setter.
2400         (WebCore::VideoTrackPrivateAVF::setId): Ditto.
2401         (WebCore::VideoTrackPrivateAVF::setLabel): Ditto.
2402         (WebCore::VideoTrackPrivateAVF::setLanguage): Ditto.
2403         (WebCore::VideoTrackPrivateAVF::VideoTrackPrivateAVF): Simple constructor.
2404         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
2405         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
2406         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
2407         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
2408         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
2409         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
2410         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): Ditto.
2411         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2412         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2413         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Refactor implementation into
2414             template method determineChangedTracksFromNewTracksAndOldItems().
2415         (WebCore::determineChangedTracksFromNewTracksAndOldItems): Refactored.
2416         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Pass to determineChangedTracksFromNewTracksAndOldItems.
2417         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
2418         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Changed class hosting
2419             languageForAVAssetTrack.
2420         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp: Added.
2421         (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
2422         (WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
2423         (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
2424         (WebCore::VideoTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
2425         (WebCore::VideoTrackPrivateAVFObjC::setSelected): Ditto.
2426         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h: Added.
2427         (WebCore::VideoTrackPrivateAVFObjC::create): Simple factory.
2428
2429 2013-10-01  Andreas Kling  <akling@apple.com>
2430
2431         Leaf EventTarget subclasses should be FINAL.
2432         <https://webkit.org/b/122141>
2433
2434         Reviewed by Darin Adler.
2435
2436         Clear out a slew of FIXMEs now that HasMemoryCostMemberFunction
2437         works on classes marked FINAL (fixed in bug 121747.)
2438
2439 2013-10-01  Szabolcs D├ívid  <davidsz@inf.u-szeged.hu>
2440
2441         Rename URL type variables in Curl network backend.
2442         https://bugs.webkit.org/show_bug.cgi?id=122158
2443
2444         Reviewed by Darin Adler.
2445
2446         I changed the name of the URL objects to match with the new class name.
2447
2448         * platform/network/curl/ResourceHandleManager.cpp:
2449         (WebCore::getProtectionSpace):
2450         (WebCore::ResourceHandleManager::initializeHandle):
2451
2452 2013-10-01  Myles C. Maxfield  <mmaxfield@apple.com>
2453
2454         Center misspelling dots across width of word
2455         https://bugs.webkit.org/show_bug.cgi?id=122046
2456
2457         Reviewed by Darin Adler.
2458
2459         Test: editing/spelling/spelling.html
2460
2461         * platform/graphics/GraphicsContext.h:
2462         * platform/graphics/mac/GraphicsContextMac.mm:
2463         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2464
2465 2013-10-01  Daniel Bates  <dabates@apple.com>
2466
2467         [iOS] WebCore fails to build with newer versions of clang
2468         https://bugs.webkit.org/show_bug.cgi?id=122161
2469
2470         Reviewed by Darin Adler.
2471
2472         * editing/FrameSelection.cpp: Add ENABLE(TEXT_CARET)-guard around shouldStopBlinkingDueToTypingCommand().
2473         * page/EventHandler.cpp: Add !PLATFORM(IOS)-guard around constants cursorUpdateInterval and maximumCursorSize;
2474         also add touch event/gesture event guard around shouldGesturesTriggerActive().
2475         * platform/network/cf/ResourceResponseCFNet.cpp: Remove unused function filenameHasSaneExtension.
2476         * platform/network/mac/ResourceResponseMac.mm: Only define static variables commonHeaderFields when building
2477         without CFNetwork; also remove variable numCommonHeaderFields, instead use WTF_ARRAY_LENGTH(commonHeaderFields)
2478         to compute the size of the fixed-sized array commonHeaderFields.
2479
2480 2013-10-01  Brendan Long  <b.long@cablelabs.com>
2481
2482         [GStreamer] Support "chapter" text tracks
2483         https://bugs.webkit.org/show_bug.cgi?id=122000
2484
2485         Reviewed by Eric Carlson.
2486
2487         Test: media/track/in-band/track-in-band-mkv-chapters.html
2488
2489         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h: New class, needed for cues that aren't associated with GstPads.
2490         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2491         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Check for table of contents messages.
2492         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents): Parse table of contents messages into text tracks.
2493         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry): Recursive method for parsing all of the TOC entries.
2494         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add the processTableOfContents functions.
2495
2496 2013-10-01  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2497
2498         [Texmap] CSS filter not working on software composited layers
2499         https://bugs.webkit.org/show_bug.cgi?id=122159
2500
2501         Reviewed by Noam Rosenthal.
2502
2503         Tell the rendering layer we do not support CSS filters when we do not. This
2504         will make RenderLayer fall back to using its own software implementation.
2505
2506         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2507         (WebCore::GraphicsLayerTextureMapper::setFilters):
2508         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
2509         (WebCore::BitmapTextureImageBuffer::applyFilters):
2510
2511 2013-10-01  Darin Adler  <darin@apple.com>
2512
2513         Try to fix assertion failures seem on bots.
2514
2515         * css/StyleResolver.cpp:
2516         (WebCore::StyleResolver::createFilterOperations): Rearrange code so this
2517         won't try ot call toCSSPrimitiveValue on a non-primitive-value in the
2518         DROP_SHADOW case.
2519
2520 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2521
2522         Generate toCSSFooValue for CSSPrimitiveValue
2523         https://bugs.webkit.org/show_bug.cgi?id=122101
2524
2525         Reviewed by Antti Koivisto.
2526
2527         As a step of clean-up static_cast<> in CSSValues, this patch generates
2528         toCSSFooPrimitiveValue() in order to detect bad casts as well as improves
2529         code readability.
2530
2531         No new tests, no behavior changes.
2532
2533         * css/CSSFontSelector.cpp:
2534         (WebCore::CSSFontSelector::addFontFaceRule):
2535         * css/CSSImageGeneratorValue.cpp:
2536         (WebCore::CSSImageGeneratorValue::subimageIsPending):
2537         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
2538         * css/CSSImageSetValue.cpp:
2539         (WebCore::CSSImageSetValue::fillImageSet):
2540         * css/CSSParser.cpp:
2541         (WebCore::CSSParser::parseColor):
2542         (WebCore::CSSParser::addProperty):
2543         (WebCore::CSSParser::parse3ValuesFillPosition):
2544         (WebCore::CSSParser::parseFillPosition):
2545         (WebCore::CSSParser::parseFillRepeat):
2546         (WebCore::CSSParser::parseDeprecatedRadialGradient):
2547         (WebCore::CSSParser::parseRadialGradient):
2548         * css/CSSPrimitiveValue.h:
2549         * css/CSSToStyleMap.cpp:
2550         (WebCore::CSSToStyleMap::mapFillAttachment):
2551         (WebCore::CSSToStyleMap::mapFillClip):
2552         (WebCore::CSSToStyleMap::mapFillComposite):
2553         (WebCore::CSSToStyleMap::mapFillBlendMode):
2554         (WebCore::CSSToStyleMap::mapFillOrigin):
2555         (WebCore::CSSToStyleMap::mapFillRepeatX):
2556         (WebCore::CSSToStyleMap::mapFillRepeatY):
2557         (WebCore::CSSToStyleMap::mapFillSize):
2558         (WebCore::CSSToStyleMap::mapFillXPosition):
2559         (WebCore::CSSToStyleMap::mapFillYPosition):
2560         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
2561         (WebCore::CSSToStyleMap::mapAnimationDelay):
2562         (WebCore::CSSToStyleMap::mapAnimationDirection):
2563         (WebCore::CSSToStyleMap::mapAnimationDuration):
2564         (WebCore::CSSToStyleMap::mapAnimationFillMode):
2565         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
2566         (WebCore::CSSToStyleMap::mapAnimationName):
2567         (WebCore::CSSToStyleMap::mapAnimationPlayState):
2568         (WebCore::CSSToStyleMap::mapAnimationProperty):
2569         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
2570         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
2571         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
2572         * css/CSSValue.cpp:
2573         (WebCore::CSSValue::destroy):
2574         * css/DeprecatedStyleBuilder.cpp:
2575         (WebCore::ApplyPropertyDefault::applyValue):
2576         (WebCore::ApplyPropertyNumber::applyValue):
2577         (WebCore::ApplyPropertyAuto::applyValue):
2578         (WebCore::ApplyPropertyClip::applyValue):
2579         (WebCore::ApplyPropertyColor::applyValue):
2580         (WebCore::ApplyPropertyLength::applyValue):
2581         (WebCore::ApplyPropertyString::applyValue):
2582         (WebCore::ApplyPropertyBorderRadius::applyValue):
2583         (WebCore::ApplyPropertyComputeLength::applyValue):
2584         (WebCore::ApplyPropertyFont::applyValue):
2585         (WebCore::ApplyPropertyFontFamily::applyValue):
2586         (WebCore::ApplyPropertyFontSize::applyValue):
2587         (WebCore::ApplyPropertyFontWeight::applyValue):
2588         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2589         (WebCore::ApplyPropertyCounter::applyValue):
2590         (WebCore::ApplyPropertyCursor::applyValue):
2591         (WebCore::ApplyPropertyTextAlign::applyValue):
2592         (WebCore::ApplyPropertyTextDecoration::applyValue):
2593         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
2594         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
2595         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
2596         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
2597         (WebCore::ApplyPropertyLineHeight::applyValue):
2598         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
2599         (WebCore::ApplyPropertyPageSize::applyValue):
2600         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2601         (WebCore::ApplyPropertyResize::applyValue):
2602         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2603         (WebCore::ApplyPropertyZoom::applyValue):
2604         (WebCore::ApplyPropertyDisplay::applyValue):
2605         (WebCore::ApplyPropertyClipPath::applyValue):
2606         (WebCore::ApplyPropertyShape::applyValue):
2607         (WebCore::ApplyPropertyImageResolution::applyValue):
2608         (WebCore::ApplyPropertyTextIndent::applyValue):
2609         * css/MediaList.cpp:
2610         (WebCore::reportMediaQueryWarningIfNeeded):
2611         * css/MediaQueryEvaluator.cpp:
2612         (WebCore::numberValue):
2613         (WebCore::orientationMediaFeatureEval):
2614         (WebCore::evalResolution):
2615         (WebCore::device_pixel_ratioMediaFeatureEval):
2616         (WebCore::resolutionMediaFeatureEval):
2617         (WebCore::computeLength):
2618         (WebCore::view_modeMediaFeatureEval):
2619         (WebCore::pointerMediaFeatureEval):
2620         * css/SVGCSSStyleSelector.cpp:
2621         (WebCore::StyleResolver::applySVGProperty):
2622         * css/StylePropertySet.cpp:
2623         (WebCore::StylePropertySet::getLayeredShorthandValue):
2624         * css/StyleResolver.cpp:
2625         (WebCore::createGridTrackSize):
2626         (WebCore::createGridTrackList):
2627         (WebCore::createGridPosition):
2628         (WebCore::hasVariableReference):
2629         (WebCore::StyleResolver::applyProperty):
2630         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
2631         (WebCore::StyleResolver::parseCustomFilterColorParameter):
2632         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
2633         (WebCore::StyleResolver::parseCustomFilterParameter):
2634         (WebCore::StyleResolver::parseCustomFilterParameterList):
2635         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2636         (WebCore::StyleResolver::createFilterOperations):
2637         * css/TransformFunctions.cpp:
2638         (WebCore::transformsForValue):
2639         * css/ViewportStyleResolver.cpp:
2640         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
2641         * css/WebKitCSSMatrix.cpp:
2642         (WebCore::WebKitCSSMatrix::setMatrixValue):
2643         * editing/ApplyStyleCommand.cpp:
2644         (WebCore::ApplyStyleCommand::computedFontSize):
2645         * editing/EditingStyle.cpp:
2646         (WebCore::identifierForStyleProperty):
2647         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2648         (WebCore::cssValueToRGBA):
2649         (WebCore::EditingStyle::extractFontSizeDelta):
2650         (WebCore::EditingStyle::textDirection):
2651         (WebCore::EditingStyle::prepareToApplyAt):
2652         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2653         (WebCore::EditingStyle::legacyFontSize):
2654         (WebCore::EditingStyle::textDirectionForSelection):
2655         (WebCore::StyleChange::extractTextStyles):
2656         (WebCore::fontWeightIsBold):
2657         (WebCore::isTransparentColorValue):
2658         * editing/markup.cpp:
2659         (WebCore::propertyMissingOrEqualToNone):
2660
2661 2013-10-01  Darin Adler  <darin@apple.com>
2662
2663         Try to fix AVFoundation crashes seen on Lion bot.
2664
2665         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
2666         Four AVFoundation string constants used in this file were new to 10.8.
2667         For older versions of OS X, use hard-coded string constants instead.
2668
2669 2013-10-01  Zan Dobersek  <zdobersek@igalia.com>
2670
2671         [IndexedDB] Interfaces inheriting from EventTarget should generate JSC (un)wrapping functions
2672         https://bugs.webkit.org/show_bug.cgi?id=122114
2673
2674         Reviewed by Darin Adler.
2675
2676         After r156590, four IndexedDB interfaces are inheriting from the EventTarget interface. Because of that,
2677         they're now required to have interface-specific JSC wrapping and unwrapping functions generated since the
2678         JSC wrapping and unwrapping functions for the EventTarget interface delegate these operations to these
2679         interface-specific functions. If the functions are not generated and accessible, the EventTarget functions
2680         end up recursively calling themselves.
2681
2682         * Modules/indexeddb/IDBDatabase.idl:
2683         * Modules/indexeddb/IDBOpenDBRequest.idl:
2684         * Modules/indexeddb/IDBRequest.idl:
2685         * Modules/indexeddb/IDBTransaction.idl:
2686
2687 2013-09-30  Ryuan Choi  <ryuan.choi@samsung.com>
2688
2689         Build fix for EFL, Qt, Gtk port after r156688
2690         https://bugs.webkit.org/show_bug.cgi?id=122139
2691
2692         Reviewed by Anders Carlsson.
2693
2694         Get rid of more uses of OwnPtr and PassOwnPtr.
2695
2696         * platform/graphics/surfaces/GraphicsSurface.cpp:
2697         (WebCore::GraphicsSurface::beginPaint):
2698         * platform/graphics/surfaces/GraphicsSurface.h:
2699         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
2700         (WebCore::GraphicsSurface::platformBeginPaint):
2701         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
2702         (WebCore::GraphicsSurface::platformBeginPaint):
2703         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
2704         (WebCore::GraphicsSurface::platformBeginPaint):
2705
2706 2013-09-30  Sam White  <samuel_white@apple.com>
2707
2708         AX: Expose ARIA Busy Notifications
2709         https://bugs.webkit.org/show_bug.cgi?id=121451
2710
2711         Reviewed by Chris Fleizach.
2712
2713         Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
2714         enables screen readers to detect busy states without polling the focused element.
2715
2716         Test: platform/mac/accessibility/element-busy-changed.html
2717
2718         * accessibility/AXObjectCache.cpp:
2719         (WebCore::AXObjectCache::handleAttributeChanged):
2720         * accessibility/AXObjectCache.h:
2721         * accessibility/mac/AXObjectCacheMac.mm:
2722         (WebCore::AXObjectCache::postPlatformNotification):
2723
2724 2013-09-30  Sam Weinig  <sam@webkit.org>
2725
2726         Fixing the build.
2727
2728         * GNUmakefile.list.am:
2729
2730 2013-09-30  Sam Weinig  <sam@webkit.org>
2731
2732         More build fixing.
2733
2734         * GNUmakefile.list.am:
2735         * WebCore.vcxproj/WebCore.vcxproj.filters:
2736         * inspector/InspectorAllInOne.cpp:
2737         * inspector/InstrumentingAgents.h:
2738
2739 2013-09-30  Sam Weinig  <sam@webkit.org>
2740
2741         Fix the Efl and Gtk builds.
2742
2743         * GNUmakefile.list.am:
2744         * PlatformEfl.cmake:
2745         * PlatformGTK.cmake:
2746
2747 2013-09-30  Sam Weinig  <sam@webkit.org>
2748
2749         Remove support for DOMFileSystem
2750         https://bugs.webkit.org/show_bug.cgi?id=122137
2751
2752         Reviewed by Anders Carlsson.
2753
2754         * Files elided *
2755
2756 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
2757
2758         [Windows] Build fix afer r156688.
2759
2760         * fileapi/ThreadableBlobRegistry.cpp:
2761         (WebCore::ThreadableBlobRegistry::registerBlobURL): Switch to std::unique_ptr in
2762         method implementation.
2763
2764 2013-09-30  Anders Carlsson  <andersca@apple.com>
2765
2766         Get rid of more uses of OwnPtr and PassOwnPtr
2767         https://bugs.webkit.org/show_bug.cgi?id=122136
2768
2769         Reviewed by Antti Koivisto.
2770
2771         * Modules/websockets/WebSocket.cpp:
2772         (WebCore::WebSocket::didReceiveBinaryData):
2773         * WebCore.exp.in:
2774         * fileapi/Blob.cpp:
2775         (WebCore::Blob::Blob):
2776         (WebCore::Blob::slice):
2777         * fileapi/Blob.h:
2778         (WebCore::Blob::create):
2779         * fileapi/File.cpp:
2780         (WebCore::createBlobDataForFileWithType):
2781         (WebCore::createBlobDataForFile):
2782         (WebCore::createBlobDataForFileWithName):
2783         * fileapi/ThreadableBlobRegistry.cpp:
2784         (WebCore::BlobRegistryContext::BlobRegistryContext):
2785         (WebCore::registerBlobURLTask):
2786         (WebCore::ThreadableBlobRegistry::registerBlobURL):
2787         * fileapi/ThreadableBlobRegistry.h:
2788         * fileapi/WebKitBlobBuilder.cpp:
2789         (WebCore::BlobBuilder::getBlob):
2790         * platform/network/BlobData.cpp:
2791         (WebCore::BlobDataHandle::BlobDataHandle):
2792         * platform/network/BlobData.h:
2793         (WebCore::BlobData::BlobData):
2794         (WebCore::BlobDataHandle::create):
2795         * platform/network/BlobRegistry.h:
2796         * platform/network/BlobRegistryImpl.cpp:
2797         (WebCore::BlobRegistryImpl::registerBlobURL):
2798         * platform/network/BlobRegistryImpl.h:
2799         * xml/XMLHttpRequest.cpp:
2800         (WebCore::XMLHttpRequest::responseBlob):
2801
2802 2013-09-30  Benjamin Poulain  <benjamin@webkit.org>
2803
2804         Remove the code guarded by STYLE_SCOPED
2805         https://bugs.webkit.org/show_bug.cgi?id=122123
2806
2807         Reviewed by Anders Carlsson.
2808
2809         Start cleaning the code related to <style scoped>. This patch
2810         only removes the code with #ifdef guards.
2811
2812         * Configurations/FeatureDefines.xcconfig:
2813         * WebCore.exp.in:
2814         * bindings/generic/RuntimeEnabledFeatures.cpp:
2815         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
2816         * bindings/generic/RuntimeEnabledFeatures.h:
2817         * css/DocumentRuleSets.cpp:
2818         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
2819         * css/ElementRuleCollector.cpp:
2820         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
2821         * css/StyleResolver.cpp:
2822         (WebCore::StyleResolver::locateCousinList):
2823         (WebCore::StyleResolver::canShareStyleWithElement):
2824         (WebCore::StyleResolver::locateSharedStyle):
2825         * css/StyleResolver.h:
2826         (WebCore::StyleResolver::ensureScopeResolver):
2827         * css/StyleScopeResolver.cpp:
2828         * css/StyleScopeResolver.h:
2829         * dom/Node.cpp:
2830         * dom/Node.h:
2831         * dom/ShadowRoot.cpp:
2832         (WebCore::ShadowRoot::ShadowRoot):
2833         * dom/ShadowRoot.h:
2834         * html/HTMLStyleElement.cpp:
2835         (WebCore::HTMLStyleElement::HTMLStyleElement):
2836         (WebCore::HTMLStyleElement::parseAttribute):
2837         (WebCore::HTMLStyleElement::insertedInto):
2838         (WebCore::HTMLStyleElement::removedFrom):
2839         * html/HTMLStyleElement.h:
2840         * html/HTMLStyleElement.idl:
2841         * testing/InternalSettings.cpp:
2842         (WebCore::InternalSettings::Backup::Backup):
2843         (WebCore::InternalSettings::Backup::restoreTo):
2844         * testing/InternalSettings.h:
2845         * testing/InternalSettings.idl:
2846         * testing/Internals.cpp:
2847         * testing/Internals.h:
2848         * testing/Internals.idl:
2849
2850 2013-09-30  Drew Yao  <ayao@apple.com>
2851
2852         ASSERT(!m_hasBadParent) in InlineBox::parent() should be ASSERT_WITH_SECURITY_IMPLICATION
2853         https://bugs.webkit.org/show_bug.cgi?id=122032
2854
2855         Reviewed by Andreas Kling.
2856
2857         Convert assertion to ASSERT_WITH_SECURITY_IMPLICATION to help catch use after free bugs.
2858
2859         No new tests needed.
2860
2861         * rendering/InlineBox.h:
2862         (WebCore::InlineBox::parent):
2863
2864 2013-09-30  Yongjun Zhang  <yongjun_zhang@apple.com>
2865
2866         Don't attempt to destroy decoded frame if a BitmapImage doesn't have encoded raw data.
2867         https://bugs.webkit.org/show_bug.cgi?id=122115
2868
2869         Reviewed by Daniel Bates.
2870
2871         With BitmapImage::create(PassNativeImagePtr, ImageObserver*), a BitmapImage could be created by
2872         passing a native image.  If this image is added to memory cache, we shouldn't attempt to destroy
2873         its decoded frames since there is no encoded raw data and we won't be able to reconstruct the image again.
2874
2875         No new tests for now. Currently there isn't a code path to add to the memory cache a BitmapImage
2876         that was created by adopting a native image. We'll add such a code path in a subsequent patch.
2877
2878         * platform/graphics/BitmapImage.cpp:
2879         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
2880
2881 2013-09-30  Brady Eidson  <beidson@apple.com>
2882
2883         Remove IDBTracing.h.
2884         https://bugs.webkit.org/show_bug.cgi?id=122118
2885
2886         Reviewed by Alexey Proskuryakov.
2887
2888         Global replace of "IDB_TRACE" with "LOG(StorageAPI)", and remove all notions of this header.
2889
2890         * GNUmakefile.list.am:
2891
2892         * Modules/indexeddb/IDBCursor.cpp:
2893         * Modules/indexeddb/IDBDatabase.cpp:
2894         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2895         * Modules/indexeddb/IDBFactory.cpp:
2896         * Modules/indexeddb/IDBIndex.cpp:
2897         * Modules/indexeddb/IDBObjectStore.cpp:
2898         * Modules/indexeddb/IDBOpenDBRequest.cpp:
2899         * Modules/indexeddb/IDBRequest.cpp:
2900         * Modules/indexeddb/IDBTracing.h: Removed.
2901         * Modules/indexeddb/IDBTransaction.cpp:
2902         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2903         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2904         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
2905         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2906         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
2907         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2908         * WebCore.xcodeproj/project.pbxproj:
2909         * bindings/js/IDBBindingUtilities.cpp:
2910
2911 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
2912
2913         [Windows] Build fix after r156622. Build RenderLayerModelObject.cpp in a separate compilation unit
2914         from the RenderLayerAllnOne file so that the scalar and vector destructors are visible to other
2915         elements of WebCore during the build.
2916
2917         * WebCore.vcxproj/WebCore.vcxproj: Compile RenderLayerModelObject outside of the all-in-one file.
2918         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2919         * rendering/RenderingAllInOne.cpp: Remove RenderLayerModelObject.cpp.
2920
2921 2013-09-30  Mark Rowe  <mrowe@apple.com>
2922
2923         Fix the build when building against an SDK.
2924
2925         Xcode helpfully prepends $(SDKROOT) to the paths in FRAMEWORK_SEARCH_PATHS when generating
2926         the compiler command lines. It can't know to do this for the system framework search paths
2927         we add manually via OTHER_CFLAGS though, so we need to prefix them with $(SDKROOT) ourself.
2928
2929         * Configurations/WebCore.xcconfig:
2930
2931 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
2932
2933         [Windows] Unreviewed build fix.
2934
2935         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct malformed XML in project files.
2936
2937 2013-09-30  Jer Noble  <jer.noble@apple.com>
2938
2939         Unreviewed, roll back in r156546 with rebaselined tests.
2940         https://bugs.webkit.org/show_bug.cgi?id=122111
2941
2942         * Modules/mediacontrols/mediaControlsApple.js:
2943         (Controller):
2944         (Controller.prototype.addVideoListeners):
2945         (Controller.prototype.removeVideoListeners):
2946         (Controller.prototype.updateHasAudio):
2947
2948 2013-09-30  Commit Queue  <commit-queue@webkit.org>
2949
2950         Unreviewed, rolling out r156656.
2951         http://trac.webkit.org/changeset/156656
2952         https://bugs.webkit.org/show_bug.cgi?id=122111
2953
2954         Broke several media tests (Requested by ap on #webkit).
2955
2956         * Modules/mediacontrols/mediaControlsApple.js:
2957         (Controller):
2958         (Controller.prototype.addVideoListeners):
2959         (Controller.prototype.removeVideoListeners):
2960
2961 2013-09-29  Sam Weinig  <sam@webkit.org>
2962
2963         Convert a bunch of OwnPtrs on Page to std::unique_ptrs
2964         https://bugs.webkit.org/show_bug.cgi?id=122086
2965
2966         Reviewed by Darin Adler.
2967
2968         * loader/ProgressTracker.cpp:
2969         * loader/ProgressTracker.h:
2970         * page/Page.cpp:
2971         (WebCore::Page::Page):
2972         (WebCore::Page::setGroupName):
2973         (WebCore::Page::initGroup):
2974         * page/Page.h:
2975         * page/PageGroup.cpp:
2976         (WebCore::PageGroup::PageGroup):
2977         * page/PageGroup.h:
2978
2979 2013-09-30  Antti Koivisto  <antti@apple.com>
2980
2981         Remove FontTranscoder
2982         https://bugs.webkit.org/show_bug.cgi?id=122088
2983
2984         Reviewed by Andreas Kling.
2985
2986         This overly generic class just implements mapping of backslash to yen symbol for some legacy Japanese fonts.
2987
2988         * CMakeLists.txt:
2989         * GNUmakefile.am:
2990         * GNUmakefile.list.am:
2991         * Target.pri:
2992         * WebCore.pri:
2993         * WebCore.vcxproj/WebCore.vcxproj:
2994         * WebCore.xcodeproj/project.pbxproj:
2995         * platform/graphics/Font.cpp:
2996         (WebCore::useBackslashAsYenSignForFamily):
2997         
2998             Move the family set to Font.cpp.
2999
3000         (WebCore::Font::Font):
3001         (WebCore::Font::operator=):
3002         (WebCore::Font::update):
3003         
3004             Keep the cached boolean up to date.
3005
3006         * platform/graphics/Font.h:
3007         (WebCore::Font::useBackslashAsYenSymbol):
3008         
3009             Use descriptive name instead of talking about "transcoding".
3010
3011         * platform/text/transcoder: Removed.
3012         * platform/text/transcoder/FontTranscoder.cpp: Removed.
3013         * platform/text/transcoder/FontTranscoder.h: Removed.
3014         * rendering/RenderText.cpp:
3015         (WebCore::RenderText::RenderText):
3016         (WebCore::RenderText::computeUseBackslashAsYenSymbol):
3017         
3018             Rename for clarity. 
3019             Avoid unnecessary hash lookup, just check the cached bit in Font.
3020
3021         (WebCore::RenderText::styleDidChange):
3022         (WebCore::RenderText::setTextInternal):
3023         
3024             "Transcoding" here was just a simple character replacement.
3025
3026         (WebCore::RenderText::textWithoutConvertingBackslashToYenSymbol):
3027         
3028             Renamed.
3029
3030         * rendering/RenderText.h:
3031
3032 2013-09-27  Jer Noble  <jer.noble@apple.com>
3033
3034         REGRESSION(r156546): media/video-no-audio.html broken
3035         https://bugs.webkit.org/show_bug.cgi?id=122049
3036
3037         Reviewed by Eric Carlson.
3038
3039         Now that our video elements have audio tracks, use their presence or
3040         absense to show or hide the volume controls.
3041
3042         * Modules/mediacontrols/mediaControlsApple.js:
3043         (Controller):
3044         (Controller.prototype.addVideoListeners): Listen for audioTrack changes.
3045         (Controller.prototype.removeVideoListeners): Stop listening to same.
3046         (Controller.prototype.handleAudioTrackChange): Call this.updateHasAudio()
3047         (Controller.prototype.handleAudioTrackAdd): Ditto.
3048         (Controller.prototype.handleAudioTrackRemove): Ditto.
3049         (Controller.prototype.updateHasAudio): Hide the volume controls if no
3050             audioTracks are present, and vice versa.
3051
3052 2013-09-30  Jer Noble  <jer.noble@apple.com>
3053
3054         Unreviewed Mac-Lion build fix.
3055
3056         Use metadataItemsFromArray:withLocale: instead of
3057         metadataItemsFromArray:filteredAndSortedAccordingToPreferredLanguages:
3058         on Lion and earlier.
3059
3060         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
3061         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):
3062
3063 2013-09-27  Jer Noble  <jer.noble@apple.com>
3064
3065         [Mac] Add AudioTrack support to MediaPlayerPrivateAVFObC.
3066         https://bugs.webkit.org/show_bug.cgi?id=122043
3067
3068         Reviewed by Eric Carlson.
3069
3070         Test: media/track/audio-track.html
3071
3072         Add a new class AudioTrackPrivateAVF and subclass AudioTrackPrivateAVFObjC
3073         which are backed by a AVPlayerItemTrack. Create one of these tracks when
3074         we are notified that the list of available tracks has changed.
3075
3076         * WebCore.xcodeproj/project.pbxproj:
3077         * html/track/AudioTrack.cpp:
3078         (WebCore::AudioTrack::setEnabled): Pass through to the AudioTrackPrivate
3079             so that the underlying media track can be (dis|en)abled.
3080         * platform/graphics/avfoundation/AudioTrackPrivateAVF.h: Added.
3081         (WebCore::AudioTrackPrivateAVF::kind): Simple getter.
3082         (WebCore::AudioTrackPrivateAVF::id): Ditto.
3083         (WebCore::AudioTrackPrivateAVF::label): Ditto.
3084         (WebCore::AudioTrackPrivateAVF::language): Ditto.
3085         (WebCore::AudioTrackPrivateAVF::setKind): Simple Setter.
3086         (WebCore::AudioTrackPrivateAVF::setId): Ditto.
3087         (WebCore::AudioTrackPrivateAVF::setLabel): Ditto.
3088         (WebCore::AudioTrackPrivateAVF::setLanguage): Ditto.
3089         (WebCore::AudioTrackPrivateAVF::AudioTrackPrivateAVF): Simple constructor.
3090         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: Added.
3091         (WebCore::AudioTrackPrivateAVFObjC::create): Simple factory.
3092         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Simple getter.
3093         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm: Added.
3094         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Call resetPropertiesFromTrack.
3095         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Fill out the values from 
3096             the associated AVPlayerItemTrack and its AVAssetTrack.
3097         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Call resetPropertiesFromTrack.
3098         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): (En|Dis)able the AVPlayerItemTrack.
3099         (WebCore::AudioTrackPrivateAVFObjC::languageForAVAssetTrack): Refactored from
3100             MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack.
3101         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3102         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3103         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Determine which tracks
3104             have been added or removed and notify the clients accordingly.
3105         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Refactor into
3106             AudioTrackPrivateAVFObjC::languageForAVAssetTrack.
3107
3108 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3109
3110         Generate toCSSCalcValue instead of using manual cast function
3111         https://bugs.webkit.org/show_bug.cgi?id=122055
3112
3113         Reviewed by Antti Koivisto.
3114
3115         Generated type cast function supports more plenty functions rather than manual functions.
3116         To use CSS_VALUE_TYPE_CAST, isCalculationValue() needs to be changed with isCalcValue().
3117
3118         No new tests, no behavior changes.
3119
3120         * css/CSSCalculationValue.h:
3121         * css/CSSValue.cpp:
3122         (WebCore::CSSValue::destroy):
3123         * css/CSSValue.h:
3124         (WebCore::CSSValue::isCalcValue):
3125         * css/StyleResolver.cpp:
3126         (WebCore::hasVariableReference):
3127
3128 2013-09-30  Antti Koivisto  <antti@apple.com>
3129
3130         Get rid of static map for marking ancestor line boxes dirty
3131         https://bugs.webkit.org/show_bug.cgi?id=122080
3132
3133         Reviewed by Andreas Kling.
3134         
3135         This is ugly and shows up in profiles too. Use a bit in RenderElement instead.
3136
3137         * rendering/RenderBlock.h:
3138         * rendering/RenderBlockFlow.h:
3139         
3140             Move dirtyLinesFromChangedChild down to RenderBlockFlow. It wouldn't do anything on other RenderBlocks.
3141
3142         * rendering/RenderElement.cpp:
3143         (WebCore::RenderElement::RenderElement):
3144         * rendering/RenderElement.h:
3145         
3146             Add m_ancestorLineBoxDirty bit. We have 32 unused bits here on 64bit systems.
3147
3148         (WebCore::RenderElement::dirtyLinesFromChangedChild):
3149         (WebCore::RenderElement::ancestorLineBoxDirty):
3150         (WebCore::RenderElement::setAncestorLineBoxDirty):
3151         (WebCore::RenderObject::setNeedsLayout):
3152         * rendering/RenderInline.h:
3153         * rendering/RenderLineBoxList.cpp:
3154         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3155             
3156             Tighten the interface.
3157
3158         * rendering/RenderLineBoxList.h:
3159         * rendering/RenderObject.cpp:
3160         (WebCore::RenderObject::willBeDestroyed):
3161         * rendering/RenderObject.h:
3162         
3163             Remove the static map.
3164
3165 2013-09-18  Sergio Villar Senin  <svillar@igalia.com>
3166
3167         [CSS Grid Layout] Implement the grid-area shorthand
3168         https://bugs.webkit.org/show_bug.cgi?id=103334
3169
3170         Reviewed by Andreas Kling.
3171
3172         Based on Blink r151684 by <jchaffraix@chromium.org>
3173
3174         Test: fast/css-grid-layout/grid-item-area-get-set.html
3175
3176         Added support to specify grid positions using the
3177         '-webkit-grid-area' shorthand. Named grid areas are still not
3178         allowed, to be done in a follow up patch as it likely requires
3179         '-webkit-grid-template' support.
3180
3181         * css/CSSComputedStyleDeclaration.cpp:
3182         (WebCore::ComputedStyleExtractor::propertyValue):
3183         * css/CSSParser.cpp:
3184         (WebCore::CSSParser::parseValue):
3185         (WebCore::CSSParser::parseGridItemPositionShorthand):
3186         * css/CSSPropertyNames.in:
3187         * css/StylePropertySet.cpp:
3188         (WebCore::StylePropertySet::getPropertyValue):
3189         * css/StylePropertyShorthand.cpp:
3190         (WebCore::webkitGridAreaShorthand):
3191         (WebCore::shorthandForProperty):
3192         * css/StylePropertyShorthand.h:
3193         * css/StyleResolver.cpp:
3194         (WebCore::StyleResolver::applyProperty):
3195
3196 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3197
3198         Generate toCSSFooValue for CSSGradientValue, CSSLinearGradientValue and CSSRadialGradient
3199         https://bugs.webkit.org/show_bug.cgi?id=122060
3200
3201         Reviewed by Antti Koivisto.
3202
3203         As a step to generate toCSSFooValue, toCSSGradientValuem toCSSLinearGradientValue and
3204         toCSSRadialGradient are generated. isLinearGradient() and isRadialGradient() are moved
3205         from each class to CSSValue in order to generate toCSSFooValue.
3206
3207         No new tests, no behavior change.
3208
3209         * css/CSSGradientValue.cpp:
3210         (WebCore::CSSGradientValue::image):
3211         (WebCore::CSSGradientValue::gradientWithStylesResolved):
3212         * css/CSSGradientValue.h:
3213         * css/CSSImageGeneratorValue.cpp:
3214         (WebCore::CSSImageGeneratorValue::image):
3215         (WebCore::CSSImageGeneratorValue::fixedSize):
3216         (WebCore::CSSImageGeneratorValue::loadSubimages):
3217         * css/CSSParser.cpp:
3218         (WebCore::CSSParser::parseDeprecatedGradient):
3219         * css/CSSValue.cpp:
3220         (WebCore::CSSValue::destroy):
3221         * css/CSSValue.h:
3222         (WebCore::CSSValue::isLinearGradient):
3223         (WebCore::CSSValue::isRadialGradient):
3224         * css/StyleResolver.cpp:
3225         (WebCore::StyleResolver::applyProperty):
3226         (WebCore::StyleResolver::styleImage):
3227
3228 2013-09-30  Vani Hegde  <vani.hegde@samsung.com>
3229
3230         user-select: none cursor turns to I-beam on mouse dragging
3231         https://bugs.webkit.org/show_bug.cgi?id=90159
3232
3233         Reviewed by Ryosuke Niwa.
3234
3235         When tried to select some text in an area that has style
3236         cursor:default set, cursor type changes to text cursor ignoring
3237         the cursor style that is explicitly set.
3238
3239         When the cursor style is explicitly set as default (or something else),
3240         we should not change it to text cursor no matter what we are over
3241         or what operation we are performing (be it hovering over the text
3242         or selecting the text).
3243
3244         During text selection, changing the cursor type to text only when
3245         there is no explicit cursor type set fixes the issue.
3246
3247         Test: editing/caret/selection-with-caret-type-progress.html
3248
3249         * page/EventHandler.cpp:
3250         (WebCore::EventHandler::selectCursor):
3251         During selection, set the cursor style to text only if there is no
3252         explicit cursor style set.
3253
3254 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3255
3256         Generate toCSSFooValue() for CSSCanvasValue
3257         https://bugs.webkit.org/show_bug.cgi?id=122058
3258
3259         Reviewed by Antti Koivisto.
3260
3261         Generate toCSSFooValue() for CSSCanvasValue, and use it.
3262         This type cast function will help to detect bad-casts.
3263         isCanvasValue() is added in order to generate toCSSCanvasValue.
3264
3265         No new tests, no behavior change.
3266
3267         * css/CSSCanvasValue.h:
3268         * css/CSSImageGeneratorValue.cpp:
3269         (WebCore::CSSImageGeneratorValue::image):
3270         (WebCore::CSSImageGeneratorValue::fixedSize):
3271         (WebCore::CSSImageGeneratorValue::loadSubimages):
3272         * css/CSSValue.cpp:
3273         (WebCore::CSSValue::destroy):
3274         * css/CSSValue.h:
3275         (WebCore::CSSValue::isCanvasValue):
3276
3277 2013-09-29  Mark Rowe  <mrowe@apple.com>
3278
3279         Fix the Lion build.
3280
3281         Ensure that C++ and Objective-C++ files build with the right compiler flags.
3282
3283         * Configurations/WebCore.xcconfig:
3284
3285 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3286
3287         Generate toCSSFooValue() for CSSLineBoxContainValue
3288         https://bugs.webkit.org/show_bug.cgi?id=122054
3289
3290         Reviewed by Darin Adler.
3291
3292         As a step to use toCSSFooValue, toCSSLineBoxContainValue is generated by using
3293         CSS_VALUE_TYPE_CASTS. To use it, isCSSLineBoxContainValue() is changed to
3294         isLineBoxContatinValue(). Unnecessary local variable is removed by this patch.
3295
3296         No new tests, no behavior changes.
3297
3298         * css/CSSLineBoxContainValue.h:
3299         * css/CSSValue.cpp:
3300         (WebCore::CSSValue::destroy):
3301         * css/CSSValue.h:
3302         (WebCore::CSSValue::isLineBoxContainValue):
3303         * css/StyleResolver.cpp:
3304         (WebCore::StyleResolver::applyProperty):
3305
3306 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3307
3308         Generate toCSSCrossfadeValue() instead of using manual function
3309         https://bugs.webkit.org/show_bug.cgi?id=122057
3310
3311         Reviewed by Antti Koivisto.
3312
3313         Generated toCSSFooValue() supports more plenty functions rather than
3314         to use manual cast function.
3315
3316         No new tests, no behavior changes.
3317
3318         * css/CSSCrossfadeValue.h:
3319         * css/CSSImageGeneratorValue.cpp:
3320         (WebCore::CSSImageGeneratorValue::image):
3321         (WebCore::CSSImageGeneratorValue::fixedSize):
3322         (WebCore::CSSImageGeneratorValue::loadSubimages):
3323         * css/CSSValue.cpp:
3324         (WebCore::CSSValue::destroy):
3325
3326 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3327
3328         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue
3329         https://bugs.webkit.org/show_bug.cgi?id=122056
3330
3331         Reviewed by Antti Koivisto.
3332
3333         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue, and use it.
3334         This type cast function will help to detect bad-casts.
3335
3336         No new tests, no behavior changes.
3337
3338         * css/CSSFilterImageValue.h:
3339         * css/CSSImageGeneratorValue.cpp:
3340         (WebCore::CSSImageGeneratorValue::image):
3341         (WebCore::CSSImageGeneratorValue::fixedSize):
3342         (WebCore::CSSImageGeneratorValue::loadSubimages):
3343         * css/CSSInitialValue.h:
3344         * css/CSSValue.cpp:
3345         (WebCore::CSSValue::destroy):
3346         * css/StyleResolver.cpp:
3347         (WebCore::StyleResolver::generatedOrPendingFromValue):
3348
3349 2013-09-29  Darin Adler  <darin@apple.com>
3350
3351         Fix crashes caused by my recent attempt at a Windows build fix.
3352
3353         * bindings/js/WebCoreTypedArrayController.cpp:
3354         (WebCore::WebCoreTypedArrayController::toJS): Added back the prefix for the call to
3355         WebCore::toJS, otherwise this function just calls itself infinitely recursively.
3356
3357 2013-09-29  Sam Weinig  <sam@webkit.org>
3358
3359         Cleanup PageThrottler and PageConsole a bit
3360         https://bugs.webkit.org/show_bug.cgi?id=122085
3361
3362         Reviewed by Anders Carlsson.
3363
3364         * html/HTMLMediaElement.h:
3365         * loader/FrameLoader.cpp:
3366         (WebCore::FrameLoader::completed):
3367         * loader/FrameLoader.h:
3368         * loader/SubresourceLoader.cpp:
3369         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
3370         (WebCore::SubresourceLoader::didFinishLoading):
3371         (WebCore::SubresourceLoader::didFail):
3372         (WebCore::SubresourceLoader::willCancel):
3373         * loader/SubresourceLoader.h:
3374         Store the PageActivityAssertionToken as a std::unique_ptr.
3375
3376         * page/Page.cpp:
3377         (WebCore::Page::Page):
3378         Use createOwned and pass this by reference for the PageThrottler and PageConsole.
3379         (WebCore::Page::~Page):
3380         Remove unnecessary clearing of an OwnPtr that is about to be destroyed.
3381         * page/Page.h:
3382         Make m_pageThrottler const and return it as a reference.
3383
3384         * page/PageActivityAssertionToken.cpp:
3385         (WebCore::PageActivityAssertionToken::PageActivityAssertionToken):
3386         (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken):
3387         * page/PageActivityAssertionToken.h:
3388         Take the PageThrottler by reference in the constructor. It is never null.
3389
3390         * page/PageConsole.cpp:
3391         (WebCore::PageConsole::PageConsole):
3392         (WebCore::PageConsole::~PageConsole):
3393         (WebCore::PageConsole::addMessage):
3394         * page/PageConsole.h:
3395         Pass and store the Page as a reference and remove an extraneous null check. Remove
3396         the create function.
3397
3398         * page/PageThrottler.cpp:
3399         (WebCore::PageThrottler::PageThrottler):
3400         (WebCore::PageThrottler::~PageThrottler):
3401         (WebCore::PageThrottler::createActivityToken):
3402         (WebCore::PageThrottler::throttlePage):
3403         (WebCore::PageThrottler::unthrottlePage):
3404         (WebCore::PageThrottler::addActivityToken):
3405         (WebCore::PageThrottler::removeActivityToken):
3406         * page/PageThrottler.h:
3407         Pass and store the Page as a reference. Move the creation of PageActivityAssertionToken here
3408         to aid encapsulation.
3409
3410 2013-09-29  Darin Adler  <darin@apple.com>
3411
3412         Try to fix Windows build.
3413
3414         * bindings/js/WebCoreTypedArrayController.cpp: Windows has a symbol named Handle, so we need
3415         to call JSC::Handle out by name. To fix that, I removed "using namespace JSC" entirely. And
3416         just for fun, sort of "rewrote" this file.
3417         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController): Removed unneeded explicit
3418         initialization of m_owner.
3419         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController): Fixed formatting.
3420         (WebCore::WebCoreTypedArrayController::toJS): Added lots of explicit JSC and got rid of local.
3421         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots): Cut
3422         down on locals, used auto& for type, and called it "wrapper" since that's what JSArrayBuffer is.
3423         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize): More of the same.
3424
3425 2013-09-29  Darin Adler  <darin@apple.com>
3426
3427         Use RenderElement instead of RenderObject in many places
3428         https://bugs.webkit.org/show_bug.cgi?id=122078
3429
3430         Reviewed by Andreas Kling.
3431
3432         * WebCore.exp.in: Updated for name changes.
3433
3434         * dom/ContainerNode.h: Moved renderer() here from Element.
3435         * dom/Element.h: Moved renderer() from here to ContainerNode.
3436         * render/RenderElement.h: Moved renderer() from Element to ContainerNode.
3437
3438         * accessibility/AccessibilityImageMapLink.cpp:
3439         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
3440         (WebCore::AccessibilityImageMapLink::detachFromParent):
3441         (WebCore::AccessibilityImageMapLink::elementPath):
3442         (WebCore::AccessibilityImageMapLink::elementRect):
3443         * accessibility/AccessibilityImageMapLink.h:
3444         * accessibility/AccessibilityRenderObject.cpp:
3445         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3446         * bindings/objc/DOM.mm:
3447         (-[DOMElement image]):
3448         (-[DOMElement _font]):
3449         (-[DOMElement _imageTIFFRepresentation]):
3450         * css/CSSCanvasValue.cpp:
3451         (WebCore::CSSCanvasValue::canvasChanged):
3452         (WebCore::CSSCanvasValue::canvasResized):
3453         (WebCore::CSSCanvasValue::canvasDestroyed):
3454         (WebCore::CSSCanvasValue::fixedSize):
3455         (WebCore::CSSCanvasValue::image):
3456         * css/CSSCanvasValue.h:
3457         * css/CSSComputedStyleDeclaration.cpp:
3458         (WebCore::computeRenderStyleForProperty):
3459         * css/CSSCrossfadeValue.cpp:
3460         (WebCore::subimageKnownToBeOpaque):
3461         (WebCore::CSSCrossfadeValue::fixedSize):
3462         (WebCore::CSSCrossfadeValue::knownToBeOpaque):
3463         (WebCore::CSSCrossfadeValue::image):
3464         (WebCore::CSSCrossfadeValue::crossfadeChanged):
3465         * css/CSSCrossfadeValue.h:
3466         * css/CSSFilterImageValue.cpp: