Make line breaking obey the -webkit-locale property
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-23  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by Alexey Proskuryakov.
4
5         Make line breaking obey the -webkit-locale property
6         https://bugs.webkit.org/show_bug.cgi?id=63209
7
8         Test: platform/mac/fast/text/line-break-locale.html
9
10         * platform/text/TextBreakIterator.h:
11         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Take an optional locale identifier and
12         initialize the m_locale member.
13         (WebCore::LazyLineBreakIterator::get): Pass the locale to acquireLineBreakIterator().
14         (WebCore::LazyLineBreakIterator::reset): Pass the locale to releaseLineBreakIterator() and update
15         the m_locale member.
16         * platform/text/TextBreakIteratorICU.cpp:
17         (WebCore::LineBreakIteratorPool::sharedPool): Return a shared instance.
18         (WebCore::LineBreakIteratorPool::take): Returns a text iterator for the given locale, either a newly-
19         created one, or an existing one from the pool.
20         (WebCore::LineBreakIteratorPool::put): Puts an iterator back into the pool, removing the least-recently used
21         one if needed.
22         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
23         (WebCore::acquireLineBreakIterator): Changed to take an optional local identifier, and to use the pool.
24         (WebCore::releaseLineBreakIterator): Changed to use the pool.
25         * platform/text/brew/TextBreakIteratorBrew.cpp:
26         (WebCore::acquireLineBreakIterator): Updated for new parameter.
27         * platform/text/gtk/TextBreakIteratorGtk.cpp:
28         (WebCore::acquireLineBreakIterator): Ditto.
29         * platform/text/qt/TextBreakIteratorQt.cpp:
30         (WebCore::acquireLineBreakIterator): Ditto.
31         * platform/text/wince/TextBreakIteratorWinCE.cpp:
32         (WebCore::acquireLineBreakIterator): Ditto.
33         * rendering/RenderBlockLineLayout.cpp:
34         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use the locale from the style for the line break
35         iterator.
36         * rendering/RenderText.cpp:
37         (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
38
39 2011-06-23  Chris Fleizach  <cfleizach@apple.com>
40
41         Reviewed by Darin Adler.
42
43         ARIA live regions don't trigger notifications for elements that aren't in the AX tree
44         https://bugs.webkit.org/show_bug.cgi?id=62289
45
46         If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
47         notification is not sent. To fix this, I think the childrenChanged() method needs to actually create
48         the appropriate objects, but since that method gets called during a render tree update, we've learned 
49         that it's generally not safe to create objects.
50  
51         Instead a one shot timer can be fired that will update and create the necessary objects so that the
52         correct notification can be sent.
53
54         Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
55
56         * accessibility/AXObjectCache.cpp:
57         (WebCore::AXObjectCache::AXObjectCache):
58         (WebCore::AXObjectCache::remove):
59         (WebCore::AXObjectCache::childrenUpdateTimerFired):
60         (WebCore::AXObjectCache::childrenChanged):
61         * accessibility/AXObjectCache.h:
62         * accessibility/AccessibilityMenuList.cpp:
63         (WebCore::AccessibilityMenuList::childrenChanged):
64         * accessibility/AccessibilityMenuList.h:
65         * accessibility/AccessibilityMenuListPopup.cpp:
66         (WebCore::AccessibilityMenuListPopup::childrenChanged):
67         * accessibility/AccessibilityMenuListPopup.h:
68         * accessibility/AccessibilityObject.h:
69         (WebCore::AccessibilityObject::childrenChanged):
70         * accessibility/AccessibilityRenderObject.cpp:
71         (WebCore::startOfContinuations):
72            This changed exposed a case where an object was inlineElementContinuation, but not renderInlined,
73            which led to an assert.
74         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
75         (WebCore::AccessibilityRenderObject::childrenChanged):
76         * accessibility/AccessibilityRenderObject.h:
77
78 2011-06-23  Dirk Schulze  <krit@webkit.org>
79
80         Reviewed by Nikolas Zimmermann.
81
82         Convert SVGColor to SVGAnimatorFactory concept
83         https://bugs.webkit.org/show_bug.cgi?id=63246
84
85         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
86         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGColor.
87
88         Changed constructors of animators to take the animation element SVGAnimationsElement as new argument. Removed attribute name argument instead.
89         This information is already exposed by the animation element. The animators store the pointer of the animation element, so that it is not
90         necessary to pass it as argument to the functions calculateDistance, calculateAnimatedValue.
91         
92         Replace all SVGSMILElement references by SVGAnimationsElement - the common base class of all animation elements.
93
94         Added a new method in SVGAnimateElement to determine the property value type of CSS properties (regular value type, inherit or currentColor).
95         The other two new methods fromPropertyValueType() and toPropertyValueType() avoid passing boolean arguments in calculateAnimatedValue().
96
97         No new tests added. Current tests cover the changes.
98
99         * CMakeLists.txt: Added new files to build system.
100         * GNUmakefile.list.am: Ditto.
101         * WebCore.gypi: Ditto.
102         * WebCore.pro: Ditto.
103         * WebCore.vcproj/WebCore.vcproj: Ditto.
104         * WebCore.xcodeproj/project.pbxproj: Ditto.
105         * svg/SVGAllInOne.cpp:  Ditto.
106         * svg/SVGAnimateElement.cpp: Use Animator for SVGColor. 
107         (WebCore::SVGAnimateElement::SVGAnimateElement):
108         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
109         (WebCore::SVGAnimateElement::calculateAnimatedValue):
110         (WebCore::SVGAnimateElement::determinePropertyValueTypes):
111         (WebCore::SVGAnimateElement::calculateFromAndToValues):
112         (WebCore::SVGAnimateElement::calculateFromAndByValues):
113         (WebCore::SVGAnimateElement::resetToBaseValue):
114         (WebCore::SVGAnimateElement::applyResultsToTarget):
115         (WebCore::SVGAnimateElement::calculateDistance):
116         (WebCore::SVGAnimateElement::ensureAnimator): Pass the animation element as pointer to animator.
117         * svg/SVGAnimateElement.h: Removed unnecessary includes. Some cleanup.
118         (WebCore::SVGAnimateElement::fromPropertyValueType): Get property value type of 'from' property.
119         (WebCore::SVGAnimateElement::toPropertyValueType): Get property value type of 'to' property.
120         * svg/SVGAnimatedAngle.cpp:
121         (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator): Added SVGSMILElement as new argument, removed attributeName.
122         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues): Determine property value type.
123         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues): Ditto.
124         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): Use new functions of SVGAnimateElement for handling of 'inherit'.
125             And removed unnecessary arguments.
126         (WebCore::SVGAnimatedAngleAnimator::calculateDistance): Removed animation element argument.
127         * svg/SVGAnimatedAngle.h:
128         * svg/SVGAnimatedColor.cpp: Added.
129         (WebCore::SVGAnimatedColorAnimator::SVGAnimatedColorAnimator): Ditto.
130         (WebCore::SVGAnimatedColorAnimator::constructFromString):
131         (WebCore::SVGAnimatedColorAnimator::calculateFromAndToValues):
132         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
133         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
134         (WebCore::SVGAnimatedColorAnimator::calculateDistance):
135         * svg/SVGAnimatedColor.h: Added.
136         (WebCore::SVGAnimatedColorAnimator::~SVGAnimatedColorAnimator):
137         * svg/SVGAnimatedLength.cpp:
138         (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator): Ditto.
139         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
140         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
141         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
142         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
143         * svg/SVGAnimatedLength.h:
144         * svg/SVGAnimatedNumber.cpp:
145         (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator): Ditto.
146         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
147         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
148         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
149         (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
150         * svg/SVGAnimatedNumber.h:
151         * svg/SVGAnimatedPointList.cpp:
152         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator): Ditto.
153         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
154         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
155         * svg/SVGAnimatedPointList.h:
156         * svg/SVGAnimatedRect.cpp:
157         (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator): Ditto.
158         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
159         (WebCore::SVGAnimatedRectAnimator::calculateDistance):
160         * svg/SVGAnimatedRect.h:
161         * svg/SVGAnimatedType.cpp: Added handling of Color values.
162         (WebCore::SVGAnimatedType::~SVGAnimatedType):
163         (WebCore::SVGAnimatedType::createColor):
164         (WebCore::SVGAnimatedType::color):
165         (WebCore::SVGAnimatedType::valueAsString):
166         (WebCore::SVGAnimatedType::setValueAsString):
167         * svg/SVGAnimatedType.h:
168         * svg/SVGAnimatedTypeAnimator.h:
169         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
170         * svg/SVGAnimatorFactory.h:
171         (WebCore::SVGAnimatorFactory::create):
172
173 2011-06-23  Yael Aharon  <yael.aharon@nokia.com>
174
175         Reviewed by Andreas Kling.
176
177         [Qt] [WK2] Add drag and drop support
178         https://bugs.webkit.org/show_bug.cgi?id=62838
179
180         Add convenience methods to allow encoding/decoding of DragData.
181         Move the call to dragEnded() to DragClient, to make WebKit1 and WebKit2 
182         consistent.
183
184         * page/qt/DragControllerQt.cpp:
185         (WebCore::DragController::cleanupAfterSystemDrag):
186         * platform/DragData.h:
187         (WebCore::DragData::flags):
188         (WebCore::DragData::DragData):
189         (WebCore::DragData::operator =):
190
191 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
192
193         Reviewed by Yury Semikhatsky.
194
195         Web Inspector: Show "no content" message in network panel when resource does not have content available.
196         https://bugs.webkit.org/show_bug.cgi?id=63007
197
198         * English.lproj/localizedStrings.js:
199         * WebCore.gypi:
200         * WebCore.vcproj/WebCore.vcproj:
201         * inspector/front-end/ApplicationCacheItemsView.js:
202         (WebInspector.ApplicationCacheItemsView):
203         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
204         * inspector/front-end/CookieItemsView.js:
205         (WebInspector.CookieItemsView):
206         (WebInspector.CookieItemsView.prototype._updateWithCookies):
207         * inspector/front-end/DatabaseTableView.js:
208         (WebInspector.DatabaseTableView.prototype._queryFinished):
209         * inspector/front-end/EmptyView.js: Added.
210         (WebInspector.EmptyView):
211         (WebInspector.EmptyView.prototype.show):
212         (WebInspector.EmptyView.prototype.set text):
213         * inspector/front-end/NetworkItemView.js:
214         (WebInspector.NetworkItemView):
215         (WebInspector.ResourceContentView):
216         (WebInspector.ResourceContentView.prototype.hasContent):
217         (WebInspector.ResourceContentView.prototype.get sourceView):
218         (WebInspector.ResourceContentView.prototype.show):
219         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown.callback):
220         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown):
221         (WebInspector.ResourceContentView.prototype.contentLoaded):
222         * inspector/front-end/ResourceCookiesView.js:
223         (WebInspector.ResourceCookiesView.prototype.show):
224         * inspector/front-end/ResourcePreviewView.js:
225         (WebInspector.ResourcePreviewView):
226         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
227         (WebInspector.ResourcePreviewView.prototype._createInnerView):
228         * inspector/front-end/ResourceResponseView.js: Added.
229         (WebInspector.ResourceResponseView):
230         (WebInspector.ResourceResponseView.prototype.get sourceView):
231         (WebInspector.ResourceResponseView.prototype.contentLoaded):
232         * inspector/front-end/ResourceTimingView.js:
233         (WebInspector.ResourceTimingView.prototype.show):
234         * inspector/front-end/ResourcesPanel.js:
235         (WebInspector.StorageCategoryView):
236         (WebInspector.StorageCategoryView.prototype.setText):
237         * inspector/front-end/WebKit.qrc:
238         * inspector/front-end/inspector.html:
239
240 2011-06-23  Balazs Kelemen  <kbalazs@webkit.org>
241
242         Reviewed by Adam Roben.
243
244         PluginView::dispatchNPEvent is deceptive
245         https://bugs.webkit.org/show_bug.cgi?id=63243
246
247         Straighten the inverted logic of dispatchNPEvent
248         and it's callers.
249
250         No change in behaviour so no new tests.
251         Existing plugin tests cover this.
252
253         * plugins/gtk/PluginViewGtk.cpp:
254         (WebCore::PluginView::dispatchNPEvent):
255         (WebCore::PluginView::handleKeyboardEvent):
256         (WebCore::PluginView::handleMouseEvent):
257         * plugins/qt/PluginViewQt.cpp:
258         (WebCore::PluginView::dispatchNPEvent):
259         (WebCore::PluginView::handleKeyboardEvent):
260         (WebCore::PluginView::handleMouseEvent):
261         * plugins/symbian/PluginViewSymbian.cpp:
262         (WebCore::PluginView::dispatchNPEvent):
263         (WebCore::PluginView::handleKeyboardEvent):
264         (WebCore::PluginView::handleMouseEvent):
265         * plugins/win/PluginViewWin.cpp:
266         (WebCore::PluginView::dispatchNPEvent):
267         (WebCore::PluginView::handleKeyboardEvent):
268         (WebCore::PluginView::handleMouseEvent):
269
270 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
271
272         Reviewed by Tony Gentilcore.
273
274         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
275         https://bugs.webkit.org/show_bug.cgi?id=63122
276
277         Fixing broken makefile.
278
279         * GNUmakefile.list.am:
280
281 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
282
283         Reviewed by Tony Gentilcore.
284
285         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
286         https://bugs.webkit.org/show_bug.cgi?id=63122
287
288         No new tests since no code has actually changed.
289
290         * CMakeLists.txt:
291         * CodeGenerators.pri:
292         * DerivedSources.cpp:
293         * DerivedSources.make:
294         * GNUmakefile.list.am:
295         * WebCore.gypi:
296         * WebCore.pro:
297         * WebCore.vcproj/WebCore.vcproj:
298         * WebCore.xcodeproj/project.pbxproj:
299         * bindings/js/JSEventTarget.cpp:
300         (WebCore::toJS):
301         * bindings/v8/V8DOMWrapper.cpp:
302         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
303         * dom/DOMAllInOne.cpp:
304         * dom/EventTarget.cpp:
305         (WebCore::EventTarget::toMediaStream):
306         (WebCore::EventTarget::toLocalMediaStream):
307         * dom/EventTarget.h:
308         * dom/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/GeneratedStream.cpp.
309         (WebCore::LocalMediaStream::DispatchUpdateTask::create):
310         (WebCore::LocalMediaStream::DispatchUpdateTask::performTask):
311         (WebCore::LocalMediaStream::DispatchUpdateTask::DispatchUpdateTask):
312         (WebCore::LocalMediaStream::create):
313         (WebCore::LocalMediaStream::LocalMediaStream):
314         (WebCore::LocalMediaStream::~LocalMediaStream):
315         (WebCore::LocalMediaStream::toLocalMediaStream):
316         (WebCore::LocalMediaStream::detachEmbedder):
317         (WebCore::LocalMediaStream::streamEnded):
318         (WebCore::LocalMediaStream::audioTracks):
319         (WebCore::LocalMediaStream::videoTracks):
320         (WebCore::LocalMediaStream::stop):
321         (WebCore::LocalMediaStream::onStop):
322         * dom/LocalMediaStream.h: Renamed from Source/WebCore/dom/GeneratedStream.h.
323         * dom/LocalMediaStream.idl: Renamed from Source/WebCore/dom/GeneratedStream.idl.
324         * dom/MediaStream.cpp: Renamed from Source/WebCore/dom/Stream.cpp.
325         (WebCore::MediaStream::create):
326         (WebCore::MediaStream::MediaStream):
327         (WebCore::MediaStream::~MediaStream):
328         (WebCore::MediaStream::toMediaStream):
329         (WebCore::MediaStream::streamEnded):
330         (WebCore::MediaStream::scriptExecutionContext):
331         (WebCore::MediaStream::eventTargetData):
332         (WebCore::MediaStream::ensureEventTargetData):
333         * dom/MediaStream.h: Renamed from Source/WebCore/dom/Stream.h.
334         (WebCore::MediaStream::readyState):
335         (WebCore::MediaStream::label):
336         (WebCore::MediaStream::refEventTarget):
337         (WebCore::MediaStream::derefEventTarget):
338         * dom/MediaStream.idl: Renamed from Source/WebCore/dom/Stream.idl.
339         * dom/MediaStreamContainer.h: Renamed from Source/WebCore/dom/StreamContainer.h.
340         (WebCore::MediaStreamContainer::create):
341         (WebCore::MediaStreamContainer::~MediaStreamContainer):
342         (WebCore::MediaStreamContainer::length):
343         (WebCore::MediaStreamContainer::item):
344         (WebCore::MediaStreamContainer::add):
345         (WebCore::MediaStreamContainer::remove):
346         (WebCore::MediaStreamContainer::contains):
347         (WebCore::MediaStreamContainer::get):
348         (WebCore::MediaStreamContainer::MediaStreamContainer):
349         * dom/MediaStreamList.cpp: Renamed from Source/WebCore/dom/StreamList.cpp.
350         (WebCore::MediaStreamList::create):
351         (WebCore::MediaStreamList::MediaStreamList):
352         (WebCore::MediaStreamList::~MediaStreamList):
353         (WebCore::MediaStreamList::length):
354         (WebCore::MediaStreamList::item):
355         * dom/MediaStreamList.h: Renamed from Source/WebCore/dom/StreamList.h.
356         * dom/MediaStreamList.idl: Renamed from Source/WebCore/dom/StreamList.idl.
357         * dom/StreamEvent.cpp:
358         (WebCore::StreamEvent::create):
359         (WebCore::StreamEvent::StreamEvent):
360         (WebCore::StreamEvent::initStreamEvent):
361         (WebCore::StreamEvent::stream):
362         * dom/StreamEvent.h:
363         (WebCore::StreamEvent::isMediaStreamEvent):
364         * dom/StreamEvent.idl:
365         * page/MediaStreamFrameController.cpp:
366         (WebCore::MediaStreamFrameController::unregister):
367         (WebCore::MediaStreamFrameController::getStreamFromLabel):
368         (WebCore::MediaStreamFrameController::stopGeneratedStream):
369         (WebCore::MediaStreamFrameController::streamGenerated):
370         (WebCore::MediaStreamFrameController::audioTrackFailed):
371         (WebCore::MediaStreamFrameController::videoTrackFailed):
372         * page/MediaStreamFrameController.h:
373         (WebCore::MediaStreamFrameController::ClientBase::isMediaStream):
374         (WebCore::MediaStreamFrameController::ClientBase::isLocalMediaStream):
375         (WebCore::MediaStreamFrameController::MediaStreamClient::MediaStreamClient):
376         (WebCore::MediaStreamFrameController::MediaStreamClient::~MediaStreamClient):
377         (WebCore::MediaStreamFrameController::MediaStreamClient::isMediaStream):
378         (WebCore::MediaStreamFrameController::MediaStreamClient::isLocalMediaStream):
379         * page/NavigatorUserMediaSuccessCallback.h:
380         * page/NavigatorUserMediaSuccessCallback.idl:
381
382 2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>
383
384         Reviewed by Yury Semikhatsky.
385
386         Web Inspector: [Chromium] Fix showing dominator leaf nodes after r89457
387         https://bugs.webkit.org/show_bug.cgi?id=63250
388
389         * inspector/front-end/DetailedHeapshotView.js:
390         * inspector/front-end/HeapSnapshot.js:
391         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get isEmpty):
392
393 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
394
395         Reviewed by Yury Semikhatsky.
396
397         Web Inspector: HTML preview in network panel should take 100% of resource view height.
398         https://bugs.webkit.org/show_bug.cgi?id=63167
399
400         * inspector/front-end/inspector.css:
401         (.resource-view.html iframe):
402
403 2011-06-23  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
404
405         Reviewed by Pavel Feldman.
406
407         Inspector may close at the start of the next inspector test in DRT
408         https://bugs.webkit.org/show_bug.cgi?id=60881
409
410         Add a new function to the inspector, which tests whether the
411         dispatch queue is empty.
412
413         * inspector/front-end/inspector.js:
414         (WebInspector.dispatchQueueIsEmpty):
415
416 2011-06-23  Jeffrey Pfau  <jpfau@apple.com>
417
418         Reviewed by Nikolas Zimmermann.
419
420         Incorrectly placed SVG gradients can cause crashes when referenced
421         https://bugs.webkit.org/show_bug.cgi?id=62914
422
423         Added a check for gradient rendering contexts. If the contexts can't be found, the gradient must be in an invalid location, so we use the fallback color instead.
424
425         Tests: svg/custom/invalid-gradient-with-xlink.svg
426                svg/custom/xlink-to-invalid-gradient.svg
427
428         * rendering/svg/RenderSVGResourceGradient.cpp:
429         (WebCore::RenderSVGResourceGradient::applyResource):
430         * rendering/svg/RenderSVGResourceGradient.h:
431         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
432         (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes):
433         * rendering/svg/RenderSVGResourceLinearGradient.h:
434         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
435         (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
436         * rendering/svg/RenderSVGResourceRadialGradient.h:
437         * svg/SVGLinearGradientElement.cpp:
438         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
439         * svg/SVGLinearGradientElement.h:
440         * svg/SVGRadialGradientElement.cpp:
441         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
442         * svg/SVGRadialGradientElement.h:
443
444 2011-06-23  Dmitriy Vyukov  <dvyukov@google.com>
445
446         Reviewed by David Levin.
447
448         Fix incorrect usage of a condition variable.
449         https://bugs.webkit.org/show_bug.cgi?id=63127
450
451         No new tests. This does not affect existing
452         functionality.
453
454         * storage/DatabaseTask.cpp:
455         (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
456
457 2011-06-23  David Grogan  <dgrogan@chromium.org>
458
459         Reviewed by Eric Seidel.
460
461         IndexedDB: add detail to an ASSERT error message
462         https://bugs.webkit.org/show_bug.cgi?id=60407
463
464         No new tests, this is just a debug ASSERT.
465
466         * storage/IDBRequest.cpp:
467         (WebCore::IDBRequest::dispatchEvent):
468
469 2011-06-22  Dirk Schulze  <krit@webkit.org>
470
471         Reviewed by Rob Buis.
472
473         Convert SVGPointList to SVGAnimatorFactory concept
474         https://bugs.webkit.org/show_bug.cgi?id=63171
475
476         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
477         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGPointList.
478
479         Added support for from-by animations of SVGPointLists.
480
481         Tests: svg/animations/svgpointlist-animation-1.html
482                svg/animations/svgpointlist-animation-2.html
483
484         * CMakeLists.txt: Added new files to build system.
485         * GNUmakefile.list.am: Ditto.
486         * WebCore.gypi: Ditto.
487         * WebCore.pro: Ditto.
488         * WebCore.vcproj/WebCore.vcproj: Ditto.
489         * WebCore.xcodeproj/project.pbxproj: Ditto.
490         * svg/SVGAllInOne.cpp: Added SVGAnimatedPointList.cpp
491         * svg/SVGAnimateElement.cpp:
492         (WebCore::SVGAnimateElement::calculateAnimatedValue):
493         (WebCore::SVGAnimateElement::calculateFromAndToValues):
494         (WebCore::SVGAnimateElement::calculateFromAndByValues):
495         (WebCore::SVGAnimateElement::resetToBaseValue):
496         (WebCore::SVGAnimateElement::applyResultsToTarget):
497         (WebCore::SVGAnimateElement::calculateDistance):
498         * svg/SVGAnimateElement.h:
499         * svg/SVGAnimatedPointList.cpp: Added.
500         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator):
501         (WebCore::SVGAnimatedPointListAnimator::constructFromString):
502         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndToValues):
503         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndByValues):
504         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
505         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
506         * svg/SVGAnimatedPointList.h: Added.
507         (WebCore::SVGAnimatedPointListAnimator::~SVGAnimatedPointListAnimator):
508         * svg/SVGAnimatedType.cpp:
509         (WebCore::SVGAnimatedType::~SVGAnimatedType):
510         (WebCore::SVGAnimatedType::createPointList):
511         (WebCore::SVGAnimatedType::pointList):
512         (WebCore::SVGAnimatedType::valueAsString):
513         (WebCore::SVGAnimatedType::setValueAsString):
514         * svg/SVGAnimatedType.h:
515         * svg/SVGAnimatorFactory.h:
516         (WebCore::SVGAnimatorFactory::create):
517
518 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
519
520         Reviewed by Kent Tamura.
521
522         Move file-choosing and icon-loading management to FileInputType
523         https://bugs.webkit.org/show_bug.cgi?id=62069
524
525         1) Moved the duties of FileChooserClient and FileIconLoaderClient from
526         RenderFileUploadControl to FileInputType, along with all of the
527         supporting functions.
528
529         2) Moved Icon ownership to FileInputType and exposed accessor on
530         HTMInputElement to allow RenderFileUploadControl to query current icon.
531
532         As a result, RenderFileUploadControl is now completely stateless, which is
533         neat and clean.
534
535         Refactoring, covered by existing tests.
536
537         * html/FileInputType.cpp:
538         (WebCore::FileInputType::handleDOMActivateEvent): Moved logic here from RenderFileUploadControl.
539         (WebCore::FileInputType::requestIcon): Ditto.
540         (WebCore::FileInputType::filesChosen): Ditto.
541         (WebCore::FileInputType::receiveDropForDirectoryUpload): Ditto.
542         (WebCore::FileInputType::updateRendering): Ditto.
543         (WebCore::FileInputType::chrome): Ditto.
544         (WebCore::FileInputType::receiveDroppedFiles): Ditto.
545         (WebCore::FileInputType::icon): Added.
546         * html/FileInputType.h:
547         * html/HTMLInputElement.cpp:
548         (WebCore::HTMLInputElement::setValueFromRenderer): Updated comment.
549         (WebCore::HTMLInputElement::receiveDroppedFiles): Added to replace setFileListFromRenderer.
550         (WebCore::HTMLInputElement::icon): Added.
551         * html/HTMLInputElement.h:
552         * html/InputType.cpp:
553         (WebCore::InputType::receiveDroppedFiles): Added.
554         (WebCore::InputType::icon): Added.
555         * html/InputType.h:
556         * page/DragController.cpp:
557         (WebCore::DragController::concludeEditDrag): Changed to use HTMLInputElement. Ahh, nice and clean!
558         * rendering/RenderFileUploadControl.cpp:
559         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed code that is no longer necessary.
560         (WebCore::RenderFileUploadControl::updateFromElement): Ditto.
561         (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use HTMLInputElement icon accessor.
562         (WebCore::RenderFileUploadControl::paintObject): Ditto.
563         * rendering/RenderFileUploadControl.h:
564
565 2011-06-22  Pratik Solanki  <psolanki@apple.com>
566
567         Reviewed by Darin Adler.
568
569         Add NSError wrapper functions in ResourceError when USE(CFNETWORK) is enabled
570         https://bugs.webkit.org/show_bug.cgi?id=63155
571
572         Add wrapper functions to ResourceError when building with USE(CFNETWORK). We need to create
573         a new NSError in ResourceError::nsError() since Safari has category methods on NSError and
574         passing a CFErrorRef back does not work even though CFErrorRef/NSErrror are toll-free
575         bridged.
576
577         No tests because no change in functionality.
578
579         * WebCore.exp.in:
580         * platform/network/cf/ResourceError.h:
581         * platform/network/mac/ResourceErrorMac.mm:
582         (WebCore::ResourceError::ResourceError):
583         (WebCore::ResourceError::nsError):
584         (WebCore::ResourceError::operator NSError *):
585
586 2011-06-22  Dominic Cooney  <dominicc@chromium.org>
587
588         Reviewed by Mark Rowe.
589
590         Add window.internals to WebKit2's WebKitTestRunner.
591         https://bugs.webkit.org/show_bug.cgi?id=61073
592
593         * Configurations/WebCoreTestSupport.xcconfig:
594         * WebCore.xcodeproj/project.pbxproj:
595
596 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
597
598         Reviewed by Kent Tamura.
599
600         Convert FileIconLoaderClient to "smart client" pattern, just like FileChooserClient.
601         https://bugs.webkit.org/show_bug.cgi?id=63224
602
603         Refactoring, covered by existing tests.
604
605         * platform/FileIconLoader.cpp:
606         (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Changed to discard loader.
607         (WebCore::FileIconLoaderClient::newFileIconLoader): Added.
608         (WebCore::FileIconLoaderClient::discardLoader): Added.
609         * platform/FileIconLoader.h: Updated defs.
610         * rendering/RenderFileUploadControl.cpp:
611         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed initialization of icon loader.
612         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Remove discarding of loader.
613         (WebCore::RenderFileUploadControl::requestIcon): Changed to use newFileIconLoader.
614         * rendering/RenderFileUploadControl.h: Updated defs.
615
616 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
617
618         Another unreviewed build fix after r89472.
619
620         No new tests, just a build fix.
621
622         * rendering/svg/SVGResources.cpp:
623
624 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
625
626         Unreviewed build fix after r89472.
627
628         No new tests, just a build fix.
629
630         * rendering/InlineBox.cpp:
631         * rendering/RenderCounter.cpp:
632
633 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
634
635         Reviewed by Kent Tamura.
636
637         Add a helper function to FileList to retrieve a list of filenames.
638         https://bugs.webkit.org/show_bug.cgi?id=63222
639
640         Refactoring, covered by existing tests.
641
642         * fileapi/FileList.cpp:
643         (WebCore::FileList::filenames): Added.
644         * fileapi/FileList.h:
645         * rendering/RenderFileUploadControl.cpp:
646         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use newly added helper.
647         (WebCore::RenderFileUploadControl::click): Ditto.
648         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
649
650 2011-06-22  Sam Weinig  <sam@webkit.org>
651
652         Reviewed by Adam Barth.
653
654         Lower HTML parser DOM depth limit to 2048
655         https://bugs.webkit.org/show_bug.cgi?id=63219
656
657         Lower the default depth limit from 4096 to 2048. There isn't a good
658         reason to have such pathologically nested content, and by-and-large,
659         the rendering code is not setup to support it that well. Adding this
660         aggressive limit now will allow us to see if anything breaks in the
661         nightlies.
662
663         * page/Settings.h:
664
665 2011-06-22  Julien Chaffraix  <jchaffraix@webkit.org>
666
667         Reviewed by Dimitri Glazkov.
668
669         Tighten type usage in the Shadow tree code
670         https://bugs.webkit.org/show_bug.cgi?id=63210
671
672         Refactoring only, no new test required.
673
674         * dom/Document.cpp:
675         (WebCore::Document::buildAccessKeyMap):
676         * dom/Document.h:
677         Changed the argument of buildAccessKeyMap to TreeScope.
678
679         * dom/Element.cpp:
680         (WebCore::Element::attach):
681         (WebCore::Element::removeShadowRoot):
682         * html/ColorInputType.cpp:
683         (WebCore::ColorInputType::shadowColorSwatch):
684         * html/HTMLKeygenElement.cpp:
685         (WebCore::HTMLKeygenElement::shadowSelect):
686         * html/shadow/SliderThumbElement.cpp:
687         (WebCore::sliderThumbElementOf):
688         Use ShadowRoot for the previous call sites as this is what is
689         returned by shadowRoot().
690
691         * dom/Node.cpp:
692         (WebCore::traverseTreeAndMark): Renamed the parameter here as it is not
693         expected to be a shadow object. Just the rootNode of our traversal.
694
695         * dom/ShadowRoot.h: Made attach() public as it is public in ContainerNode
696         and we would do some casting to avoid the private attribute in ShadowRoot.
697
698 2011-06-22  Joseph Pecoraro  <joepeck@webkit.org>
699
700         Reviewed by Darin Adler.
701
702         Remove comment about pages with frames not being page-cachable
703         https://bugs.webkit.org/show_bug.cgi?id=63207
704
705         This comment was out of date. Caching pages with Frames in
706         the PageCache has worked since 2009:
707         <http://webkit.org/b/13631> Page Cache should support pages with frames
708
709         * history/PageCache.cpp:
710         (WebCore::PageCache::canCache):
711
712 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
713
714         Reviewed by Andreas Kling.
715
716         [Qt] Add a build flag for building with libxml2 and libxslt.
717         https://bugs.webkit.org/show_bug.cgi?id=63113
718
719         No new tests. If this new flag was set by default, we could unskip
720         existing xmlviewer tests.
721
722         * CodeGenerators.pri:
723         * WebCore.pri:
724         * WebCore.pro:
725         * features.pri:
726
727 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
728
729         Yet another build fix after r89472.
730
731         * html/parser/HTMLFormattingElementList.cpp:
732
733 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
734
735         Another build fix after r89472.
736
737         * dom/DocumentMarkerController.cpp:
738
739 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
740
741         Build fix after r89472.
742
743         * css/CSSStyleDeclaration.cpp:
744
745 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
746
747         Reviewed by Adam Barth.
748
749         IndexedDB open (database) should NOT throw if name is null
750         https://bugs.webkit.org/show_bug.cgi?id=63110
751
752         * storage/IDBFactory.idl: remove ConvertNullToNullString flag on
753         name argument, let IDL code generator stringify null value to "null"
754
755 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
756
757         Reviewed by Darin Adler.
758
759         Add a Position constructor that takes (Text*, unsigned offset)
760         https://bugs.webkit.org/show_bug.cgi?id=63181
761
762         Added Position::Position(PassRefPtr<Text*>, unsigned offset) and deployed in a couple of places
763         by replacing the calls to the old constructor.
764
765         * dom/Position.cpp:
766         (WebCore::Position::Position): Added.
767         * dom/Position.h:
768         * editing/CompositeEditCommand.cpp:
769         (WebCore::CompositeEditCommand::replaceSelectedTextInNode): Calls new constructor; extracted
770         from InsertTextCommand::performTrivialReplace and ReplaceSelectionCommand::performTrivialReplace.
771         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Calls new constructor
772         * editing/CompositeEditCommand.h:
773         * editing/InsertTextCommand.cpp:
774         (WebCore::InsertTextCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
775         (WebCore::InsertTextCommand::input): Calls new constructor.
776         (WebCore::InsertTextCommand::insertTab): Use RefPtr instead of a raw pointer.
777         * editing/ReplaceSelectionCommand.cpp:
778         (WebCore::ReplaceSelectionCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
779         * editing/visible_units.cpp:
780         (WebCore::startPositionForLine): Calls new constructor.
781         * rendering/RenderTextControl.cpp:
782         (WebCore::RenderTextControl::visiblePositionForIndex): Calls new constructor; calls endPosition
783         on Range instead of avoid manually constructing a VisiblePosition out of endContainer and endOffset.
784
785 2011-06-22  Adam Barth  <abarth@webkit.org>
786
787         Reviewed by Darin Fisher.
788
789         [Chromium] Add WebDocument APIs for the functions moving from WebFrame
790         https://bugs.webkit.org/show_bug.cgi?id=62831
791
792         * dom/Document.cpp:
793         (WebCore::Document::openSearchDescriptionURL):
794             - This function exists to service a Chromium WebKit API, but it's
795               generally purpose and might be useful to other ports.  The
796               algorithm has some strange early exits, which I've marked with
797               FIXME comments.
798         * dom/Document.h:
799
800 2011-06-22  Nate Chapin  <japhet@chromium.org>
801
802         Reviewed by Adam Barth.
803
804         Don't let all subresources keep isLoadingInAPISense() from
805         returning false, only requests that affect
806         CachedResourceRequest::requestCount().
807
808         Also, add a callback to Internals to determine whether
809         a resource has been preloaded.
810
811         https://bugs.webkit.org/show_bug.cgi?id=62066
812
813         * WebCore.exp.in:
814         * dom/Document.cpp: Add m_loadEventFinished.
815         * dom/Document.h:
816         * loader/DocumentLoader.cpp:
817         (WebCore::DocumentLoader::isLoadingInAPISense):
818         * loader/cache/CachedResourceLoader.cpp:
819         (WebCore::CachedResourceLoader::isPreloaded):
820         * loader/cache/CachedResourceLoader.h:
821         * testing/Internals.cpp:
822         (WebCore::Internals::isPreloaded):
823         * testing/Internals.h:
824         * testing/Internals.idl:
825
826 2011-06-22  Chris Rogers  <crogers@google.com>
827
828         Reviewed by David Levin.
829
830         Use create() method for AsyncAudioDecoder::DecodingTask
831         https://bugs.webkit.org/show_bug.cgi?id=63198
832
833         No new tests.  This doesn't change any JS API.
834
835         * webaudio/AsyncAudioDecoder.cpp:
836         (WebCore::AsyncAudioDecoder::decodeAsync):
837         (WebCore::AsyncAudioDecoder::DecodingTask::create):
838         * webaudio/AsyncAudioDecoder.h:
839
840 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
841
842         Unreviewed, rolling out r89489.
843         http://trac.webkit.org/changeset/89489
844         https://bugs.webkit.org/show_bug.cgi?id=63203
845
846         Broke chromium mac build on build.webkit.org (Requested by
847         abarth on #webkit).
848
849         * WebCore.gyp/WebCore.gyp:
850         * loader/cache/CachedFont.cpp:
851         * platform/chromium/DragImageRef.h:
852         * platform/graphics/FloatPoint.h:
853         * platform/graphics/FloatRect.h:
854         * platform/graphics/FloatSize.h:
855         * platform/graphics/FontPlatformData.h:
856         (WebCore::FontPlatformData::hash):
857         * platform/graphics/GlyphBuffer.h:
858         (WebCore::GlyphBuffer::advanceAt):
859         (WebCore::GlyphBuffer::add):
860         (WebCore::GlyphBuffer::expandLastAdvance):
861         * platform/graphics/IntPoint.h:
862         * platform/graphics/IntRect.h:
863         * platform/graphics/IntSize.h:
864         * platform/graphics/SimpleFontData.h:
865         * platform/graphics/cg/FloatPointCG.cpp:
866         * platform/graphics/cg/FloatRectCG.cpp:
867         * platform/graphics/cg/FloatSizeCG.cpp:
868         * platform/graphics/cg/IntPointCG.cpp:
869         * platform/graphics/cg/IntRectCG.cpp:
870         * platform/graphics/cg/IntSizeCG.cpp:
871         * platform/graphics/mac/FontCustomPlatformData.cpp:
872         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
873         (WebCore::createFontCustomPlatformData):
874         * platform/graphics/mac/FontCustomPlatformData.h:
875         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
876
877 2011-06-22  Luke Macpherson   <macpherson@chromium.org>
878
879         Reviewed by James Robinson.
880
881         Remove comment that snuck in via copy & paste.
882         https://bugs.webkit.org/show_bug.cgi?id=63177
883
884         No new tests / no code changes.
885
886         * css/CSSPrimitiveValueMappings.h:
887         (WebCore::CSSPrimitiveValue::operator short):
888         Removed incorrect comment.
889
890 2011-06-22  Annie Sullivan  <sullivan@chromium.org>
891
892         Reviewed by Ryosuke Niwa.
893
894         REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
895         https://bugs.webkit.org/show_bug.cgi?id=61594
896
897         When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
898         split at to be at the end of a text node. The code assumes the position is at the start of the node, so
899         pass the correct node into splitTreeToNode() in that case.
900
901         Tests: editing/inserting/return-key-before-br-in-span.html
902                editing/inserting/return-key-middle-of-span.html
903
904         * editing/InsertParagraphSeparatorCommand.cpp:
905         (WebCore::InsertParagraphSeparatorCommand::doApply):
906
907 2011-06-22  Rob Buis  <rbuis@rim.com>
908
909         Reviewed by Nikolas Zimmermann.
910
911         SVG1.1SE test with pointer-events and invalid gradient fill fails
912         https://bugs.webkit.org/show_bug.cgi?id=63109
913
914         Properly detect fill/stroke properties of type SVG_PAINTTYPE_URI_NONE, store it in SVGPaint
915         and don't apply the paint if the uri lookup fails.
916
917         Tests: svg/W3C-SVG-1.1-SE/interact-pointer-03-t.svg
918                svg/custom/pointer-events-invalid-fill.svg
919
920         * css/SVGCSSParser.cpp:
921         (WebCore::CSSParser::parseSVGValue):
922         * rendering/svg/RenderSVGResource.cpp:
923         (WebCore::requestPaintingResource):
924         * svg/SVGPaint.h:
925         (WebCore::SVGPaint::createURIAndNone):
926
927 2011-06-22  Cary Clark  <caryclark@google.com>
928
929         Reviewed by Darin Fisher.
930
931         Use Skia if Skia on Mac Chrome is enabled
932         https://bugs.webkit.org/show_bug.cgi?id=62999
933
934         No new tests. This does not affect existing
935         functionality.
936
937         * WebCore.gyp/WebCore.gyp:
938         Include Skia and related files and exclude CG
939         and related files when building Chromium for Skia
940         on the Mac.
941
942         * loader/cache/CachedFont.cpp:
943         Rename CHROME to CHROMIUM.
944
945         * platform/chromium/DragImageRef.h:
946         * platform/graphics/FloatPoint.h:
947         * platform/graphics/FloatRect.h:
948         * platform/graphics/FloatSize.h:
949         * platform/graphics/FontPlatformData.h:
950         (WebCore::FontPlatformData::hash):
951         * platform/graphics/GlyphBuffer.h:
952         (WebCore::GlyphBuffer::advanceAt):
953         (WebCore::GlyphBuffer::add):
954         (WebCore::GlyphBuffer::expandLastAdvance):
955         * platform/graphics/IntPoint.h:
956         * platform/graphics/IntRect.h:
957         * platform/graphics/IntSize.h:
958         * platform/graphics/SimpleFontData.h:
959         * platform/graphics/cg/FloatPointCG.cpp:
960         * platform/graphics/cg/FloatRectCG.cpp:
961         * platform/graphics/cg/FloatSizeCG.cpp:
962         * platform/graphics/cg/IntPointCG.cpp:
963         * platform/graphics/cg/IntRectCG.cpp:
964         * platform/graphics/cg/IntSizeCG.cpp:
965         * platform/graphics/mac/FontCustomPlatformData.cpp:
966         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
967         (WebCore::createFontCustomPlatformData):
968         * platform/graphics/mac/FontCustomPlatformData.h:
969         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
970         Ditto.
971
972 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
973
974         Reviewed by Adam Barth.
975
976         IndexedDB createIndex should NOT throw if name arg is null
977         https://bugs.webkit.org/show_bug.cgi?id=63114
978
979         * storage/IDBObjectStore.idl: remove ConvertNullToNullString flag
980         so null values will be stringified as "null", as per WebIDL spec.
981
982 2011-06-22  Chris Rogers  <crogers@google.com>
983
984         Reviewed by Kenneth Russell.
985
986         AudioContext needs non-blocking call to create AudioBuffer from audio file data
987         https://bugs.webkit.org/show_bug.cgi?id=61947
988
989         No new tests since audio API is not yet implemented.
990
991         * DerivedSources.make:
992         * WebCore.gypi:
993         * WebCore.xcodeproj/project.pbxproj:
994         * webaudio/AsyncAudioDecoder.cpp: Added.
995         (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
996         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
997         (WebCore::AsyncAudioDecoder::decodeAsync):
998         (WebCore::AsyncAudioDecoder::threadEntry):
999         (WebCore::AsyncAudioDecoder::runLoop):
1000         (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
1001         (WebCore::AsyncAudioDecoder::DecodingTask::decode):
1002         (WebCore::AsyncAudioDecoder::DecodingTask::notifyCompleteDispatch):
1003         (WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):
1004         * webaudio/AsyncAudioDecoder.h: Added.
1005         (WebCore::AsyncAudioDecoder::DecodingTask::audioData):
1006         (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
1007         (WebCore::AsyncAudioDecoder::DecodingTask::successCallback):
1008         (WebCore::AsyncAudioDecoder::DecodingTask::errorCallback):
1009         (WebCore::AsyncAudioDecoder::DecodingTask::audioBuffer):
1010         * webaudio/AudioBufferCallback.h: Added.
1011         (WebCore::AudioBufferCallback::~AudioBufferCallback):
1012         * webaudio/AudioBufferCallback.idl: Added.
1013         * webaudio/AudioContext.cpp:
1014         (WebCore::AudioContext::decodeAudioData):
1015         * webaudio/AudioContext.h:
1016         * webaudio/AudioContext.idl:
1017
1018 2011-06-22  Beth Dakin  <bdakin@apple.com>
1019
1020         Reviewed by Simon Fraser.
1021
1022         https://bugs.webkit.org/show_bug.cgi?id=63174
1023         Don't draw the borders as one path unless there really are 4 borders
1024         -and corresponding-
1025         <rdar://problem/9457997>
1026
1027         If any of the border edges have no width, then allEdgesVisible should be set to 
1028         false since borders without width will not be visible.
1029         * rendering/RenderBoxModelObject.cpp:
1030         (WebCore::RenderBoxModelObject::paintBorder):
1031
1032 2011-06-22  Matthew Delaney  <mdelaney@apple.com>
1033
1034         Reviewed by Oliver Hunt.
1035
1036         Canvas in layer obscures overlapping span
1037         https://bugs.webkit.org/show_bug.cgi?id=63161
1038
1039         Test: compositing/layer-creation/spanOverlapsCanvas.html
1040
1041         * rendering/RenderLayer.cpp: Added checks for canvas to be layered properly.
1042         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1043         (WebCore::RenderLayer::isSelfPaintingLayer):
1044
1045 2011-06-22  Chris Rogers  <crogers@google.com>
1046
1047         Reviewed by Kenneth Russell.
1048
1049         AudioContext noteGrainOn() method should not apply explicit windowing
1050         https://bugs.webkit.org/show_bug.cgi?id=63005
1051
1052         No new tests since audio API is not yet implemented.
1053
1054         * webaudio/AudioBufferSourceNode.cpp:
1055         (WebCore::AudioBufferSourceNode::readFromBuffer):
1056         * webaudio/AudioBufferSourceNode.h:
1057
1058 2011-06-22  Kentaro Hara  <haraken@google.com>
1059
1060         Reviewed by Tony Chang.
1061
1062         Check |keypath| argument of createObjectStore(). Remove storage/indexeddb/keypath-as-array.html.
1063         https://bugs.webkit.org/show_bug.cgi?id=63054
1064
1065         At the head of createObjectStore(), we parse |keypath| argument and throw an exception
1066         if the |keypath| is invalid. With this parsing, we remove keypath-as-array.html because
1067         the current keypath parser does not support an array of keypath and (more importantly)
1068         the current implementation of ObjectStore does not support multiple keypaths.
1069         We added keypath-basics.html that demonstrates that we do not support an array of keypaths.
1070
1071         Tests: storage/indexeddb/keypath-basics.html
1072
1073         * storage/IDBDatabase.cpp:
1074         (WebCore::IDBDatabase::createObjectStore):
1075         * storage/IDBKeyPath.cpp:
1076         (WebCore::IDBIsValidKeyPath):
1077         * storage/IDBKeyPath.h:
1078
1079 2011-06-22  Young Han Lee  <joybro@company100.net>
1080
1081         Reviewed by Simon Fraser.
1082
1083         animation-timing-function property with a list uses first item for all animations
1084         https://bugs.webkit.org/show_bug.cgi?id=60303
1085
1086         When an element has multiple animations that have different timingFunctions,
1087         the progress of each animation should be calculated using its respective timingFunction.
1088         But at this point, the timingFunction of the first animation is only used for the
1089         calculation, regardless of how many animations the element has.
1090
1091         The code for getting a timingFunction is changed by this patch
1092         so that the timingFunction of the correct animation searched by its name will be used.
1093
1094         Test: animations/multiple-animations-timing-function.html
1095
1096         * page/animation/KeyframeAnimation.cpp:
1097         (WebCore::getAnimationFromStyleByName):
1098         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
1099
1100 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1101
1102         Unreviewed, rolling out r89407, r89409, r89410, and r89411.
1103         http://trac.webkit.org/changeset/89407
1104         http://trac.webkit.org/changeset/89409
1105         http://trac.webkit.org/changeset/89410
1106         http://trac.webkit.org/changeset/89411
1107         https://bugs.webkit.org/show_bug.cgi?id=63168
1108
1109         Broke Chromium tests for Forms and Autofill (Requested by
1110         dimich on #webkit).
1111
1112         * css/html.css:
1113         (input[type="search"]::-webkit-search-cancel-button):
1114         (input[type="search"]::-webkit-search-decoration):
1115         (input[type="search"]::-webkit-search-results-decoration):
1116         (input[type="search"]::-webkit-search-results-button):
1117         (input::-webkit-inner-spin-button):
1118         (input::-webkit-input-speech-button):
1119         * html/HTMLInputElement.cpp:
1120         * html/HTMLInputElement.h:
1121         * html/InputType.h:
1122         * html/SearchInputType.cpp:
1123         (WebCore::SearchInputType::SearchInputType):
1124         (WebCore::SearchInputType::createShadowSubtree):
1125         (WebCore::SearchInputType::destroyShadowSubtree):
1126         * html/SearchInputType.h:
1127         (WebCore::SearchInputType::innerBlockElement):
1128         * html/TextFieldInputType.cpp:
1129         (WebCore::TextFieldInputType::TextFieldInputType):
1130         (WebCore::TextFieldInputType::createShadowSubtree):
1131         (WebCore::TextFieldInputType::destroyShadowSubtree):
1132         * html/TextFieldInputType.h:
1133         (WebCore::TextFieldInputType::innerTextElement):
1134         (WebCore::TextFieldInputType::innerSpinButtonElement):
1135         (WebCore::TextFieldInputType::speechButtonElement):
1136         (WebCore::TextFieldInputType::setInnerTextElement):
1137         (WebCore::TextFieldInputType::setSpeechButtonElement):
1138         * rendering/RenderTextControlSingleLine.cpp:
1139         (WebCore::RenderTextControlSingleLine::innerTextElement):
1140         (WebCore::RenderTextControlSingleLine::layout):
1141         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1142         (WebCore::RenderTextControlSingleLine::forwardEvent):
1143         (WebCore::RenderTextControlSingleLine::styleDidChange):
1144         (WebCore::RenderTextControlSingleLine::hasControlClip):
1145         (WebCore::RenderTextControlSingleLine::controlClipRect):
1146         (WebCore::RenderTextControlSingleLine::textBlockWidth):
1147         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1148         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
1149         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
1150         * rendering/RenderTextControlSingleLine.h:
1151
1152 2011-06-20  Mikhail Naganov  <mnaganov@chromium.org>
1153
1154         Reviewed by Pavel Feldman.
1155
1156         Web Inspector: [Chromium] Improve speed of heap profiles dominators view.
1157         https://bugs.webkit.org/show_bug.cgi?id=62979
1158
1159         * inspector/front-end/DetailedHeapshotGridNodes.js:
1160         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
1161         * inspector/front-end/HeapSnapshot.js:
1162         (WebInspector.HeapSnapshotArraySlice.prototype.item):
1163         (WebInspector.HeapSnapshotArraySlice.prototype.slice):
1164         (WebInspector.HeapSnapshot.prototype.dispose):
1165         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
1166         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
1167         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
1168         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1169         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
1170         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1171         (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
1172         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
1173         (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
1174         (WebInspector.HeapSnapshotFilteredOrderedIterator):
1175         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
1176         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get length):
1177         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
1178         (WebInspector.HeapSnapshotNodesProvider):
1179         * inspector/front-end/HeapSnapshotProxy.js:
1180         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
1181
1182 2011-06-22  Sreeram Ramachandran  <sreeram@chromium.org>
1183
1184         Reviewed by Pavel Feldman.
1185
1186         Web Inspector: Restore console messages when restoring inspector state
1187         https://bugs.webkit.org/show_bug.cgi?id=63146
1188
1189         No new tests (no change in functionality, only in display).
1190
1191         * inspector/InspectorConsoleAgent.cpp:
1192         (WebCore::InspectorConsoleAgent::restore):
1193         * inspector/InspectorConsoleAgent.h:
1194         * inspector/InspectorController.cpp:
1195         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1196
1197 2011-06-22  Adam Barth  <abarth@webkit.org>
1198
1199         Attempt to fix the GTK build after my incomplete rollout of 88332.
1200
1201         * GNUmakefile.list.am:
1202
1203 2011-06-22  Sam Weinig  <sam@webkit.org>
1204
1205         Reviewed by Adam Barth.
1206
1207         HTML parser should limit element depth of produced tree
1208         https://bugs.webkit.org/show_bug.cgi?id=63082
1209
1210         Test by:
1211             fast/parser/block-nesting-cap.html
1212             fast/parser/element-nesting-cap.html
1213
1214         * html/parser/HTMLConstructionSite.cpp:
1215         (WebCore::HTMLConstructionSite::attach):
1216         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1217         * html/parser/HTMLConstructionSite.h:
1218         Limit the DOM tree depth by turning attempts to add a child passed a certain
1219         threshold (configurable by Settings::maximumDOMTreeDepth) into a sibling.
1220
1221         * html/parser/HTMLDocumentParser.cpp:
1222         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1223         (WebCore::HTMLDocumentParser::maximumDOMTreeDepth):
1224         * html/parser/HTMLDocumentParser.h:
1225         Pass the maximumDOMTreeDepth to the TreeBuilder.
1226
1227         * html/parser/HTMLElementStack.cpp:
1228         (WebCore::HTMLElementStack::HTMLElementStack):
1229         (WebCore::HTMLElementStack::popAll):
1230         (WebCore::HTMLElementStack::insertAbove):
1231         (WebCore::HTMLElementStack::pushCommon):
1232         (WebCore::HTMLElementStack::popCommon):
1233         (WebCore::HTMLElementStack::removeNonTopCommon):
1234         * html/parser/HTMLElementStack.h:
1235         (WebCore::HTMLElementStack::size):
1236         Keep track of the size of the element stack.
1237
1238         * html/parser/HTMLTreeBuilder.cpp:
1239         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1240         * html/parser/HTMLTreeBuilder.h:
1241         (WebCore::HTMLTreeBuilder::create):
1242         Pass the maximumDOMTreeDepth to the construction site.
1243
1244         * page/Settings.cpp:
1245         (WebCore::Settings::Settings):
1246         * page/Settings.h:
1247         (WebCore::Settings::setMaximumHTMLParserDOMTreeDepth):
1248         (WebCore::Settings::maximumHTMLParserDOMTreeDepth):
1249         Add a setting to control the maximum DOM tree depth that the parser will produce.
1250
1251 2011-06-22  Adam Barth  <abarth@webkit.org>
1252
1253         Rollout 88332.  As discussed on webkit-dev, we'd like to iterate on
1254         both the API and it's implementation a bit.
1255
1256         * WebCore.gypi:
1257         * bindings/generic/RuntimeEnabledFeatures.cpp:
1258         * bindings/generic/RuntimeEnabledFeatures.h:
1259         * dom/DocumentMarker.h:
1260         (WebCore::DocumentMarker::activeMatch):
1261         * dom/DocumentMarkerController.cpp:
1262         * dom/DocumentMarkerController.h:
1263         * html/HTMLDivElement.cpp:
1264         * html/HTMLDivElement.h:
1265         * html/HTMLDivElement.idl:
1266         * html/HTMLInputElement.cpp:
1267         * html/HTMLInputElement.h:
1268         * html/HTMLInputElement.idl:
1269         * html/HTMLTextAreaElement.cpp:
1270         * html/HTMLTextAreaElement.h:
1271         * html/HTMLTextAreaElement.idl:
1272         * html/SpellcheckRange.cpp: Removed.
1273         * html/SpellcheckRange.h: Removed.
1274         * html/SpellcheckRange.idl: Removed.
1275         * html/SpellcheckRangeList.cpp: Removed.
1276         * html/SpellcheckRangeList.h: Removed.
1277         * html/SpellcheckRangeList.idl: Removed.
1278         * rendering/InlineTextBox.cpp:
1279         (WebCore::textCheckingLineStyleForMarkerType):
1280         (WebCore::InlineTextBox::paintDocumentMarkers):
1281
1282 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
1283
1284         Reviewed by Adam Barth.
1285
1286         IndexedDB: fix multiple issues in IDBDatabase.idl
1287         https://bugs.webkit.org/show_bug.cgi?id=63140
1288
1289         Tests: storage/indexeddb/createObjectStore-name-argument-required.html
1290                storage/indexeddb/createObjectStore-null-name.html
1291                storage/indexeddb/deleteObjectStore-name-argument-required.html
1292                storage/indexeddb/deleteObjectStore-null-name.html
1293                storage/indexeddb/setVersion-null.html
1294                storage/indexeddb/transaction-storeNames-required.html
1295
1296         * storage/IDBDatabase.idl: remove LegacyDefaultOptionalArguments so
1297         all functions will throw TypeError when called with too few arguments,
1298         as per WebIDL spec. Also remove ConvertNullToNullString flags so null
1299         values are stringified as "null" (also as per WebIDL spec).
1300
1301 2011-06-22  Vsevolod Vlasov  <vsevik@chromium.org>
1302
1303         Reviewed by Pavel Feldman.
1304
1305         Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
1306         https://bugs.webkit.org/show_bug.cgi?id=63069
1307
1308         * inspector/Inspector.json:
1309         * inspector/InspectorPageAgent.cpp:
1310         (WebCore::InspectorPageAgent::cachedResourceContent):
1311         (WebCore::InspectorPageAgent::resourceContent):
1312         (WebCore::InspectorPageAgent::getResourceContent):
1313         (WebCore::InspectorPageAgent::searchInResources):
1314         * inspector/InspectorPageAgent.h:
1315         * inspector/InspectorResourceAgent.cpp:
1316         (WebCore::InspectorResourceAgent::getResourceContent):
1317         * inspector/InspectorResourceAgent.h:
1318         * inspector/InspectorStyleSheet.cpp:
1319         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1320         * inspector/front-end/NetworkManager.js:
1321         (WebInspector.NetworkManager.prototype.requestContent):
1322         * inspector/front-end/Resource.js:
1323         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
1324         (WebInspector.Resource.prototype._innerRequestContent):
1325
1326 2011-06-22  Luke Macpherson   <macpherson@chromium.org>
1327
1328         Reviewed by Dimitri Glazkov.
1329
1330         Support cast from CSSPrimitiveValue to short and use for CSSPropertyWidows and CSSPropertyOrphans.
1331         https://bugs.webkit.org/show_bug.cgi?id=62964
1332
1333         No new tests / refactoring only.
1334
1335         * css/CSSPrimitiveValueMappings.h:
1336         Support cast to/from short.
1337         * css/CSSStyleSelector.cpp:
1338         (WebCore::CSSStyleSelector::applyProperty):
1339         Use cast to short to allow CSSPropertWidows and CSSPropertyOrphans to use existing macro.
1340
1341 2011-06-22  Eunmi Lee  <eunmi15.lee@samsung.com>
1342
1343         Reviewed by Martin Robinson.
1344
1345         Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
1346         https://bugs.webkit.org/show_bug.cgi?id=62848
1347
1348         This patch will make GtkWidgetBackingStore shareable with EFL port.
1349         It is a preparation to integrate WebKit2's BackingStoreGtk.cpp and
1350         BackingStoreEfl.cpp as a BackingStoreCairo.cpp.
1351
1352         * GNUmakefile.am:
1353         * GNUmakefile.list.am:
1354         * platform/graphics/cairo/CairoUtilities.cpp:
1355         (WebCore::copyRectFromOneSurfaceToAnother):
1356         * platform/graphics/cairo/CairoUtilities.h:
1357         * platform/cairo/WidgetBackingStore.h: Added.
1358         * platform/gtk/GtkWidgetBackingStore.h: Removed.
1359         * platform/gtk/GtkWidgetBackingStoreCairo.cpp:
1360         (WebCore::createSurfaceForBackingStore):
1361         (WebCore::WidgetBackingStorePrivate::create):
1362         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
1363         (WebCore::WidgetBackingStore::create):
1364         (WebCore::WidgetBackingStore::WidgetBackingStore):
1365         (WebCore::WidgetBackingStore::~WidgetBackingStore):
1366         (WebCore::WidgetBackingStore::cairoSurface):
1367         (WebCore::WidgetBackingStore::scroll):
1368         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
1369         (WebCore::WidgetBackingStorePrivate::create):
1370         (WebCore::WidgetBackingStorePrivate::~WidgetBackingStorePrivate):
1371         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
1372         (WebCore::WidgetBackingStore::create):
1373         (WebCore::WidgetBackingStore::WidgetBackingStore):
1374         (WebCore::WidgetBackingStore::~WidgetBackingStore):
1375         (WebCore::WidgetBackingStore::cairoSurface):
1376         (WebCore::WidgetBackingStore::scroll):
1377
1378 2011-06-22  Simon Fraser  <simon.fraser@apple.com>
1379
1380         Reviewed by Dan Bernstein.
1381
1382         Update position, bounds and anchor point in GraphicsLayerCA all at once
1383         https://bugs.webkit.org/show_bug.cgi?id=63148
1384
1385         Since position, bounds and anchor point are inter-dependent, avoid
1386         redundant work by simply updating them all at the same time.
1387         
1388         No behavior changes, so no new tests.
1389
1390         * platform/graphics/ca/GraphicsLayerCA.cpp:
1391         (WebCore::GraphicsLayerCA::setPosition):
1392         (WebCore::GraphicsLayerCA::setAnchorPoint):
1393         (WebCore::GraphicsLayerCA::setSize):
1394         (WebCore::GraphicsLayerCA::setBoundsOrigin):
1395         (WebCore::GraphicsLayerCA::setAllowTiledLayer):
1396         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1397         (WebCore::GraphicsLayerCA::updateGeometry):
1398         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1399         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1400         * platform/graphics/ca/GraphicsLayerCA.h:
1401
1402 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
1403
1404         Reviewed by Darin Adler.
1405
1406         Make instantiation of legacy editing position more explicit
1407         https://bugs.webkit.org/show_bug.cgi?id=63037
1408
1409         Replaced the constructor of Position class that used to instantiate a legacy editing position
1410         by a function called createLegacyEditingPosition.
1411
1412         * WebCore.exp.in: Removed the constructor from the list.
1413         * accessibility/AXObjectCache.cpp:
1414         (WebCore::AXObjectCache::visiblePositionForTextMarkerData): Calls createLegacyEditingPosition.
1415         * accessibility/gtk/AXObjectCacheAtk.cpp:
1416         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): No longer uses Positions to instantiate a range.
1417         * dom/Position.cpp:
1418         (WebCore::Position::Position): New constructor takes LegacyEditingOffset, which can only be instantiated
1419         by createLegacyEditingPosition.
1420         (WebCore::Position::previous): Calls createLegacyEditingPosition.
1421         (WebCore::Position::next): Ditto.
1422         (WebCore::Position::upstream): Ditto.
1423         (WebCore::Position::downstream): Ditto.
1424         * dom/Position.h: Added new Position::LegacyEditingOffset class to hide the legacy constructor from the world.
1425         (WebCore::Position::LegacyEditingOffset::value): Added.
1426         (WebCore::Position::LegacyEditingOffset::LegacyEditingOffset): Added.
1427         (WebCore::createLegacyEditingPosition): Added.
1428         * dom/PositionIterator.cpp:
1429         (WebCore::PositionIterator::operator Position): Calls createLegacyEditingPosition.
1430         * dom/RangeBoundaryPoint.h:
1431         (WebCore::RangeBoundaryPoint::toPosition): Ditto.
1432         * editing/InsertTextCommand.cpp:
1433         (WebCore::InsertTextCommand::performTrivialReplace): Instantiates new Position instead of old one; this is always
1434         safe since the anchor node is always a text node.
1435         * editing/VisiblePosition.cpp:
1436         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Calls createLegacyEditingPosition.
1437         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.
1438         * editing/markup.cpp:
1439         (WebCore::StyledMarkupAccumulator::renderedText): Ditto.
1440         * editing/visible_units.cpp:
1441         (WebCore::previousBoundary): Ditto.
1442         (WebCore::previousLinePosition): Ditto.
1443         (WebCore::nextLinePosition): Ditto.
1444         * page/DOMSelection.cpp:
1445         (WebCore::DOMSelection::collapse): Ditto.
1446         (WebCore::DOMSelection::setBaseAndExtent): Ditto.
1447         (WebCore::DOMSelection::setPosition): Ditto.
1448         (WebCore::DOMSelection::extend): Ditto.
1449         * rendering/RenderBlock.cpp:
1450         (WebCore::RenderBlock::positionForBox): Ditto.
1451         * rendering/RenderBox.cpp:
1452         (WebCore::RenderBox::positionForPoint): Calls Position() instead of Position(0, 0).
1453         * rendering/RenderObject.cpp:
1454         (WebCore::RenderObject::createVisiblePosition): Calls createLegacyEditingPosition.s
1455
1456 2011-06-22  Pavel Feldman  <pfeldman@google.com>
1457
1458         Reviewed by Yury Semikhatsky.
1459
1460         Web Inspector: split setAttributes and setAttributeValue.
1461         https://bugs.webkit.org/show_bug.cgi?id=63138
1462
1463         * inspector/Inspector.json:
1464         * inspector/InspectorDOMAgent.cpp:
1465         (WebCore::InspectorDOMAgent::setAttributeValue):
1466         (WebCore::InspectorDOMAgent::setAttributesText):
1467         * inspector/InspectorDOMAgent.h:
1468         * inspector/front-end/DOMAgent.js:
1469         (WebInspector.DOMNode.prototype.setAttribute):
1470         (WebInspector.DOMNode.prototype.setAttributeValue):
1471
1472 2011-06-22  Dirk Schulze  <krit@webkit.org>
1473
1474         Reviewed by Nikolas Zimmermann.
1475
1476         Animate viewBox attribute in SVG
1477         https://bugs.webkit.org/show_bug.cgi?id=20057
1478
1479         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
1480         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGRect. With the new animator we support
1481         interpolation between SVGRects. A feature that can be used to get smooth zooming animations for SVGs.
1482         
1483         Added parseRect() to SVGParserUtilities for parsing Strings to FloatRects.
1484
1485         Tests: svg/animations/svgrect-animation-1.html
1486                svg/animations/svgrect-animation-2.html
1487
1488         * CMakeLists.txt: Added new file SVGAnimatedRect.cpp to build system.
1489         * GNUmakefile.list.am: Ditto.
1490         * WebCore.gypi: Ditto.
1491         * WebCore.pro: Ditto.
1492         * WebCore.xcodeproj/project.pbxproj: Ditto.
1493         * platform/graphics/FloatRect.h: Added new operators + and +=.
1494         (WebCore::operator+=):
1495         (WebCore::operator+):
1496         * svg/SVGAllInOne.cpp: Added SVGAnimatedRect.cpp for Win build.
1497         * svg/SVGAnimateElement.cpp: Handle AnimatedRect explicitly.
1498         (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
1499         (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
1500         (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
1501         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
1502         (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
1503         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
1504         (WebCore::SVGAnimateElement::calculateDistance): Ditto.
1505         * svg/SVGAnimatedRect.cpp: Added. The new Animator for SVGRect.
1506         (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator):
1507         (WebCore::SVGAnimatedRectAnimator::constructFromString):
1508         (WebCore::SVGAnimatedRectAnimator::calculateFromAndToValues):
1509         (WebCore::SVGAnimatedRectAnimator::calculateFromAndByValues):
1510         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
1511         (WebCore::SVGAnimatedRectAnimator::calculateDistance):
1512         * svg/SVGAnimatedRect.h:
1513         (WebCore::SVGAnimatedRectAnimator::~SVGAnimatedRectAnimator):
1514         * svg/SVGAnimatedType.cpp: Support for FloatRect.
1515         (WebCore::SVGAnimatedType::~SVGAnimatedType):
1516         (WebCore::SVGAnimatedType::createRect):
1517         (WebCore::SVGAnimatedType::rect):
1518         (WebCore::SVGAnimatedType::valueAsString):
1519         (WebCore::SVGAnimatedType::setValueAsString):
1520         * svg/SVGAnimatedType.h:
1521         * svg/SVGAnimatorFactory.h:
1522         (WebCore::SVGAnimatorFactory::create):
1523         * svg/SVGParserUtilities.cpp: Parse String as FloatRect.
1524         (WebCore::parseRect):
1525         * svg/SVGParserUtilities.h:
1526
1527 2011-06-20  Dimitri Glazkov  <dglazkov@chromium.org>
1528
1529         Reviewed by Kent Tamura.
1530
1531         FileChooser should be only created when we need to choose files.
1532         https://bugs.webkit.org/show_bug.cgi?id=63039
1533
1534         1) Introduce FileChooserSettings to decouple setting querying from
1535         FileChooser. It's a simple copyable settings object, which allows us
1536         to capture the settings atomically and treat them as discardable data.
1537
1538         2) Encapsulate lifetime management of FileChooser entirely in
1539         FileChooserClient. It's now a "smart" client, and allows us to
1540         completely remove FileChooser management concerns from a FileChooserClient
1541         implementor.
1542
1543         3) Change creation of FileChooser to be on-demand, only when we actually
1544         need to choose file.
1545
1546         4) Rearrange calling of dispatchFormControlChangeEvent to be at the end
1547         of a function and remove "am-I-dead" checks that are now unnecessary.
1548
1549         5) Clean up directory upload code a bit, and make use of FileChooserSettings
1550         to pass directory name.
1551
1552         Refactoring, covered by existing tests.
1553
1554         * WebCore.exp.in: Removed unneeded export.
1555         * loader/EmptyClients.h: Removed now-unneded param.
1556         (WebCore::EmptyChromeClient::enumerateChosenDirectory): Ditto.
1557         * page/Chrome.cpp:
1558         (WebCore::Chrome::enumerateChosenDirectory): Ditto.
1559         * page/Chrome.h: Ditto.
1560         * page/ChromeClient.h: Ditto.
1561         * platform/FileChooser.cpp:
1562         (WebCore::FileChooserClient::~FileChooserClient): Added discarding of chooser.
1563         (WebCore::FileChooserClient::newFileChooser): Added.
1564         (WebCore::FileChooserClient::discardChooser): Added.
1565         (WebCore::FileChooser::FileChooser): Changed to use FileChooserSettings.
1566         (WebCore::FileChooser::create): Ditto.
1567         (WebCore::FileChooser::~FileChooser): Removed unneeded code.
1568         (WebCore::FileChooser::chooseFiles): Changed to pass results to the client.
1569         * platform/FileChooser.h:
1570         (WebCore::FileChooser::settings): Added.
1571         * rendering/RenderFileUploadControl.cpp:
1572         (WebCore::filenamesFromFileList): Added a helper.
1573         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use the helper, removed
1574             chooser initialization code.
1575         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed disconnection code, now
1576             handled in FileChooserClient.
1577         (WebCore::RenderFileUploadControl::filesChosen): Renamed from valueChanged, rearranged to
1578             fire dispatchFormControlChangeEvent last.
1579         (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload): Changed to use settings.
1580         (WebCore::RenderFileUploadControl::click): Ditto.
1581         (WebCore::RenderFileUploadControl::updateFromElement): Removed now-unneeded check.
1582         (WebCore::RenderFileUploadControl::receiveDroppedFiles): Changed to avoid using the chooser, since
1583             it is not necessary.
1584         (WebCore::RenderFileUploadControl::fileTextValue): Changed to use input data, not chooser data.
1585         * rendering/RenderFileUploadControl.h: Updated decls.
1586
1587 2011-06-22  Pavel Feldman  <pfeldman@google.com>
1588
1589         Reviewed by Yury Semikhatsky.
1590
1591         Web Inspector: DOMAgent.resolveNode should receive objectGroup.
1592         https://bugs.webkit.org/show_bug.cgi?id=63137
1593
1594         * inspector/InjectedScript.cpp:
1595         (WebCore::InjectedScript::wrapNode):
1596         * inspector/InjectedScript.h:
1597         * inspector/InjectedScriptSource.js:
1598         (.):
1599         * inspector/Inspector.json:
1600         * inspector/InspectorDOMAgent.cpp:
1601         (WebCore::InspectorDOMAgent::resolveNode):
1602         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1603         * inspector/InspectorDOMAgent.h:
1604         * inspector/InspectorDOMDebuggerAgent.cpp:
1605         (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
1606         * inspector/InspectorDebuggerAgent.cpp:
1607         (WebCore::InspectorDebuggerAgent::resume):
1608         * inspector/InspectorDebuggerAgent.h:
1609         * inspector/front-end/ElementsTreeOutline.js:
1610         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
1611         * inspector/front-end/EventListenersSidebarPane.js:
1612         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
1613         (WebInspector.EventListenersSidebarPane.prototype.update):
1614         (.):
1615         ():
1616         * inspector/front-end/PropertiesSidebarPane.js:
1617         * inspector/front-end/RemoteObject.js:
1618         (WebInspector.RemoteObject.resolveNode):
1619         (WebInspector.RemoteObjectProperty.fromPrimitiveValue):
1620
1621 2011-06-22  Pavel Podivilov  <podivilov@chromium.org>
1622
1623         Reviewed by Yury Semikhatsky.
1624
1625         Web Inspector: fix exceptions in scripts panel.
1626         https://bugs.webkit.org/show_bug.cgi?id=62865
1627
1628         Resource.requestContent callback may be fired after navigation when scripts panel
1629         is already reset.
1630
1631         * inspector/front-end/DebuggerPresentationModel.js:
1632         (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
1633         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1634         * inspector/front-end/ScriptsPanel.js:
1635         (WebInspector.ScriptsPanel.prototype._showSourceFrameAndAddToHistory):
1636         (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
1637         * inspector/front-end/SourceFile.js:
1638         (WebInspector.SourceFile.prototype.reload):
1639
1640 2011-06-21  Michael Saboff  <msaboff@apple.com>
1641
1642         Reviewed by Adam Roben.
1643
1644         REGRESSION (r88260): Assertion failure in FontCache::getCachedFontData when typing in Safari's address field
1645         https://bugs.webkit.org/show_bug.cgi?id=63078
1646
1647         Added FontCachePurgePreventer in WebCore::WebCoreTextFloatWidth to handle
1648         assertion failure when typing in address field on windows.  Investigated
1649         other possible code paths that need purge prevention.  Added 
1650         FontCachePurgeProtection to WebCore::createDragImageForLink and
1651         WebCore::doDrawTextAtPoint.
1652
1653         No change to functionality, therefore no new tests.
1654
1655         * platform/win/DragImageWin.cpp:
1656         (WebCore::createDragImageForLink):
1657         * platform/win/WebCoreTextRenderer.cpp:
1658         (WebCore::doDrawTextAtPoint):
1659         (WebCore::WebCoreTextFloatWidth):
1660
1661 2011-06-22  Darin Adler  <darin@apple.com>
1662
1663         Reviewed by Sam Weinig.
1664
1665         A couple setTextAsOfLastFormControlChangeEvent tweaks
1666         https://bugs.webkit.org/show_bug.cgi?id=63108
1667
1668         * html/HTMLFormControlElement.cpp:
1669         (WebCore::HTMLTextFormControlElement::insertedIntoDocument): Use
1670         emptyString() instead of String("") because it is better style and faster.
1671
1672         * html/HTMLFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent
1673         non-virtual so it actually gets inlined, since there are no overrides of it.
1674         Also make it take a const String& to avoid unnecessary reference count churn.
1675
1676 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1677
1678         Unreviewed, rolling out r89402.
1679         http://trac.webkit.org/changeset/89402
1680         https://bugs.webkit.org/show_bug.cgi?id=63129
1681
1682         It made 6 tests crash (Requested by Ossy on #webkit).
1683
1684         * dom/DataTransferItem.cpp:
1685         (WebCore::DataTransferItem::DataTransferItem):
1686         * dom/DataTransferItem.h:
1687         * dom/DataTransferItems.cpp:
1688         (WebCore::DataTransferItems::DataTransferItems):
1689         * dom/DataTransferItems.h:
1690         * editing/CompositeEditCommand.cpp:
1691         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
1692         * editing/CompositeEditCommand.h:
1693         * page/WebKitAnimationList.cpp:
1694         (WebCore::WebKitAnimationList::append):
1695         (WebCore::WebKitAnimationList::insertAnimation):
1696         * page/WebKitAnimationList.h:
1697         (WebCore::WebKitAnimationList::create):
1698         * svg/graphics/filters/SVGFEImage.cpp:
1699         (WebCore::FEImage::FEImage):
1700         (WebCore::FEImage::create):
1701         * svg/graphics/filters/SVGFEImage.h:
1702         * svg/graphics/filters/SVGFilterBuilder.cpp:
1703         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
1704         (WebCore::SVGFilterBuilder::add):
1705         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
1706         * svg/graphics/filters/SVGFilterBuilder.h:
1707         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1708         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
1709         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
1710         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
1711         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
1712         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1713         * websockets/WorkerThreadableWebSocketChannel.cpp:
1714         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
1715         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
1716         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
1717         * websockets/WorkerThreadableWebSocketChannel.h:
1718         (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
1719
1720 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1721
1722         Unreviewed, rolling out r89368.
1723         http://trac.webkit.org/changeset/89368
1724         https://bugs.webkit.org/show_bug.cgi?id=63128
1725
1726         It made http/tests/inspector/extensions-resources-
1727         redirect.html crash (Requested by Ossy on #webkit).
1728
1729         * inspector/Inspector.json:
1730         * inspector/InspectorPageAgent.cpp:
1731         (WebCore::InspectorPageAgent::cachedResourceContent):
1732         (WebCore::InspectorPageAgent::resourceContent):
1733         (WebCore::InspectorPageAgent::getResourceContent):
1734         (WebCore::InspectorPageAgent::searchInResources):
1735         * inspector/InspectorPageAgent.h:
1736         * inspector/InspectorResourceAgent.cpp:
1737         (WebCore::InspectorResourceAgent::getResourceContent):
1738         * inspector/InspectorResourceAgent.h:
1739         * inspector/InspectorStyleSheet.cpp:
1740         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1741         * inspector/front-end/NetworkManager.js:
1742         (WebInspector.NetworkManager.prototype.requestContent):
1743         * inspector/front-end/Resource.js:
1744         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
1745         (WebInspector.Resource.prototype._innerRequestContent):
1746
1747 2011-06-17  Pavel Podivilov  <podivilov@chromium.org>
1748
1749         Reviewed by Yury Semikhatsky.
1750
1751         Web Inspector: use stack trace to create anchors for console messages.
1752         https://bugs.webkit.org/show_bug.cgi?id=62856
1753
1754         * inspector/front-end/ConsoleView.js:
1755         (WebInspector.ConsoleView.prototype._completions.reportCompletions):
1756         (WebInspector.ConsoleView.prototype._completions):
1757         (WebInspector.ConsoleMessage.prototype._formatMessage):
1758         * inspector/front-end/DebuggerPresentationModel.js:
1759         (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
1760         * inspector/front-end/Panel.js:
1761         (WebInspector.Panel.prototype.createAnchor):
1762         * inspector/front-end/ScriptsPanel.js:
1763         (WebInspector.ScriptsPanel.prototype.createAnchor):
1764         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
1765         (WebInspector.ScriptsPanel.prototype._updateAnchor):
1766         * inspector/front-end/inspector.js:
1767         (WebInspector.linkifyResourceAsNode):
1768         (WebInspector.linkifyCallFrameAsNode):
1769
1770 2011-06-21  Kent Tamura  <tkent@chromium.org>
1771
1772         Reviewed by Dimitri Glazkov.
1773
1774         Avoid custom layout code of RenderTextControlSingleLine
1775         https://bugs.webkit.org/show_bug.cgi?id=61415
1776
1777         If a text field has a search results button, a search cancel
1778         button, a speech button, or a spin button, the editable inner text
1779         element and they are wrapped by a flexible box container, and the
1780         editable inner text element has flexibility.
1781         As the result of applying the flexible box, we don't need any
1782         horizontal layout code in RenderTextControlSingleLine except the
1783         inner spin button.
1784
1785         Also, we remove custom hit-testing code in nodeAtPoint(). If a
1786         user clicks on a position left of the inner editable text but not
1787         on the search results button, the search results button doesn't
1788         work though it worked.
1789
1790         * css/html.css:
1791         (input::-webkit-textfield-decoration-container):
1792           New style definition for the "container" element.
1793         (input[type="search"]::-webkit-search-cancel-button):
1794           It should be a block element because it's a child of the flexible box.
1795           Also, this doesn't have flexibility.
1796         (input[type="search"]::-webkit-search-decoration): ditto.
1797         (input[type="search"]::-webkit-search-results-decoration): ditto.
1798         (input[type="search"]::-webkit-search-results-button): ditto.
1799         (input::-webkit-inner-spin-button): ditto.
1800         (input::-webkit-input-speech-button): ditto.
1801         * html/HTMLInputElement.cpp:
1802         (WebCore::HTMLInputElement::containerElement):
1803           Add an accessor of the flexible box container.
1804           It just calls InputType::containerElement().
1805         * html/HTMLInputElement.h: Declare it.
1806         * html/InputType.h:
1807         (WebCore::InputType::containerElement): New accessor for a shadow element.
1808         * html/SearchInputType.cpp:
1809         (WebCore::SearchInputType::SearchInputType):
1810           m_innerBlock is moved to TextFieldInputType.
1811         (WebCore::SearchInputType::needsContainer):
1812           A search field always needs the flexible box container because
1813           of the results button and the cancel button.
1814         (WebCore::SearchInputType::createShadowSubtree):
1815           Use TextFieldInputType::createShadowSubtree(), then modify the tree.
1816         (WebCore::SearchInputType::destroyShadowSubtree):
1817           m_innerBlock is moved to TextFieldInputType.
1818         * html/SearchInputType.h:
1819         * html/TextFieldInputType.cpp:
1820         (WebCore::TextFieldInputType::TextFieldInputType):
1821           Initialize the new members.
1822         (WebCore::TextFieldInputType::needsContainer):
1823           Returns true if x-webkit-speech. We check a spin button separately.
1824         (WebCore::TextFieldInputType::createShadowSubtree):
1825           Wrap everything with the flexible box container if needsContainer() or we need a spin button.
1826         (WebCore::TextFieldInputType::containerElement): Added an accessor.
1827         (WebCore::TextFieldInputType::innerBlockElement): ditto.
1828         (WebCore::TextFieldInputType::innerTextElement): ditto.
1829         (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
1830         (WebCore::TextFieldInputType::speechButtonElement): ditto.
1831         (WebCore::TextFieldInputType::destroyShadowSubtree):
1832           Clear references to new shadow nodes.
1833         * html/TextFieldInputType.h:
1834         * rendering/RenderTextControlSingleLine.cpp:
1835         (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
1836         (WebCore::RenderTextControlSingleLine::innerTextElement):
1837         (WebCore::RenderTextControlSingleLine::layout):
1838          - Correct heights check
1839           Comparing with height(), not contentHeigth(), was incorrect.
1840          - Adjust the container height like the editable inner text.
1841          - Remove width adjustment
1842          - Remove the speech button layout code
1843           The flexible box layout is enough.
1844         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1845           Remove custom code for results/cancel/speech buttons, and
1846           Simplify comments.
1847         (WebCore::RenderTextControlSingleLine::forwardEvent):
1848           Remove custom forwarding code for results/cancel buttons.
1849         (WebCore::RenderTextControlSingleLine::styleDidChange):
1850           Clear the style of the container because we update it in layout().
1851         (WebCore::RenderTextControlSingleLine::hasControlClip):
1852           Decoration buttons should be clipped by the container.
1853         (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
1854         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1855           We don't need to use display:inline-block any more.
1856         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
1857           The text wrapper element should have flexibility.
1858         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
1859           Updated for the tree structure change.
1860         * rendering/RenderTextControlSingleLine.h:
1861
1862 2011-06-21  MORITA Hajime  <morrita@google.com>
1863
1864         Unreviewed, rolling out r89401 and r89403.
1865         http://trac.webkit.org/changeset/89401
1866         http://trac.webkit.org/changeset/89403
1867         https://bugs.webkit.org/show_bug.cgi?id=62970
1868
1869         Breaks mac build and mistakenly enables the spellcheck API
1870
1871         * CMakeLists.txt:
1872         * Configurations/FeatureDefines.xcconfig:
1873         * DerivedSources.make:
1874         * GNUmakefile.am:
1875         * GNUmakefile.list.am:
1876         * WebCore.pro:
1877         * WebCore.vcproj/WebCore.vcproj:
1878         * WebCore.xcodeproj/project.pbxproj:
1879         * features.pri:
1880
1881 2011-06-21  Kent Tamura  <tkent@chromium.org>
1882
1883         [Mac] Sort Xcode project files.
1884
1885         * WebCore.xcodeproj/project.pbxproj:
1886
1887 2011-06-21  Darin Adler  <darin@apple.com>
1888
1889         Reviewed by Ryosuke Niwa.
1890
1891         RefPtr misused as argument type in a few classes
1892         https://bugs.webkit.org/show_bug.cgi?id=62955
1893
1894         * dom/DataTransferItem.cpp:
1895         (WebCore::DataTransferItem::DataTransferItem):
1896         * dom/DataTransferItem.h:
1897         * dom/DataTransferItems.cpp:
1898         (WebCore::DataTransferItems::DataTransferItems):
1899         * dom/DataTransferItems.h:
1900         * editing/CompositeEditCommand.cpp:
1901         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
1902         * editing/CompositeEditCommand.h:
1903         * page/WebKitAnimationList.cpp:
1904         (WebCore::WebKitAnimationList::append):
1905         (WebCore::WebKitAnimationList::insertAnimation):
1906         * page/WebKitAnimationList.h:
1907         * svg/graphics/filters/SVGFEImage.cpp:
1908         (WebCore::FEImage::FEImage):
1909         (WebCore::FEImage::create):
1910         * svg/graphics/filters/SVGFEImage.h:
1911         * svg/graphics/filters/SVGFilterBuilder.cpp:
1912         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
1913         (WebCore::SVGFilterBuilder::add):
1914         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
1915         * svg/graphics/filters/SVGFilterBuilder.h:
1916         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1917         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
1918         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
1919         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
1920         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
1921         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1922         * websockets/WorkerThreadableWebSocketChannel.cpp:
1923         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
1924         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
1925         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
1926         * websockets/WorkerThreadableWebSocketChannel.h:
1927         Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
1928
1929 2011-06-20  MORITA Hajime  <morrita@google.com>
1930
1931         Reviewed by Kent Tamura.
1932
1933         Spellcheck API should be build-able.
1934         https://bugs.webkit.org/show_bug.cgi?id=62970
1935
1936         No new tests, changing only build related files
1937
1938         * CMakeLists.txt:
1939         * Configurations/FeatureDefines.xcconfig:
1940         * DerivedSources.make:
1941         * GNUmakefile.am:
1942         * GNUmakefile.list.am:
1943         * WebCore.pro:
1944         * WebCore.vcproj/WebCore.vcproj:
1945         * WebCore.xcodeproj/project.pbxproj:
1946         * features.pri:
1947
1948 2011-06-21  Matthew Delaney  <mdelaney@apple.com>
1949
1950         Reviewed by Simon Fraser.
1951
1952         beginTransparencyLayer leaves context color out of sync, bleeds color into text
1953         https://bugs.webkit.org/show_bug.cgi?id=63093
1954
1955         Test: fast/css/color-leakage.html
1956
1957         * platform/graphics/cg/GraphicsContextCG.cpp: Swap out CGContextSave/Restore with
1958         GraphicsContext::save/restore to keep the context in sync with its CG context
1959         (WebCore::GraphicsContext::beginTransparencyLayer): Added save(), removed redundant calls.
1960         (WebCore::GraphicsContext::endTransparencyLayer): Added restore(), removed redundant calls.
1961
1962 2011-06-21  Tony Chang  <tony@chromium.org>
1963
1964         Reviewed by Eric Seidel.
1965
1966         add css parsing of flex()
1967         https://bugs.webkit.org/show_bug.cgi?id=62050
1968
1969         Test: css3/flexbox/flex-parsing.html
1970
1971         * CMakeLists.txt: Add CSSFlexValue.*
1972         * GNUmakefile.list.am: Ditto.
1973         * WebCore.gypi: Ditto.
1974         * WebCore.pro: Ditto.
1975         * WebCore.vcproj/WebCore.vcproj: Ditto.
1976         * WebCore.xcodeproj/project.pbxproj: Ditto.
1977         * css/CSSFlexValue.cpp: Added.
1978         (WebCore::CSSFlexValue::~CSSFlexValue):
1979         (WebCore::CSSFlexValue::cssText):
1980         * css/CSSFlexValue.h: Added.
1981         (WebCore::CSSFlexValue::create): Hold positive flex, negative flex and sizing.
1982         (WebCore::CSSFlexValue::CSSFlexValue):
1983         * css/CSSParser.cpp:
1984         (WebCore::CSSParser::parseValidPrimitive): Pull out code from parseValue.
1985         (WebCore::CSSParser::parseValue):
1986         (WebCore::CSSParser::parseFlex): Parse the different version of flex().
1987         * css/CSSParser.h:
1988
1989 2011-06-21  Adrienne Walker  <enne@google.com>
1990
1991         Reviewed by Simon Fraser.
1992
1993         Add child layers to the overlap map if their parent belatedly becomes composited
1994         https://bugs.webkit.org/show_bug.cgi?id=62181
1995
1996         * rendering/RenderLayerCompositor.cpp:
1997         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
1998         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1999         * rendering/RenderLayerCompositor.h:
2000
2001 2011-06-21  Zhenyao Mo  <zmo@google.com>
2002
2003         Reviewed by Kenneth Russell.
2004
2005         Implement drawingBufferWidth/drawingBufferHeight in WebGL
2006         https://bugs.webkit.org/show_bug.cgi?id=58497
2007
2008         * html/canvas/WebGLRenderingContext.cpp: Add drawingBufferWidth/Height method and call getInternalFramebufferSize().
2009         (WebCore::WebGLRenderingContext::drawingBufferWidth):
2010         (WebCore::WebGLRenderingContext::drawingBufferHeight):
2011         * html/canvas/WebGLRenderingContext.h:
2012         * html/canvas/WebGLRenderingContext.idl: Add readonly attributes drawingBufferWidth/Height.
2013         * platform/graphics/GraphicsContext3D.h:
2014         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Make getInternalFramebufferSize const.
2015         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
2016         * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
2017         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
2018
2019 2011-06-21  Dmitry Lomov  <dslomov@google.com>
2020
2021         Reviewed by Adam Barth.
2022
2023         https://bugs.webkit.org/show_bug.cgi?id=62653
2024         [V8][Chromium] Make StringCache in V8 bindings per-isolate
2025         This moves StringCache into V8BindingPerIsolateData.
2026
2027         * bindings/v8/V8Binding.cpp:
2028         (WebCore::cachedStringCallback):
2029         (WebCore::StringCache::remove):
2030         (WebCore::StringCache::v8ExternalStringSlow):
2031         * bindings/v8/V8Binding.h:
2032         (WebCore::StringCache::StringCache):
2033         (WebCore::StringCache::v8ExternalString):
2034         (WebCore::StringCache::clearOnGC):
2035         (WebCore::V8BindingPerIsolateData::stringCache):
2036         (WebCore::v8ExternalString):
2037         * bindings/v8/V8GCController.cpp:
2038         (WebCore::V8GCController::gcPrologue):
2039         * bindings/v8/WorkerContextExecutionProxy.cpp:
2040         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
2041
2042
2043 2011-06-21  Alexey Proskuryakov  <ap@apple.com>
2044
2045         Clang build fix.
2046
2047         * platform/mac/WebCoreSystemInterface.h: Give the enum a name.
2048
2049 2011-06-21  Alexey Proskuryakov  <ap@apple.com>
2050
2051         Fix Mac build in some configurations.
2052
2053         * platform/mac/WebCoreSystemInterface.h: Added an enum matching WKSI one, since we cannot use
2054         WKSI in WebCore.
2055
2056         * platform/mac/WebVideoFullscreenHUDWindowController.mm: Removed an include of WebKitSystemInterface.h.
2057         It's not meant to be used from WebCore, and if included, a wrong copy may be used.
2058         (createControlWithMediaUIControlType): Added a FIXME about problems with Leopard build.
2059         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Ditto. Switched enum values to
2060         WCSI style (lower level "wk").
2061
2062 2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2063
2064         Unreviewed, rolling out r89354.
2065         http://trac.webkit.org/changeset/89354
2066         https://bugs.webkit.org/show_bug.cgi?id=63099
2067
2068         Broke tests on Mac (Requested by rniwa on #webkit).
2069
2070         * WebCore.exp.in:
2071         * WebCore.gypi:
2072         * WebCore.vcproj/WebCore.vcproj:
2073         * inspector/InspectorFrontendClientLocal.cpp:
2074         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2075         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
2076         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
2077         * inspector/InspectorFrontendClientLocal.h:
2078         * inspector/front-end/InspectorFrontendAPI.js: Removed.
2079         * inspector/front-end/ProfileView.js:
2080         (WebInspector.CPUProfileType):
2081         * inspector/front-end/ProfilesPanel.js:
2082         (WebInspector.ProfilesPanel.prototype._enableProfiling):
2083         * inspector/front-end/ScriptsPanel.js:
2084         (WebInspector.ScriptsPanel):
2085         (WebInspector.ScriptsPanel.prototype._enableDebugging):
2086         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2087         * inspector/front-end/TimelinePanel.js:
2088         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
2089         * inspector/front-end/WebKit.qrc:
2090         * inspector/front-end/inspector.html:
2091
2092 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
2093
2094         Reviewed by Adam Barth.
2095
2096         IndexedDB: IDBObjectStore methods should throw TypeError if required arguments are missing
2097         https://bugs.webkit.org/show_bug.cgi?id=63087
2098
2099         Test: storage/indexeddb/objectStore-required-arguments.html
2100
2101         * storage/IDBObjectStore.idl: Remove LegacyDefaultOptionalArguments flag
2102         so missing required arguments will throw TypeError, as per WebIDL spec.
2103
2104 2011-06-21  Rob Buis  <rbuis@rim.com>
2105
2106         Reviewed by Dirk Schulze.
2107
2108         All pointer-events fail if text has visibility="hidden"
2109         https://bugs.webkit.org/show_bug.cgi?id=62209
2110
2111         Use PointerEventsHitRules to make hit-testing for SVG text inline boxes work.
2112
2113         No new tests; covered by existing test pointer-events-text.svg.
2114
2115         * rendering/svg/SVGInlineTextBox.cpp:
2116         (WebCore::SVGInlineTextBox::nodeAtPoint):
2117         * rendering/svg/SVGInlineTextBox.h:
2118
2119 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
2120
2121         Reviewed by Adam Barth.
2122
2123         IndexedDB: keyrange methods should throw TypeError if required arguments are missing
2124         https://bugs.webkit.org/show_bug.cgi?id=63085
2125
2126         Test: storage/indexeddb/keyrange-required-arguments.html
2127
2128         * storage/IDBKeyRange.idl: remove LegacyDefaultOptionalArguments flag
2129         so missing required arguments throw TypeError, as per WebIDL spec.
2130
2131 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
2132
2133         Reviewed by Tony Chang.
2134
2135         IndexedDB: should throw TypeError when indexedDB.open() name argument is missing
2136         https://bugs.webkit.org/show_bug.cgi?id=63065
2137
2138         * storage/IDBFactory.idl: remove LegacyDefaultOptionalArguments flag
2139         and fix function argument flags
2140
2141 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
2142
2143         Reviewed by Tony Chang.
2144
2145         IndexedDB: should throw TypeError when index .get() key argument is missing
2146         https://bugs.webkit.org/show_bug.cgi?id=63079
2147
2148         Test: storage/indexeddb/index-get-key-argument-required.html
2149
2150         * storage/IDBIndex.idl: remove LegacyDefaultOptionalArguments flag
2151         so missing required arguments throw a TypeError as per WebIDL spec.
2152
2153 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
2154
2155         Reviewed by Tony Chang.
2156
2157         IndexedDB: cursor update() value argument is required
2158         https://bugs.webkit.org/show_bug.cgi?id=63032
2159
2160         Test: storage/indexeddb/cursor-update-value-argument-required.html
2161
2162         * storage/IDBCursor.idl: remove LegacyDefaultOptionalArguments flag so
2163           calling functions with missing required arguments will raise a TypeError
2164
2165 2011-06-21  Martin Robinson  <mrobinson@igalia.com>
2166
2167         Reviewed by Dirk Schulze.
2168
2169         [GTK] r89314 caused several shadow tests to start failing
2170         https://bugs.webkit.org/show_bug.cgi?id=63045
2171
2172         Use prepareForFilling and prepareForStroking when rendering the shadowed
2173         image of a path. This ensures that the shadowed image has the proper alpha.
2174
2175         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2176         (WebCore::drawPathShadow): Properly prepare the shadow image.
2177
2178 2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>
2179
2180         Reviewed by Pavel Feldman.
2181
2182         Web Inspector: [Chromium] Remove old (aggregating) heap profiler.
2183         https://bugs.webkit.org/show_bug.cgi?id=63049
2184
2185         * WebCore.gypi:
2186         * WebCore.vcproj/WebCore.vcproj:
2187         * bindings/v8/ScriptProfiler.cpp:
2188         (WebCore::ScriptProfiler::takeHeapSnapshot):
2189         * inspector/Inspector.json:
2190         * inspector/InspectorProfilerAgent.cpp:
2191         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
2192         * inspector/InspectorProfilerAgent.h:
2193         * inspector/front-end/DetailedHeapshotView.js:
2194         (WebInspector.DetailedHeapshotView.prototype.get profile):
2195         (WebInspector.DetailedHeapshotView.prototype.get baseProfile):
2196         (WebInspector.DetailedHeapshotView.prototype._profiles):
2197         (WebInspector.DetailedHeapshotProfileType):
2198         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
2199         * inspector/front-end/HeapSnapshotView.js: Removed.
2200         * inspector/front-end/ProfilesPanel.js:
2201         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
2202         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
2203         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
2204         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2205         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2206         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2207         (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
2208         * inspector/front-end/WebKit.qrc:
2209         * inspector/front-end/heapProfiler.css:
2210         * inspector/front-end/inspector.html:
2211
2212 2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>
2213
2214         Reviewed by Pavel Feldman.
2215
2216         Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
2217         https://bugs.webkit.org/show_bug.cgi?id=63069
2218
2219         * inspector/Inspector.json:
2220         * inspector/InspectorPageAgent.cpp:
2221         (WebCore::InspectorPageAgent::cachedResourceContent):
2222         (WebCore::InspectorPageAgent::resourceContent):
2223         (WebCore::InspectorPageAgent::getResourceContent):
2224         (WebCore::InspectorPageAgent::searchInResources):
2225         * inspector/InspectorPageAgent.h:
2226         * inspector/InspectorResourceAgent.cpp:
2227         (WebCore::InspectorResourceAgent::getResourceContent):
2228         * inspector/InspectorResourceAgent.h:
2229         * inspector/InspectorStyleSheet.cpp:
2230         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2231         * inspector/front-end/NetworkManager.js:
2232         (WebInspector.NetworkManager.prototype.requestContent):
2233         * inspector/front-end/Resource.js:
2234         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
2235         (WebInspector.Resource.prototype._innerRequestContent):
2236
2237 2011-06-21  Dirk Schulze  <krit@webkit.org>
2238
2239         Reviewed by Rob Buis.
2240
2241         SVG no fallback to discrete animation on attribute 'values' for SVGString
2242         https://bugs.webkit.org/show_bug.cgi?id=57085
2243
2244         Check for AnimatedString, AnimatedBoolean and AnimatedEnumeration on 'values' calculation.
2245         If the property type matches one of the above values, fallback to discrete animation.
2246
2247         The patch also changes behavior for String animation. The animation code doesn't handle inheritance
2248         for strings anymore. This is done by the CSS parser itself now, we just need to handle inheritance
2249         on animations that interpolate between two values like for calcMode="linear".
2250
2251         Test: svg/animations/svgstring-animation-fallback-to-discrete.html
2252
2253         * svg/SVGAnimateElement.cpp:
2254         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2255         * svg/SVGAnimateElement.h:
2256         * svg/SVGAnimationElement.cpp:
2257         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2258
2259 2011-06-21  Cary Clark  <caryclark@google.com>
2260
2261         Reviewed by Eric Seidel.
2262
2263         Update GraphicsContextSkia when the Chromium platform is Mac
2264         https://bugs.webkit.org/show_bug.cgi?id=62867
2265
2266         No new tests. This does not modify existing code;
2267         there is no change in functionality.
2268
2269         * platform/graphics/skia/GraphicsContextSkia.cpp:
2270         (WebCore::drawOuterPath):
2271         (WebCore::drawInnerPath):
2272         (WebCore::getFocusRingOutset):
2273         (WebCore::GraphicsContext::drawFocusRing):
2274         The OS X framework draws a fatter focus ring than the
2275         Chromium port. Increase the diameter, and add an inner
2276         stroke with more transparency, to match the look of
2277         Chromium on Mac when Skia is the rendering engine.
2278
2279         (WebCore::deviceRGBColorSpaceRef):
2280         Add deviceRGBColorSpaceRef, a static cache of
2281         CGColorSpaceCreateDeviceRGB(). This is called by
2282         the Mac-specific UI when Skia is the rendering engine.
2283
2284 2011-06-21  Tony Chang  <tony@chromium.org>
2285
2286         Try to fix WinCE build.  Replace cat with perl -ne "print".
2287
2288         * CMakeLists.txt:
2289
2290 2011-06-21  Alexandru Chiculita  <achicu@adobe.com>
2291
2292         Reviewed by Tony Chang.
2293
2294         "WebCore/css/makeprop.pl" and "WebCore/css/makevalues.pl" should take ENABLE_ flags into account
2295         https://bugs.webkit.org/show_bug.cgi?id=62114
2296         
2297         Changed the line commenting style in WebCore/css/*.in files from "#" prefixed to "//" prefixed.
2298         That's needed because we now pre-process the files with the C++ pre-processor. Also, there's 
2299         no need to manually strip the comments anymore.
2300         
2301         Moved the duplication checks from project files to makeprop.pl and makevalues.pl.
2302         In addition makevalues.pl will also lower case the values.
2303
2304         This is a build script refactoring, so no tests are provided.
2305
2306         * CMakeLists.txt:
2307         * CodeGenerators.pri:
2308         * DerivedSources.make:
2309         * GNUmakefile.am:
2310         * WebCore.gyp/WebCore.gyp:
2311         * WebCore.gyp/scripts/action_csspropertynames.py:
2312         * WebCore.gyp/scripts/action_cssvaluekeywords.py:
2313         * css/CSSPropertyNames.in: comment style only
2314         * css/CSSValueKeywords.in: comment style only
2315         * css/SVGCSSPropertyNames.in: comment style only
2316         * css/SVGCSSValueKeywords.in: comment style only
2317         * css/WCSSValueKeywords.in: comment style only
2318         * css/makeprop.pl:
2319         * css/makevalues.pl:
2320
2321 2011-06-21  Peter Varga  <pvarga@webkit.org>
2322
2323         Reviewed by Andreas Kling.
2324
2325         [Qt][V8] Enable ScriptController::disableEval functionality in QtWebkit-V8 build
2326         https://bugs.webkit.org/show_bug.cgi?id=61187
2327
2328         No new tests needed.
2329
2330         * bindings/v8/ScriptController.cpp:
2331         (WebCore::ScriptController::disableEval):
2332
2333 2011-06-21  Peter Varga  <pvarga@webkit.org>
2334
2335         Reviewed by Andreas Kling.
2336
2337         [Qt][V8] Enable marking objects with complex GC rules
2338         https://bugs.webkit.org/show_bug.cgi?id=61291
2339
2340         No new tests needed.
2341
2342         * bindings/scripts/CodeGeneratorV8.pm:
2343         * bindings/scripts/test/V8/V8TestInterface.cpp:
2344         (WebCore::V8TestInterface::wrapSlow):
2345         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2346         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2347         * bindings/scripts/test/V8/V8TestObj.cpp:
2348         (WebCore::V8TestObj::wrapSlow):
2349         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2350         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2351
2352 2011-06-20  Pavel Feldman  <pfeldman@chromium.org>
2353
2354         Reviewed by Yury Semikhatsky.
2355
2356         Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
2357         https://bugs.webkit.org/show_bug.cgi?id=62985
2358
2359         Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
2360         methods for plumbing the menu action handlers through the WebKit and WebCore.
2361         I intend to remove this menu support from the protocol and WebCore/InspectorController API.
2362         I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
2363         WebKit/win and WebKit2 to follow.
2364
2365         * WebCore.exp.in:
2366         * WebCore.gypi:
2367         * WebCore.vcproj/WebCore.vcproj:
2368         * inspector/InspectorFrontendClientLocal.cpp:
2369         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2370         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
2371         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
2372         (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
2373         (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
2374         (WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
2375         (WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
2376         (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
2377         (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
2378         (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
2379         (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
2380         (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
2381         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
2382         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
2383         * inspector/InspectorFrontendClientLocal.h:
2384         * inspector/front-end/InspectorFrontendAPI.js: Added.
2385         (InspectorFrontendAPI.isDebuggingEnabled):
2386         (InspectorFrontendAPI.setDebuggingEnabled):
2387         (InspectorFrontendAPI.isJavaScriptProfilingEnabled):
2388         (InspectorFrontendAPI.setJavaScriptProfilingEnabled):
2389         (InspectorFrontendAPI.isTimelineProfilingEnabled):
2390         (InspectorFrontendAPI.setTimelineProfilingEnabled):
2391         (InspectorFrontendAPI.isProfilingJavaScript):
2392         (InspectorFrontendAPI.startProfilingJavaScript):
2393         (InspectorFrontendAPI.stopProfilingJavaScript):
2394         (InspectorFrontendAPI.setAttachedWindow):
2395         * inspector/front-end/ProfileView.js:
2396         (WebInspector.CPUProfileType):
2397         (WebInspector.CPUProfileType.prototype.isRecordingProfile):
2398         (WebInspector.CPUProfileType.prototype.startRecordingProfile):
2399         (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
2400         * inspector/front-end/ProfilesPanel.js:
2401         (WebInspector.ProfilesPanel.prototype.get profilerEnabled):
2402         (WebInspector.ProfilesPanel.prototype.enableProfiler):
2403         (WebInspector.ProfilesPanel.prototype.disableProfiler):
2404         * inspector/front-end/ScriptsPanel.js:
2405         (WebInspector.ScriptsPanel):
2406         (WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
2407         (WebInspector.ScriptsPanel.prototype.enableDebugging):
2408         (WebInspector.ScriptsPanel.prototype.disableDebugging):
2409         (WebInspector.ScriptsPanel.prototype.toggleDebugging):
2410         * inspector/front-end/TimelinePanel.js:
2411         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
2412         (WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
2413         (WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
2414         * inspector/front-end/WebKit.qrc:
2415         * inspector/front-end/inspector.html:
2416         * inspector/front-end/inspector.js:
2417
2418 2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2419
2420         Unreviewed, rolling out r89185.
2421         http://trac.webkit.org/changeset/89185
2422         https://bugs.webkit.org/show_bug.cgi?id=63068
2423
2424         For breaking navigation with inspector opened. (Requested by
2425         pfeldman on #webkit).
2426
2427         * bindings/v8/V8Binding.cpp:
2428         (WebCore::enableStringImplCache):
2429         (WebCore::getStringCache):
2430         (WebCore::cachedStringCallback):
2431         (WebCore::v8ExternalStringSlow):
2432         * bindings/v8/V8Binding.h:
2433         (WebCore::v8ExternalString):
2434         * bindings/v8/V8GCController.cpp:
2435         (WebCore::V8GCController::gcPrologue):
2436
2437 2011-06-21  Pavel Feldman  <pfeldman@google.com>
2438
2439         Reviewed by Yury Semikhatsky.
2440
2441         Web Inspector: rename editScriptSource to setScriptSource.
2442         https://bugs.webkit.org/show_bug.cgi?id=63059
2443
2444         * bindings/js/ScriptDebugServer.cpp:
2445         (WebCore::ScriptDebugServer::setScriptSource):
2446         * bindings/js/ScriptDebugServer.h:
2447         * bindings/v8/DebuggerScript.js:
2448         ():
2449         * bindings/v8/ScriptDebugServer.cpp:
2450         (WebCore::ScriptDebugServer::setScriptSource):
2451         * bindings/v8/ScriptDebugServer.h:
2452         * inspector/Inspector.json:
2453         * inspector/InspectorDebuggerAgent.cpp:
2454         (WebCore::InspectorDebuggerAgent::setScriptSource):
2455         * inspector/InspectorDebuggerAgent.h:
2456         * inspector/front-end/DebuggerModel.js:
2457         (WebInspector.DebuggerModel.prototype.setScriptSource):
2458         * inspector/front-end/DebuggerPresentationModel.js:
2459         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
2460         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
2461         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
2462         * inspector/front-end/Script.js:
2463         (WebInspector.Script.prototype.editSource):
2464         * inspector/front-end/ScriptsPanel.js:
2465         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
2466         * inspector/front-end/SourceFrame.js:
2467         (WebInspector.SourceFrame.prototype.editContent):
2468         (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
2469
2470 2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>
2471
2472         Reviewed by Pavel Feldman.
2473
2474         Web Inspector: Show content in network panel correctly when two resources were loaded from the same url with different content.
2475         https://bugs.webkit.org/show_bug.cgi?id=62992
2476
2477         Test: http/tests/inspector/network/network-cachedresources-with-same-urls.html
2478
2479         * inspector/InspectorPageAgent.cpp:
2480         (WebCore::InspectorPageAgent::cachedResourceContent):
2481         * inspector/InspectorPageAgent.h:
2482         * inspector/InspectorResourceAgent.cpp:
2483         (WebCore::InspectorResourceAgent::didReceiveResponse):
2484         (WebCore::InspectorResourceAgent::getResourceContent):
2485         * inspector/NetworkResourcesData.cpp:
2486         (WebCore::NetworkResourcesData::addCachedResource):
2487         * inspector/NetworkResourcesData.h:
2488         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
2489         (WebCore::NetworkResourcesData::ResourceData::setCachedResource):
2490
2491 2011-06-21  Alexander Pavlov  <apavlov@chromium.org>
2492
2493         Reviewed by Pavel Feldman.
2494
2495         Web Inspector: Attached state changes do not affect the drawer height
2496         https://bugs.webkit.org/show_bug.cgi?id=63061
2497
2498         * inspector/front-end/Drawer.js:
2499         (WebInspector.Drawer.prototype.enterPanelMode):
2500         (WebInspector.Drawer.prototype.exitPanelMode):
2501         (WebInspector.Drawer.prototype.updateHeight):
2502         * inspector/front-end/inspector.js:
2503         (WebInspector.set attached):
2504
2505 2011-06-17  Pavel Podivilov  <podivilov@chromium.org>
2506
2507         Reviewed by Pavel Feldman.
2508
2509         Web Inspector: can't set breakpoint on the last script line.
2510         https://bugs.webkit.org/show_bug.cgi?id=62861
2511
2512         * inspector/InspectorDebuggerAgent.cpp:
2513         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2514
2515 2011-06-20  Yury Semikhatsky  <yurys@chromium.org>
2516
2517         Reviewed by Pavel Feldman.
2518
2519         Web Inspector: console messages shouldn't prevent garbage collection of iframes
2520         https://bugs.webkit.org/show_bug.cgi?id=62996
2521
2522         When DOMWindow is detached from its frame run through all console messages and clear
2523         their arguments and ScriptState references. The message text in this case will be
2524         the first argument serialized to string.
2525
2526         Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html
2527
2528         * bindings/js/ScriptState.cpp:
2529         (WebCore::domWindowFromScriptState):
2530         * bindings/js/ScriptState.h:
2531         * bindings/v8/ScriptState.cpp:
2532         (WebCore::ScriptState::domWindow):
2533         (WebCore::domWindowFromScriptState):
2534         * bindings/v8/ScriptState.h:
2535         * inspector/ConsoleMessage.cpp:
2536         (WebCore::ConsoleMessage::windowCleared):
2537         * inspector/ConsoleMessage.h:
2538         * inspector/InjectedScriptManager.cpp:
2539         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
2540         * inspector/InjectedScriptManager.h:
2541         * inspector/InspectorConsoleAgent.cpp:
2542         (WebCore::InspectorConsoleAgent::domWindowCleared):
2543         * inspector/InspectorConsoleAgent.h:
2544         * inspector/InspectorInstrumentation.cpp:
2545         (WebCore::InspectorInstrumentation::pageDestroyedImpl):
2546         * inspector/InspectorInstrumentation.h:
2547         (WebCore::InspectorInstrumentation::pageDestroyed):
2548         * page/DOMWindow.cpp:
2549         (WebCore::DOMWindow::pageDestroyed):
2550
2551 2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>
2552
2553         Reviewed by Yury Semikhatsky.
2554
2555         Web Inspector: [Chromium] Fix path finding to window objects.
2556         https://bugs.webkit.org/show_bug.cgi?id=63051
2557
2558         * inspector/front-end/DetailedHeapshotView.js:
2559         (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
2560
2561 2011-06-21  Pavel Feldman  <pfeldman@chromium.org>
2562
2563         Reviewed by Yury Semikhatsky.
2564
2565         Web Inspector: hovering over linkified nodes
2566         in the UI does not highlight elements on the page.
2567         https://bugs.webkit.org/show_bug.cgi?id=60630
2568
2569         * inspector/front-end/inspector.js:
2570         (WebInspector.wireElementWithDOMNode):
2571
2572 2011-06-20  Yuzo Fujishima  <yuzo@google.com>
2573
2574         Reviewed by Kent Tamura.
2575
2576         Fix for Bug 62975 - Refactor local variable usage in CSSFontFaceSource::getFontData
2577         https://bugs.webkit.org/show_bug.cgi?id=62975
2578
2579         No new tests because no behavioral changes.
2580
2581         * css/CSSFontFaceSource.cpp:
2582         (WebCore::CSSFontFaceSource::getFontData): Remove one of fontData variable.
2583
2584 2011-06-20  Andy Estes  <aestes@apple.com>
2585
2586         Reviewed by Darin Adler.
2587
2588         KURL::protocolIs(const char* protocol) asserts in Debug builds with
2589         valid protocols
2590         https://bugs.webkit.org/show_bug.cgi?id=61572
2591
2592         No new tests. No code currently calls protocolIs() with a protocol that
2593         contains a non-letter character.
2594
2595         * platform/KURL.cpp:
2596         (WebCore::isSchemeCharacterMatchIgnoringCase): A helper function that
2597         compares two characters ignoring case. It assumes (and asserts) that
2598         both characters are valid scheme characters, and that if the second
2599         argument is a letter that it is lowercase.
2600         (WebCore::KURL::protocolIs): Call isSchemeCharacterMatchIgnoringCase()
2601         instead of isLetterMatchIgnoringCase().
2602
2603 2011-06-20  Dai Mikurube  <dmikurube@chromium.org>
2604
2605         Reviewed by Kent Tamura.
2606
2607         Webkit allows disabled option as value of "required" select
2608         https://bugs.webkit.org/show_bug.cgi?id=62668
2609
2610         * html/HTMLSelectElement.cpp: Removed "disabled" checking due to spec change.
2611         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
2612
2613 2011-06-20  Zhenyao Mo  <zmo@google.com>
2614
2615         Reviewed by Kenneth Russell.
2616
2617         Update ANGLE to r696.
2618         https://bugs.webkit.org/show_bug.cgi?id=56396
2619
2620         * platform/graphics/ANGLEWebKitBridge.cpp:
2621         (WebCore::ANGLEWebKitBridge::validateShaderSource): Specify backend.
2622
2623 2011-06-20  Eric Seidel  <eric@webkit.org>
2624
2625         Reviewed by Adam Barth.
2626
2627         Group load-initiating and stopping functions in FrameLoader.h
2628         https://bugs.webkit.org/show_bug.cgi?id=63030
2629
2630         No function change, thus no tests.
2631
2632         * loader/FrameLoader.h:
2633
2634 2011-06-20  Sailesh Agrawal  <sail@chromium.org>
2635
2636         Reviewed by Mihai Parparita.
2637
2638         [Chromium] Draw search tickmarks on overlay scrollbars
2639         https://bugs.webkit.org/show_bug.cgi?id=62783
2640
2641         This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.
2642
2643         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
2644         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2645         (wkScrollbarPainterPaint):
2646         (wkScrollbarPainterPaintTrack):
2647         (wkScrollbarPainterPaintKnob):
2648         * platform/chromium/ScrollbarThemeChromiumMac.h:
2649         * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
2650         (WebCore::ScrollbarThemeChromiumMac::paint):
2651         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2652
2653 2011-06-20  Adam Barth  <abarth@webkit.org>
2654
2655         Mac build fix.  In addition to adding the files to the project, we need
2656         to add them to the WebCore target.
2657
2658         * WebCore.xcodeproj/project.pbxproj:
2659
2660 2011-06-20  Adam Barth  <abarth@webkit.org>
2661
2662         Reviewed by Darin Adler.
2663
2664         Remove numRequests
2665         https://bugs.webkit.org/show_bug.cgi?id=63028
2666
2667         numRequests exists just to cargo-cult null-check m_frame->document(),
2668         which is always non-null.
2669
2670         * loader/FrameLoader.cpp:
2671         (WebCore::FrameLoader::checkCompleted):
2672         (WebCore::FrameLoader::numPendingOrLoadingRequests):
2673
2674 2011-06-20  Alexey Proskuryakov  <ap@apple.com>
2675
2676         Reviewed by Darin Adler.
2677
2678         startWordBoundary() in visible_units.cpp assumes that all characters are 16 bit
2679         https://bugs.webkit.org/show_bug.cgi?id=63027
2680
2681         No new tests, because I don't see this affect any webkit.org ports.
2682
2683         * editing/visible_units.cpp: (WebCore::startWordBoundary): Previous offset is not just minus
2684         one - we need to use a proper macro to iterate.
2685
2686 2011-06-20  Jay Civelli  <jcivelli@chromium.org>
2687
2688         Reviewed by Adam Barth.
2689
2690         Making SharedBufferCRLFLineReader more generic, so it can be used to read MHTML
2691         file with binary parts.
2692         https://bugs.webkit.org/show_bug.cgi?id=62966
2693
2694         * CMakeLists.txt:
2695         * GNUmakefile.list.am:
2696         * WebCore.gypi:
2697         * WebCore.pro:
2698         * WebCore.vcproj/WebCore.vcproj:
2699         * WebCore.xcodeproj/project.pbxproj:
2700         * loader/archive/mhtml/MHTMLParser.cpp:
2701         (WebCore::skipLinesUntilBoundaryFound):
2702         (WebCore::MHTMLParser::MHTMLParser):
2703         (WebCore::MHTMLParser::parseNextPart):
2704         * loader/archive/mhtml/MHTMLParser.h:
2705         * platform/SharedBufferChunkReader.cpp: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.cpp.
2706         (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
2707         (WebCore::SharedBufferChunkReader::setSeparator):
2708         (WebCore::SharedBufferChunkReader::nextChunk):
2709         * platform/SharedBufferChunkReader.h: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.h.
2710         * platform/network/MIMEHeader.cpp:
2711         (WebCore::retrieveKeyValuePairs):
2712         (WebCore::MIMEHeader::parseHeader):
2713         * platform/network/MIMEHeader.h:
2714
2715 2011-06-20  Martin Robinson  <mrobinson@igalia.com>
2716
2717         Reviewed by Xan Lopez.
2718
2719         [GTK] Windowless plugins sometimes crash with a BadMatch error
2720         https://bugs.webkit.org/show_bug.cgi?id=63020
2721
2722         Do not try to create an XPixmap with any of the dimensions as zero.
2723
2724         * plugins/gtk/PluginViewGtk.cpp:
2725         (WebCore::PluginView::updatePluginWidget): Guard against and empty window rect
2726         before trying to create a windowless plugin pixmap.
2727
2728 2011-06-20  Antonio Gomes  <agomes@rim.com>
2729
2730         Reviewed by Ryosuke Niwa.
2731
2732         Stop adding empty rects in FrameSelection::getClippedVisibleTextRectangles
2733         https://bugs.webkit.org/show_bug.cgi?id=63018
2734
2735         No new tests needed, since it causes no behavioral change.
2736
2737         * editing/FrameSelection.cpp:
2738         (WebCore::FrameSelection::getClippedVisibleTextRectangles):
2739
2740 2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>
2741
2742         Reviewed by Pavel Feldman.
2743
2744         Web Inspector: CRASH if Expanding Event Listener on document
2745         https://bugs.webkit.org/show_bug.cgi?id=61834
2746
2747         Node::ownerDocument returns null for a document node. So, in
2748         the case of a document node in resolveNode, use Node::document
2749         which returns the node, as a document.
2750
2751         * inspector/InspectorDOMAgent.cpp:
2752         (WebCore::InspectorDOMAgent::resolveNode):
2753
2754 2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>
2755
2756         Reviewed by Simon Fraser.
2757
2758         Minimize memory due to layer backing stores for pages in the Page Cache
2759         https://bugs.webkit.org/show_bug.cgi?id=62675
2760
2761         When a page enters the page cache there is now an option on
2762         the PageCache singleton to clear the backing stores and layers
2763         of the cached page. This can be useful to minimize the amount
2764         of memory the stored page consumes.
2765
2766         This only affects memory usage and is disabled by default, so no test.
2767
2768         * history/CachedFrame.h:
2769         * history/CachedFrame.cpp:
2770         (WebCore::CachedFrameBase::CachedFrameBase):
2771         Save whether or not the page had composited content or not
2772         in a new instance variable, m_isComposited.
2773
2774         (WebCore::CachedFrameBase::restore):
2775         When restoring, rebuild the compositing tree if it may have
2776         been destroyed.
2777
2778         (WebCore::CachedFrame::CachedFrame):
2779         When saving, clear the backing stores if the page is in
2780         compositing mode, and the PageCache setting is enabled.
2781         
2782         * history/PageCache.cpp:
2783         (WebCore::PageCache::PageCache):
2784         * history/PageCache.h:
2785         (WebCore::PageCache::shouldClearBackingStores):
2786         (WebCore::PageCache::setShouldClearBackingStores):
2787         A setting to opt-in to the new behavior of clearing
2788         the backing stores.
2789
2790         * page/FrameView.h:
2791         * page/FrameView.cpp:
2792         (WebCore::FrameView::clearBackingStores):
2793         (WebCore::FrameView::restoreBackingStores):
2794         To clear all backing stores we disable compositing
2795         for the frame, to detach the root platform layer,
2796         and recursively clear backing stores from the root
2797         layer of the FrameView.
2798
2799         * rendering/RenderLayer.h:
2800         * rendering/RenderLayer.cpp:
2801         (WebCore::RenderLayer::clearBackingIncludingDescendants):
2802         Recursively call clearBacking.
2803
2804 2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>
2805
2806         Reviewed by Adam Barth.
2807
2808         IDL generator should throw TypeError instead of SyntaxError on not enough arguments
2809         https://bugs.webkit.org/show_bug.cgi?id=63011
2810
2811         To align with WebIDL, we should throw TypeError whenever a function
2812         is called with missing required arguments.
2813
2814         * bindings/scripts/CodeGeneratorJS.pm:
2815         * bindings/scripts/CodeGeneratorV8.pm:
2816         * bindings/scripts/test/V8/V8TestObj.cpp:
2817         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
2818
2819 2011-05-03  Martin Robinson  <mrobinson@igalia.com>
2820
2821         Reviewed by Dirk Schulze.
2822
2823         REGRESSION: [CAIRO] wrong drawing of Gradients and Patterns on texts
2824         https://bugs.webkit.org/show_bug.cgi?id=31507
2825
2826         When painting text, be sure to set the pattern fill or gradient before modifying the Cairo
2827         context CTM. This ensures that gradients and patterns are scaled and positioned properly in
2828         the coordinate system of the page. Abstract out the fill preparation to avoid repeating this
2829         logic and perform a bit of cleanup.
2830
2831         * platform/graphics/cairo/FontCairo.cpp:
2832         (WebCore::prepareContextForGlyphDrawing): Now set the x and y position of the text using the glyph
2833         offsets. This avoids having to set a transformation matrix when there is no synthetic oblique.
2834         (WebCore::drawGlyphsToContext): Add a newline as part of cleanup. Call prepareContextForGlyphDrawing from here
2835         and restor the original CTM when exiting.
2836         (WebCore::drawGlyphsShadow): Use drawGlyphsToContext here to ensure that all glyph drawing goes through
2837         the same path.
2838         (WebCore::Font::drawGlyphs): Fix a C-style cast and use the glyph offsets to position the glyphs instead
2839         of adjusting the transformation matrix. Use GC::prepareForFilling and GC::prepareForStroking instead of
2840         setting up the fill and stroke manually.
2841         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2842         (WebCore::fillRectWithColor): Renamed fillRectSourceOver to fillRectWithColor to make it clearer
2843         why this is different than the slower fill method. Moved the no transparency early return here.
2844         (WebCore::drawPathShadow): Instead of calling setPlatformFill, just perform a cheap fill and stroke
2845         with red color. Since the shadow is used as a mask, the actual fill shouldn't matter.
2846         (WebCore::reduceSourceByAlpha): Added this helper.
2847         (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
2848         correctly handles the transformation matrix.
2849         (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
2850         (WebCore::shadowAndFillCurrentCairoPath): Adapted from fillCurrentCairoPath, but renamed to clarify
2851         what it does and no uses prepareForFilling.
2852         (WebCore::shadowAndStrokeCurrentCairoPath): Ditto for stroking.
2853         (WebCore::GraphicsContext::drawRect): Update for new method names.
2854         (WebCore::GraphicsContext::drawLine): Ditto.
2855         (WebCore::GraphicsContext::fillPath): Ditto.
2856         (WebCore::GraphicsContext::strokePath): Ditto.
2857         (WebCore::GraphicsContext::fillRect): Ditto. Remove the unnecessary save/restore pair here.
2858         (WebCore::GraphicsContext::strokeRect): Update to reflect new method names.
2859         * platform/graphics/cairo/PlatformContextCairo.cpp:
2860         (WebCore::reduceSourceByAlpha): Added this helper.
2861         (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
2862         correctly handles the transformation matrix.
2863         (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
2864         (WebCore::reduceSourceByAlpha):
2865         * platform/graphics/cairo/PlatformContextCairo.h: Added new method declarations.
2866
2867 2011-06-20  Tim Horton  <timothy_horton@apple.com>
2868
2869         Reviewed by Darin Adler.
2870
2871         Incorrect clamping on SVG masks when root element is not located at (0,0)
2872         https://bugs.webkit.org/show_bug.cgi?id=63019
2873
2874         We should be using frameRect(), not contentBoxRect() for the rect to
2875         clamp to when creating an SVG mask image.
2876
2877         Test: svg/custom/absolute-root-position-masking.xhtml
2878
2879         * rendering/svg/SVGImageBufferTools.cpp:
2880         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer):
2881
2882 2011-06-20  Adam Barth  <abarth@webkit.org>
2883
2884         Reviewed by Eric Seidel.
2885
2886         Remove FrameLoader::m_workingURL
2887         https://bugs.webkit.org/show_bug.cgi?id=63021
2888
2889         FrameLoader shouldn't keep the working URL in separate state.  It's
2890         just a function of other state.  m_workingURL exists only to create
2891         bugs and confusion.
2892
2893         * loader/DocumentLoader.cpp:
2894         (WebCore::DocumentLoader::documentURL):
2895         * loader/DocumentLoader.h:
2896         * loader/FrameLoader.cpp:
2897         (WebCore::FrameLoader::stopLoading):
2898         (WebCore::FrameLoader::didOpenURL):
2899         (WebCore::FrameLoader::receivedFirstData):
2900         (WebCore::FrameLoader::willSetEncoding):
2901         (WebCore::FrameLoader::commitProvisionalLoad):
2902         (WebCore::FrameLoader::open):
2903         (WebCore::FrameLoader::finishedLoadingDocument):
2904         * loader/FrameLoader.h:
2905
2906 2011-06-20  Kenneth Russell  <kbr@google.com>
2907
2908         Unreviewed.
2909
2910         Rolled out r89233 and r89235 because of crashes in http/tests/misc/acid3.html on Snow Leopard and other platforms
2911         https://bugs.webkit.org/show_bug.cgi?id=63022
2912
2913         * features.pri:
2914         * page/DOMWindow.idl:
2915         * platform/graphics/Font.cpp:
2916         (WebCore::Font::drawText):
2917         (WebCore::Font::drawEmphasisMarks):
2918         (WebCore::Font::width):
2919         (WebCore::Font::selectionRectForText):
2920         (WebCore::Font::offsetForPosition):
2921         (WebCore::Font::codePath):
2922         * platform/graphics/Font.h:
2923         * platform/graphics/FontFallbackList.h:
2924         * platform/graphics/FontFastPath.cpp:
2925         (WebCore::Font::glyphDataForCharacter):
2926         (WebCore::Font::getEmphasisMarkGlyphData):
2927         (WebCore::Font::drawGlyphBuffer):
2928         * platform/graphics/FontMetrics.h:
2929         * platform/graphics/GlyphPageTreeNode.cpp:
2930         (WebCore::fill):
2931         * platform/graphics/SVGGlyph.h:
2932         (WebCore::SVGGlyph::SVGGlyph):
2933         (WebCore::SVGGlyph::operator==):
2934         * platform/graphics/SimpleFontData.cpp:
2935         (WebCore::SimpleFontData::SimpleFontData):
2936         * platform/graphics/SimpleFontData.h:
2937         (WebCore::SimpleFontData::widthForGlyph):
2938         * platform/graphics/TextRun.h:
2939         * platform/graphics/WidthIterator.cpp:
2940         (WebCore::WidthIterator::advance):
2941         * platform/graphics/WidthIterator.h:
2942         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2943         (WebCore::scaleEmToUnits):
2944         * platform/graphics/mac/SimpleFontDataMac.mm:
2945         (WebCore::scaleEmToUnits):
2946         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2947         (WebCore::scaleEmToUnits):
2948         * rendering/svg/SVGTextMetrics.cpp:
2949         (WebCore::SVGTextMetrics::SVGTextMetrics):
2950         (WebCore::constructTextRun):
2951         (WebCore::SVGTextMetrics::measureCharacterRange):
2952         * rendering/svg/SVGTextMetrics.h:
2953         * rendering/svg/SVGTextRunRenderingContext.cpp:
2954         (WebCore::convertEmUnitToPixel):
2955         (WebCore::isVerticalWritingMode):
2956         (WebCore::firstParentRendererForNonTextNode):
2957         (WebCore::referencingRenderObjectFromRun):
2958         (WebCore::SVGTextRunWalker::SVGTextRunWalker):
2959         (WebCore::SVGTextRunWalker::walk):
2960         (WebCore::floatWidthUsingSVGFontCallback):
2961         (WebCore::floatWidthMissingGlyphCallback):
2962         (WebCore::floatWidthOfSubStringUsingSVGFont):
2963         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont):
2964         (WebCore::drawTextUsingSVGFontCallback):
2965         (WebCore::drawTextMissingGlyphCallback):
2966         (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
2967         (WebCore::SVGTextRunRenderingContext::selectionRectForTextUsingSVGFont):
2968         (WebCore::SVGTextRunRenderingContext::offsetForPositionForTextUsingSVGFont):
2969         * rendering/svg/SVGTextRunRenderingContext.h:
2970         * svg/SVGAltGlyphElement.cpp:
2971         (WebCore::SVGAltGlyphElement::glyphElement):
2972         * svg/SVGAltGlyphElement.h:
2973         * svg/SVGFontData.cpp:
2974         (WebCore::SVGFontData::initializeFontData):
2975         * svg/SVGFontData.h:
2976         * svg/SVGFontElement.cpp:
2977         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
2978         (WebCore::SVGFontElement::ensureGlyphCache):
2979         * svg/SVGGlyphMap.h:
2980         (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
2981         * svg/svgtags.in:
2982
2983 2011-06-20  Scott Byer  <scottbyer@chromium.org>
2984
2985         Reviewed by Adam Barth.
2986
2987         Smooth scrolling for Chromium, initial patch.
2988         https://bugs.webkit.org/show_bug.cgi?id=61878
2989
2990         Add in a default scrolling animator in the platform directory, with a run time enable switch, to provide
2991         animated / smooth scrolling on platforms and for input devices where it's not provided by the platform, and to
2992         be easily configurable to what situatuations the animations are provided for. The smooth scrolling code is
2993         compiled out by default.
2994
2995         Unit tests in chromium/ScrollAnimatorNoneTest.cpp
2996
2997         * WebCore.gypi:
2998         * page/FrameView.cpp:
2999         (WebCore::FrameView::scrollAnimatorEnabled):
3000         * page/FrameView.h:
3001         * page/Settings.cpp:
3002         (WebCore::Settings::Settings):
3003         * page/Settings.h:
3004         (WebCore::Settings::setEnableScrollAnimator):
3005         (WebCore::Settings::scrollAnimatorEnabled):
3006         * platform/ScrollAnimatorNone.cpp: Added.
3007         (WebCore::ScrollAnimator::create):
3008         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
3009         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
3010         (WebCore::ScrollAnimatorNone::PerAxisData::attackCurve):
3011         (WebCore::ScrollAnimatorNone::PerAxisData::releaseCurve):
3012         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
3013         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
3014         (WebCore::ScrollAnimatorNone::PerAxisData::reset):
3015         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
3016         (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
3017         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
3018         (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
3019         (WebCore::ScrollAnimatorNone::scroll):
3020         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
3021         (WebCore::ScrollAnimatorNone::animationTimerFired):
3022         (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
3023         * platform/ScrollAnimatorNone.h: Added.
3024         * platform/ScrollableArea.h:
3025         (WebCore::ScrollableArea::scrollAnimatorEnabled):
3026
3027 2011-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
3028
3029         Reviewed by Darin Adler.
3030
3031         Remove some unsafe static_cast in rendering/
3032         https://bugs.webkit.org/show_bug.cgi?id=63014
3033
3034         Mechanical refactoring, no test needed.
3035
3036         * rendering/InlineFlowBox.cpp:
3037         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3038         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
3039         * rendering/InlineTextBox.cpp:
3040         (WebCore::InlineTextBox::getEmphasisMarkPosition):
3041         * rendering/RenderBlockLineLayout.cpp:
3042         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3043         * rendering/RenderLayer.cpp:
3044         (WebCore::RenderLayer::destroyScrollbar):
3045         * rendering/RenderRuby.cpp:
3046         (WebCore::rubyBeforeBlock):
3047         (WebCore::rubyAfterBlock):
3048         (WebCore::lastRubyRun):
3049         (WebCore::findRubyRunParent):
3050         * rendering/RenderRubyBase.cpp:
3051         (WebCore::RenderRubyBase::rubyRun):
3052         * rendering/RenderRubyRun.cpp:
3053         (WebCore::RenderRubyRun::removeChild):
3054         Use the proper conversion methods at the previous call-sites.
3055
3056 2011-06-20  Anders Carlsson  <andersca@apple.com>
3057
3058         Reviewed by Sam Weinig.
3059
3060         Web archive resource loads are scheduled together with network loads
3061         https://bugs.webkit.org/show_bug.cgi?id=63024
3062         <rdar://problem/9508564>
3063
3064         If the resource being loaded is loaded from a web archive we don't need to schedule the load
3065         since it won't touch the network.
3066
3067         * loader/ResourceLoadScheduler.cpp:
3068         (WebCore::ResourceLoadScheduler::scheduleLoad):
3069
3070 2011-06-20  Pratik Solanki  <psolanki@apple.com>
3071
3072         Reviewed by David Kilzer.
3073
3074         HTTP pipelining functions on mac should match windows
3075         https://bugs.webkit.org/show_bug.cgi?id=63012
3076
3077         Use a CFURLRequestRef instead of NSURLRequest for the HTTP pipelining functions.
3078
3079         * platform/mac/WebCoreSystemInterface.h:
3080         * platform/mac/WebCoreSystemInterface.mm:
3081         * platform/network/mac/ResourceRequestMac.mm:
3082         (WebCore::ResourceRequest::doUpdateResourceRequest):
3083         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3084
3085 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
3086
3087         Fix bit flag collision.
3088
3089         * editing/FrameSelection.h:
3090
3091 2011-06-20  Jer Noble  <jer.noble@apple.com>
3092
3093         Unreviewed build fix; Fix Leopard WebCore build.
3094
3095         * platform/mac/WebVideoFullscreenHUDWindowController.mm: On Leopard, NSWindowDelegate
3096             is a category, not a protocol.
3097
3098 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
3099
3100         Reviewed by Darin Adler.
3101
3102         Various editing functions take boolean userTriggered but should be replaced by an enum
3103         https://bugs.webkit.org/show_bug.cgi?id=62933
3104
3105         Replaced boolean userTriggered in many functions by new EUserTriggered enum.
3106
3107         * WebCore.exp.in: FrameSelection::modify's signature changed.
3108         * accessibility/AccessibilityRenderObject.cpp:
3109         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): Calls FrameSelection::moveTo.
3110         * editing/EditorCommand.cpp:
3111         (WebCore::executeMoveBackward): Calls FrameSelection::modify.
3112         (WebCore::executeMoveBackwardAndModifySelection): Ditto.
3113         (WebCore::executeMoveDown): Ditto.
3114         (WebCore::executeMoveDownAndModifySelection): Ditto.
3115         (WebCore::executeMoveForward): Ditto.
3116         (WebCore::executeMoveForwardAndModifySelection): Ditto.
3117         (WebCore::executeMoveLeft): Ditto.
3118         (WebCore::executeMoveLeftAndModifySelection): Ditto.
3119         (WebCore::executeMovePageDown): Ditto.
3120         (WebCore::executeMovePageDownAndModifySelection): Ditto.
3121         (WebCore::executeMovePageUp): Ditto.
3122         (WebCore::executeMovePageUpAndModifySelection): Ditto.
3123         (WebCore::executeMoveRight): Ditto.
3124         (WebCore::executeMoveRightAndModifySelection): Ditto.
3125         (WebCore::executeMoveToBeginningOfDocument): Ditto.
3126         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
3127         (WebCore::executeMoveToBeginningOfLine): Ditto.
3128         (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
3129         (WebCore::executeMoveToBeginningOfParagraph): Ditto.
3130         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
3131         (WebCore::executeMoveToBeginningOfSentence): Ditto.
3132         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
3133         (WebCore::executeMoveToEndOfDocument): Ditto.
3134         (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
3135         (WebCore::executeMoveToEndOfSentence): Ditto.
3136         (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
3137         (WebCore::executeMoveToEndOfLine): Ditto.
3138         (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
3139         (WebCore::executeMoveToEndOfParagraph): Ditto.
3140         (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
3141         (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
3142         (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
3143         (WebCore::executeMoveUp): Ditto.
3144         (WebCore::executeMoveUpAndModifySelection): Ditto.
3145         (WebCore::executeMoveWordBackward): Ditto.
3146         (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
3147         (WebCore::executeMoveWordForward): Ditto.
3148         (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
3149         (WebCore::executeMoveWordLeft): Ditto.
3150         (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
3151         (WebCore::executeMoveWordRight): Ditto.
3152         (WebCore::executeMoveWordRightAndModifySelection): Ditto.
3153         (WebCore::executeMoveToLeftEndOfLine): Ditto.
3154         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
3155         (WebCore::executeMoveToRightEndOfLine): Ditto.
3156         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
3157         * editing/FrameSelection.cpp:
3158         (WebCore::FrameSelection::moveTo): Takes EUserTriggered instead of a boolean.
3159         (WebCore::FrameSelection::setSelection): Ditto.
3160         (WebCore::FrameSelection::modify): Ditto.
3161         (WebCore::FrameSelection::setStart): Ditto.
3162         (WebCore::FrameSelection::setEnd): Ditto.
3163         (WebCore::FrameSelection::setBase): Ditto.
3164         (WebCore::FrameSelection::setExtent): Ditto.
3165         (WebCore::FrameSelection::selectAll): Ditto.
3166         (WebCore::FrameSelection::notifyRendererOfSelectionChange): Ditto.
3167         * editing/FrameSelection.h: Extracted EUserTriggered out of SetSelectionOption; SetSelectionOptions
3168         now takes the union of values of SetSelectionOption and EUserTriggered.
3169         (WebCore::FrameSelection::selectionOptionsToUserTriggered): Converts SetSelectionOptions to
3170         EUserTriggered. 
3171         * page/DOMSelection.cpp:
3172         (WebCore::DOMSelection::modify): Calls FrameSelection::modify.
3173         * page/EventHandler.cpp:
3174         (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
3175         (WebCore::handleKeyboardSelectionMovement): Ditto.
3176
3177 2011-06-20  Jer Noble  <jer.noble@apple.com>
3178
3179         Unreviewed build fix; Fix 32-bit build.
3180
3181         Code recently moved from WebKit -> WebCore does not pass WebCore's more strict compiler warnings.  Use 
3182         CGFloat, and float constants wherever possible, and use narrowPrecisionToFloat() where not.
3183
3184         * WebCore.xcodeproj/project.pbxproj: Add '-Wno-undef' flag for WebVideoFullScreenController.mm 
3185         * platform/mac/WebVideoFullscreenController.mm:
3186         (constrainFrameToRatioOfFrame): Use CGFloat instead of Double.
3187         (-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Use float constant.
3188         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
3189         (-[WebVideoFullscreenHUDWindowController updateVolume]): Use float for volume.
3190         (-[WebVideoFullscreenHUDWindowController maxVolume]): Ditto.
3191         (-[WebVideoFullscreenHUDWindowController volumeChanged:]): Ditto.
3192         (-[WebVideoFullscreenHUDWindowController decrementVolume]): Ditto.
3193         (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
3194         (-[WebVideoFullscreenHUDWindowController volume]): Ditto.
3195         (-[WebVideoFullscreenHUDWindowController setVolume:]): Ditto. 
3196         (timeToString): Narrow precision to float when converting to seconds.
3197         * platform/mac/WebWindowAnimation.mm:
3198         (scaledRect): Use CGFloat.
3199         (-[WebWindowScaleAnimation init]): Use float constant.
3200         (-[WebWindowScaleAnimation currentValue]): Ditto.
3201         (-[WebWindowScaleAnimation additionalDurationNeededToReachFinalFrame]): Ditto.
3202         (-[WebWindowFadeAnimation currentAlpha]): Ditto.
3203
3204 2011-06-20  Anders Carlsson  <andersca@apple.com>
3205
3206         Reviewed by Darin Adler.
3207
3208         Disallow assigning into PassOwnArrayPtr, PassOwnPtr and PassRefPtr
3209         https://bugs.webkit.org/show_bug.cgi?id=62940
3210
3211         Make sure that we never assign into any already existing PassRefPtr.
3212
3213         * accessibility/AccessibilityMediaControls.cpp:
3214         (WebCore::AccessibilityMediaControl::create):
3215         Remove local PassRefPtr variable.
3216
3217         * dom/Document.cpp:
3218         (WebCore::Document::setBody):
3219         Rename the PassRefPtr parameter and create a RefPtr variable.
3220
3221         (WebCore::Document::setFocusedNode):
3222         Ditto.
3223
3224         * editing/ApplyStyleCommand.cpp:
3225         (WebCore::ApplyStyleCommand::removeInlineStyle):
3226         There's no reason to use a PassRefPtr here. Use a RefPtr, and don't initialize it since it's implicitly initialized.
3227
3228         * editing/CompositeEditCommand.cpp:
3229         (WebCore::CompositeEditCommand::prune):
3230         Rename the PassRefPtr parameter and create a RefPtr variable.
3231
3232         * editing/ReplaceSelectionCommand.cpp:
3233         (WebCore::ReplaceSelectionCommand::insertAsListItems):
3234         Ditto.
3235
3236         * editing/htmlediting.cpp:
3237         (WebCore::createTabSpanElement):
3238         Ditto.
3239
3240         * html/canvas/CanvasRenderingContext2D.cpp:
3241         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
3242         (WebCore::CanvasRenderingContext2D::setFillStyle):
3243         Ditto.
3244
3245         * platform/network/mac/FormDataStreamMac.mm:
3246         (WebCore::formFinalize):
3247         Ditto.
3248
3249         (WebCore::setHTTPBody):
3250         Use an OwnPtr instead of explicitly deleting the form variable.
3251
3252 2011-06-20  Alex Milowski  <alex@milowski.com>
3253
3254         Reviewed by Darin Adler.
3255
3256         This patch addresses handling wrapping of child properly to maintain the layout regardless of whether 
3257         this is the initial build of the render tree or the result of DOM manipulation.
3258         https://bugs.webkit.org/show_bug.cgi?id=62098
3259
3260         Tests: mathml/presentation/msub-base-changed.xhtml
3261                mathml/presentation/msub-sub-changed.xhtml
3262                mathml/presentation/msubsup-base-changed.xhtml
3263                mathml/presentation/msubsup-sub-changed.xhtml
3264                mathml/presentation/msubsup-sup-changed.xhtml
3265                mathml/presentation/msup-base-changed.xhtml
3266                mathml/presentation/msup-sup-changed.xhtml
3267
3268         * rendering/mathml/RenderMathMLSubSup.cpp:
3269         (WebCore::RenderMathMLSubSup::addChild):
3270         (WebCore::RenderMathMLSubSup::stretchToHeight):
3271         (WebCore::RenderMathMLSubSup::baselinePosition):
3272
3273 2011-06-01  Jer Noble  <jer.noble@apple.com>
3274
3275         Reviewed by Eric Carlson.
3276
3277         Move Full Screen Controllers into WebCore.
3278
3279         Remove dependency on QTKit from wekitExitFullscreen()
3280         https://bugs.webkit.org/show_bug.cgi?id=61843
3281
3282         No new tests; the existing media full screen tests are sufficient.
3283
3284         * WebCore.exp.in: Add new exports.
3285         * WebCore.xcodeproj/project.pbxproj: Add references to moved files.
3286         * platform/mac/WebCoreSystemInterface.h: Add new WCSI interfaces to WKSI functions.
3287         * platform/mac/WebCoreSystemInterface.mm:
3288         * platform/mac/WebVideoFullscreenController.h: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.h.
3289         * platform/mac/WebVideoFullscreenController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.mm.
3290         
3291         The following functions have had UNUSED_PARAM added:
3292         (-[WebVideoFullscreenController applicationDidResignActive:]):
3293         (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):
3294         (-[WebVideoFullscreenWindow mouseMoved:]):
3295
3296 Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.h.
3297         * platform/mac/WebVideoFullscreenHUDWindowController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm.
3298         
3299         The following functions have had UNUSED_PARAM added:
3300         (-[WebVideoFullscreenHUDWindow cancelOperation:]):
3301         (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
3302         (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]):
3303         (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]):
3304         (-[WebVideoFullscreenHUDWindowController togglePlaying:]):
3305         (-[WebVideoFullscreenHUDWindowController mouseEntered:]):
3306         (-[WebVideoFullscreenHUDWindowController mouseExited:]):
3307         (-[WebVideoFullscreenHUDWindowController rewind:]):
3308         (-[WebVideoFullscreenHUDWindowController fastForward:]):
3309         (-[WebVideoFullscreenHUDWindowController windowDidExpose:]):
3310         (-[WebVideoFullscreenHUDWindowController windowDidClose:]):
3311
3312         The following functions have had WKSI calls converted to WCSI ones:
3313         (createControlWithMediaUIControlType):
3314         (createTimeTextField):
3315         
3316         * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.
3317         * platform/mac/WebWindowAnimation.mm: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.m.
3318         (WebWindowAnimationDurationFromDuration):
3319
3320         The following functions have had WKSI calls converted to WCSI ones:
3321         (-[WebWindowScaleAnimation setCurrentProgress:]):
3322         (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):
3323
3324 2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>
3325
3326         Reviewed by Adam Barth.
3327
3328         Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
3329         https://bugs.webkit.org/show_bug.cgi?id=62904
3330
3331         After bug 62750, there are many IDL files that contain the new
3332         LegacyDefaultOptionalArguments flag that don't actually need it.
3333         Some examples:
3334
3335             - the IDL file contains no functions
3336             - the IDL file contains only functions with no arguments
3337             - the IDL file contains functions, *all* of which use the
3338               [RequiresAllArguments=raise] extended attribute
3339
3340         This patch simplifies such IDL files by removing the
3341         LegacyDefaultOptionalArguments flag and (if needed) removing the
3342         [RequiresAllArguments=raise] extended attribute from each function
3343         declaration. This patch does not make any required arguments optional
3344         or any optional arguments required. It changes no behavior at all.
3345
3346         No new tests needed, all existing tests pass.
3347
3348         * bindings/scripts/CodeGeneratorJS.pm:
3349         * bindings/scripts/test/TestInterface.idl:
3350         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
3351         * css/CSSCharsetRule.idl:
3352         * css/CSSFontFaceRule.idl:
3353         * css/CSSImportRule.idl:
3354         * css/CSSPageRule.idl:
3355         * css/CSSRule.idl:
3356         * css/CSSStyleRule.idl:
3357         * css/CSSUnknownRule.idl:
3358         * css/CSSValue.idl:
3359         * css/Counter.idl:
3360         * css/RGBColor.idl:
3361         * css/Rect.idl:
3362         * css/StyleSheet.idl:
3363         * css/WebKitCSSKeyframeRule.idl:
3364         * css/WebKitCSSTransformValue.idl:
3365         * dom/Attr.idl:
3366         * dom/CDATASection.idl:
3367         * dom/ClientRect.idl:
3368         * dom/Comment.idl:
3369         * dom/DOMCoreException.idl:
3370         * dom/DOMStringMap.idl:
3371         * dom/DocumentType.idl:
3372         * dom/Entity.idl:
3373         * dom/EntityReference.idl:
3374         * dom/EventException.idl:
3375         * dom/GeneratedStream.idl:
3376         * dom/MessageChannel.idl:
3377         * dom/NodeIterator.idl:
3378         * dom/Notation.idl:
3379         * dom/ProcessingInstruction.idl:
3380         * dom/RangeException.idl:
3381         * dom/Touch.idl:
3382         * dom/TreeWalker.idl:
3383         * fileapi/DOMFileSystem.idl:
3384         * fileapi/DOMFileSystemSync.idl:
3385         * fileapi/DirectoryReaderSync.idl:
3386         * fileapi/File.idl:
3387         * fileapi/FileEntrySync.idl:
3388         * fileapi/FileError.idl:
3389         * fileapi/FileException.idl:
3390         * fileapi/Metadata.idl:
3391         * fileapi/OperationNotAllowedException.idl:
3392         * fileapi/WebKitFlags.idl:
3393         * html/DOMSettableTokenList.idl:
3394         * html/HTMLAppletElement.idl:
3395         * html/HTMLAreaElement.idl:
3396         * html/HTMLBRElement.idl:
3397         * html/HTMLBaseElement.idl:
3398         * html/HTMLBaseFontElement.idl:
3399         * html/HTMLBlockquoteElement.idl:
3400         * html/HTMLBodyElement.idl:
3401         * html/HTMLDListElement.idl:
3402         * html/HTMLDataListElement.idl:
3403         * html/HTMLDetailsElement.idl:
3404         * html/HTMLDirectoryElement.idl:
3405         * html/HTMLEmbedElement.idl:
3406         * html/HTMLFontElement.idl:
3407         * html/HTMLFormElement.idl:
3408         * html/HTMLFrameElement.idl:
3409         * html/HTMLFrameSetElement.idl:
3410         * html/HTMLHRElement.idl:
3411         * html/HTMLHeadElement.idl:
3412         * html/HTMLHeadingElement.idl:
3413         * html/HTMLHtmlElement.idl:
3414         * html/HTMLIFrameElement.idl:
3415         * html/HTMLImageElement.idl:
3416         * html/HTMLIsIndexElement.idl:
3417         * html/HTMLLIElement.idl:
3418         * html/HTMLLabelElement.idl:
3419         * html/HTMLLegendElement.idl:
3420         * html/HTMLLinkElement.idl:
3421         * html/HTMLMapElement.idl:
3422         * html/HTMLMarqueeElement.idl:
3423         * html/HTMLMenuElement.idl:
3424         * html/HTMLMetaElement.idl:
3425         * html/HTMLMeterElement.idl:
3426         * html/HTMLModElement.idl:
3427         * html/HTMLOListElement.idl:
3428         * html/HTMLOptGroupElement.idl:
3429         * html/HTMLOptionElement.idl:
3430         * html/HTMLParagraphElement.idl:
3431         * html/HTMLParamElement.idl:
3432         * html/HTMLPreElement.idl:
3433         * html/HTMLProgressElement.idl:
3434         * html/HTMLQuoteElement.idl:
3435         * html/HTMLScriptElement.idl:
3436         * html/HTMLSourceElement.idl:
3437         * html/HTMLStyleElement.idl:
3438         * html/HTMLTableCaptionElement.idl:
3439         * html/HTMLTableCellElement.idl:
3440         * html/HTMLTableColElement.idl:
3441         * html/HTMLTitleElement.idl:
3442         * html/HTMLTrackElement.idl:
3443         * html/HTMLUListElement.idl:
3444         * html/ImageData.idl:
3445         * html/MediaError.idl:
3446         * html/SpellcheckRange.idl:
3447         * html/TextMetrics.idl:
3448         * html/ValidityState.idl:
3449         * html/VoidCallback.idl:
3450         * html/canvas/ArrayBuffer.idl:
3451         * html/canvas/ArrayBufferView.idl:
3452         * html/canvas/CanvasPattern.idl:
3453         * html/canvas/CanvasPixelArray.idl:
3454         * html/canvas/CanvasRenderingContext.idl:
3455         * html/canvas/DataView.idl:
3456         * html/canvas/OESStandardDerivatives.idl:
3457         * html/canvas/OESTextureFloat.idl:
3458         * html/canvas/WebGLActiveInfo.idl:
3459         * html/canvas/WebGLBuffer.idl:
3460         * html/canvas/WebGLContextAttributes.idl:
3461         * html/canvas/WebGLFramebuffer.idl:
3462         * html/canvas/WebGLProgram.idl:
3463         * html/canvas/WebGLRenderbuffer.idl:
3464         * html/canvas/WebGLShader.idl: