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