edd0e2cd8ffdc9c52b74ddee49194f0f6f73479c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-16  Pratik Solanki  <psolanki@apple.com>
2
3         onorientationchange event should have JSWindowEventListener attribute
4         https://bugs.webkit.org/show_bug.cgi?id=79513
5
6         Reviewed by Kentaro Hara.
7
8         * html/HTMLFrameSetElement.idl:
9
10 2012-03-15  Gao Chun  <chun.gao@intel.com>
11
12         Expose attack, release as DynamicsCompressorNode's attributes.
13         https://bugs.webkit.org/show_bug.cgi?id=81221
14
15         Reviewed by Chris Rogers.
16
17         Test: webaudio/dynamicscompressor-basic.html
18
19         * platform/audio/DynamicsCompressor.h:
20         (DynamicsCompressor):
21         * webaudio/DynamicsCompressorNode.cpp:
22         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
23         (WebCore::DynamicsCompressorNode::process):
24         * webaudio/DynamicsCompressorNode.h:
25         (WebCore::DynamicsCompressorNode::attack):
26         (WebCore::DynamicsCompressorNode::release):
27         (DynamicsCompressorNode):
28         * webaudio/DynamicsCompressorNode.idl:
29
30 2012-03-15  Hans Wennborg  <hans@chromium.org>
31
32         Speech JavaScript API: SpeechRecognition, Controller and Client
33         https://bugs.webkit.org/show_bug.cgi?id=81096
34
35         Reviewed by Adam Barth.
36
37         Add implementation stub for SpeechRecognition. Add the
38         SpeechRecognitionController class and SpeechRecognitionClient
39         interface.
40
41         Test: fast/speech/scripted/basics.html
42
43         * Modules/speech/DOMWindowSpeech.idl:
44         * Modules/speech/SpeechRecognition.cpp: Added.
45         (WebCore):
46         (WebCore::SpeechRecognition::create):
47         (WebCore::SpeechRecognition::start):
48         (WebCore::SpeechRecognition::stopFunction):
49         (WebCore::SpeechRecognition::abort):
50         (WebCore::SpeechRecognition::audioStartCallback):
51         (WebCore::SpeechRecognition::soundStartCallback):
52         (WebCore::SpeechRecognition::speechStartCallback):
53         (WebCore::SpeechRecognition::speechEndCallback):
54         (WebCore::SpeechRecognition::audioEndCallback):
55         (WebCore::SpeechRecognition::resultCallback):
56         (WebCore::SpeechRecognition::noMatchCallback):
57         (WebCore::SpeechRecognition::resultDeletedCallback):
58         (WebCore::SpeechRecognition::errorCallback):
59         (WebCore::SpeechRecognition::startCallback):
60         (WebCore::SpeechRecognition::endCallback):
61         (WebCore::SpeechRecognition::interfaceName):
62         (WebCore::SpeechRecognition::scriptExecutionContext):
63         (WebCore::SpeechRecognition::SpeechRecognition):
64         (WebCore::SpeechRecognition::~SpeechRecognition):
65         * Modules/speech/SpeechRecognition.h: Added.
66         (WebCore):
67         (SpeechRecognition):
68         (WebCore::SpeechRecognition::grammars):
69         (WebCore::SpeechRecognition::setGrammars):
70         (WebCore::SpeechRecognition::lang):
71         (WebCore::SpeechRecognition::setLang):
72         (WebCore::SpeechRecognition::continuous):
73         (WebCore::SpeechRecognition::setContinuous):
74         * Modules/speech/SpeechRecognition.idl:
75         * Modules/speech/SpeechRecognitionClient.h:
76         (WebCore):
77         (SpeechRecognitionClient):
78         (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
79         * Modules/speech/SpeechRecognitionController.cpp:
80         (WebCore):
81         (WebCore::SpeechRecognitionController::supplementName):
82         (WebCore::SpeechRecognitionController::SpeechRecognitionController):
83         (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
84         (WebCore::SpeechRecognitionController::create):
85         (WebCore::provideSpeechRecognitionTo):
86         * Modules/speech/SpeechRecognitionController.h: Added.
87         (WebCore):
88         (SpeechRecognitionController):
89         (WebCore::SpeechRecognitionController::start):
90         (WebCore::SpeechRecognitionController::stop):
91         (WebCore::SpeechRecognitionController::abort):
92         (WebCore::SpeechRecognitionController::visibilityHidden):
93         (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
94         (WebCore::SpeechRecognitionController::from):
95         * WebCore.gypi:
96         * dom/EventTargetFactory.in:
97
98 2012-03-15  Michal Ciepielski  <m.ciepielski@samsung.com>
99
100         [EFL] Sets alpha channel for new buffers.
101         https://bugs.webkit.org/show_bug.cgi?id=77101
102
103         Reviewed by Hajime Morita.
104
105         No new tests.
106
107         By default EFL creates buffers without alpha channel.
108         This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
109         This commits sets alpha channel for all newly created buffers by EFL.
110
111         * platform/efl/RenderThemeEfl.cpp:
112         (WebCore::RenderThemeEfl::cacheThemePartNew):
113
114 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
115
116         Unreviewed, rolling out r110941.
117         http://trac.webkit.org/changeset/110941
118         https://bugs.webkit.org/show_bug.cgi?id=81307
119
120         the revert looks innocent. (Requested by morrita on #webkit).
121
122         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
123         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
124         * platform/graphics/chromium/Canvas2DLayerChromium.h:
125         (Canvas2DLayerChromium):
126         * platform/graphics/chromium/ContentLayerChromium.cpp:
127         (WebCore::ContentLayerChromium::paintContentsIfDirty):
128         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
129         * platform/graphics/chromium/ContentLayerChromium.h:
130         (WebCore):
131         (ContentLayerChromium):
132         * platform/graphics/chromium/ImageLayerChromium.cpp:
133         (WebCore::ImageLayerChromium::paintContentsIfDirty):
134         * platform/graphics/chromium/ImageLayerChromium.h:
135         (WebCore):
136         (ImageLayerChromium):
137         * platform/graphics/chromium/LayerChromium.h:
138         (WebCore::LayerChromium::paintContentsIfDirty):
139         (WebCore::LayerChromium::idlePaintContentsIfDirty):
140         * platform/graphics/chromium/TiledLayerChromium.cpp:
141         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
142         (WebCore::TiledLayerChromium::prepareToUpdate):
143         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
144         * platform/graphics/chromium/TiledLayerChromium.h:
145         (TiledLayerChromium):
146         * platform/graphics/chromium/WebGLLayerChromium.cpp:
147         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
148         * platform/graphics/chromium/WebGLLayerChromium.h:
149         (WebGLLayerChromium):
150         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
151         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
152         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
153         (WebCore::CCLayerTreeHost::paintLayerContents):
154         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
155
156 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
157
158         MediaStream API (JSEP): Introducing SessionDescription
159         https://bugs.webkit.org/show_bug.cgi?id=81206
160
161         Reviewed by Adam Barth.
162
163         Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
164         see bug 80589 for more information.
165         Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
166
167         Not possible to test until the entire JSEP feature is commited.
168
169         * GNUmakefile.list.am:
170         * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
171         (WebCore):
172         (WebCore::SessionDescription::create):
173         (WebCore::SessionDescription::SessionDescription):
174         (WebCore::SessionDescription::~SessionDescription):
175         (WebCore::SessionDescription::addCandidate):
176         (WebCore::SessionDescription::toSdp):
177         (WebCore::SessionDescription::descriptor):
178         * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
179         (WebCore):
180         (SessionDescription):
181         * Modules/mediastream/SessionDescription.idl: Added.
182         * WebCore.gypi:
183         * platform/mediastream/MediaStreamCenter.cpp:
184         (WebCore::MediaStreamCenter::constructSdp):
185         (WebCore):
186         * platform/mediastream/MediaStreamCenter.h:
187         (WebCore):
188         (MediaStreamCenter):
189         * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
190         (WebCore):
191         (WebCore::SessionDescriptionDescriptor::create):
192         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
193         (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
194         (WebCore::SessionDescriptionDescriptor::addCandidate):
195         (WebCore::SessionDescriptionDescriptor::toSdp):
196         (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
197         (WebCore::SessionDescriptionDescriptor::candidate):
198         (WebCore::SessionDescriptionDescriptor::initialSdp):
199         * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
200         (WebCore):
201         (SessionDescriptionDescriptor):
202
203 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
204
205         Unreviewed, rolling out r110929.
206         http://trac.webkit.org/changeset/110929
207         https://bugs.webkit.org/show_bug.cgi?id=81306
208
209         breaking webkit_unit_tests (Requested by morrita on #webkit).
210
211         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
212         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
213         * platform/graphics/chromium/Canvas2DLayerChromium.h:
214         (Canvas2DLayerChromium):
215         * platform/graphics/chromium/ContentLayerChromium.cpp:
216         (WebCore::ContentLayerChromium::paintContentsIfDirty):
217         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
218         * platform/graphics/chromium/ContentLayerChromium.h:
219         (WebCore):
220         (ContentLayerChromium):
221         * platform/graphics/chromium/ImageLayerChromium.cpp:
222         (WebCore::ImageLayerChromium::paintContentsIfDirty):
223         * platform/graphics/chromium/ImageLayerChromium.h:
224         (WebCore):
225         (ImageLayerChromium):
226         * platform/graphics/chromium/LayerChromium.h:
227         (WebCore::LayerChromium::paintContentsIfDirty):
228         (WebCore::LayerChromium::idlePaintContentsIfDirty):
229         * platform/graphics/chromium/TiledLayerChromium.cpp:
230         (WebCore):
231         (WebCore::contentToLayerTransform):
232         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
233         (WebCore::TiledLayerChromium::prepareToUpdate):
234         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
235         * platform/graphics/chromium/TiledLayerChromium.h:
236         (WebCore):
237         (TiledLayerChromium):
238         * platform/graphics/chromium/WebGLLayerChromium.cpp:
239         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
240         * platform/graphics/chromium/WebGLLayerChromium.h:
241         (WebGLLayerChromium):
242         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
243         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
244         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
245         (WebCore::CCLayerTreeHost::paintLayerContents):
246         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
247
248 2012-03-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
249
250         REGRESSION(r106232): The resize handler is always called after loading.
251         https://bugs.webkit.org/show_bug.cgi?id=80242
252
253         Reviewed by Kenneth Rohde Christiansen.
254
255         Ensure resize-events are not emitted when layout-size changes due to added
256         scrollbars. For fixed layout, scrollbars are never subtracted or added, so
257         we can compare fixedLayoutSize directly. For normal layout, use the full
258         visible rect size which is the same as layout size plus scrollbars.
259
260         Test: fast/events/resize-events.html
261
262         * page/FrameView.cpp:
263         (WebCore::FrameView::reset):
264         (WebCore::FrameView::layout):
265         (WebCore::FrameView::performPostLayoutTasks):
266         * page/FrameView.h:
267         (FrameView):
268
269 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
270
271         MediaStream API (JSEP): Introducing MediaHints and IceOptions
272         https://bugs.webkit.org/show_bug.cgi?id=81207
273
274         Reviewed by Adam Barth.
275
276         Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
277         see bug 80589 for more information.
278         Introducing the platform MediaHints and IceOptions helper classes.
279
280         Not possible to test until the entire JSEP feature is commited.
281
282         * GNUmakefile.list.am:
283         * WebCore.gypi:
284         * platform/mediastream/IceOptions.cpp: Added.
285         (WebCore):
286         (WebCore::IceOptions::create):
287         * platform/mediastream/IceOptions.h: Added.
288         (WebCore):
289         (IceOptions):
290         (WebCore::IceOptions::~IceOptions):
291         (WebCore::IceOptions::useCandidates):
292         (WebCore::IceOptions::IceOptions):
293         * platform/mediastream/MediaHints.cpp: Added.
294         (WebCore):
295         (WebCore::MediaHints::create):
296         (WebCore::MediaHints::audio):
297         (WebCore::MediaHints::video):
298         * platform/mediastream/MediaHints.h: Added.
299         (WebCore):
300         (MediaHints):
301         (WebCore::MediaHints::~MediaHints):
302         (WebCore::MediaHints::MediaHints):
303
304 2012-03-15  Shinya Kawanaka  <shinyak@chromium.org>
305
306         [Crash] Adding <content> into a ShadowRoot causes crash.
307         https://bugs.webkit.org/show_bug.cgi?id=80020
308
309         Reviewed by Hajime Morita.
310
311         The problem is <content> tries to select host children though it is not prepared.
312         Since populating host children for insertion points is performed just before
313         attaching a shadow tree, we should recalculate whole shadow tree if <content> is
314         appended as a child.
315
316         However, element->appendChild() does not know the element is in a shadow tree or not.
317         We have to ensure reattaching whole shadow tree here.
318
319         So this patch adds some phases to HTMLContentSelector so that we can check node
320         distribution algorihm is begin processed or not. If not we cannot select anything,
321         but we have to enable a flag to reattach whole shadow tree.
322
323         Tests: fast/dom/shadow/shadow-content-crash-expected.html
324                fast/dom/shadow/shadow-content-crash.html
325
326         * dom/ShadowTree.cpp:
327         (WebCore::ShadowTree::attach):
328         (WebCore::ShadowTree::insertionPointFor):
329         * dom/ShadowTree.h:
330         (WebCore):
331         (ShadowTree):
332         (WebCore::ShadowTree::selector):
333         * html/shadow/HTMLContentSelector.cpp:
334         (WebCore::HTMLContentSelector::HTMLContentSelector):
335         (WebCore::HTMLContentSelector::select):
336         (WebCore::HTMLContentSelector::willSelect):
337         (WebCore):
338         (WebCore::HTMLContentSelector::didSelect):
339         (WebCore::HTMLContentSelector::populateIfNecessary):
340         * html/shadow/HTMLContentSelector.h:
341         (HTMLContentSelector):
342         (WebCore::HTMLContentSelector::isSelecting):
343         (WebCore):
344         (WebCore::HTMLContentSelector::hasPopulated):
345         * html/shadow/InsertionPoint.cpp:
346         (WebCore::InsertionPoint::distributeHostChildren):
347         (WebCore::InsertionPoint::clearDistribution):
348
349 2012-03-15  Mike Lawther  <mikelawther@chromium.org>
350
351         CSS3 calc: mixed percent/absolute expressions for gradients
352         https://bugs.webkit.org/show_bug.cgi?id=81182
353
354         Reviewed by Ojan Vafai.
355
356         * css/CSSGradientValue.cpp:
357         (WebCore::CSSGradientValue::addStops):
358         (WebCore::positionFromValue):
359
360 2012-03-15  Leo Yang  <leo.yang@torchmobile.com.cn>
361
362         [BlackBerry] Sync up MIMETypeRegistry.cpp
363         https://bugs.webkit.org/show_bug.cgi?id=81191
364
365         Reviewed by Rob Buis.
366
367         Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
368
369         * platform/MIMETypeRegistry.cpp:
370         (WebCore::initializeSupportedImageMIMETypesForEncoding):
371
372 2012-03-15  Dana Jansens  <danakj@chromium.org>
373
374         [chromium] Decide occlusion in paint culling with CCOcclusionTracker
375         https://bugs.webkit.org/show_bug.cgi?id=81181
376
377         Reviewed by Adrienne Walker.
378
379         Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
380         can make a more informed decision if a tile is occluded or not during
381         paint.
382
383         Covered by existing tests.
384
385         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
386         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
387         * platform/graphics/chromium/Canvas2DLayerChromium.h:
388         (Canvas2DLayerChromium):
389         * platform/graphics/chromium/ContentLayerChromium.cpp:
390         (WebCore::ContentLayerChromium::paintContentsIfDirty):
391         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
392         * platform/graphics/chromium/ContentLayerChromium.h:
393         (WebCore):
394         (ContentLayerChromium):
395         * platform/graphics/chromium/ImageLayerChromium.cpp:
396         (WebCore::ImageLayerChromium::paintContentsIfDirty):
397         * platform/graphics/chromium/ImageLayerChromium.h:
398         (WebCore):
399         (ImageLayerChromium):
400         * platform/graphics/chromium/LayerChromium.h:
401         (WebCore::LayerChromium::paintContentsIfDirty):
402         (WebCore::LayerChromium::idlePaintContentsIfDirty):
403         * platform/graphics/chromium/TiledLayerChromium.cpp:
404         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
405         (WebCore::TiledLayerChromium::prepareToUpdate):
406         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
407         * platform/graphics/chromium/TiledLayerChromium.h:
408         (TiledLayerChromium):
409         * platform/graphics/chromium/WebGLLayerChromium.cpp:
410         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
411         * platform/graphics/chromium/WebGLLayerChromium.h:
412         (WebGLLayerChromium):
413         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
414         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
415         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
416         (WebCore::CCLayerTreeHost::paintLayerContents):
417         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
418
419 2012-03-15  Yoshifumi Inoue  <yosin@chromium.org>
420
421         [Forms] The "meter" element should not be a form-associated element.
422         https://bugs.webkit.org/show_bug.cgi?id=80380
423
424         Reviewed by Kent Tamura.
425
426         This patch changes base class of HTMLMeterElement to LabelableElement from
427         HTMLFormControlElement for saving memory space and iteration time of
428         extra "meter" elements in HTMLFormElement::m_formAssociatedElements
429         and matching the HTML5 specification for ease of maintenance.
430
431         This patch renames isLabelable method to supportLabels and makes isLabelable
432         as predicate of an instance of LabelableElement or not.
433
434         Changes of TextIterator is lead by usage of isFormControlElement. This
435         changes will be replaced with more meaningful predicate as part of
436         https://bugs.webkit.org/show_bug.cgi?id=80381
437
438         No new tests. Update existing tests to cover this change.
439
440         * editing/TextIterator.cpp:
441         (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
442         * html/HTMLButton.h:
443         (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
444         * html/HTMLElement.h:
445         (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
446         * html/HTMLInputElement.h:
447         (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
448         * html/HTMLKeygenElement.h:
449         (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
450          * html/HTMLLabelElement.cpp:
451         (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
452         (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
453         * html/HTMLLabelElement.h:
454         (HTMLLabelElement):
455         * html/HTMLMeterElement.cpp:
456         (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
457         (WebCore::HTMLMeterElement::create): Remove form parameter.
458         (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
459         (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
460         (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
461         * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
462         * html/HTMLMeterElement.h:
463         (HTMLMeterElement):
464         (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
465         * html/HTMLOutputElement.h:
466         (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
467         * html/HTMLProgressElement.h:
468         (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
469          * html/HTMLSelectElement.h:
470         (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
471         * html/HTMLTextAreaElement.h:
472         (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
473         * html/HiddenInputType.h:
474         (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
475         * html/InputType.h:
476         (WebCore::InputType::supportLabels): Renamed from isLabelable
477         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
478         * html/LabelableElement.cpp:
479         (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
480         * html/LabelableElement.h:
481         (LabelableElement):
482
483 2012-03-15  Adam Klein  <adamk@chromium.org>
484
485         REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
486         https://bugs.webkit.org/show_bug.cgi?id=81141
487
488         Reviewed by Ojan Vafai.
489
490         Revert the behavior change from r103452: don't fire DOMSubtreeModified
491         events when an attribute value merely changes. Still fire that event
492         when an attribute is added or removed from an element.
493
494         Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
495         and given that Mutation Events are deprecated, it seems unwise to make
496         any additions to WebKit's implementation of them.
497
498         Test: fast/dom/subtree-modified-attributes.html
499
500         * dom/Element.cpp:
501         (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
502         (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
503         (WebCore):
504         * dom/Element.h:
505         (Element):
506         * dom/ElementAttributeData.cpp:
507         (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
508
509 2012-03-15  Dana Jansens  <danakj@chromium.org>
510
511         [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
512         https://bugs.webkit.org/show_bug.cgi?id=81156
513
514         Reviewed by Adrienne Walker.
515
516         Creates CCOverdrawMetrics which can be called to inform it about
517         draws/paints. At the end of the frame, the CCOverdrawMetrics
518         recordMetrics() method will put its data into histograms, a
519         TRACE_COUNTER for culling information, and a TRACE_EVENT for details
520         about the number of opaque/translucent pixels.
521
522         Covered by existing tests.
523
524         * WebCore.gypi:
525         * platform/chromium/TraceEvent.h:
526         (TraceEvent):
527         (WebCore::TraceEvent::addTraceEvent):
528         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
529         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
530         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
531         (WebCore):
532         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
533         (WebCore::wedgeProduct):
534         (WebCore::quadArea):
535         (WebCore::CCOverdrawMetrics::didDraw):
536         (WebCore::CCOverdrawMetrics::recordMetrics):
537         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
538         * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
539         (WebCore):
540         (CCOverdrawMetrics):
541         (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
542         (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
543         (WebCore::CCOverdrawMetrics::pixelsCulled):
544         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
545         (WebCore::CCQuadCuller::CCQuadCuller):
546         (WebCore::CCQuadCuller::append):
547         * platform/graphics/chromium/cc/CCQuadCuller.h:
548         (WebCore):
549         (CCQuadCuller):
550         * platform/graphics/chromium/cc/CCRenderPass.cpp:
551         (WebCore::CCRenderPass::appendQuadsForLayer):
552         * platform/graphics/chromium/cc/CCRenderPass.h:
553         (WebCore):
554         (CCRenderPass):
555
556 2012-03-15  James Robinson  <jamesr@chromium.org>
557
558         [chromium] RateLimiter should hold a reference to its context
559         https://bugs.webkit.org/show_bug.cgi?id=80761
560
561         Reviewed by Stephen White.
562
563         * platform/graphics/chromium/RateLimiter.h:
564         (RateLimiter):
565
566 2012-03-15  Adam Klein  <adamk@chromium.org>
567
568         Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
569         https://bugs.webkit.org/show_bug.cgi?id=81160
570
571         Reviewed by Kent Tamura.
572
573         The only difference between the previous insertedIntoTree method and
574         resetFormOwner was a missing element->inDocument() check in the
575         former. But that check is actually important, as seen by the included test case.
576
577         Test: fast/forms/form-attribute-not-in-document.html
578
579         * html/FormAssociatedElement.cpp:
580         (WebCore::FormAssociatedElement::insertedIntoTree):
581
582 2012-03-15  Kentaro Hara  <haraken@chromium.org>
583
584         [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
585         https://bugs.webkit.org/show_bug.cgi?id=81288
586
587         Reviewed by Adam Barth.
588
589         This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
590         'out' and 'result' for variable names of StringBuilder. This patch unifies them
591         to 'result'.
592
593         No tests. No change in behavior.
594
595         * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
596         (WebCore::appendCharactersReplacingEntities):
597         (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
598         (and for avoiding style check error in MarkupAccumulator.h).
599         (WebCore::MarkupAccumulator::concatenateMarkup):
600         (WebCore::MarkupAccumulator::appendNodeValue):
601         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
602         (WebCore::MarkupAccumulator::appendNamespace):
603         (WebCore::MarkupAccumulator::entityMaskForText):
604         (WebCore::MarkupAccumulator::appendText):
605         (WebCore::MarkupAccumulator::appendComment):
606         (WebCore::MarkupAccumulator::appendProcessingInstruction):
607         (WebCore::MarkupAccumulator::appendElement):
608         (WebCore::MarkupAccumulator::appendOpenTag):
609         (WebCore::MarkupAccumulator::appendCloseTag):
610         (WebCore::MarkupAccumulator::appendAttribute):
611         (WebCore::MarkupAccumulator::appendCDATASection):
612         (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
613         * editing/MarkupAccumulator.h: Removed redundant variable names.
614         (MarkupAccumulator):
615         (WebCore):
616
617 2012-03-15  Brent Fulgham  <bfulgham@webkit.org>
618
619         [WinCairo] Correct <wtf/*.h> include paths.
620         https://bugs.webkit.org/show_bug.cgi?id=81278
621
622         Reviewed by Eric Seidel.
623
624         Modify the #include declarations for several Cairo-related files
625         so that the wtf types are included using the full path.
626
627         * platform/graphics/FontPlatformData.h:
628         * platform/graphics/cairo/OwnPtrCairo.h:
629         * platform/graphics/cairo/RefPtrCairo.h:
630
631 2012-03-15  Anders Carlsson  <andersca@apple.com>
632
633         only some tiles rendered when zoomed in
634         https://bugs.webkit.org/show_bug.cgi?id=81282
635         <rdar://problem/11058898>
636
637         Reviewed by Andreas Kling.
638
639         * platform/graphics/ca/mac/TileCache.mm:
640         (WebCore::TileCache::rectForTileIndex):
641         Make sure that the tile cache bounds are scaled accordingly.
642
643 2012-03-15  Zeno Albisser  <zeno@webkit.org>
644
645         [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
646         https://bugs.webkit.org/show_bug.cgi?id=81107
647
648         Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
649         This way the base class function is properly overridden.
650         The need for this change became obvious after r110560 where the OVERRIDE keyword had been
651         added to the function signature.
652
653         Reviewed by Simon Hausmann.
654
655         * platform/qt/RenderThemeQt.cpp:
656         (WebCore::RenderThemeQt::fileListNameForWidth):
657         * platform/qt/RenderThemeQt.h:
658         (RenderThemeQt):
659
660 2012-03-07  Jon Lee  <jonlee@apple.com>
661
662         Move NotificationContents into Notification
663         https://bugs.webkit.org/show_bug.cgi?id=80487
664         <rdar://problem/10965519>
665
666         Reviewed by Jian Li.
667
668         * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
669         a NotificationContents instance.
670         (WebCore::Notification::Notification): Derive KURL from string representation of icon.
671         (WebCore::Notification::create):
672         * notifications/Notification.h:
673         (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
674         already existed, but use local variable instead of going through NotificationContents.
675         (WebCore::Notification::iconURL):
676         (WebCore::Notification::title):
677         (WebCore::Notification::body):
678         * notifications/NotificationCenter.h:
679         (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
680         * notifications/NotificationContents.h: Removed.
681
682         Remove NotificationContents.h from project files
683         * GNUmakefile.list.am:
684         * Target.pri:
685         * WebCore.gypi:
686         * WebCore.vcproj/WebCore.vcproj:
687         * WebCore.xcodeproj/project.pbxproj:
688
689 2012-03-13  Jon Lee  <jonlee@apple.com>
690
691         Deprecate ondisplay()
692         https://bugs.webkit.org/show_bug.cgi?id=80483
693         <rdar://problem/10912432>
694
695         Reviewed by Jian Li.
696
697         The appropriate event listener for notifications is onshow().
698
699         * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
700         * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
701
702 2012-03-14  W. James MacLean  <wjmaclean@chromium.org>
703
704         [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
705         https://bugs.webkit.org/show_bug.cgi?id=80607
706
707         Reviewed by James Robinson.
708
709         Unit tests added. Layout tests to follow.
710
711         Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
712         support in ScrollAnimatorNone, for fling gestures.
713
714         * GNUmakefile.list.am:
715         * platform/ActivePlatformGestureAnimation.cpp:
716         (WebCore::ActivePlatformGestureAnimation::create):
717         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
718         (WebCore::ActivePlatformGestureAnimation::animate):
719         * platform/ActivePlatformGestureAnimation.h:
720         (ActivePlatformGestureAnimation):
721         * platform/PlatformGestureCurveTarget.h:
722         (PlatformGestureCurveTarget):
723         * platform/ScrollAnimatorNone.cpp:
724         (WebCore::ScrollAnimatorNone::cancelAnimations):
725         (WebCore::ScrollAnimatorNone::animationTimerFired):
726         (WebCore::ScrollAnimatorNone::scrollBy):
727         (WebCore):
728         * platform/ScrollAnimatorNone.h:
729         (WebCore):
730         (ScrollAnimatorNone):
731         * platform/TouchFlingPlatformGestureCurve.cpp:
732         (WebCore::TouchFlingPlatformGestureCurve::apply):
733         * platform/WheelFlingPlatformGestureCurve.cpp:
734         (WebCore::WheelFlingPlatformGestureCurve::apply):
735         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
736         (WebCore::CCActiveGestureAnimation::create):
737         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
738         (WebCore::CCActiveGestureAnimation::animate):
739         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
740         (CCActiveGestureAnimation):
741         * platform/graphics/chromium/cc/CCGestureCurve.h:
742         (CCGestureCurveTarget):
743         * platform/graphics/chromium/cc/CCInputHandler.h:
744         (WebCore):
745         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
746         (WebCore::CCLayerTreeHostImpl::animate):
747         (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
748         (WebCore):
749         (WebCore::CCLayerTreeHostImpl::animateGestures):
750         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
751         (WebCore):
752         (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
753         (CCLayerTreeHostImpl):
754
755 2012-03-15  Patrick Gansterer  <paroga@webkit.org>
756
757         [EFL] Make zlib a general build requirement
758         https://bugs.webkit.org/show_bug.cgi?id=80153
759
760         Reviewed by Hajime Morita.
761
762         After r109538 WebSocket module needs zlib to support deflate-frame extension.
763
764         * PlatformEfl.cmake:
765
766 2012-03-15  Robert Kroeger  <rjkroege@chromium.org>
767
768         REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
769         https://bugs.webkit.org/show_bug.cgi?id=80825
770
771         Reviewed by James Robinson.
772
773         * page/EventHandler.cpp:
774         (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
775
776 2012-03-15  Scott Byer  <scottbyer@chromium.org>
777
778         Fix crbug 117957 - get settings scrolling with the wheel again.
779         https://bugs.webkit.org/show_bug.cgi?id=81247
780
781         Reviewed by James Robinson.
782
783         Tests to follow.
784
785         * page/FrameView.cpp:
786         (WebCore::FrameView::serviceScriptedAnimations):
787
788 2012-03-15  David Hyatt  <hyatt@apple.com>
789
790         https://bugs.webkit.org/show_bug.cgi?id=81258
791
792         Add a preference for enabling the new multi-column layout code that will be based on regions.
793
794         Reviewed by Beth Dakin.
795
796         * page/Settings.cpp:
797         (WebCore::Settings::Settings):
798         * page/Settings.h:
799         (WebCore::Settings::setRegionBasedColumnsEnabled):
800         (WebCore::Settings::regionBasedColumnsEnabled):
801         (Settings):
802
803 2012-03-15  Andreas Kling  <kling@webkit.org>
804
805         RenderStyle: Return Color objects by value instead of as const references.
806         <http://webkit.org/b/81180>
807
808         Reviewed by Antti Koivisto.
809
810         Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
811         for storing some color values in a more space-efficient fashion.
812
813         * css/CSSStyleApplyProperty.cpp:
814         (WebCore::ApplyPropertyColor::applyInheritValue):
815         * page/animation/AnimationBase.cpp:
816         (PropertyWrapperColor):
817         (WebCore::PropertyWrapperColor::PropertyWrapperColor):
818         (WebCore::PropertyWrapperColor::blend):
819         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
820         (PropertyWrapperMaybeInvalidColor):
821         (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
822         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
823         (PropertyWrapperSVGPaint):
824         * platform/graphics/Color.h:
825         (WebCore::Color::Color):
826         * rendering/style/RenderStyle.h:
827
828 2012-03-15  Jessie Berlin  <jberlin@apple.com>
829
830         Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
831         Debug WebKit2 testers
832         https://bugs.webkit.org/show_bug.cgi?id=81159
833
834         Rubber-stamped by Brady Eidson.
835
836         It is plausible that history could change in between the time a navigation request is
837         scheduled and the timer is fired, so the request index could be out of the b/f list range.
838         Hence, the assertion is invalid and should be removed.
839
840         * page/Page.cpp:
841         (WebCore::Page::goBackOrForward):
842
843 2012-03-15  Alexey Proskuryakov  <ap@apple.com>
844
845         Assertion failures in checkEncodedString when running WebKit2 tests
846         https://bugs.webkit.org/show_bug.cgi?id=67425
847         <rdar://problem/11043492>
848
849         Reviewed by Anders Carlsson.
850
851         * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
852         * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
853         The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
854         into a URL as if it's been normalized by KURL.
855
856 2012-03-15  Brady Eidson  <beidson@apple.com>
857
858         <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
859         REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
860
861         Reviewed by Sam Weinig.
862
863         Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
864
865         Add the non-destructive "addTypes" to supplement the destructive "setTypes"
866         * platform/PasteboardStrategy.h:
867         (PasteboardStrategy):
868         * platform/PlatformPasteboard.h:
869         (PlatformPasteboard):
870         * platform/mac/PlatformPasteboardMac.mm:
871         (WebCore::PlatformPasteboard::addTypes):
872         * WebCore.exp.in:
873
874         * platform/mac/ClipboardMac.mm:
875         (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
876           the destructive "setTypes"
877
878 2012-03-15  Dana Jansens  <danakj@chromium.org>
879
880         [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
881         https://bugs.webkit.org/show_bug.cgi?id=81083
882
883         Reviewed by Adrienne Walker.
884
885         The surface pointer on the occlusion tracker stack is uninitialized, and
886         can be non-null, but the layer's target surface is null, causing asserts
887         to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
888         surface to be null.
889
890         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
891         (WebCore::::enterTargetRenderSurface):
892         (WebCore::::unoccludedContentRect):
893         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
894         (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
895
896 2012-03-15  David Levin  <levin@chromium.org>
897
898         Various autoresize fixes.
899         https://bugs.webkit.org/show_bug.cgi?id=81199
900
901         Reviewed by Darin Fisher.
902
903         Tested by WebViewTest additions.
904
905         * page/FrameView.cpp:
906         (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
907         scrollbar to appear when the size was width was fixed and height overflowed which
908         is one of the tests that was added.
909
910 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
911
912         Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
913         https://bugs.webkit.org/show_bug.cgi?id=81231
914
915         Reviewed by Vsevolod Vlasov.
916
917         * inspector/front-end/TimelineOverviewPane.js:
918         (WebInspector.TimelineOverviewPane):
919         (WebInspector.TimelineOverviewPane.prototype.reset):
920         (WebInspector.TimelineOverviewPane.prototype.accept):
921         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
922         (WebInspector.TimelineVerticalOverview.prototype.reset):
923         (WebInspector.TimelineVerticalOverview.prototype.update):
924         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
925         (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
926         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
927
928 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
929
930         Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
931         https://bugs.webkit.org/show_bug.cgi?id=81245
932
933         Reviewed by Vsevolod Vlasov.
934
935         * inspector/InspectorTimelineAgent.cpp:
936         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
937         (WebCore):
938         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
939         (WebCore::InspectorTimelineAgent::appendRecord):
940         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
941         * inspector/InspectorTimelineAgent.h:
942         (InspectorTimelineAgent):
943
944 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
945
946         Web Inspector: live locations could be disposed twice.
947         https://bugs.webkit.org/show_bug.cgi?id=81249
948
949         Reviewed by Vsevolod Vlasov.
950
951         * inspector/front-end/ScriptMapping.js:
952         (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
953
954 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
955
956         [GTK] Implement unicode submenu items
957         https://bugs.webkit.org/show_bug.cgi?id=81117
958
959         Reviewed by Martin Robinson.
960
961         * loader/EmptyClients.h:
962         (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
963         false.
964         * page/ContextMenuController.cpp:
965         (WebCore::insertUnicodeCharacter): Helper function to insert a
966         unicode character.
967         (WebCore::ContextMenuController::contextMenuItemSelected):
968         Implement unicode menu items using insertUnicodeCharacter() to
969         insert the apropriate unicode character.
970         (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
971         Create the unicode submenu.
972         (WebCore::ContextMenuController::populate): Add unicode submenu
973         item for editable content.
974         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
975         unicode submenu items to the switch.
976         * page/ContextMenuController.h:
977         * page/EditorClient.h:
978         (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
979         * platform/ContextMenuItem.h:
980         * platform/LocalizedStrings.h:
981         * platform/gtk/LocalizedStringsGtk.cpp:
982         (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
983         string for the unicode menu item.
984         (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
985         (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
986         (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
987         (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
988         (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
989         (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
990         (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
991         (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
992         (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
993
994 2012-03-15  Vsevolod Vlasov  <vsevik@chromium.org>
995
996         Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
997         https://bugs.webkit.org/show_bug.cgi?id=81031
998
999         Reviewed by Pavel Feldman.
1000
1001         * inspector/front-end/SnippetsModel.js:
1002         (WebInspector.SnippetsModel):
1003         (WebInspector.SnippetsModel.prototype._saveSettings):
1004         (WebInspector.SnippetsModel.prototype.deleteSnippet):
1005         (WebInspector.SnippetsModel.prototype._snippetAdded):
1006         (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
1007         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
1008         (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
1009         (WebInspector.Snippet.prototype.evaluate):
1010         (WebInspector.SnippetsScriptMapping):
1011         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
1012         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
1013         (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
1014         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1015         (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
1016         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
1017         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
1018
1019 2012-03-15  Kevin Ollivier  <kevino@theolliviers.com>
1020
1021         [wx] Unreviewed. Build fixes for Mac and DOM bindings.
1022
1023         * bindings/cpp/WebDOMEventTarget.cpp:
1024         (toWebKit):
1025         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1026         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
1027
1028 2012-03-14  Pavel Podivilov  <podivilov@chromium.org>
1029
1030         Web Inspector: extract CompilerScriptMapping from RawSourceCode.
1031         https://bugs.webkit.org/show_bug.cgi?id=81088
1032
1033         Reviewed by Vsevolod Vlasov.
1034
1035         * WebCore.gypi:
1036         * WebCore.vcproj/WebCore.vcproj:
1037         * inspector/compile-front-end.py:
1038         * inspector/front-end/CompilerScriptMapping.js: Added.
1039         (WebInspector.CompilerScriptMapping):
1040         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
1041         (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
1042         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
1043         (WebInspector.CompilerScriptMapping.prototype.addScript):
1044         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
1045         (WebInspector.CompilerScriptMapping.prototype.reset):
1046         * inspector/front-end/RawSourceCode.js:
1047         (WebInspector.RawSourceCode):
1048         (WebInspector.RawSourceCode.prototype.setFormatted):
1049         (WebInspector.RawSourceCode.prototype._resourceFinished):
1050         (WebInspector.RawSourceCode.prototype._createUISourceCode):
1051         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
1052         * inspector/front-end/ResourceScriptMapping.js:
1053         (WebInspector.ResourceScriptMapping.prototype.addScript):
1054         * inspector/front-end/ScriptMapping.js:
1055         (WebInspector.MainScriptMapping):
1056         * inspector/front-end/WebKit.qrc:
1057         * inspector/front-end/inspector.html:
1058
1059 2012-03-15  Peter Rybin  <peter.rybin@gmail.com>
1060
1061         Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
1062         https://bugs.webkit.org/show_bug.cgi?id=81132
1063
1064         Reviewed by Yury Semikhatsky.
1065
1066         Include directives are moved several lines down in .cpp files and in
1067         generator templates.
1068
1069         * inspector/CodeGeneratorInspector.py:
1070         * inspector/ContentSearchUtils.cpp:
1071         * inspector/DOMEditor.cpp:
1072         * inspector/DOMNodeHighlighter.cpp:
1073         * inspector/DOMPatchSupport.cpp:
1074         * inspector/IdentifiersFactory.cpp:
1075         * inspector/InjectedScript.cpp:
1076         * inspector/InjectedScriptHost.cpp:
1077         * inspector/InjectedScriptManager.cpp:
1078         * inspector/InspectorAgent.cpp:
1079         * inspector/InspectorApplicationCacheAgent.cpp:
1080         * inspector/InspectorBaseAgent.cpp:
1081         * inspector/InspectorCSSAgent.cpp:
1082         * inspector/InspectorClient.cpp:
1083         * inspector/InspectorConsoleAgent.cpp:
1084         * inspector/InspectorController.cpp:
1085         * inspector/InspectorCounters.cpp:
1086         * inspector/InspectorDOMAgent.cpp:
1087         * inspector/InspectorDOMDebuggerAgent.cpp:
1088         * inspector/InspectorDOMStorageAgent.cpp:
1089         * inspector/InspectorDatabaseAgent.cpp:
1090         * inspector/InspectorDatabaseResource.cpp:
1091         * inspector/InspectorDebuggerAgent.cpp:
1092         * inspector/InspectorFileSystemAgent.cpp:
1093         * inspector/InspectorFrontendClientLocal.cpp:
1094         * inspector/InspectorFrontendHost.cpp:
1095         * inspector/InspectorHistory.cpp:
1096         * inspector/InspectorIndexedDBAgent.cpp:
1097         * inspector/InspectorInstrumentation.cpp:
1098         * inspector/InspectorMemoryAgent.cpp:
1099         * inspector/InspectorPageAgent.cpp:
1100         * inspector/InspectorProfilerAgent.cpp:
1101         * inspector/InspectorResourceAgent.cpp:
1102         * inspector/InspectorRuntimeAgent.cpp:
1103         * inspector/InspectorState.cpp:
1104         * inspector/InspectorStyleSheet.cpp:
1105         * inspector/InspectorStyleTextEditor.cpp:
1106         * inspector/InspectorTimelineAgent.cpp:
1107         * inspector/InspectorValues.cpp:
1108         * inspector/InstrumentingAgents.cpp:
1109         * inspector/NetworkResourcesData.cpp:
1110         * inspector/PageConsoleAgent.cpp:
1111         * inspector/PageDebuggerAgent.cpp:
1112         * inspector/PageRuntimeAgent.cpp:
1113         * inspector/TimelineRecordFactory.cpp:
1114         * inspector/WorkerConsoleAgent.cpp:
1115         * inspector/WorkerDebuggerAgent.cpp:
1116         * inspector/WorkerRuntimeAgent.cpp:
1117
1118 2012-03-15  Yury Semikhatsky  <yurys@chromium.org>
1119
1120         Web Inspector: improve HeapSnapshot._buildReversIndex performance
1121         https://bugs.webkit.org/show_bug.cgi?id=81224
1122
1123         Caching node indexes and node count in local variables instead of
1124         calling getters each time reduces the method run time by
1125         factor of 1.5
1126
1127         Reviewed by Pavel Feldman.
1128
1129         * inspector/front-end/HeapSnapshot.js:
1130         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
1131
1132 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1133
1134         SVG Animations update baseVal instead of animVal
1135         https://bugs.webkit.org/show_bug.cgi?id=12437
1136
1137         Rubber-stamped by Rob Buis.
1138
1139         Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
1140
1141         * svg/SVGAnimateElement.cpp:
1142         (WebCore::SVGAnimateElement::resetToBaseValue):
1143         * svg/SVGAnimatedLength.cpp:
1144         (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
1145         * svg/SVGAnimatedLength.h:
1146         (SVGAnimatedLengthAnimator):
1147         * svg/SVGAnimatedLengthList.cpp:
1148         (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
1149         * svg/SVGAnimatedLengthList.h:
1150         (SVGAnimatedLengthListAnimator):
1151         * svg/SVGAnimatedNumber.cpp:
1152         (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
1153         * svg/SVGAnimatedNumber.h:
1154         (SVGAnimatedNumberAnimator):
1155         * svg/SVGAnimatedNumberList.cpp:
1156         (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
1157         * svg/SVGAnimatedNumberList.h:
1158         (SVGAnimatedNumberListAnimator):
1159         * svg/SVGAnimatedTransformList.cpp:
1160         (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
1161         * svg/SVGAnimatedTransformList.h:
1162         (SVGAnimatedTransformListAnimator):
1163         * svg/SVGAnimatedTypeAnimator.h:
1164         (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
1165         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1166         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
1167         * svg/properties/SVGAnimatedProperty.h:
1168         (SVGAnimatedProperty):
1169         * svg/properties/SVGAnimatedPropertyTearOff.h:
1170         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
1171         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1172         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
1173
1174 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1175
1176         Enable animVal support for SVGNumberList
1177         https://bugs.webkit.org/show_bug.cgi?id=81219
1178
1179         Reviewed by Rob Buis.
1180
1181         Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
1182         constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
1183         as supporting animVal.
1184
1185         Covered by existing tests.
1186
1187         * svg/SVGAnimatedNumberList.cpp:
1188         (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
1189         (WebCore):
1190         * svg/SVGAnimatedNumberList.h:
1191         (WebCore):
1192         (SVGAnimatedNumberListAnimator):
1193         * svg/SVGAnimatedType.cpp:
1194         (WebCore::SVGAnimatedType::supportsAnimVal):
1195         (WebCore::SVGAnimatedType::setVariantValue):
1196
1197 2012-03-15  Rob Buis  <rbuis@rim.com>
1198
1199         Fix cast-align GCC warnings
1200         https://bugs.webkit.org/show_bug.cgi?id=80790
1201
1202         Reviewed by Nikolas Zimmermann.
1203
1204         * platform/graphics/WOFFFileFormat.cpp:
1205         (WebCore::writeUInt32):
1206         (WebCore::writeUInt16):
1207         (WebCore::convertWOFFToSfnt):
1208
1209 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1210
1211         Not reviewed. Forgot to preserve copyrights, per reviewer comment.
1212
1213         * svg/SVGAnimatedTransformList.cpp:
1214
1215 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1216
1217         Enable animVal support for SVGNumber
1218         https://bugs.webkit.org/show_bug.cgi?id=81212
1219
1220         Reviewed by Rob Buis.
1221
1222         Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
1223         with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
1224         Converting the rest of the types can be done in small patches now.
1225
1226         Test: svg/animations/svgnumber-animation-4.html
1227
1228         * svg/SVGAnimatedNumber.cpp:
1229         (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
1230         (WebCore):
1231         * svg/SVGAnimatedNumber.h:
1232         (WebCore):
1233         (SVGAnimatedNumberAnimator):
1234         * svg/SVGAnimatedType.cpp:
1235         (WebCore::SVGAnimatedType::supportsAnimVal):
1236         (WebCore::SVGAnimatedType::setVariantValue):
1237         * svg/properties/SVGAnimatedProperty.h:
1238         (SVGAnimatedProperty):
1239         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1240         (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
1241         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
1242         (SVGAnimatedStaticPropertyTearOff):
1243         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
1244         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
1245         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
1246         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
1247         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
1248         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
1249
1250 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1251
1252         Enable animVal support for SVGTransformList
1253         https://bugs.webkit.org/show_bug.cgi?id=80758
1254
1255         Reviewed by Antti Koivisto.
1256
1257         Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
1258         via <animateTransform>, not via <animate> directly. Still we can handle it in the
1259         same framework as all other types used for <animate>, as we also need proper animVal
1260         support for <animateTransform>.
1261
1262         This patch removes the special <animateTransform> implementation, and lets
1263         SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
1264         for SVGAnimateColorElement & SVGSetElement.
1265
1266         All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
1267         SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
1268
1269         This doesn't change <animateTransform> behavior, it just simplies the code
1270         and enables animVal support for SVGTransformLists - all covered by existing tests.
1271
1272         * CMakeLists.txt:
1273         * GNUmakefile.list.am:
1274         * Target.pri:
1275         * WebCore.gypi:
1276         * WebCore.xcodeproj/project.pbxproj:
1277         * svg/SVGAllInOne.cpp:
1278         * svg/SVGAnimateElement.cpp:
1279         (WebCore::SVGAnimateElement::SVGAnimateElement):
1280         (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
1281         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1282         (WebCore::SVGAnimateElement::applyResultsToTarget):
1283         * svg/SVGAnimateTransformElement.cpp:
1284         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
1285         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
1286         (WebCore::SVGAnimateTransformElement::parseAttribute):
1287         * svg/SVGAnimateTransformElement.h:
1288         (WebCore::SVGAnimateTransformElement::transformType):
1289         (SVGAnimateTransformElement):
1290         * svg/SVGAnimatedTransformList.cpp: Added.
1291         (WebCore):
1292         (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
1293         (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
1294         (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
1295         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
1296         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
1297         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
1298         (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
1299         * svg/SVGAnimatedTransformList.h:
1300         (WebCore):
1301         (SVGAnimatedTransformListAnimator):
1302         (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
1303         * svg/SVGAnimatedType.cpp:
1304         (WebCore::SVGAnimatedType::~SVGAnimatedType):
1305         (WebCore::SVGAnimatedType::createTransformList):
1306         (WebCore):
1307         (WebCore::SVGAnimatedType::transformList):
1308         (WebCore::SVGAnimatedType::valueAsString):
1309         (WebCore::SVGAnimatedType::setValueAsString):
1310         (WebCore::SVGAnimatedType::supportsAnimVal):
1311         (WebCore::SVGAnimatedType::setVariantValue):
1312         * svg/SVGAnimatedType.h:
1313         (WebCore):
1314         (SVGAnimatedType):
1315         * svg/SVGAnimatorFactory.h:
1316         (WebCore::SVGAnimatorFactory::create):
1317         * svg/SVGGradientElement.cpp:
1318         (WebCore::SVGGradientElement::parseAttribute):
1319         * svg/SVGPatternElement.cpp:
1320         (WebCore::SVGPatternElement::parseAttribute):
1321         * svg/SVGStyledTransformableElement.cpp:
1322         (WebCore::SVGStyledTransformableElement::parseAttribute):
1323         * svg/SVGTextElement.cpp:
1324         (WebCore::SVGTextElement::parseAttribute):
1325         * svg/SVGTransform.cpp:
1326         (WebCore::SVGTransform::transformTypePrefixForParsing):
1327         (WebCore):
1328         (WebCore::SVGTransform::valueAsString):
1329         * svg/SVGTransform.h:
1330         (SVGTransform):
1331         * svg/SVGTransformList.cpp:
1332         (WebCore::SVGTransformList::parse):
1333         (WebCore):
1334         * svg/SVGTransformList.h:
1335         (SVGTransformList):
1336         * svg/SVGTransformable.cpp:
1337         (WebCore::SVGTransformable::parseTransformType):
1338         * svg/SVGTransformable.h:
1339         (WebCore):
1340         * svg/SVGViewSpec.cpp:
1341         (WebCore::SVGViewSpec::setTransform):
1342
1343 2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1344
1345         Enable animVal support for SVGLengthList
1346         https://bugs.webkit.org/show_bug.cgi?id=80750
1347
1348         Reviewed by Zoltan Herczeg.
1349
1350         Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
1351         in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
1352
1353         Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
1354
1355         * svg/SVGAnimateElement.cpp:
1356         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1357         * svg/SVGAnimateTransformElement.cpp:
1358         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
1359         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
1360         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
1361         * svg/SVGAnimatedLengthList.cpp:
1362         (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
1363         (WebCore):
1364         * svg/SVGAnimatedLengthList.h:
1365         (WebCore):
1366         (SVGAnimatedLengthListAnimator):
1367         * svg/SVGAnimatedType.cpp:
1368         (WebCore::SVGAnimatedType::supportsAnimVal):
1369         (WebCore::SVGAnimatedType::setVariantValue):
1370         * svg/SVGAnimatedType.h:
1371         * svg/SVGAnimationElement.cpp:
1372         (WebCore::SVGAnimationElement::applyAnimatedValue):
1373         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1374         (SVGAnimatedListPropertyTearOff):
1375         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
1376         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
1377         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
1378         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
1379         (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
1380         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
1381         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
1382         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
1383         (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
1384         (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
1385         (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
1386         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
1387         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
1388         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
1389         * svg/properties/SVGAnimatedProperty.h:
1390         (WebCore::SVGAnimatedProperty::isAnimating):
1391         (SVGAnimatedProperty):
1392         (WebCore::SVGAnimatedProperty::animationValueWillChange):
1393         (WebCore::SVGAnimatedProperty::animationValueDidChange):
1394         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
1395         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
1396         * svg/properties/SVGAnimatedPropertyTearOff.h:
1397         (SVGAnimatedPropertyTearOff):
1398         (WebCore::SVGAnimatedPropertyTearOff::baseVal):
1399         (WebCore::SVGAnimatedPropertyTearOff::animVal):
1400         (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
1401         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
1402         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
1403         (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
1404         (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
1405         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
1406         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
1407         (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
1408         (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
1409         * svg/properties/SVGListProperty.h:
1410         (WebCore::SVGListProperty::detachListWrappers):
1411         (SVGListProperty):
1412         (WebCore::SVGListProperty::setValuesAndWrappers):
1413         (WebCore::SVGListProperty::clearValues):
1414         (WebCore::SVGListProperty::clearValuesAndWrappers):
1415         (WebCore::SVGListProperty::numberOfItems):
1416         (WebCore::SVGListProperty::initializeValues):
1417         (WebCore::SVGListProperty::initializeValuesAndWrappers):
1418         (WebCore::SVGListProperty::canGetItem):
1419         (WebCore::SVGListProperty::getItemValues):
1420         (WebCore::SVGListProperty::getItemValuesAndWrappers):
1421         (WebCore::SVGListProperty::insertItemBeforeValues):
1422         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
1423         (WebCore::SVGListProperty::canReplaceItem):
1424         (WebCore::SVGListProperty::replaceItemValues):
1425         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
1426         (WebCore::SVGListProperty::canRemoveItem):
1427         (WebCore::SVGListProperty::removeItemValues):
1428         (WebCore::SVGListProperty::removeItemValuesAndWrappers):
1429         (WebCore::SVGListProperty::appendItemValues):
1430         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
1431         (WebCore::SVGListProperty::values):
1432         (WebCore::SVGListProperty::wrappers):
1433         (WebCore::SVGListProperty::SVGListProperty):
1434         * svg/properties/SVGListPropertyTearOff.h:
1435         (SVGListPropertyTearOff):
1436         (WebCore::SVGListPropertyTearOff::create):
1437         (WebCore::SVGListPropertyTearOff::removeItemFromList):
1438         (WebCore::SVGListPropertyTearOff::clear):
1439         (WebCore::SVGListPropertyTearOff::initialize):
1440         (WebCore::SVGListPropertyTearOff::insertItemBefore):
1441         (WebCore::SVGListPropertyTearOff::replaceItem):
1442         (WebCore::SVGListPropertyTearOff::appendItem):
1443         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
1444         (WebCore::SVGListPropertyTearOff::commitChange):
1445         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
1446         (WebCore::SVGPathSegListPropertyTearOff::clear):
1447         (WebCore::SVGPathSegListPropertyTearOff::getItem):
1448         (WebCore::SVGPathSegListPropertyTearOff::removeItem):
1449         * svg/properties/SVGPathSegListPropertyTearOff.h:
1450         (WebCore::SVGPathSegListPropertyTearOff::create):
1451         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
1452         (SVGPathSegListPropertyTearOff):
1453         (WebCore::SVGPathSegListPropertyTearOff::initialize):
1454         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
1455         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
1456         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
1457         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
1458         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
1459         * svg/properties/SVGPropertyInfo.h:
1460         * svg/properties/SVGStaticListPropertyTearOff.h:
1461         (SVGStaticListPropertyTearOff):
1462         (WebCore::SVGStaticListPropertyTearOff::clear):
1463         (WebCore::SVGStaticListPropertyTearOff::initialize):
1464         (WebCore::SVGStaticListPropertyTearOff::getItem):
1465         (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
1466         (WebCore::SVGStaticListPropertyTearOff::replaceItem):
1467         (WebCore::SVGStaticListPropertyTearOff::removeItem):
1468         (WebCore::SVGStaticListPropertyTearOff::appendItem):
1469         (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
1470         (WebCore::SVGStaticListPropertyTearOff::commitChange):
1471         * svg/properties/SVGTransformListPropertyTearOff.h:
1472         (WebCore::SVGTransformListPropertyTearOff::create):
1473         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
1474         (WebCore::SVGTransformListPropertyTearOff::consolidate):
1475         (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
1476
1477 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
1478
1479         AXDescription for HTML5 footer
1480         https://bugs.webkit.org/show_bug.cgi?id=78967
1481
1482         Return a unique role description for the footer element.
1483
1484         Reviewed by Beth Dakin.
1485
1486         Test: platform/mac/accessibility/footer-roledescription.html
1487
1488         * English.lproj/Localizable.strings:+
1489         * accessibility/AccessibilityObject.h:
1490         * accessibility/AccessibilityRenderObject.cpp:
1491         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1492         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1493         (createAccessibilityRoleMap):
1494         (-[WebAccessibilityObjectWrapper subrole]):
1495         (-[WebAccessibilityObjectWrapper roleDescription]):
1496         * platform/LocalizedStrings.cpp:
1497         (WebCore::AXFooterRoleDescriptionText):
1498         (WebCore):
1499         * platform/LocalizedStrings.h:
1500         (WebCore):
1501         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1502         (WebCore::AXFooterRoleDescriptionText):
1503         (WebCore):
1504         * platform/efl/LocalizedStringsEfl.cpp:
1505         (WebCore::AXFooterRoleDescriptionText):
1506         (WebCore):
1507         * platform/gtk/LocalizedStringsGtk.cpp:
1508         (WebCore::AXFooterRoleDescriptionText):
1509         (WebCore):
1510
1511 2012-03-14  Mark Rowe  <mrowe@apple.com>
1512
1513         <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
1514
1515         Reviewed by Dan Bernstein.
1516
1517         * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
1518         rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
1519         DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
1520
1521 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
1522
1523         AXDescription for ARIA role contentinfo incorrect
1524         https://bugs.webkit.org/show_bug.cgi?id=78967
1525
1526         Reviewed by Beth Dakin.
1527
1528         Test: platform/mac/accessibility/aria-grouping-roles.html
1529
1530         * English.lproj/Localizable.strings:
1531         * platform/LocalizedStrings.cpp:
1532         (WebCore::AXARIAContentGroupText):
1533
1534 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
1535
1536         AX: ARIA tables need to support selected rows attribute/select rows changed notification
1537         https://bugs.webkit.org/show_bug.cgi?id=79821
1538
1539         Reviewed by Beth Dakin.
1540
1541         Test: platform/mac/accessibility/selected-rows-table.html
1542
1543         * accessibility/AccessibilityARIAGrid.h:
1544         (WebCore::AccessibilityARIAGrid::isMultiSelectable):
1545         (AccessibilityARIAGrid):
1546         * accessibility/AccessibilityRenderObject.cpp:
1547         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
1548         * accessibility/AccessibilityTableRow.cpp:
1549         (WebCore::AccessibilityTableRow::observableObject):
1550         (WebCore):
1551         * accessibility/AccessibilityTableRow.h:
1552         (AccessibilityTableRow):
1553         * accessibility/mac/AXObjectCacheMac.mm:
1554         (WebCore::AXObjectCache::postPlatformNotification):
1555
1556 2012-03-14  James Robinson  <jamesr@chromium.org>
1557
1558         Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
1559         https://bugs.webkit.org/show_bug.cgi?id=81187
1560
1561         Reviewed by Simon Fraser.
1562
1563         * dom/Document.cpp:
1564         (WebCore::Document::webkitRequestAnimationFrame):
1565
1566 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
1567
1568         AX: embedded attachments do not report their parents correctly
1569         https://bugs.webkit.org/show_bug.cgi?id=80132
1570
1571         When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
1572         It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
1573         communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
1574
1575         We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
1576
1577         Reviewed by Beth Dakin.
1578
1579         Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
1580         through the IPC mechanism.
1581
1582         * accessibility/AccessibilityObject.cpp:
1583         (WebCore::AccessibilityObject::detachFromParent):
1584         * accessibility/AccessibilityObject.h:
1585         (AccessibilityObject):
1586         (WebCore::AccessibilityObject::overrideAttachmentParent):
1587         * accessibility/AccessibilityRenderObject.cpp:
1588         (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
1589         (WebCore::AccessibilityRenderObject::addChildren):
1590         * accessibility/AccessibilityRenderObject.h:
1591         (AccessibilityRenderObject):
1592         * accessibility/mac/AccessibilityObjectMac.mm:
1593         (WebCore::AccessibilityObject::overrideAttachmentParent):
1594
1595 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
1596
1597         Improve ContainerNode's collectNodes() performance
1598         https://bugs.webkit.org/show_bug.cgi?id=80706
1599
1600         Reviewed by Antti Koivisto.
1601
1602         Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
1603         this would cover 99.5% of all node collection.
1604
1605         Note: the actual code change was made in r110797 but I somehow mangled my patches.
1606
1607         * dom/ContainerNode.cpp:
1608         (WebCore):
1609
1610 2012-03-14  Seo Sanghyeon  <sh4.seo@samsung.com>
1611
1612         Cleanup semicolons in IDLs
1613         https://bugs.webkit.org/show_bug.cgi?id=81129
1614
1615         Reviewed by Kentaro Hara.
1616
1617         No tests. No change in behavior.
1618
1619         * svg/SVGAnimateColorElement.idl:
1620         * svg/SVGAnimateElement.idl:
1621         * svg/SVGAnimateTransformElement.idl:
1622         * svg/SVGAnimatedRect.idl:
1623
1624 2012-03-14  Hayato Ito  <hayato@chromium.org>
1625
1626         Make ShadowRoot.activeElement return null if it does not contain a focused element.
1627         https://bugs.webkit.org/show_bug.cgi?id=81097
1628
1629         Reviewed by Dimitri Glazkov.
1630
1631         * dom/TreeScope.cpp:
1632         (WebCore::TreeScope::activeElement):
1633
1634 2012-03-14  Matt Falkenhagen  <falken@chromium.org>
1635
1636         Allow per-script font settings to be specified in layout tests
1637         https://bugs.webkit.org/show_bug.cgi?id=78184
1638
1639         Reviewed by Hajime Morita.
1640
1641         This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
1642         the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
1643         for Chromium so far.
1644
1645         Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
1646         instead of overridePreference.
1647
1648         * WebCore.exp.in: Added symbols.
1649         * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
1650         (WebCore):
1651         * platform/text/LocaleToScriptMappingDefault.cpp:
1652         (WebCore::scriptNameToCode):
1653         (WebCore::localeToScriptCodeForFontSelection):
1654         * platform/text/LocaleToScriptMappingICU.cpp:
1655         (WebCore::scriptNameToCode):
1656         (WebCore):
1657         * testing/InternalSettings.cpp: Added per-script font settings.
1658         (WebCore):
1659         (WebCore::setFontFamily):
1660         (WebCore::InternalSettings::setStandardFontFamily):
1661         (WebCore::InternalSettings::setSerifFontFamily):
1662         (WebCore::InternalSettings::setSansSerifFontFamily):
1663         (WebCore::InternalSettings::setFixedFontFamily):
1664         (WebCore::InternalSettings::setCursiveFontFamily):
1665         (WebCore::InternalSettings::setFantasyFontFamily):
1666         (WebCore::InternalSettings::setPictographFontFamily):
1667         * testing/InternalSettings.h:
1668         (InternalSettings):
1669         * testing/InternalSettings.idl:
1670
1671 2012-03-14  Kwonjin Jeong  <gram@company100.net>
1672
1673         Remove obsolete constructors of CSSPrimitiveValue class.
1674         https://bugs.webkit.org/show_bug.cgi?id=80971
1675
1676         Remove constructors of CSSPrimitiveValue that can't be
1677         reached.
1678
1679         Reviewed by Andreas Kling.
1680
1681         * css/CSSPrimitiveValueMappings.h:
1682
1683 2012-03-14  Igor Oliveira  <igor.o@sisa.samsung.com>
1684
1685         Split the extra logic out of RenderBlock::updateFirstLetter
1686         https://bugs.webkit.org/show_bug.cgi?id=80772
1687
1688         Reviewed by Julien Chaffraix.
1689
1690         No change in behavior expected.
1691
1692         * rendering/RenderBlock.cpp:
1693         (WebCore::RenderBlock::updateFirstLetterStyle):
1694         (WebCore::RenderBlock::createFirstLetterRenderer):
1695         (WebCore::RenderBlock::updateFirstLetter):
1696         (WebCore):
1697         * rendering/RenderBlock.h:
1698         (RenderBlock):
1699
1700 2012-03-14  Anders Carlsson  <andersca@apple.com>
1701
1702         Fix build.
1703
1704         * html/track/TextTrackList.cpp:
1705
1706 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
1707
1708         Build fix.
1709
1710         * dom/DynamicNodeList.h:
1711         (DynamicSubtreeNodeList):
1712
1713 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
1714
1715         (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
1716         https://bugs.webkit.org/show_bug.cgi?id=80900
1717
1718         Reviewed by Andreas Kling.
1719
1720         Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
1721         about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
1722         are called for all dynamic node lists even though it's only useful for labels and region node lists since
1723         it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
1724
1725         Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
1726         parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
1727         able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
1728         function in HTMLLabelElement.
1729
1730         And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
1731         functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
1732
1733         * dom/DynamicNodeList.cpp:
1734         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
1735         useful for labels and region node lists.
1736         (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
1737         * dom/DynamicNodeList.h:
1738         (DynamicSubtreeNodeList):
1739         * dom/Node.cpp:
1740         (WebCore):
1741         (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
1742         when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
1743         is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
1744         to be added to the list, so there's no point in calling InvalidateCaches (no-op).
1745         (WebCore::Node::unregisterDynamicSubtreeNodeList):
1746         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
1747         Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
1748         and never remove entries from NodeListsNodeData in this function.
1749         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
1750         is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
1751         invalidateCaches via invalidateCachesThatDependOnAttributes.
1752         (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
1753         done in invalidateCachesThatDependOnAttributes.
1754         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
1755         m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
1756         (WebCore::NodeListsNodeData::isEmpty):
1757         * dom/Node.h:
1758         (Node):
1759         * dom/NodeRareData.h:
1760         (NodeListsNodeData):
1761         * html/HTMLLabelElement.cpp:
1762         (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
1763         invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
1764         * html/HTMLLabelElement.h:
1765         (HTMLLabelElement):
1766         * html/LabelsNodeList.cpp:
1767         (WebCore::LabelsNodeList::LabelsNodeList):
1768         (WebCore::LabelsNodeList::~LabelsNodeList):
1769
1770 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1771
1772         Unreviewed, rolling out r110565.
1773         http://trac.webkit.org/changeset/110565
1774         https://bugs.webkit.org/show_bug.cgi?id=81173
1775
1776         chromium deps are now far enough along that the original cl
1777         should work (Requested by thakis on #webkit).
1778
1779         * WebCore.gyp/mac/adjust_visibility.sh:
1780
1781 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1782
1783         Unreviewed, rolling out r110641.
1784         http://trac.webkit.org/changeset/110641
1785         https://bugs.webkit.org/show_bug.cgi?id=81170
1786
1787         Causes an ASAN failure (Requested by abarth on #webkit).
1788
1789         * Target.pri:
1790         * UseV8.cmake:
1791         * WebCore.gypi:
1792         * bindings/scripts/CodeGeneratorJS.pm:
1793         (GenerateHeader):
1794         (GenerateImplementation):
1795         * bindings/scripts/CodeGeneratorV8.pm:
1796         (GenerateHeader):
1797         (GenerateNamedConstructorCallback):
1798         (GenerateImplementation):
1799         * bindings/scripts/IDLAttributes.txt:
1800         * bindings/scripts/test/V8/V8Float64Array.cpp:
1801         (WebCore):
1802         * bindings/scripts/test/V8/V8Float64Array.h:
1803         (V8Float64Array):
1804         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1805         (WebCore):
1806         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1807         (V8TestActiveDOMObject):
1808         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1809         (WebCore):
1810         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1811         (V8TestCustomNamedGetter):
1812         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1813         (WebCore):
1814         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1815         (V8TestEventConstructor):
1816         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1817         (WebCore):
1818         * bindings/scripts/test/V8/V8TestEventTarget.h:
1819         (V8TestEventTarget):
1820         * bindings/scripts/test/V8/V8TestInterface.cpp:
1821         (WebCore):
1822         * bindings/scripts/test/V8/V8TestInterface.h:
1823         (V8TestInterface):
1824         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1825         (WebCore):
1826         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1827         (V8TestMediaQueryListListener):
1828         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1829         (WebCore):
1830         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1831         (V8TestNamedConstructor):
1832         * bindings/scripts/test/V8/V8TestObj.cpp:
1833         (WebCore):
1834         * bindings/scripts/test/V8/V8TestObj.h:
1835         (V8TestObj):
1836         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1837         (WebCore):
1838         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1839         (V8TestSerializedScriptValueInterface):
1840         * bindings/v8/NPV8Object.cpp:
1841         (WebCore::npObjectTypeInfo):
1842         * bindings/v8/V8GCController.cpp:
1843         (WebCore::GrouperVisitor::visitDOMWrapper):
1844         * bindings/v8/WrapperTypeInfo.h:
1845         (WebCore):
1846         (WrapperTypeInfo):
1847         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
1848         (WebCore):
1849         (WebCore::toV8):
1850         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1851         (WebCore::toV8):
1852         (WebCore):
1853         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
1854         (WebCore):
1855         (WebCore::toV8):
1856         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1857         (WebCore):
1858         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1859         (WebCore::toV8):
1860         (WebCore):
1861         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1862         (WebCore::toV8):
1863         * css/CSSStyleSheet.idl:
1864         * css/StyleSheet.idl:
1865         * dom/DOMStringMap.idl:
1866         * dom/NamedNodeMap.idl:
1867         * html/DOMTokenList.idl:
1868         * html/track/TextTrackList.cpp:
1869         * html/track/TextTrackList.idl:
1870
1871 2012-03-13  Jon Lee  <jonlee@apple.com>
1872
1873         Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
1874         https://bugs.webkit.org/show_bug.cgi?id=80922
1875         <rdar://problem/11035082>
1876
1877         Reviewed by Jian Li.
1878
1879         You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
1880         LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
1881         new API. Therefore, APIs that are common between the two will have:
1882         #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
1883
1884         This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
1885         the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
1886
1887         * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
1888         (preferredConditional):
1889         (conditionalStringFromAttributeValue):
1890         (generateInterfacesHeader):
1891         (generateHeadersHeader):
1892
1893         Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
1894         * WebCore.exp.in:
1895         * bindings/cpp/WebDOMEventTarget.cpp:
1896         (toWebKit):
1897         * bindings/js/JSDesktopNotificationsCustom.cpp:
1898         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1899         * dom/EventTargetFactory.in:
1900         * notifications/Notification.cpp:
1901         * notifications/Notification.h:
1902         * notifications/Notification.idl:
1903         * notifications/NotificationCenter.cpp:
1904         * notifications/NotificationCenter.h:
1905         * notifications/NotificationCenter.idl:
1906         * notifications/NotificationContents.h:
1907         * notifications/NotificationController.cpp:
1908         * notifications/NotificationController.h:
1909         * page/DOMWindow.cpp:
1910         (WebCore::DOMWindow::~DOMWindow):
1911         (WebCore::DOMWindow::willDetachPage):
1912         (WebCore::DOMWindow::disconnectDOMWindowProperties):
1913         (WebCore::DOMWindow::clearDOMWindowProperties):
1914         (WebCore):
1915         * page/DOMWindow.h:
1916         (DOMWindow):
1917         * page/DOMWindow.idl:
1918         * page/Frame.cpp:
1919         (WebCore::Frame::willDetachPage):
1920         (WebCore::Frame::transferChildFrameToNewDocument):
1921         * workers/WorkerContext.cpp:
1922         (WebCore::WorkerContext::~WorkerContext):
1923         (WebCore):
1924         * workers/WorkerContext.h:
1925         (WorkerContext):
1926         * workers/WorkerContext.idl:
1927         * workers/WorkerThread.cpp:
1928         (WebCore::WorkerThread::WorkerThread):
1929         * workers/WorkerThread.h:
1930         (WorkerThread):
1931
1932 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1933
1934         Unreviewed, rolling out r110744.
1935         http://trac.webkit.org/changeset/110744
1936         https://bugs.webkit.org/show_bug.cgi?id=81168
1937
1938         Causes many WebAudio tests to crash in debug (Requested by
1939         abarth on #webkit).
1940
1941         * platform/audio/Biquad.cpp:
1942         (WebCore::Biquad::process):
1943
1944 2012-03-14  Brady Eidson  <beidson@apple.com>
1945
1946         <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
1947         Repro crash in compositing/iframes/page-cache-layer-tree.html
1948
1949         Reviewed by Sam Weinig.
1950
1951         No new tests. (Discovered from and covered by existing test)
1952
1953         ScriptCachedFrameData doesn't need to keep a DOMWindow:
1954         * bindings/js/ScriptCachedFrameData.cpp:
1955         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1956         * bindings/js/ScriptCachedFrameData.h:
1957         (ScriptCachedFrameData):
1958
1959         CachedFrame should grab it off the Frame directly and store it locally:
1960         * history/CachedFrame.cpp:
1961         (WebCore::CachedFrame::CachedFrame):
1962         * history/CachedFrame.h:
1963         (WebCore::CachedFrameBase::domWindow):
1964         (CachedFrameBase):
1965
1966 2012-03-14  Tony Chang  <tony@chromium.org>
1967
1968         fix negative flexing in auto sized columns
1969         https://bugs.webkit.org/show_bug.cgi?id=80069
1970
1971         Reviewed by Ojan Vafai.
1972
1973         New test cases in css3/flexbox/columns-auto-size.html.
1974
1975         * rendering/RenderFlexibleBox.cpp:
1976         (WebCore):
1977         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
1978         (WebCore::RenderFlexibleBox::layoutFlexItems):
1979         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
1980         * rendering/RenderFlexibleBox.h:
1981         (RenderFlexibleBox):
1982
1983 2012-03-14  Grace Ku  <gracek@codeaurora.org>
1984
1985         Incorrect handling of sizes in "em" when first-line changes font size
1986         https://bugs.webkit.org/show_bug.cgi?id=79526
1987
1988         Reviewed by Eric Seidel.
1989
1990         When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
1991         It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
1992         the font-size of the first-line of the paragraph.
1993
1994         This was corrected by checking if the InlineFlowBox was the first line using the existing
1995         InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
1996         Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
1997         the border but leaving the wrong amount of space.
1998
1999         The CSS specification doc at the time of this patch specifies that ':first-line' should only support
2000         certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
2001         define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
2002         may appear in future revisions.
2003
2004         Test: fast/css/pseudo-first-line-border-width.html
2005
2006         * rendering/InlineFlowBox.cpp:
2007         (WebCore::InlineFlowBox::paintBoxDecorations):
2008         * rendering/InlineFlowBox.h:
2009         (WebCore::InlineFlowBox::borderLogicalLeft):
2010         (WebCore::InlineFlowBox::borderLogicalRight):
2011         * rendering/RenderBoxModelObject.cpp:
2012         (WebCore::RenderBoxModelObject::paintBorder):
2013         (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
2014         (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
2015         (WebCore::RenderBoxModelObject::borderObscuresBackground):
2016         * rendering/RenderBoxModelObject.h:
2017         (RenderBoxModelObject):
2018
2019 2012-03-14  Martin Robinson  <mrobinson@igalia.com>
2020
2021         Fix the TextureMapper build for GTK+.
2022
2023         No new tests. This is just a build fix.
2024
2025         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
2026         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2027         * platform/graphics/texmap/TextureMapper.h:
2028
2029 2012-03-12  Martin Robinson  <mrobinson@igalia.com>
2030
2031         [GTK] Menulist buttons have separators even when the theme turns them off
2032         https://bugs.webkit.org/show_bug.cgi?id=80668
2033
2034         Reviewed by Daniel Bates.
2035
2036         No new tests. GTK+ theme differences are notoriously difficult
2037         to test, because consistent results depend on having certain themes
2038         and certain versions of themes installed.
2039
2040         Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
2041         style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
2042
2043         * platform/gtk/RenderThemeGtk3.cpp:
2044         (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
2045         (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
2046
2047 2012-03-14  Levi Weintraub  <leviw@chromium.org>
2048
2049         Implement proper sub-pixel support in RenderFileUploadControl
2050         https://bugs.webkit.org/show_bug.cgi?id=80881
2051
2052         Reviewed by Dimitri Glazkov.
2053
2054         Correcting improper usage of LayoutUnits when interacting with the graphics context
2055         and platform code. Specifically:
2056         - pixel snapping the clip rect and paint offsets before sending values to the
2057           graphics context in paintObject.
2058         - using on-screen (pixel snapped) values to pass off to platform code to determine
2059           the max length of the filename to be drawn.
2060
2061         No new tests. No change in behavior.
2062
2063         * rendering/RenderFileUploadControl.cpp:
2064         (WebCore::nodeWidth):
2065         (WebCore::RenderFileUploadControl::maxFilenameWidth):
2066         (WebCore::RenderFileUploadControl::paintObject):
2067
2068 2012-03-14  Joseph Pecoraro  <pecoraro@apple.com>
2069
2070         [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
2071         https://bugs.webkit.org/show_bug.cgi?id=81082
2072
2073         Don't return an invalid JSValue. Check if the ScriptValue
2074         has no value and return undefined in that case.
2075
2076         Reviewed by Pavel Feldman.
2077
2078         Updated test: inspector/console/command-line-api.html
2079
2080         * bindings/js/JSInjectedScriptHostCustom.cpp:
2081         (WebCore::JSInjectedScriptHost::inspectedObject):
2082
2083 2012-03-14  James Robinson  <jamesr@chromium.org>
2084
2085         [chromium] Remove canRecoverFromContextLoss attribute, it's unused
2086         https://bugs.webkit.org/show_bug.cgi?id=81158
2087
2088         Reviewed by Stephen White.
2089
2090         Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
2091
2092         * platform/graphics/GraphicsContext3D.h:
2093         (WebCore::GraphicsContext3D::Attributes::Attributes):
2094         (Attributes):
2095         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2096         (WebCore::SharedGraphicsContext3DImpl::get):
2097
2098 2012-03-14  Jer Noble  <jer.noble@apple.com>
2099
2100         Opening a URL in a MediaDocument does not propagate MIME type info to media element
2101         https://bugs.webkit.org/show_bug.cgi?id=81148
2102
2103         Reviewed by Eric Carlson.
2104
2105         Test: http/tests/media/media-document.html
2106
2107         Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
2108         generated video element. 
2109
2110         * html/MediaDocument.cpp:
2111         (WebCore::MediaDocumentParser::createDocumentStructure):
2112
2113 2012-03-14  Stephen White  <senorblanco@chromium.org>
2114
2115         [chromium] Fix accelerated Canvas2D with threaded compositing.
2116         https://bugs.webkit.org/show_bug.cgi?id=80998
2117
2118         Reviewed by James Robinson.
2119
2120         Covered by unit tests Canvas2DLayerChromiumTest and
2121         TreeSynchronizerTest.
2122
2123         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2124         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2125         (WebCore):
2126         Delay creation of the front texture for double-buffering until the
2127         first call to paintContentsIfDirty().
2128         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2129         (Canvas2DLayerChromium):
2130         Remove setTextureManager() and setLayerTreeHost(), since their job
2131         has been subsumed by paintContentsIfDirty().
2132         * platform/graphics/chromium/TreeSynchronizer.cpp:
2133         (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
2134         Perform an early-out if the passed-in layer is NULL.
2135
2136 2012-03-14  Mark Pilgrim  <pilgrim@chromium.org>
2137
2138         Move EntriesCallback to Modules/filesystem/
2139         https://bugs.webkit.org/show_bug.cgi?id=81032
2140
2141         Reviewed by Adam Barth.
2142
2143         No new tests, all existing tests pass.
2144
2145         * CMakeLists.txt:
2146         * DerivedSources.make:
2147         * DerivedSources.pri:
2148         * GNUmakefile.list.am:
2149         * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
2150         * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
2151         * Target.pri:
2152         * WebCore.gypi:
2153         * WebCore.vcproj/WebCore.vcproj:
2154         * WebCore.xcodeproj/project.pbxproj:
2155         * fileapi/EntriesCallback.h: Removed.
2156         * fileapi/EntriesCallback.idl: Removed.
2157
2158 2012-03-14  Tony Chang  <tony@chromium.org>
2159
2160         multiline column flexbox with auto height wrap too much
2161         https://bugs.webkit.org/show_bug.cgi?id=80929
2162
2163         Reviewed by David Hyatt.
2164
2165         Test: css3/flexbox/multiline-column-auto.html
2166
2167         * rendering/RenderBox.cpp:
2168         (WebCore::RenderBox::computeLogicalHeightUsing):
2169         (WebCore):
2170         (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
2171         * rendering/RenderBox.h:
2172         (RenderBox):
2173         * rendering/RenderFlexibleBox.cpp:
2174         (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
2175         (WebCore):
2176         (WebCore::RenderFlexibleBox::computeNextFlexLine):
2177         * rendering/RenderFlexibleBox.h:
2178         (RenderFlexibleBox):
2179
2180 2012-03-14  Xingnan Wang  <xingnan.wang@intel.com>
2181
2182         Optimize the multiply-add in Biquad.cpp::process
2183         https://bugs.webkit.org/show_bug.cgi?id=75528
2184
2185         Reviewed by Chris Rogers.
2186
2187         Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
2188
2189         * platform/audio/Biquad.cpp:
2190         (WebCore::Biquad::process):
2191
2192 2012-03-14  James Robinson  <jamesr@chromium.org>
2193
2194         [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
2195         https://bugs.webkit.org/show_bug.cgi?id=79823
2196
2197         Reviewed by Adrienne Walker.
2198
2199         LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
2200         using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
2201         the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
2202         caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
2203         actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
2204         always set the viewport for the default render surface.
2205
2206         * platform/graphics/chromium/LayerRendererChromium.cpp:
2207         (WebCore::LayerRendererChromium::beginDrawingFrame):
2208         (WebCore::LayerRendererChromium::useRenderSurface):
2209
2210 2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
2211
2212         Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
2213         https://bugs.webkit.org/show_bug.cgi?id=80155
2214
2215         Reviewed by Antti Koivisto.
2216
2217         This patch ensures that an iframe only schedules and calls parent's layout,
2218         when it is going to be flattened. Non-flattened iframe does not affect
2219         parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
2220         function has been added to test whether a particular child frame is changing
2221         parent's layout. This function also ensures that scheduleRelayout() and layout()
2222         are in sync of checking againts frame flattening.
2223
2224         Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
2225
2226         * page/FrameView.cpp:
2227         (WebCore::FrameView::avoidScrollbarCreation):
2228         (WebCore::FrameView::layout):
2229         (WebCore::FrameView::scheduleRelayout):
2230         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
2231         (WebCore):
2232         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
2233         * page/FrameView.h:
2234         (FrameView):
2235         * rendering/RenderIFrame.h:
2236         (RenderIFrame):
2237         (WebCore::RenderIFrame::renderName):
2238
2239 2012-03-14  Anders Carlsson  <andersca@apple.com>
2240
2241         Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
2242         https://bugs.webkit.org/show_bug.cgi?id=81146
2243         <rdar://problem/10850075>
2244
2245         Reviewed by Beth Dakin.
2246
2247         If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
2248         to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
2249         can look really bad if layout happens in response to the page being scrolled.
2250
2251         * platform/ScrollView.cpp:
2252         (WebCore::ScrollView::updateScrollbars):
2253
2254 2012-03-14  Tommy Widenflycht  <tommyw@google.com>
2255
2256         MediaStream API (JSEP): Introducing IceCandidate
2257         https://bugs.webkit.org/show_bug.cgi?id=80699
2258
2259         Reviewed by Adam Barth.
2260
2261         Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
2262         see bug 80589 for more information.
2263         Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
2264         This object will be created both from JS and the embedder.
2265
2266         Not possible to test until the entire JSEP feature is commited.
2267
2268         * GNUmakefile.list.am:
2269         * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2270         (WebCore):
2271         (WebCore::IceCandidate::create):
2272         (WebCore::IceCandidate::IceCandidate):
2273         (WebCore::IceCandidate::~IceCandidate):
2274         (WebCore::IceCandidate::label):
2275         (WebCore::IceCandidate::candidateLine):
2276         (WebCore::IceCandidate::toSdp):
2277         (WebCore::IceCandidate::descriptor):
2278         * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2279         (WebCore):
2280         (IceCandidate):
2281         * Modules/mediastream/IceCandidate.idl: Added.
2282         * WebCore.gypi:
2283         * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2284         (WebCore):
2285         (WebCore::IceCandidateDescriptor::create):
2286         (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
2287         (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
2288         (WebCore::IceCandidateDescriptor::toSdp):
2289         * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2290         (WebCore):
2291         (IceCandidateDescriptor):
2292         (WebCore::IceCandidateDescriptor::label):
2293         (WebCore::IceCandidateDescriptor::candidateLine):
2294         * platform/mediastream/MediaStreamCenter.cpp:
2295         (WebCore::MediaStreamCenter::constructSdp):
2296         (WebCore):
2297         * platform/mediastream/MediaStreamCenter.h:
2298         (WebCore):
2299         (MediaStreamCenter):
2300
2301 2012-03-14  Simon Fraser  <simon.fraser@apple.com>
2302
2303         background-visibility:hidden should create a RenderLayer
2304         https://bugs.webkit.org/show_bug.cgi?id=81134
2305
2306         Reviewed by Dean Jackson.
2307         
2308         Background-visibility:hidden has to create RenderLayers, because it's implemented
2309         via compositing and/or paint short-circuiting in RenderLayer code.
2310
2311         Test: transforms/3d/general/background-visibility-layers.html
2312
2313         * rendering/RenderBox.h:
2314         * rendering/RenderBoxModelObject.h:
2315         (WebCore::RenderBoxModelObject::requiresLayer):
2316         * rendering/RenderObject.h:
2317         (WebCore::RenderObject::hasHiddenBackface):
2318         * rendering/RenderTableRow.h:
2319
2320 2012-03-14  Raul Hudea  <rhudea@adobe.com>
2321
2322         [CSSRegions][CSSOM] Implement regionLayoutEvent
2323         https://bugs.webkit.org/show_bug.cgi?id=78882
2324
2325         Reviewed by David Hyatt.
2326
2327         Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
2328
2329         Tests: fast/regions/region-event-add-to-flow.html
2330                fast/regions/region-event-remove-from-dom.html
2331                fast/regions/region-event-remove-from-flow.html
2332                fast/regions/region-event.html
2333
2334         * dom/Document.cpp:
2335         (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
2336         * dom/Document.h:
2337         * dom/EventNames.h:
2338         (WebCore):
2339         * dom/Node.cpp:
2340         (WebCore::Node::dispatchRegionLayoutUpdateEvent):
2341         (WebCore):
2342         * dom/Node.h:
2343         (Node):
2344         * rendering/RenderFlowThread.cpp:
2345         (WebCore::RenderFlowThread::RenderFlowThread):
2346         (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
2347         (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
2348         (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
2349         (WebCore):
2350         * rendering/RenderFlowThread.h:
2351         * rendering/RenderRegion.cpp:
2352         (WebCore::RenderRegion::RenderRegion):
2353         * rendering/RenderRegion.h:
2354         (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
2355         (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
2356         (RenderRegion):
2357
2358 2012-03-14  Pierre Rossi  <pierre.rossi@gmail.com>
2359
2360         [Qt] Add support for vertical sliders in mobile theme
2361         https://bugs.webkit.org/show_bug.cgi?id=80179
2362
2363         This makes sliders using the "slider-vertical" appearance more sensible.
2364
2365         Reviewed by Simon Hausmann.
2366
2367         No new tests, since the mobile theme still isn't used in layout tests.
2368
2369         * platform/qt/RenderThemeQtMobile.cpp:
2370         (WebCore):
2371         (WebCore::StylePainterMobile::drawProgress):
2372         (WebCore::RenderThemeQtMobile::paintSliderTrack):
2373         * platform/qt/RenderThemeQtMobile.h:
2374         (StylePainterMobile):
2375
2376 2012-03-14  Jer Noble  <jer.noble@apple.com>
2377
2378         WebProcess spins beneath [QTMovie movieFileTypes:]
2379         https://bugs.webkit.org/show_bug.cgi?id=81133
2380
2381         Reviewed by Eric Carlson.
2382
2383         No new tests; speculative fix for top WebProcess spin.
2384
2385         When checking to see if a given mime type is supported by QuickTime,
2386         immediately exclude all types that do not begin with 'audio/' or 'video/'.
2387         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2388         (WebCore::MediaPlayerPrivateQTKit::supportsType):
2389
2390 2012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
2391
2392         Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
2393         https://bugs.webkit.org/show_bug.cgi?id=80301
2394
2395         Reviewed by Antti Koivisto.
2396
2397         Reorganize RenderIFrame flattenFrame() code, so that it returns
2398         earlier for the normal use case, when frame flattening is disabled.
2399         It also removes leftover null check.
2400
2401         No new tests, since there's no new functionality.
2402
2403         * rendering/RenderIFrame.cpp:
2404         (WebCore::RenderIFrame::flattenFrame):
2405
2406 2012-03-14  James Robinson  <jamesr@chromium.org>
2407
2408         [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas
2409         https://bugs.webkit.org/show_bug.cgi?id=80667
2410
2411         Reviewed by Darin Fisher.
2412
2413         Query the platform to see if we can instantiate a context suitable for accelerating 2d canvas. If we can't, for
2414         instance if we're on a system that can't preserve a context when the screensaver comes up, then immediately fall
2415         back to software.
2416
2417         Covered by canvas layout tests in the virtual-gpu mode.
2418
2419         * html/HTMLCanvasElement.cpp:
2420         (WebCore::HTMLCanvasElement::shouldAccelerate):
2421         * platform/chromium/PlatformSupport.h:
2422
2423 2012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2424
2425         [GTK] Handle printing errors in WebKit2
2426         https://bugs.webkit.org/show_bug.cgi?id=77197
2427
2428         Reviewed by Gustavo Noronha Silva.
2429
2430         * platform/gtk/ErrorsGtk.cpp:
2431         (WebCore::printError): Create a generic print error.
2432         (WebCore::printerNotFoundError): Create a print error to notify
2433         that the selected printer could not be found.
2434         (WebCore::invalidPageRangeToPrint): Create a print error when the
2435         selected page range is invalid and there are no pages to print.
2436         * platform/gtk/ErrorsGtk.h:
2437         (WebCore): Add print error doamin.
2438
2439 2012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2440
2441         Make SVGUseElement respect & support externalResourcesRequired
2442         https://bugs.webkit.org/show_bug.cgi?id=81109
2443
2444         Reviewed by Rob Buis.
2445
2446         Generalize the existing externalResourcesRequired support from SVGScriptElement
2447         into SVGExternalResourcesRequired, so it can be shared with SVGUseElement, which
2448         was lacking proper externalResourcesRequired support.
2449
2450         <use xlink:href="external.svg" onload="alert('hi')" externalResourcesRequired="true"/>
2451         The onload handler now fires _after_ the external resources loaded, making it possible
2452         to write reliable tests that switch from internal to external resources or the other
2453         way around. Converted the new tests in svg/dynamic-updates/SVGUseElement* to listen
2454         to SVGLoad events, to make them reliable.
2455
2456         We may be able to generalize this to cover SVGImageElement as well (the only other class which
2457         is currently supporting externalResourcesRequired - but that's more involved, so I left it TODO).
2458
2459         Covered by existing tests and the changes to the new SVGUseElement tests.
2460
2461         * svg/SVGElement.h:
2462         (SVGElement): Make haveLoadedRequiredResources() public so SVGExternalResourcesRequired can call it.
2463         * svg/SVGExternalResourcesRequired.cpp: Refactored code from SVGScriptElement, 1:1 copies w/o changes.
2464         (WebCore::SVGExternalResourcesRequired::handleAttributeChange):
2465         (WebCore::SVGExternalResourcesRequired::dispatchLoadEvent):
2466         (WebCore::SVGExternalResourcesRequired::insertedIntoDocument):
2467         (WebCore::SVGExternalResourcesRequired::finishParsingChildren):
2468         (WebCore::SVGExternalResourcesRequired::haveLoadedRequiredResources):
2469         * svg/SVGExternalResourcesRequired.h: Add new virtual functions, that must be available in classes that inherit from SVGExternalResourcesRequired.
2470         (WebCore::SVGExternalResourcesRequired::setHaveFiredLoadEvent):
2471         (WebCore::SVGExternalResourcesRequired::isParserInserted):
2472         (WebCore::SVGExternalResourcesRequired::haveFiredLoadEvent):
2473         * svg/SVGScriptElement.cpp: Refactored externalResourcesRequired handling into SVGExternalResourcesRequired.
2474         (WebCore::SVGScriptElement::svgAttributeChanged):
2475         (WebCore::SVGScriptElement::insertedIntoDocument):
2476         (WebCore::SVGScriptElement::finishParsingChildren):
2477         * svg/SVGScriptElement.h: Ditto.
2478         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
2479         (WebCore::SVGScriptElement::dispatchLoadEvent):
2480         (WebCore::SVGScriptElement::setHaveFiredLoadEvent):
2481         (WebCore::SVGScriptElement::isParserInserted):
2482         (WebCore::SVGScriptElement::haveFiredLoadEvent):
2483         * svg/SVGTests.cpp: Fix obvious typo, that leads to an assertion. Always return true if we know the attributeName.
2484         (WebCore::SVGTests::handleAttributeChange):
2485         * svg/SVGTests.h:
2486         * svg/SVGTextPathElement.cpp:
2487         (WebCore::SVGTextPathElement::insertedIntoDocument): Remove ambigous call warning.
2488         * svg/SVGUseElement.cpp: Support externalResourcesRequired="true/false" + dynamic changes of it. Covered by existing tests.
2489         (WebCore::SVGUseElement::SVGUseElement):
2490         (WebCore::SVGUseElement::create):
2491         (WebCore::SVGUseElement::insertedIntoDocument):
2492         (WebCore::SVGUseElement::svgAttributeChanged):
2493         (WebCore::SVGUseElement::notifyFinished):
2494         (WebCore::SVGUseElement::finishParsingChildren):
2495         (WebCore):
2496         * svg/SVGUseElement.h: Ditto.
2497         (WebCore::SVGUseElement::haveLoadedRequiredResources):
2498         (WebCore::SVGUseElement::setHaveFiredLoadEvent):
2499         (WebCore::SVGUseElement::isParserInserted):
2500         (WebCore::SVGUseElement::haveFiredLoadEvent):
2501         * svg/svgtags.in: Pass "bool wasInsertedByParser" to SVGUseElement constructor.
2502
2503 2012-03-14  Andrew Lo  <anlo@rim.com>
2504
2505         [BlackBerry] Implement REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR using AnimationFrameRateController
2506         https://bugs.webkit.org/show_bug.cgi?id=81000
2507
2508         Add BlackBerry port for DisplayRefreshMonitor using AnimationFrameRateController.
2509         Moved refreshDisplayOnMainThread to platform independant part of header.
2510
2511         Reviewed by Antonio Gomes.
2512
2513         requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
2514
2515         * PlatformBlackBerry.cmake:
2516         * platform/graphics/DisplayRefreshMonitor.cpp:
2517         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
2518         * platform/graphics/DisplayRefreshMonitor.h:
2519         (WebCore):
2520         (DisplayAnimationClient):
2521         (WebCore::DisplayAnimationClient::~DisplayAnimationClient):
2522         (DisplayRefreshMonitor):
2523         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Added.
2524         (WebCore):
2525         (WebCore::DisplayAnimationClient::DisplayAnimationClient):
2526         (WebCore::DisplayAnimationClient::animationFrameChanged):
2527         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
2528         (WebCore::DisplayRefreshMonitor::startAnimationClient):
2529         (WebCore::DisplayRefreshMonitor::stopAnimationClient):
2530         (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
2531         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2532
2533 2012-03-14  Yury Semikhatsky  <yurys@chromium.org>
2534
2535         Web Inspector: use class name indexes instead of class names when evaluating aggregates
2536         https://bugs.webkit.org/show_bug.cgi?id=81100
2537
2538         Class name and type name indexes are now used when calculating class aggregates
2539         in heap snapshots instead of string lookup followed by a string comparison.
2540
2541         Class names like "Window / www.webkit.org" are now left as is in the UI (it used
2542         to be trimed to just "Window").
2543
2544         Reviewed by Pavel Feldman.
2545
2546         * inspector/front-end/HeapSnapshot.js:
2547         (WebInspector.HeapSnapshotNode.prototype.get classNameIndex):
2548         (WebInspector.HeapSnapshotNode.prototype.hasType):
2549         (WebInspector.HeapSnapshot.prototype._init):
2550         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2551
2552 2012-03-14  Andrey Kosyakov  <caseq@chromium.org>
2553
2554         Web Inspector: add didCancelFrame timeline event
2555         https://bugs.webkit.org/show_bug.cgi?id=80994
2556
2557         Reviewed by Pavel Feldman.
2558
2559         - add an ability to cancel certain timeline events, unless they've been followed by other events.
2560         - implement didCancelFrame() event, fired when a platform decides not to render frame after didBeginFrame() was called.
2561
2562         Test: inspector/timeline/timeline-frames.html
2563
2564         * WebCore.exp.in:
2565         * inspector/InspectorInstrumentation.cpp:
2566         (WebCore::InspectorInstrumentation::didCancelFrameImpl):
2567         (WebCore):
2568         * inspector/InspectorInstrumentation.h:
2569         (InspectorInstrumentation):
2570         (WebCore::InspectorInstrumentation::didCancelFrame):
2571         (WebCore):
2572         * inspector/InspectorTimelineAgent.cpp:
2573         (WebCore::InspectorTimelineAgent::didBeginFrame):
2574         (WebCore):
2575         (WebCore::InspectorTimelineAgent::didCancelFrame):
2576         (WebCore::InspectorTimelineAgent::appendRecord):
2577         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2578         (WebCore::InspectorTimelineAgent::pushCancelableRecord):
2579         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
2580         (WebCore::InspectorTimelineAgent::cancelRecord):
2581         * inspector/InspectorTimelineAgent.h:
2582         (InspectorTimelineAgent):
2583         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2584         (TimelineRecordEntry):
2585         * testing/Internals.cpp:
2586         (WebCore::Internals::emitInspectorDidBeginFrame):
2587         (WebCore):
2588         (WebCore::Internals::emitInspectorDidCancelFrame):
2589         * testing/Internals.h:
2590         (Internals):
2591         * testing/Internals.idl:
2592
2593 2012-03-14  Dana Jansens  <danakj@chromium.org>
2594
2595         Region can acquire an empty span by subtracting an empty Region
2596         https://bugs.webkit.org/show_bug.cgi?id=81074
2597
2598         Reviewed by Anders Carlsson.
2599
2600         Subtracting an empty Region B from a Region A can cause A to end
2601         up with an empty span. This violates the rule that two Regions
2602         that cover the exact same area should have equal spans and segments.
2603
2604         Unit test: RegionTest.emptySpan
2605
2606         * platform/graphics/Region.cpp:
2607         (WebCore::Region::subtract):
2608
2609 2012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>
2610
2611         [Textmap] Disable driver based BGRA swizzling for OpenGL/ES
2612
2613         Reviewed by Noam Rosenthal.
2614
2615         The current way of detecting swizzling support (check for GL_EXT_texture_format_BGRA8888)
2616         is unfortunately not reliable. We need a better way of detection that (filed bug 81103).
2617         In the meantime this patch reverts back to doing the swizzling in the texture mapper to
2618         get pixels back onto the screen.
2619
2620         * platform/graphics/texmap/TextureMapperGL.cpp:
2621         (WebCore::driverSupportsBGRASwizzling):
2622         (WebCore::BitmapTextureGL::updateContents):
2623
2624 2012-03-14  Leo Yang  <leo.yang@torchmobile.com.cn>
2625
2626         [BlackBerry] Upstream the BlackBerry change to platform/Cursor.h
2627         https://bugs.webkit.org/show_bug.cgi?id=81086
2628
2629         Reviewed by Rob Buis.
2630
2631         * platform/Cursor.h:
2632         (WebCore):
2633         (WebCore::Cursor::Cursor):
2634         Add the BlackBerry specific PlatformCursor.
2635         * platform/blackberry/PageClientBlackBerry.h:
2636         There was an alias named PlatformCursorHandle for PlatformCursor
2637         in the internal version of Cursor.h. But it's not necessary so it's
2638         not included in the upstreaming version of Cursor.h. As a result,
2639         use PlatformCursor directly in this file.
2640         (PageClientBlackBerry):
2641
2642 2012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>
2643
2644         [Qt] RunLoopQt is missing reentrancy guards
2645         https://bugs.webkit.org/show_bug.cgi?id=80982
2646
2647         Reviewed by Tor Arne Vestbø.
2648
2649         Avoid recursive calls to RunLoop::performWork() with a simple
2650         counting mechanism, to avoid out-of-order message dispatching.
2651
2652         * platform/qt/RunLoopQt.cpp:
2653         (WebCore::RunLoop::TimerObject::TimerObject):
2654         (WebCore::RunLoop::TimerObject::performWork):
2655         (RunLoop::TimerObject):
2656
2657 2012-03-14  Ilya Tikhonovsky  <loislo@chromium.org>
2658
2659         Web Inspector: small improvement for HeapSnapshot performance ~12%.
2660         https://bugs.webkit.org/show_bug.cgi?id=81033
2661
2662         Reviewed by Yury Semikhatsky.
2663
2664         * inspector/front-end/HeapSnapshot.js:
2665         (WebInspector.HeapSnapshot.prototype.get nodeCount):
2666         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
2667         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
2668         (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
2669         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
2670
2671 2012-03-14  Kentaro Hara  <haraken@chromium.org>
2672
2673         Return null when shouldAllowAccessToNode() fails
2674         https://bugs.webkit.org/show_bug.cgi?id=80205
2675
2676         Reviewed by Adam Barth.
2677
2678         shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
2679         and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
2680         requires that they should return null when the security check fails.
2681         Thus this patch changes the return value from undefined to null.
2682
2683         http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
2684         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
2685
2686         Tests: http/tests/security/local-iFrame-from-remote.html
2687                http/tests/security/cross-frame-access-frameelement.html
2688                http/tests/security/cross-frame-access-put.html
2689
2690         * bindings/scripts/CodeGeneratorJS.pm:
2691         (GenerateImplementation):
2692         * bindings/scripts/CodeGeneratorV8.pm:
2693         (GenerateNormalAttrGetter):
2694         (GenerateFunctionCallback):
2695
2696         * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
2697         (WebCore::jsTestObjContentDocument):
2698         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
2699         * bindings/scripts/test/V8/V8TestObj.cpp:
2700         (WebCore::TestObjInternal::contentDocumentAttrGetter):
2701         (WebCore::TestObjInternal::getSVGDocumentCallback):
2702
2703 2012-03-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2704
2705         Build error: DNSSoup.cpp:30: fatal error: CString.h: No such file or
2706         directory
2707         https://bugs.webkit.org/show_bug.cgi?id=81093
2708
2709         Reviewed by Philippe Normand.
2710
2711         Fix build error introduced by r110669.
2712
2713         * platform/network/soup/DNSSoup.cpp:
2714
2715 2012-03-14  Marja Hölttä  <marja@google.com>
2716
2717         WebHTTPBody: Keep track of whether the data includes passwords.
2718         https://bugs.webkit.org/show_bug.cgi?id=81003
2719
2720         Reviewed by Darin Fisher.
2721
2722         This change enables Chrome to save HTTP bodies selectively, only
2723         if they don't contain passwords.
2724
2725         * loader/FormSubmission.cpp:
2726         (WebCore::FormSubmission::create): Check if the data contains passwords.
2727         * platform/network/FormData.cpp:
2728         (WebCore::FormData::FormData): Added containsPasswordData, setContainsPasswordData.
2729         * platform/network/FormData.h:
2730         (WebCore::FormData::containsPasswordData): Added.
2731         (WebCore::FormData::setHasPasswordData): Added.
2732         (FormData):
2733
2734 2012-03-14  Vsevolod Vlasov  <vsevik@chromium.org>
2735
2736         Web Inspector: Add snippets tab to scripts navigator.
2737         https://bugs.webkit.org/show_bug.cgi?id=81018
2738
2739         Reviewed by Pavel Feldman.
2740
2741         * English.lproj/localizedStrings.js:
2742         * inspector/front-end/ScriptsNavigator.js:
2743         (WebInspector.ScriptsNavigator):
2744         (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
2745         (WebInspector.ScriptsNavigator.prototype.focus):
2746         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
2747         (WebInspector.ScriptsNavigator.prototype.reset):
2748         (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
2749         (WebInspector.ScriptsNavigator.prototype._createFolderTreeElement):
2750         (WebInspector.ScriptsNavigator.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
2751         (WebInspector.ScriptsNavigator.prototype._scriptFolderIdentifier):
2752         (WebInspector.NavigatorTreeOutline):
2753         * inspector/front-end/ScriptsPanel.js:
2754         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
2755         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
2756         * inspector/front-end/SnippetsModel.js:
2757
2758 2012-03-14  Pavel Feldman  <pfeldman@chromium.org>
2759
2760         Web Inspector: Copy on the Console gives a mangled result.
2761         https://bugs.webkit.org/show_bug.cgi?id=81091
2762
2763         Reviewed by Vsevolod Vlasov.
2764
2765         * inspector/front-end/ConsoleMessage.js:
2766         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2767         (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
2768
2769 2012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2770
2771         External <use> xlink:href references do not work
2772         https://bugs.webkit.org/show_bug.cgi?id=12499
2773
2774         Reviewed by Zoltan Herczeg.
2775
2776         Follow-up fix after r110676.
2777         Assertions are firing due last minute changes in isExternalURIReference.
2778
2779         Fix detecting local resources properly, when the given iri contains a /complex/path.
2780         Use document->completeURL() instead, and compare with the document->url() to decide
2781         if its a local reference or not.
2782
2783         If an external document load fails with an error (eg. file missing) don't assert
2784         in debug builds, instead handle it gracefully.
2785
2786         I decided to clean the code up as well, to make it more safe & obvious.
2787
2788         Test: svg/custom/use-external-crash.svg
2789
2790         * svg/SVGURIReference.cpp:
2791         (WebCore::SVGURIReference::targetElementFromIRIString):
2792         * svg/SVGURIReference.h:
2793         (WebCore::SVGURIReference::isExternalURIReference):
2794         * svg/SVGUseElement.cpp:
2795         (WebCore::SVGUseElement::externalDocument):
2796         (WebCore::SVGUseElement::buildPendingResource):
2797
2798 2012-03-14  Lars Knudsen  <lars.knudsen@nokia.com>
2799
2800         3D transformed surfaces with z>0 gets cropped
2801         https://bugs.webkit.org/show_bug.cgi?id=81009
2802
2803         Reviewed by Noam Rosenthal.
2804
2805         The scissor clipping in TextureMapperGL didn't take 3D transforms 
2806         into account when calculating the clipping region.
2807         Now, it will bail out early if the transform is not affine.
2808
2809         No new tests. Tested by current compositing layout tests.
2810
2811         * platform/graphics/texmap/TextureMapperGL.cpp:
2812         (WebCore::TextureMapperGL::beginScissorClip):
2813
2814 2012-03-14  Hajime Morrita  <morrita@chromium.org>
2815
2816         Unreviewed build fix.
2817
2818         * html/track/TextTrackList.cpp:
2819         (TextTrackList::append):
2820         (TextTrackList::remove):
2821         (TextTrackList::owner): Changed return type from HTMLMediaElement* to Node* and uninlined.
2822         * html/track/TextTrackList.h:
2823         (TextTrackList):
2824
2825 2012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>
2826
2827         Web Inspector: [InspectorIndexedDB] Remote object should be released when data view is removed/updated.
2828         https://bugs.webkit.org/show_bug.cgi?id=81022
2829
2830         Reviewed by Pavel Feldman.
2831
2832         * inspector/front-end/IndexedDBViews.js:
2833         (WebInspector.IDBDataView):
2834         (WebInspector.IDBDataView.prototype._updateData.callback):
2835         (WebInspector.IDBDataView.prototype._updateData):
2836         (WebInspector.IDBDataView.prototype.get statusBarItems):
2837         (WebInspector.IDBDataView.prototype.clear):
2838         * inspector/front-end/ResourcesPanel.js:
2839         (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
2840         (WebInspector.IDBDatabaseTreeElement.prototype.update):
2841         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
2842         (WebInspector.IDBDatabaseTreeElement.prototype._objectStoreRemoved):
2843         (WebInspector.IDBDatabaseTreeElement.prototype.clear):
2844         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
2845         (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
2846         (WebInspector.IDBObjectStoreTreeElement.prototype._indexRemoved):
2847         (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
2848         (WebInspector.IDBIndexTreeElement.prototype.onselect):
2849         (WebInspector.IDBIndexTreeElement.prototype.clear):
2850
2851 2012-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
2852
2853         Web Inspector: Introduce SnippetsScriptMapping.
2854         https://bugs.webkit.org/show_bug.cgi?id=80890
2855
2856         Reviewed by Pavel Feldman.
2857
2858         * inspector/front-end/ScriptMapping.js:
2859         (WebInspector.MainScriptMapping):
2860         (WebInspector.MainScriptMapping.prototype.addScript):
2861         (WebInspector.MainScriptMapping.prototype._mappingForScript):
2862         * inspector/front-end/SnippetsModel.js:
2863         (WebInspector.SnippetsModel.prototype.snippetForId):
2864         (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
2865         (WebInspector.SnippetsScriptMapping):
2866         (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
2867         (WebInspector.SnippetsScriptMapping.prototype.addScript):
2868         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2869         (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript.get if):
2870         (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript):
2871         (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted.get this):
2872         (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted):
2873         (WebInspector.SnippetsScriptMapping.prototype.reset):
2874         (WebInspector.SnippetContentProvider):
2875
2876 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2877
2878         Unreviewed, rolling out r110673.
2879         http://trac.webkit.org/changeset/110673
2880         https://bugs.webkit.org/show_bug.cgi?id=81090
2881
2882         "Qt minimal build broken" (Requested by yurys on #webkit).
2883
2884         * inspector/CodeGeneratorInspector.py:
2885         (CommandReturnPassModel.ByPointer.get_set_return_condition):
2886         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
2887         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
2888         (Generator.process_event):
2889         (Generator.process_command):
2890         * inspector/ContentSearchUtils.cpp:
2891         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
2892         (WebCore::ContentSearchUtils::searchInTextByLines):
2893         * inspector/ContentSearchUtils.h:
2894         (ContentSearchUtils):
2895         * inspector/InjectedScript.cpp:
2896         (WebCore::InjectedScript::evaluate):
2897         (WebCore::InjectedScript::callFunctionOn):
2898         (WebCore::InjectedScript::evaluateOnCallFrame):
2899         (WebCore::InjectedScript::makeEvalCall):
2900         * inspector/InjectedScript.h:
2901         (InjectedScript):
2902         * inspector/InspectorDOMDebuggerAgent.cpp:
2903         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
2904         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
2905         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
2906         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
2907         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2908         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
2909         * inspector/InspectorDebuggerAgent.cpp:
2910         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2911         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2912         (WebCore::InspectorDebuggerAgent::searchInContent):
2913         (WebCore::InspectorDebuggerAgent::setScriptSource):
2914         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2915         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
2916         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2917         (WebCore::InspectorDebuggerAgent::didPause):
2918         (WebCore::InspectorDebuggerAgent::breakProgram):
2919         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
2920         * inspector/InspectorDebuggerAgent.h:
2921         (InspectorDebuggerAgent):
2922         * inspector/InspectorPageAgent.cpp:
2923         (WebCore::buildObjectForCookie):
2924         (WebCore::buildArrayForCookies):
2925         (WebCore::InspectorPageAgent::getCookies):
2926         (WebCore::InspectorPageAgent::getResourceTree):
2927         (WebCore::InspectorPageAgent::searchInResource):
2928         (WebCore::InspectorPageAgent::searchInResources):
2929         (WebCore::InspectorPageAgent::buildObjectForFrame):
2930         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2931         * inspector/InspectorPageAgent.h:
2932         * inspector/InspectorRuntimeAgent.cpp:
2933         (WebCore::InspectorRuntimeAgent::evaluate):
2934         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2935
2936 2012-03-14  Renata Hodovan  <reni@webkit.org>
2937
2938         External <use> xlink:href references do not work
2939         https://bugs.webkit.org/show_bug.cgi?id=12499
2940
2941         Reviewed by Nikolas Zimmermann.
2942
2943         This is a follow-up patch after r108785.
2944         In this patch we bind the previously introduced CachedSVGDocument class
2945         into the caching mechanism of SVGUseElement. The mode how external resources
2946         are handled is similar to the processing of internal ones. We build the instance
2947         and shadow tree the same way but we have to keep in mind that the requested resources
2948         maybe not loaded yet. We can check it with cachedDocumentIsStillLoading() function.
2949
2950         SVGURIReference::targetElementFromIRIString() also need to be extended. The baseURI
2951         computation needs to take the referenced documents URL into account, instead of the current documents.
2952
2953         The patch affects a lot of tests which have external resources especially in svg/batik. Because
2954         of the size of that test refactor they will be commited in a follow-up patch.
2955
2956         Tests: svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t.svg
2957                svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t.svg
2958                svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t.svg
2959                svg/custom/use-extern-href.svg
2960                svg/custom/use-referencing-an-image-expected.svg
2961                svg/custom/use-referencing-an-image.svg
2962                svg/custom/use-referencing-indirectly-itself-expected.svg
2963                svg/custom/use-referencing-indirectly-itself.svg
2964                svg/custom/use-referencing-itself-expected.svg
2965                svg/custom/use-referencing-itself.svg
2966                svg/dynamic-updates/SVGUseElement-dom-href1-attr.html
2967                svg/dynamic-updates/SVGUseElement-dom-href2-attr.html
2968                svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html
2969                svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html
2970
2971         * loader/cache/CachedResourceLoader.cpp:
2972         (WebCore):
2973         (WebCore::CachedResourceLoader::requestSVGDocument):
2974         * loader/cache/CachedResourceLoader.h:
2975         (WebCore):
2976         (CachedResourceLoader):
2977         * page/ContentSecurityPolicy.h:
2978         * platform/KURL.cpp:
2979         (WebCore::equalIgnoringFragmentIdentifier):
2980         * platform/network/chromium/ResourceRequest.h:
2981         * svg/SVGURIReference.cpp:
2982         (WebCore::urlFromIRIStringWithFragmentIdentifier):
2983         (WebCore):
2984         (WebCore::SVGURIReference::targetElementFromIRIString):
2985         * svg/SVGURIReference.h:
2986         (SVGURIReference):
2987         (WebCore::SVGURIReference::isExternalURIReference):
2988         * svg/SVGUseElement.cpp:
2989         (WebCore::SVGUseElement::SVGUseElement):
2990         (WebCore::SVGUseElement::~SVGUseElement):
2991         (WebCore):
2992         (WebCore::SVGUseElement::referencedDocument):
2993         (WebCore::SVGUseElement::externalDocument):
2994         (WebCore::SVGUseElement::svgAttributeChanged):
2995         (WebCore::dumpInstanceTree):
2996         (WebCore::SVGUseElement::buildPendingResource):
2997         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
2998         (WebCore::SVGUseElement::hasCycleUseReferencing):
2999         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3000         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
3001         (WebCore::SVGUseElement::notifyFinished):
3002         (WebCore::SVGUseElement::cachedDocumentIsStillLoading):
3003         (WebCore::SVGUseElement::instanceTreeIsLoading):
3004         * svg/SVGUseElement.h:
3005         (WebCore):
3006         (SVGUseElement):
3007
3008 2012-03-14  Peter Rybin  <peter.rybin@gmail.com>
3009
3010         Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
3011         https://bugs.webkit.org/show_bug.cgi?id=80789
3012
3013         Reviewed by Yury Semikhatsky.
3014
3015         OptOutput class is added for optional return parameters.
3016
3017         Strict mode added to Generator that makes all parameter types strict
3018         and drop pre-set default values for return parameters.
3019
3020         Debugger and Page domain is switched to strict mode.
3021
3022
3023         * inspector/CodeGeneratorInspector.py:
3024         (CommandReturnPassModel.ByPointer):
3025         (CommandReturnPassModel):
3026         (CommandReturnPassModel.OptOutput):
3027         (CommandReturnPassModel.OptOutput.__init__):
3028         (CommandReturnPassModel.OptOutput.get_return_var_type):
3029         (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
3030         (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
3031         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
3032         (CommandReturnPassModel.OptOutput.get_set_return_condition):
3033         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
3034         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
3035         (OptOutput):
3036         (Generator.process_event):
3037         (Generator.process_command):
3038         * inspector/ContentSearchUtils.cpp:
3039         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
3040         (WebCore::ContentSearchUtils::searchInTextByLines):
3041         * inspector/ContentSearchUtils.h:
3042         (ContentSearchUtils):
3043         * inspector/InjectedScript.cpp:
3044         (WebCore::InjectedScript::evaluate):
3045         (WebCore::InjectedScript::callFunctionOn):
3046         (WebCore::InjectedScript::evaluateOnCallFrame):
3047         (WebCore::InjectedScript::makeEvalCall):
3048         * inspector/InjectedScript.h:
3049         (InjectedScript):
3050         * inspector/InspectorDOMDebuggerAgent.cpp:
3051         (WebCore):
3052         * inspector/InspectorDebuggerAgent.cpp:
3053         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3054         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3055         (WebCore::InspectorDebuggerAgent::searchInContent):
3056         (WebCore::InspectorDebuggerAgent::setScriptSource):
3057         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3058         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
3059         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3060         (WebCore::InspectorDebuggerAgent::didPause):
3061         (WebCore::InspectorDebuggerAgent::breakProgram):
3062         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
3063         * inspector/InspectorDebuggerAgent.h:
3064         (InspectorDebuggerAgent):
3065         * inspector/InspectorPageAgent.cpp:
3066         (WebCore::buildObjectForCookie):
3067         (WebCore::buildArrayForCookies):
3068         (WebCore::InspectorPageAgent::getCookies):
3069         (WebCore::InspectorPageAgent::getResourceTree):
3070         (WebCore::InspectorPageAgent::searchInResource):
3071         (WebCore::InspectorPageAgent::searchInResources):
3072         (WebCore::InspectorPageAgent::buildObjectForFrame):
3073         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
3074         * inspector/InspectorPageAgent.h:
3075         * inspector/InspectorRuntimeAgent.cpp:
3076         (WebCore::InspectorRuntimeAgent::evaluate):
3077         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3078
3079 2012-03-14  Sergio Villar Senin  <svillar@igalia.com>
3080
3081         Unreviewed. Build fix for EFL after r110669.
3082
3083         * PlatformEfl.cmake: added DNSSoup.cpp
3084
3085 2012-03-13  Sergio Villar Senin  <svillar@igalia.com>
3086
3087         [GTK] Use the same DNS prefetching path than the other ports.
3088         https://bugs.webkit.org/show_bug.cgi?id=80997
3089
3090         Reviewed by Martin Robinson.
3091
3092         This patch basically reverts r56128. There is no need to add an
3093         special code path for GTK+ DNS pre-fetching because the main
3094         reason to do that (some potential changes in libsoup) is not
3095         going to happen. It also reduces the amount of DNS queries by
3096         adding a NULL hostname check.
3097
3098         No need for new tests as this just moves code around.
3099
3100         * GNUmakefile.list.am:
3101         * html/HTMLAnchorElement.cpp:
3102         (WebCore::HTMLAnchorElement::parseAttribute):
3103         * html/HTMLLinkElement.cpp:
3104         * loader/LinkLoader.cpp:
3105         (WebCore::LinkLoader::loadLink):
3106         * page/Chrome.cpp:
3107         (WebCore::Chrome::mouseDidMoveOverElement):
3108         * platform/network/DNS.h:
3109         (WebCore):
3110         * platform/network/ResourceHandle.cpp:
3111         * platform/network/ResourceHandle.h:
3112         (ResourceHandle):
3113         * platform/network/chromium/DNSChromium.cpp:
3114         * platform/network/soup/DNSSoup.cpp: restored.
3115         (WebCore):
3116         (WebCore::prefetchDNS):
3117         * platform/network/soup/ResourceHandleSoup.cpp:
3118
3119 2012-03-14  Kentaro Hara  <haraken@chromium.org>
3120
3121         Return null when shouldAllowAccessToNode() fails
3122         https://bugs.webkit.org/show_bug.cgi?id=80205
3123
3124         Reviewed by Adam Barth.
3125
3126         shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
3127         and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
3128         requires that they should return null when the security check fails.
3129         Thus this patch changes the return value from undefined to null.
3130
3131         http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
3132         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
3133
3134         Tests: http/tests/security/local-iFrame-from-remote.html
3135                http/tests/security/cross-frame-access-frameelement.html
3136                http/tests/security/cross-frame-access-put.html
3137
3138         * bindings/scripts/CodeGeneratorJS.pm:
3139         (GenerateImplementation):
3140         * bindings/scripts/CodeGeneratorV8.pm:
3141         (GenerateNormalAttrGetter):
3142         (GenerateFunctionCallback):
3143
3144         * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
3145         (WebCore::jsTestObjContentDocument):
3146         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
3147         * bindings/scripts/test/V8/V8TestObj.cpp:
3148         (WebCore::TestObjInternal::contentDocumentAttrGetter):
3149         (WebCore::TestObjInternal::getSVGDocumentCallback):
3150
3151 2012-03-13  Yosifumi Inoue  <yosin@chromium.org>
3152
3153         [Forms] Hidden input element should not have labels. 
3154         https://bugs.webkit.org/show_bug.cgi?id=80403
3155
3156         Reviewed by Kent Tamura.
3157
3158         This patch changes "labels" attribute behavior for hidden input type.
3159         It returns null instead of NodeList of labels or empty node list.
3160
3161         Note: The HTML5 specification isn't clear for non-labelable element's "labels"
3162         attribute return value. Firefox and Opera return empty node list. IE returns null.
3163
3164         No new tests. Existing tests are updated.
3165
3166         * html/HTMLInputElement.cpp:
3167         (WebCore::HTMLInputElement::isLabelable): Added. Dispatch to InputType.
3168         * html/HiddenInputType.h:  Added isLabelable returning false.
3169         * html/InputType.cpp:
3170         (WebCore::InputType::isLabelable): Added. Returning true for all input types except for "hidden" type.
3171         (WebCore):
3172         * html/InputType.h:
3173         (InputType): Added isLabelable declaration.
3174
3175 2012-03-13  Yosifumi Inoue  <yosin@chromium.org>
3176
3177         [Forms] The "output" element should have labels.
3178         https://bugs.webkit.org/show_bug.cgi?id=80466
3179
3180         Reviewed by Kent Tamura.
3181
3182         This patch enables functionality of "labels" attribute for
3183         HTMLOutputElement implemented in LabelableElement which use
3184         isLabelable predicate whether an element can have label or not.
3185
3186         Update existing tests in fast/forms/label/ directory to cover
3187         the "output" element with the "labels" attribute.
3188
3189         * html/HTMLOutputElement.h: Implement virtual method isLabelable.
3190
3191 2012-03-13  Luke Macpherson   <macpherson@chromium.org>
3192
3193         Move opacity clamping into RenderStyle setter.
3194         https://bugs.webkit.org/show_bug.cgi?id=76966
3195
3196         Reviewed by Eric Seidel.
3197
3198         Covered by existing tests.
3199
3200         * css/CSSStyleSelector.cpp:
3201         (WebCore::CSSStyleSelector::applyProperty):
3202         * rendering/style/RenderStyle.h:
3203         (WebCore::RenderStyleBitfields::setOpacity):
3204
3205 2012-03-12  Igor Oliveira  <igor.o@sisa.samsung.com>
3206
3207         Split the extra logic out of RenderObjectChildList::updateBeforeAfterContent
3208         https://bugs.webkit.org/show_bug.cgi?id=80856
3209
3210         Extra part of the generated content handling logic out of RenderObjectChildList::updateBeforeAfterContent
3211
3212         Reviewed by Julien Chaffraix.
3213
3214         No change in behavior expected.
3215
3216         * rendering/RenderObjectChildList.cpp:
3217         (WebCore::RenderObjectChildList::updateBeforeAfterStyle):
3218         (WebCore::createRenderForBeforeAfterContent):
3219         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3220         * rendering/RenderObjectChildList.h:
3221         (WebCore):
3222         (RenderObjectChildList):
3223
3224 2012-03-13  Simon Fraser  <simon.fraser@apple.com>
3225
3226         Fix potential crash when loading test results
3227         https://bugs.webkit.org/show_bug.cgi?id=81062
3228         <rdar://problem/11041732>
3229         
3230         Reviewed by Dean Jackson.
3231
3232         If RenderLayerBacking::isSimpleContainerCompositingLayer() is called early,
3233         before the document has a documentElement(), then it crashes. Fix with
3234         a null check on documentElement().
3235         
3236         No test because it's timing dependent.
3237
3238         * rendering/RenderLayerBacking.cpp:
3239         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
3240
3241 2012-03-13  Dan Bernstein  <mitz@apple.com>
3242
3243         <rdar://problem/11025225> Assertion failure in RenderView::computeRectForRepaint() (!repaintContainer || repaintContainer == this) at store.apple.com
3244         https://bugs.webkit.org/show_bug.cgi?id=81051
3245
3246         Reviewed by Simon Fraser.
3247
3248         Test: ManualTests/inline-repaint-container.html.
3249
3250         * rendering/RenderInline.cpp:
3251         (WebCore::RenderInline::clippedOverflowRectForRepaint): This function was not handling the
3252         case of the repaint container being a descendant of the containing block correctly, leading
3253         to the assertion failure, but also to a correctness bug seen in the new test. If the repaint
3254         container is a descendant of the containing block, just return the rect in the repaint
3255         container coordinates.
3256
3257 2012-03-13  Dan Bernstein  <mitz@apple.com>
3258
3259         <rdar://problem/11025217> [Mac] Assertion failure in collectComplexTextRunsForCharactersCoreText
3260         https://bugs.webkit.org/show_bug.cgi?id=77044
3261
3262         Reviewed by Sam Weinig.
3263
3264         Test: platform/mac/fast/text/core-text-fallback-to-unknown-font.html
3265
3266         Handle the case of Core Text choosing a fallback font that NSFontManager cannot find by name.
3267
3268         * platform/graphics/FontCache.h:
3269         (FontCache): Made ComplexTextController a friend class.
3270         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3271         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Removed the
3272         failing assertion, which was not true, and added code to handle the case where a font
3273         cannot be found by name by using the font as returned from Core Text.
3274
3275 2012-03-13  Erik Arvidsson  <arv@chromium.org>
3276
3277         [V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
3278         https://bugs.webkit.org/show_bug.cgi?id=80880
3279
3280         Reviewed by Adam Barth.
3281
3282         We used to add a hidden property in the getter to the returned wrapper.
3283         With this patch we instead handle the liveness of the wrapper in the GC phase by
3284         calling v8::V8::AddHiddenReference.
3285
3286         To reduce the amount of custom code we need, the V8 code generator now supports
3287         GenerateIsReachable (as well as CustomIsReachable) which, even though different
3288         from the JSC attribute, is used in the same cases and takes the same values (even though
3289         at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
3290         also have a dependent life time (just like if V8DependentLifetime was present).
3291
3292         Second try. This time with an added include in TextTrackList.cpp.
3293
3294         No new tests. Covered by existing tests.
3295
3296         * Target.pri:
3297         * UseV8.cmake:
3298         * WebCore.gypi:
3299         * bindings/scripts/CodeGeneratorJS.pm:
3300         (GetGenerateIsReachable):
3301         (GetCustomIsReachable):
3302         (GenerateHeader):
3303         (GenerateImplementation):
3304         * bindings/scripts/CodeGeneratorV8.pm:
3305         (NeedsToVisitDOMWrapper):
3306         (GetGenerateIsReachable):
3307         (GetCustomIsReachable):
3308         (GenerateVisitDOMWrapper):
3309         (GenerateHeader):
3310         (GenerateNamedConstructorCallback):
3311         (GenerateImplementation):
3312         * bindings/scripts/IDLAttributes.txt:
3313         * bindings/scripts/test/V8/V8Float64Array.cpp:
3314         (WebCore):
3315         * bindings/scripts/test/V8/V8Float64Array.h:
3316         (V8Float64Array):
3317         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3318         (WebCore):
3319         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3320         (V8TestActiveDOMObject):
3321         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3322         (WebCore):
3323         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3324         (V8TestCustomNamedGetter):
3325         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3326         (WebCore):
3327         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3328         (V8TestEventConstructor):
3329         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3330         (WebCore):
3331         * bindings/scripts/test/V8/V8TestEventTarget.h:
3332         (V8TestEventTarget):
3333         * bindings/scripts/test/V8/V8TestInterface.cpp:
3334         (WebCore):
3335         * bindings/scripts/test/V8/V8TestInterface.h:
3336         (V8TestInterface):
3337         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3338         (WebCore):
3339         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3340         (V8TestMediaQueryListListener):
3341         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3342         (WebCore):
3343         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3344         (V8TestNamedConstructor):
3345         * bindings/scripts/test/V8/V8TestObj.cpp:
3346         (WebCore):
3347         * bindings/scripts/test/V8/V8TestObj.h:
3348         (V8TestObj):
3349         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3350         (WebCore):
3351         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3352         (V8TestSerializedScriptValueInterface):
3353         * bindings/v8/NPV8Object.cpp:
3354         (WebCore::npObjectTypeInfo):
3355         * bindings/v8/V8GCController.cpp:
3356         (WebCore::GrouperVisitor::visitDOMWrapper):
3357         * bindings/v8/WrapperTypeInfo.h:
3358         (WebCore):
3359         (WrapperTypeInfo):
3360         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
3361         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3362         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
3363         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3364         (WebCore):
3365         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3366         * bindings/v8/custom/V8StyleSheetCustom.cpp:
3367         (WebCore::toV8):
3368         * css/CSSStyleSheet.idl:
3369         * css/StyleSheet.idl:
3370         * dom/DOMStringMap.idl:
3371         * dom/NamedNodeMap.idl:
3372         * html/DOMTokenList.idl:
3373         * html/track/TextTrackList.cpp:
3374         * html/track/TextTrackList.idl:
3375
3376 2012-03-13  Jacky Jiang  <zhajiang@rim.com>
3377
3378         MathML crash in WebCore::Node::previousSibling()
3379         https://bugs.webkit.org/show_bug.cgi?id=80773
3380
3381         Reviewed by Julien Chaffraix.
3382
3383         When adding child for msub render, if the child is mtr or mtd render,
3384         we will creat an anonymous render as the container. As the anonymous
3385         render's node is 0, accessing it directly can cause crash.
3386         We should do a valid check of the node before using. In addition to
3387         that, for msub, attach the anonymous render and it's children to render
3388         tree. For msubsup, such kind of situation should never happen based on
3389         the current codebase.
3390
3391         Test: mathml/msub-anonymous-child-render-crash.html
3392
3393         * rendering/mathml/RenderMathMLSubSup.cpp:
3394         (WebCore::RenderMathMLSubSup::addChild):
3395
3396 2012-03-13  Mihnea Ovidenie  <mihnea@adobe.com>
3397
3398         [CSSRegions]NamedFlow::getRegionsByContentNode should not return a live NodeList
3399         https://bugs.webkit.org/show_bug.cgi?id=81021
3400
3401         Reviewed by Ryosuke Niwa.
3402
3403         Reverting the original patch as we need a better solution.
3404
3405         * CMakeLists.txt:
3406         * GNUmakefile.list.am:
3407         * Target.pri:
3408         * WebCore.gypi:
3409         * WebCore.vcproj/WebCore.vcproj:
3410         * WebCore.xcodeproj/project.pbxproj:
3411         * dom/Node.cpp:
3412         (WebCore::NodeListsNodeData::invalidateCaches):
3413         (WebCore::NodeListsNodeData::isEmpty):
3414         * dom/Node.h:
3415         (Node):
3416         * dom/NodeRareData.h:
3417         (NodeListsNodeData):
3418         * dom/RegionNodeList.cpp: Removed.
3419         * dom/RegionNodeList.h: Removed.
3420         * dom/WebKitNamedFlow.cpp:
3421         * dom/WebKitNamedFlow.h:
3422         (WebKitNamedFlow):
3423         * dom/WebKitNamedFlow.idl:
3424         * rendering/RenderFlowThread.cpp:
3425         * rendering/RenderFlowThread.h:
3426         * rendering/RenderRegion.h:
3427         (RenderRegion):
3428
3429 2012-03-13  Shawn Singh  <shawnsingh@chromium.org>
3430
3431         [chromium] wrong transform causing incorrect culling
3432         https://bugs.webkit.org/show_bug.cgi?id=80471
3433
3434         Reviewed by James Robinson.
3435
3436         Unit test added to CCRenderSurfaceTest.cpp
3437
3438         In addition to using originTransform() instead of drawTransform(),
3439         this patch shuffles a bit of code so that a unit test can be
3440         easily added.
3441
3442         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3443         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
3444         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3445         (WebCore::CCRenderSurface::createSharedQuadState):
3446         (WebCore):
3447         * platform/graphics/chromium/cc/CCRenderSurface.h:
3448         (CCRenderSurface):
3449
3450 2012-03-13  Dave Tharp  <dtharp@codeaurora.org>
3451
3452         Alternate xml-stylesheets with no title are loaded, in violation of the CSSOM draft
3453         https://bugs.webkit.org/show_bug.cgi?id=77549
3454
3455         Reviewed by David Hyatt.
3456
3457         Amended code to ignore alternate stylesheets that do not have a title attribute.
3458
3459         Test: fast/css/xml-stylesheet-alternate-no-title.xhtml
3460
3461         * dom/ProcessingInstruction.cpp:
3462         (WebCore::ProcessingInstruction::checkStyleSheet):
3463
3464 2012-03-13  Levi Weintraub  <leviw@chromium.org>
3465
3466         Revert RenderLayer::absoluteBoundingBox to an IntRect
3467         https://bugs.webkit.org/show_bug.cgi?id=81017
3468
3469         Reviewed by Eric Seidel.
3470
3471         Reverting RenderLayer::absoluteBoundingBox to an (pixel snapped) IntRect. Whenever
3472         possible, we use integers representing for absolute coordinates. This is especially
3473         relevant for methods, such as this one, that are exported and used in platform code.
3474
3475         No new tests. No change in behavior.
3476
3477         * rendering/RenderLayer.cpp:
3478         (WebCore::RenderLayer::absoluteBoundingBox):
3479         * rendering/RenderLayer.h:
3480         (RenderLayer):
3481         * rendering/RenderLayerCompositor.cpp:
3482         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): This intersects
3483         the absolute bounding box with the FrameView, which uses all integer values. It's
3484         the only use of absoluteBoundingBox in WebCore.
3485
3486 2012-03-13  Nat Duca  <nduca@chromium.org>
3487
3488         [chromium] vsync ticks are needed in invisible tabs when we are still updating resources
3489         https://bugs.webkit.org/show_bug.cgi?id=80910
3490
3491         Reviewed by James Robinson.
3492
3493         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
3494         (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
3495
3496 2012-03-13  Dave Tharp  <dtharp@codeaurora.org>
3497
3498         Alternate stylesheets (without title attribute) are loaded on refresh
3499         https://bugs.webkit.org/show_bug.cgi?id=24354
3500
3501         Reviewed by David Hyatt.
3502
3503         Alternate stylesheets are now ignored in <link> tags if 
3504         they have no title attribute (per spec).
3505
3506         Tests: fast/css/link-alternate-stylesheet-1.html
3507                fast/css/link-alternate-stylesheet-2.html
3508                fast/css/link-alternate-stylesheet-3.html
3509                fast/css/link-alternate-stylesheet-4.html
3510                fast/css/link-alternate-stylesheet-5.html
3511
3512         * dom/Document.cpp:
3513         (WebCore::Document::collectActiveStylesheets):
3514
3515 2012-03-13  Dana Jansens  <danakj@chromium.org>
3516
3517         Region::contains(IntPoint) is slow
3518         https://bugs.webkit.org/show_bug.cgi?id=81008
3519
3520         Reviewed by Anders Carlsson.
3521
3522         Speed up Region::contains(IntPoint) by directly testing if the point
3523         is inside the Region's shape, rather than using a temporary 1x1 Region
3524         for the test.
3525
3526         Unit test: RegionTest.containsPoint
3527
3528         * platform/graphics/Region.cpp:
3529         (WebCore::Region::contains):
3530
3531 2012-03-13  Adrienne Walker  <enne@google.com>
3532
3533         [chromium] Mark root layer scrollbars as always opaque to disable blending
3534         https://bugs.webkit.org/show_bug.cgi?id=79951
3535
3536         Reviewed by James Robinson.
3537
3538         Now that scrollbar layers exist, mark non-overlay root scrollbars as
3539         opaque. This disables blending for correctness and performance.
3540
3541         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3542         (WebCore::scrollbarLayerDidChange):
3543         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
3544         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
3545         * platform/graphics/chromium/LayerRendererChromium.cpp:
3546         (WebCore::LayerRendererChromium::drawTileQuad):
3547
3548 2012-03-13  Gavin Peters  <gavinp@chromium.org>
3549
3550         Remove vestigal abortEvent from image attribute.
3551         https://bugs.webkit.org/show_bug.cgi?id=80795
3552
3553         Reviewed by Adam Barth.
3554
3555         It seems we installed a listener for the abort event on images,
3556         but never ever raised them.  So this patch removes it.  This could
3557         cause different behaviour if the user sends abort events directly
3558         at an image element, although addEventListener will still work.
3559
3560         * html/HTMLImageElement.cpp:
3561         (WebCore::HTMLImageElement::parseAttribute):
3562
3563 2012-03-13  Nate Chapin  <japhet@chromium.org>
3564
3565         Rework how a CachedRawResource decides if it can be reused
3566         for a given ResourceRequest. Ensure method, body, cookie policy,
3567         and all headers match.
3568         http://bugs.webkit.org/show_bug.cgi?id=79325
3569
3570         Reviewed by Oliver Hunt.
3571
3572         Test: http/tests/cache/xhr-body.html
3573
3574         * loader/cache/CachedRawResource.cpp:
3575         (WebCore::CachedRawResource::canReuse):
3576         * loader/cache/CachedRawResource.h: Take a ResourceRequest in canReuse().
3577         * loader/cache/CachedResourceLoader.cpp:
3578         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Remove Range header
3579             check, since it is now redundant.
3580
3581 2012-03-13  Rob Buis  <rbuis@rim.com>
3582
3583         Fix cast-align GCC warning
3584         https://bugs.webkit.org/show_bug.cgi?id=80790
3585
3586         Reviewed by Dan Bates.
3587
3588         This touches unpackOneRowOfBGRA8ToRGBA8.
3589
3590         * platform/graphics/GraphicsContext3D.cpp:
3591         (WebCore):
3592
3593 2012-03-12  Simon Fraser  <simon.fraser@apple.com>
3594
3595         Refactor some code that is used to check whether a layer needs backing store
3596         https://bugs.webkit.org/show_bug.cgi?id=80917
3597
3598         Reviewed by Dean Jackson.
3599
3600         Move some code out of isSimpleContainerCompositingLayer() in two new
3601         methods to make the code more self-descriptive.
3602         
3603         No behavior change, so no tests.
3604
3605         * rendering/RenderLayerBacking.cpp:
3606         (WebCore::RenderLayerBacking::paintsBoxDecorations):
3607         (WebCore::RenderLayerBacking::paintsChildren):
3608         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
3609         * rendering/RenderLayerBacking.h:
3610         (RenderLayerBacking):
3611
3612 2012-03-13  Daniel Bates  <dbates@webkit.org>
3613
3614         REGRESSION(r99369): File input button doesn't highlight when pressed
3615         https://bugs.webkit.org/show_bug.cgi?id=79385
3616
3617         Reviewed by Kent Tamura.
3618
3619         Fixes an issue where the file input button doesn't highlight on mouse press.
3620
3621         Currently we always override the active state of the button with whether
3622         a dragged file is being hovered over the file input control (i.e. can the control
3623         receive a dropped file; HTMLInputElement::canReceiveDroppedFiles()).
3624         Instead, we should only override the active state of the button when the state
3625         changes for whether we can receive dropped files (e.g. during a drag) so that
3626         we honor the active state of the button when it is pressed.
3627
3628         Test: fast/forms/file/file-input-pressed-state.html
3629
3630         * rendering/RenderFileUploadControl.cpp:
3631         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
3632         (WebCore::RenderFileUploadControl::updateFromElement):
3633         * rendering/RenderFileUploadControl.h:
3634         (RenderFileUploadControl):
3635
3636 2012-03-13  Dana Jansens  <danakj@chromium.org>
3637
3638         [chromium] Use CCOcclusionTracker for draw culling
3639         https://bugs.webkit.org/show_bug.cgi?id=80743
3640
3641         Reviewed by Adrienne Walker.
3642
3643         In this CL we enable the use of CCOcclusionTracker for draw-side
3644         culling. This means moving from a per-quad culling model to a
3645         per-layer model.
3646
3647         When calculating RenderPasses, we construct the set of passes,
3648         then iterate over layers in front-to-back order. We make
3649         CCQuadCuller instantiable, and pass it to the layer
3650         appendQuads() methods instead of the bare list, where it can
3651         filter quads before the end up in the list.
3652
3653         Covered by existing tests.
3654
3655         * platform/graphics/chromium/LayerRendererChromium.cpp:
3656         (WebCore::LayerRendererChromium::drawRenderPass):
3657         * platform/graphics/chromium/LayerRendererChromium.h:
3658         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
3659         (WebCore::CCCanvasLayerImpl::appendQuads):
3660         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
3661         (CCCanvasLayerImpl):
3662         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3663         (WebCore::CCLayerImpl::appendQuads):
3664         (WebCore::CCLayerImpl::appendGutterQuads):
3665         (WebCore::CCLayerImpl::appendDebugBorderQuad):
3666         * platform/graphics/chromium/cc/CCLayerImpl.h:
3667         (WebCore):
3668         (CCLayerImpl):
3669         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3670         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3671         (WebCore::CCLayerTreeHostImpl::drawLayers):
3672         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3673         (CCLayerTreeHostImpl):
3674         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3675         (WebCore::CCPluginLayerImpl::appendQuads):
3676         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3677         (CCPluginLayerImpl):
3678         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3679         (WebCore::CCQuadCuller::CCQuadCuller):
3680         (WebCore::CCQuadCuller::append):
3681         * platform/graphics/chromium/cc/CCQuadCuller.h:
3682         (WebCore):
3683         (CCQuadCuller):
3684         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3685         (WebCore::CCRenderPass::appendQuadsForLayer):
3686         * platform/graphics/chromium/cc/CCRenderPass.h:
3687         (WebCore):
3688         (CCQuadList):
3689         (WebCore::CCQuadList::backToFrontBegin):
3690         (WebCore::CCQuadList::backToFrontEnd):
3691         (CCRenderPass):
3692         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
3693         (WebCore::CCScrollbarLayerImpl::appendQuads):
3694         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
3695         (CCScrollbarLayerImpl):
3696         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
3697         (WebCore::CCSolidColorLayerImpl::appendQuads):
3698         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
3699         (CCSolidColorLayerImpl):
3700         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3701         (WebCore::CCTiledLayerImpl::appendQuads):
3702         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3703         (CCTiledLayerImpl):
3704         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3705         (WebCore::CCVideoLayerImpl::appendQuads):
3706         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3707         (CCVideoLayerImpl):
3708
3709 2012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
3710
3711         Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
3712         https://bugs.webkit.org/show_bug.cgi?id=78853
3713
3714         Reviewed by Adam Barth.
3715
3716         * CMakeLists.txt:
3717         * Configurations/FeatureDefines.xcconfig:
3718         * GNUmakefile.am:
3719         * GNUmakefile.list.am:
3720         * Modules/geolocation/Geolocation.cpp:
3721         (WebCore):
3722         (WebCore::createPositionError):
3723         (WebCore::Geolocation::Geolocation):
3724         (WebCore::Geolocation::stop):
3725         (WebCore::Geolocation::lastPosition):
3726         (WebCore::Geolocation::requestPermission):
3727         (WebCore::Geolocation::startUpdating):
3728         (WebCore::Geolocation::stopUpdating):
3729         * Modules/geolocation/Geolocation.h:
3730         (WebCore):
3731         (Geolocation):
3732         * Modules/geolocation/GeolocationController.cpp:
3733         * Modules/geolocation/GeolocationController.h:
3734         * Modules/geolocation/GeolocationError.h:
3735         * Modules/geolocation/GeolocationPosition.h:
3736         * Target.pri:
3737         * WebCore.exp.in:
3738         * WebCore.gypi:
3739         * WebCore.vcproj/WebCore.vcproj:
3740         * bindings/js/JSGeolocationCustom.cpp:
3741         * loader/EmptyClients.h:
3742         (EmptyChromeClient):
3743         * page/ChromeClient.h:
3744         (ChromeClient):
3745         * page/Page.cpp:
3746         (WebCore::Page::Page):
3747         * page/Page.h:
3748         (Page):
3749         * platform/GeolocationService.cpp: Removed.
3750         * platform/GeolocationService.h: Removed.
3751         * platform/mock/GeolocationClientMock.cpp:
3752         * platform/mock/GeolocationClientMock.h:
3753         * platform/mock/GeolocationServiceMock.cpp: Removed.
3754         * platform/mock/GeolocationServiceMock.h: Removed.
3755
3756 2012-03-12  Antonio Gomes  <agomes@rim.com>
3757
3758         Convert nodesFromRect tests to use Internals interface
3759         https://bugs.webkit.org/show_bug.cgi?id=80886
3760
3761         Reviewed by Ryosuke Niwa.
3762
3763         Add Internals::nodesFromRect implementation to unify
3764         the codepath for testing Document::nodesFromRect in a
3765         cross port way.
3766
3767         No new tests, since we are improving here the infra-structure
3768         for testing a specific method.
3769
3770         * testing/Internals.cpp:
3771         (WebCore::Internals::nodesFromRect):
3772         (WebCore):
3773         * testing/Internals.h:
3774         (Internals):
3775         * testing/Internals.idl:
3776
3777 2012-03-13  Philip Rogers  <pdr@google.com>
3778
3779         Fix the use of stale text fragments
3780         https://bugs.webkit.org/show_bug.cgi?id=80729
3781
3782         Reviewed by Nikolas Zimmermann.
3783
3784         Previously, we were allowing SVGTextFragments to get out of sync with the
3785         actual text in RenderSVGInlineTextBox. This patch reuses the dirty line
3786         box code in RenderText::setTextWithOffset to force
3787         clearTextFragments() when setTextWithOffset is called, preventing the use
3788         of stale SVGTextFragments.
3789
3790         Test: svg/custom/delete-text-crash.html
3791
3792         * rendering/InlineBox.h:
3793         (InlineBox):
3794         * rendering/svg/SVGInlineTextBox.cpp:
3795         (WebCore::SVGInlineTextBox::dirtyLineBoxes):
3796         (WebCore):
3797         * rendering/svg/SVGInlineTextBox.h:
3798         (SVGInlineTextBox):
3799
3800 2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
3801
3802         SVG Animations update baseVal instead of animVal
3803         https://bugs.webkit.org/show_bug.cgi?id=12437
3804
3805         Reviewed by Dirk Schulze.
3806
3807         Blind fix for some GC related assertions firing on v8.
3808
3809         Assure that animationStarted/animationEnded calls are happening
3810         on the same SVGAnimatedProperty. Always call animationEnded(),
3811         even if we shouldn't do anything for the target element, as its
3812         destructed, as we still have to reset m_isAnimating.
3813
3814         * svg/SVGAnimateElement.cpp:
3815         (WebCore::SVGAnimateElement::SVGAnimateElement):
3816         (WebCore::SVGAnimateElement::resetToBaseValue):
3817         (WebCore::SVGAnimateElement::targetElementWillChange):
3818         * svg/SVGAnimateElement.h:
3819         (SVGAnimateElement):
3820         * svg/properties/SVGAnimatedPropertyTearOff.h:
3821         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
3822
3823 2012-03-13  Mark Pilgrim  <pilgrim@chromium.org>
3824
3825         Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
3826         https://bugs.webkit.org/show_bug.cgi?id=80625
3827
3828         Reviewed by Adam Barth.
3829
3830         No new tests, all existing tests pass.
3831
3832         * CMakeLists.txt:
3833         * DerivedSources.make:
3834         * DerivedSources.pri:
3835         * GNUmakefile.am:
3836         * GNUmakefile.list.am:
3837         * Modules/filesystem: Added.
3838         * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
3839         * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
3840         * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
3841         * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
3842         * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
3843         * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
3844         * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
3845         * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
3846         * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
3847         * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
3848         * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
3849         * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
3850         * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
3851         * Target.pri:
3852         * WebCore.gyp/WebCore.gyp:
3853         * WebCore.gypi:
3854         * WebCore.pri:
3855         * WebCore.vcproj/WebCore.vcproj:
3856         * WebCore.xcodeproj/project.pbxproj:
3857         * fileapi/DirectoryEntry.cpp: Removed.
3858         * fileapi/DirectoryEntry.h: Removed.
3859         * fileapi/DirectoryEntry.idl: Removed.
3860         * fileapi/DirectoryEntrySync.cpp: Removed.
3861         * fileapi/DirectoryEntrySync.h: Removed.
3862         * fileapi/DirectoryEntrySync.idl: Removed.
3863         * fileapi/DirectoryReader.cpp: Removed.
3864         * fileapi/DirectoryReader.h: Removed.
3865         * fileapi/DirectoryReader.idl: Removed.
3866         * fileapi/DirectoryReaderBase.h: Removed.
3867         * fileapi/DirectoryReaderSync.cpp: Removed.
3868         * fileapi/DirectoryReaderSync.h: Removed.
3869         * fileapi/DirectoryReaderSync.idl: Removed.
3870
3871 2012-03-13  Igor Oliveira  <igor.o@sisa.samsung.com>
3872
3873         animation-iteration-count does not handle floating point values correctly.
3874         https://bugs.webkit.org/show_bug.cgi?id=69531
3875
3876         Implements support for non-integers animation-iteration-count numbers.
3877         Non-integer numbers will cause the animation to end part-way through a cycle.
3878
3879         Reviewed by Dean Jackson.
3880
3881         Tests: animations/fill-mode-iteration-count-non-integer.html
3882                animations/keyframes-iteration-count-non-integer.html
3883
3884         * css/CSSComputedStyleDeclaration.cpp:
3885         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3886         * css/CSSParser.cpp:
3887         (WebCore::CSSParser::parseAnimationIterationCount):
3888         * css/CSSStyleApplyProperty.cpp:
3889         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3890         * css/CSSStyleSelector.cpp:
3891         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3892         * page/animation/AnimationBase.cpp:
3893         (WebCore::AnimationBase::fractionalTime):
3894         (WebCore::AnimationBase::progress):
3895         * page/animation/CompositeAnimation.cpp:
3896         (WebCore::CompositeAnimation::pauseAnimationAtTime):
3897         * platform/animation/Animation.h:
3898         (WebCore::Animation::iterationCount):
3899         (WebCore::Animation::setIterationCount):
3900         (Animation):
3901         (WebCore::Animation::initialAnimationIterationCount):
3902
3903 2012-03-13  Tommy Widenflycht  <tommyw@google.com>
3904
3905         MediaStream API: Rename PeerConnection to DeprecatedPeerConnection
3906         https://bugs.webkit.org/show_bug.cgi?id=80692
3907
3908         Reviewed by Adam Barth.
3909
3910         First patch in a series of patches to change the PeerConnection from ROAP to JSEP,
3911         see bug 80589 for more information.
3912
3913         Patch covered by modified existing tests.
3914
3915         * GNUmakefile.list.am:
3916         * Modules/mediastream/DOMWindowMediaStream.idl:
3917         * Modules/mediastream/DeprecatedPeerConnection.cpp: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.cpp.
3918         (WebCore):
3919         (WebCore::DeprecatedPeerConnection::create):
3920         (WebCore::DeprecatedPeerConnection::DeprecatedPeerConnection):
3921         (WebCore::DeprecatedPeerConnection::~DeprecatedPeerConnection):
3922         (WebCore::DeprecatedPeerConnection::processSignalingMessage):
3923         (WebCore::DeprecatedPeerConnection::readyState):
3924         (WebCore::DeprecatedPeerConnection::send):
3925         (WebCore::DeprecatedPeerConnection::addStream):
3926         (WebCore::DeprecatedPeerConnection::removeStream):
3927         (WebCore::DeprecatedPeerConnection::localStreams):
3928         (WebCore::DeprecatedPeerConnection::remoteStreams):
3929         (WebCore::DeprecatedPeerConnection::close):
3930         (WebCore::DeprecatedPeerConnection::didCompleteICEProcessing):
3931         (WebCore::DeprecatedPeerConnection::didGenerateSDP):
3932         (WebCore::DeprecatedPeerConnection::didReceiveDataStreamMessage):
3933         (WebCore::DeprecatedPeerConnection::didAddRemoteStream):
3934         (WebCore::DeprecatedPeerConnection::didRemoveRemoteStream):
3935         (WebCore::DeprecatedPeerConnection::interfaceName):
3936         (WebCore::DeprecatedPeerConnection::scriptExecutionContext):
3937         (WebCore::DeprecatedPeerConnection::stop):
3938         (WebCore::DeprecatedPeerConnection::eventTargetData):
3939         (WebCore::DeprecatedPeerConnection::ensureEventTargetData):
3940         (WebCore::DeprecatedPeerConnection::scheduleInitialNegotiation):
3941         (WebCore::DeprecatedPeerConnection::initialNegotiationTimerFired):
3942         (WebCore::DeprecatedPeerConnection::ensureStreamChangeScheduled):
3943         (WebCore::DeprecatedPeerConnection::streamChangeTimerFired):
3944         (WebCore::DeprecatedPeerConnection::scheduleReadyStateChange):
3945         (WebCore::DeprecatedPeerConnection::readyStateChangeTimerFired):
3946         (WebCore::DeprecatedPeerConnection::changeReadyState):
3947         * Modules/mediastream/DeprecatedPeerConnection.h: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.h.
3948         (WebCore):
3949         (DeprecatedPeerConnection):
3950         (WebCore::DeprecatedPeerConnection::didChangeState):
3951         (WebCore::DeprecatedPeerConnection::refEventTarget):
3952         (WebCore::DeprecatedPeerConnection::derefEventTarget):
3953         * Modules/mediastream/DeprecatedPeerConnection.idl: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.idl.
3954         * Modules/mediastream/SignalingCallback.h:
3955         (WebCore):
3956         (SignalingCallback):
3957         * Modules/mediastream/SignalingCallback.idl:
3958         * WebCore.gypi:
3959         * bindings/generic/RuntimeEnabledFeatures.h:
3960         (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
3961         * bindings/js/JSDeprecatedPeerConnectionCustom.cpp: Renamed from Source/WebCore/bindings/js/JSPeerConnectionCustom.cpp.
3962         (WebCore):
3963         (WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
3964         * dom/EventTarget.h:
3965         (WebCore):
3966         * dom/EventTargetFactory.in:
3967         * platform/mediastream/DeprecatedPeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandler.h.
3968         (WebCore):
3969         (DeprecatedPeerConnectionHandler):
3970         * platform/mediastream/DeprecatedPeerConnectionHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h.
3971         (WebCore):
3972         (DeprecatedPeerConnectionHandlerClient):
3973         (WebCore::DeprecatedPeerConnectionHandlerClient::~DeprecatedPeerConnectionHandlerClient):
3974         * platform/mediastream/gstreamer/DeprecatedPeerConnectionHandler.cpp: Renamed from Source/WebCore/platform/mediastream/gstreamer/PeerConnectionHandler.cpp.
3975         (WebCore):
3976         (WebCore::DeprecatedPeerConnectionHandler::create):
3977         (WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
3978         (WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
3979         (WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
3980         (WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
3981         (WebCore::DeprecatedPeerConnectionHandler::processSDP):
3982         (WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
3983         (WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
3984         (WebCore::DeprecatedPeerConnectionHandler::stop):
3985
3986 2012-03-13  Pavel Feldman  <pfeldman@chromium.org>
3987
3988         Web Inspector: front-end compilation was broken while supporting large arrays.
3989         https://bugs.webkit.org/show_bug.cgi?id=81013
3990
3991         Reviewed by Vsevolod Vlasov.
3992
3993         * inspector/front-end/ExtensionPanel.js:
3994         * inspector/front-end/ObjectPropertiesSection.js:
3995         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
3996         * inspector/front-end/RemoteObject.js:
3997
3998 2012-03-13  Tony Chang  <tony@chromium.org>
3999
4000         flexbox's computePreferredLogicalWidth needs to take multiline into account
4001         https://bugs.webkit.org/show_bug.cgi?id=80931
4002
4003         Reviewed by Ojan Vafai.
4004
4005         Tests: css3/flexbox/multiline-shrink-to-fit-expected.html
4006                css3/flexbox/multiline-shrink-to-fit.html
4007
4008         * rendering/RenderFlexibleBox.cpp:
4009         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): Set min/max preferredLogicalWidth based on always breaking or never breaking.
4010         (WebCore::RenderFlexibleBox::computeNextFlexLine): Add a FIXME.
4011         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Don't change the width after computePreferredWidth has been called.
4012
4013 2012-03-13  Sheriff Bot  <webkit.review.bot@gmail.com>
4014
4015         Unreviewed, rolling out r110469.
4016         http://trac.webkit.org/changeset/110469
4017         https://bugs.webkit.org/show_bug.cgi?id=81010
4018
4019         This patch still appears to crash (Requested by abarth on
4020         #webkit).
4021
4022         * page/FrameView.cpp:
4023         (WebCore::FrameView::FrameView):
4024         (WebCore::FrameView::reset):
4025         (WebCore::FrameView::repaintContentRectangle):
4026         (WebCore):
4027         (WebCore::FrameView::endDeferredRepaints):
4028         (WebCore::FrameView::doDeferredRepaints):
4029         (WebCore::FrameView::deferredRepaintTimerFired):
4030         * page/FrameView.h:
4031         (FrameView):
4032         * rendering/RenderView.cpp:
4033         (WebCore::RenderView::shouldRepaint):
4034         * svg/graphics/SVGImage.cpp:
4035         (WebCore::SVGImage::drawSVGToImageBuffer):
4036         (WebCore::SVGImage::draw):
4037         * svg/graphics/SVGImage.h:
4038         * svg/graphics/SVGImageCache.cpp:
4039         (WebCore::SVGImageCache::imageContentChanged):
4040         (WebCore::SVGImageCache::redrawTimerFired):
4041         * svg/graphics/SVGImageCache.h:
4042         (SVGImageCache):
4043
4044 2012-03-13  Max Vujovic  <mvujovic@adobe.com>
4045
4046         Add a method to window.internals to enable testing of inspector highlight rects
4047         https://bugs.webkit.org/show_bug.cgi?id=80338
4048
4049         Reviewed by Pavel Feldman.
4050
4051         Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
4052         positions and sizes of inspector highlight rects.
4053
4054         Test: inspector/elements/highlight-node.html
4055
4056         * WebCore.exp.in: Export symbols.
4057         * testing/Internals.cpp:
4058         (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
4059         return the highlight's quads as a ClientRectList.
4060         (WebCore):
4061         * testing/Internals.h:
4062         (WebCore):
4063         (Internals):
4064         * testing/Internals.idl:
4065
4066             Add inspectorHighlightRects to the window.internals interface.
4067
4068 2012-03-13  Konrad Piascik  <kpiascik@rim.com>
4069
4070         [BlackBerry] Remove sublayers before clamping just in case the layer already exists
4071         https://bugs.webkit.org/show_bug.cgi?id=80989
4072
4073         Reviewed by Antonio Gomes.
4074
4075         Discovered when trying to add a highlight sublayer for web inspector.  Since that layer
4076         may already exist in the tree we need to see if it will be pruned before we clamp on the
4077         size.
4078
4079         This was manually tested during the writing of another patch to add web inspector highlights
4080         to accelrated compositing.
4081
4082         * platform/graphics/blackberry/LayerWebKitThread.cpp:
4083         (WebCore::LayerWebKitThread::insertSublayer):
4084