ea8b31ee468440a1b3d91d0c5b9df00837116521
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-27  Antti Koivisto  <antti@apple.com>
2
3         Construct CSSCharsetRule on CSSOM API access only 
4         https://bugs.webkit.org/show_bug.cgi?id=82332
5
6         Reviewed by Andreas Kling.
7
8         Charset is just a string. There is usually no need to construct CSSCharsetRule at all.
9         
10         - Make CSS parser to return encoding string instead of CSSCharsetRule object. This
11           string is used for constructing CSSCharsetRule if it is needed (and nothing else,
12           @charset has no effect after string decoding).
13         - Remove internal interface for adding and removing rules. It has no clients.
14         
15         * css/CSSGrammar.y:
16         * css/CSSParser.cpp:
17         (WebCore):
18         * css/CSSParser.h:
19         * css/CSSStyleSelector.cpp:
20         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
21         * css/CSSStyleSheet.cpp:
22         (WebCore::CSSStyleSheet::~CSSStyleSheet):
23         (WebCore::CSSStyleSheet::parserAppendRule):
24         (WebCore::CSSStyleSheet::ensureCharsetRule):
25         (WebCore):
26         (WebCore::CSSStyleSheet::length):
27         (WebCore::CSSStyleSheet::item):
28         (WebCore::CSSStyleSheet::clearCharsetRule):
29         (WebCore::CSSStyleSheet::clearRules):
30         (WebCore::CSSStyleSheet::parserSetEncodingFromCharsetRule):
31         (WebCore::CSSStyleSheet::rules):
32         (WebCore::CSSStyleSheet::insertRule):
33         (WebCore::CSSStyleSheet::addRule):
34         (WebCore::CSSStyleSheet::deleteRule):
35         * css/CSSStyleSheet.h:
36         (WebCore):
37         (CSSStyleSheet):
38         (WebCore::CSSStyleSheet::ruleVector):
39         (WebCore::CSSStyleSheet::hasCharsetRule):
40         * inspector/InspectorStyleSheet.cpp:
41         (WebCore::InspectorStyleSheet::reparseStyleSheet):
42
43 2012-03-27  Stephen White  <senorblanco@chromium.org>
44
45         [chromium] Fix filter context creation to be more conservative.
46         https://bugs.webkit.org/show_bug.cgi?id=82349
47
48         Reviewed by James Robinson.
49
50         Covered by webkit_unit_tests, and css3/filters layout tests.
51
52         * platform/graphics/chromium/LayerChromium.cpp:
53         (WebCore::LayerChromium::setFilters):
54         Only request a filter context if the filter lists is non-empty.
55         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
56         (WebCore::CCLayerTreeHost::setNeedsFilterContext):
57         Add a bool param, so tests can cancel a request for filter contexts.
58
59 2012-03-27  Stephen Chenney  <schenney@chromium.org>
60
61         <svg:use> elements in the parser can create elements not marked as created by the parser
62         https://bugs.webkit.org/show_bug.cgi?id=81985
63
64         Reviewed by Adam Barth.
65
66         The SVGUseElement was creating its shadow tree immediately upon
67         demand. This resulted in nodes being created that were not marked as
68         "createdByParser", even during parsing. As it happens, there is
69         already code in there to track "createdByParser" in the SVGUseElement,
70         it was just being ignored all the time. This may even have been
71         inefficient. Now we delay creating the shadow dom tree until children
72         are finished, which is the standard time to handle the createdByParser
73         flag.
74
75         I also verified that other SVG classes that derived from core DOM
76         classes that use the createdByParser flag do correctly pass this flag
77         on.
78
79         No new tests as this is covered by existing tests and does not have new behavior.
80
81         * svg/SVGUseElement.cpp:
82         (WebCore::SVGUseElement::insertedIntoDocument):
83         (WebCore::SVGUseElement::svgAttributeChanged):
84         (WebCore::SVGUseElement::willRecalcStyle):
85         (WebCore::SVGUseElement::finishParsingChildren):
86         * xml/XMLErrors.cpp:
87         (WebCore::XMLErrors::insertErrorMessageBlock):
88
89 2012-03-27  Ming Xie  <mxie@rim.com>
90
91         [BlackBerry] Disable DisallowCType.h usage
92         https://bugs.webkit.org/show_bug.cgi?id=82211
93
94         Reviewed by Rob Buis.
95
96         Build fix: QNX port does use ctype.h, so we should not
97         include <wtf/DisallowCType.h> in WebCore/config.h
98
99         No new tests - Build Fix
100
101         * config.h:
102
103 2012-03-27  Hao Zheng  <zhenghao@chromium.org>
104
105         Change default position attribute of media control panel to relative for Android.
106         https://bugs.webkit.org/show_bug.cgi?id=82303
107
108         Reviewed by Eric Carlson.
109
110         Follow up https://bugs.webkit.org/show_bug.cgi?id=79746 .
111
112         * css/mediaControlsChromiumAndroid.css:
113         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
114
115 2012-03-27  Alexei Filippov  <alexeif@chromium.org>
116
117         Web Inspector: Speed up snapshot parsing.
118         https://bugs.webkit.org/show_bug.cgi?id=82325
119
120         Replacing the iterators with raw nodes/edges access speeds up
121         some phases phasses up to 10 times, taking down the whole init
122         time to less than 6 sec.
123
124         Reviewed by Yury Semikhatsky.
125
126         * inspector/front-end/HeapSnapshot.js:
127         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
128         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
129         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
130
131 2012-03-27  Antti Koivisto  <antti@apple.com>
132
133         Assertion failure in acid2.
134
135         Rubber-stamped by Andreas Kling.
136
137         Remove assert added in http://trac.webkit.org/changeset/112258. It seems insertedInto/removedFromDocument
138         don't always pair.
139
140         * svg/SVGDocumentExtensions.cpp:
141         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
142
143 2012-03-27  Yury Semikhatsky  <yurys@chromium.org>
144
145         Web Inspector: simplify heap profiler front-end
146         https://bugs.webkit.org/show_bug.cgi?id=82338
147
148         Simplify constructors of WebInspector.HeapSnapshotArraySlice and
149         WebInspector.HeapSnapshotEdgesProvider.
150
151         Reviewed by Pavel Feldman.
152
153         * inspector/front-end/HeapSnapshot.js:
154         (WebInspector.HeapSnapshotArraySlice):
155         (WebInspector.HeapSnapshotArraySlice.prototype.item):
156         (WebInspector.HeapSnapshotArraySlice.prototype.slice):
157         (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
158         (WebInspector.HeapSnapshot.prototype._retainersForNode):
159         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
160         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
161         (WebInspector.HeapSnapshotEdgesProvider):
162
163 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
164
165         Web Inspector: Tabbed pane should set focus on its contents on tab click.
166         https://bugs.webkit.org/show_bug.cgi?id=82323
167
168         Reviewed by Pavel Feldman.
169
170         Otherwise selected tab does not have focus.
171         Also added tabIndex on tabElements to prevent pasting on closing middle click.
172
173         * inspector/front-end/TabbedPane.js:
174         (WebInspector.TabbedPane):
175         (WebInspector.TabbedPane.prototype.focus):
176         (WebInspector.TabbedPane.prototype.selectTab):
177         (WebInspector.TabbedPaneTab.prototype._createTabElement):
178         (WebInspector.TabbedPaneTab.prototype._tabClicked):
179
180 2012-03-27  Pavel Podivilov  <podivilov@chromium.org>
181
182         Web Inspector: dispatch breakpoint-added and breakpoint-removed events on UISourceCode.
183         https://bugs.webkit.org/show_bug.cgi?id=82318
184
185         Reviewed by Vsevolod Vlasov.
186
187         Breakpoint-added and breakpoint-removed events are always related to specific UISourceCode.
188         See bug 82224 for more details.
189
190         * inspector/front-end/BreakpointManager.js:
191         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
192         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
193         * inspector/front-end/DebuggerPresentationModel.js:
194         (WebInspector.DebuggerPresentationModel):
195         (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
196         (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
197         * inspector/front-end/ScriptsPanel.js:
198         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
199         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
200         (WebInspector.ScriptsPanel.prototype._addBreakpointListeners):
201         (WebInspector.ScriptsPanel.prototype._removeBreakpointListeners):
202         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
203         * inspector/front-end/UISourceCode.js:
204
205 2012-03-27  Jason Liu  <jason.liu@torchmobile.com.cn>
206
207         [BlackBerry]Cleanup WTF string in platform/network/blackberry
208         https://bugs.webkit.org/show_bug.cgi?id=82005
209
210         Reviewed by Rob Buis.
211
212         No new tests. Just replace WTF::String with String.
213
214         * platform/network/blackberry/NetworkJob.cpp:
215         (WebCore::NetworkJob::handleNotifyDataReceived):
216
217 2012-03-27  Alexander Pavlov  <apavlov@chromium.org>
218
219         Web Inspector: Enable "number" parameters in the web inspector protocol methods
220         https://bugs.webkit.org/show_bug.cgi?id=82334
221
222         The generated protocol dispatcher does not understand protocol method parameters of type "number"
223         (mapped to "double" in the native code.)
224
225         Reviewed by Vsevolod Vlasov.
226
227         * inspector/CodeGeneratorInspector.py:
228         (RawTypes.Number.get_getter_name):
229         (RawTypes.Number.get_c_initializer):
230         (RawTypes.Number.get_js_bind_type):
231         (RawTypes.Number.get_validate_method_params.ValidateMethodParams):
232         (RawTypes.Number.get_validate_method_params):
233
234 2012-03-27  Alexei Filippov  <alexeif@chromium.org>
235
236         Web Inspector: Fix missing objects in the dominators view.
237         https://bugs.webkit.org/show_bug.cgi?id=82194
238
239         Due to the nature of dominators tree it is not possible to hide internal
240         objects there because they may happen to contain user objects that can't
241         be hidden.
242         Besides that it fixes a small bug in HeapSnapshotArraySlice.slice
243         function.
244
245         Reviewed by Yury Semikhatsky.
246
247         * inspector/front-end/DetailedHeapshotGridNodes.js:
248         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
249         * inspector/front-end/HeapSnapshot.js:
250         (WebInspector.HeapSnapshotArraySlice.prototype.slice):
251
252 2012-03-27  Antti Koivisto  <antti@apple.com>
253
254         Remove Document::mappedElementSheet() 
255         https://bugs.webkit.org/show_bug.cgi?id=82242
256
257         Reviewed by Andreas Kling and Nikolas Zimmermann.
258
259         The only thing this is used for anymore is SVGFontFaceElement. That can be handled without
260         the confusing extra stylesheet.
261
262         * css/CSSStyleSelector.cpp:
263         (WebCore::CSSStyleSelector::CSSStyleSelector):
264         * css/CSSStyleSelector.h:
265         (CSSStyleSelector):
266         
267             - Add font face rules from registered SVGFontFaceElements.
268             - Simplify the constructor signature. Stylesheets are part of the document.
269             
270         * dom/Document.cpp:
271         (WebCore::Document::~Document):
272         (WebCore::Document::createStyleSelector):
273         (WebCore):
274         (WebCore::Document::updateBaseURL):
275         * dom/Document.h:
276         (WebCore):
277         (WebCore::Document::documentUserSheets):
278         (Document):
279
280             - Remove mappedElementSheet        
281             - Adapt to the CSSStyleSelector constructor signature changes.
282
283         * svg/SVGDocumentExtensions.cpp:
284         (WebCore::SVGDocumentExtensions::svgFontFaceElements):
285         (WebCore):
286         (WebCore::SVGDocumentExtensions::registerSVGFontFaceElement):
287         (WebCore::SVGDocumentExtensions::unregisterSVGFontFaceElement):
288         * svg/SVGDocumentExtensions.h:
289         (WebCore):
290         (SVGDocumentExtensions):
291         
292             - Add map for SVGFontFaceElements
293
294         * svg/SVGFontFaceElement.cpp:
295         (WebCore::SVGFontFaceElement::insertedIntoDocument):
296         (WebCore::SVGFontFaceElement::removedFromDocument):
297         (WebCore):
298         * svg/SVGFontFaceElement.h:
299         (SVGFontFaceElement):
300         (WebCore::SVGFontFaceElement::fontFaceRule):
301         
302             - Switch to updating svgFontFaceElements map.
303             - Use elementSheet as the parent sheet (nothing is ever added to the elementSheet, it is used for
304               resolving relative URLs only).
305
306 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
307
308         Web Inspector: startEditing should remove tabIndex attribute from the element if it was not set before.
309         https://bugs.webkit.org/show_bug.cgi?id=82322
310
311         Reviewed by Pavel Feldman.
312
313         This patch removes tabIndex attribute from the element after editing if it was not present before.
314         Otherwise tabIndex becomes set unexpectedly after exiting edit mode.
315
316         * inspector/front-end/UIUtils.js:
317         (WebInspector.startEditing.cleanUpAfterEditing):
318
319 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
320
321         Web Inspector: Tree outline should not start search on key press if it is being edited.
322         https://bugs.webkit.org/show_bug.cgi?id=82327
323
324         Reviewed by Pavel Feldman.
325
326         This is needed for snippet renaming support.
327
328         * inspector/front-end/treeoutline.js:
329         (TreeOutline):
330         (TreeOutline.prototype._treeKeyPress):
331
332 2012-03-27  Levi Weintraub  <leviw@chromium.org>
333
334         Revert RenderApplet::intrinsicSize to integers
335         https://bugs.webkit.org/show_bug.cgi?id=82206
336
337         Reviewed by Eric Seidel.
338
339         Intrinsic sizes originate either outside of WebCore, or from their initial values,
340         which are always integers. Reverting RenderApplet::intrinsicSize to integers, the
341         last spot improperly using LayoutUnits
342
343         No new tests. No change in behavior.
344
345         * rendering/RenderApplet.cpp:
346         (WebCore::RenderApplet::intrinsicSize):
347         * rendering/RenderApplet.h:
348         (RenderApplet):
349
350
351 2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
352
353         Increase code sharing between CSSComputedStyleDeclaration and CSSPropertyLonghand.
354         https://bugs.webkit.org/show_bug.cgi?id=82261
355
356         Reviewed by Ryosuke Niwa.
357
358         Use longhands declaration from CSSPropertyLonghand in CSSComputedStyleDeclaration to avoid
359         code duplication.
360
361         No new tests : refactoring only, we shouldn't have any behavior difference.
362
363         * css/CSSComputedStyleDeclaration.cpp:
364         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
365         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
366         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
367         * css/CSSComputedStyleDeclaration.h:
368         (WebCore):
369         (CSSComputedStyleDeclaration):
370         * css/CSSPropertyLonghand.cpp:
371         (WebCore::outlineLonghand):
372         Re-order to match the spec default order and also remove outline-offset as it is not part
373         of the shorthand (http://www.w3.org/TR/css3-ui/#outline). Luckily this was cover by a layout test.
374
375 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
376
377         Web Inspector: Editable TextViewer should show cursor when it is focused.
378         https://bugs.webkit.org/show_bug.cgi?id=82320
379
380         Reviewed by Pavel Feldman.
381
382         TextViewer now focuses editable inner container unless read-only flag is set.
383
384         * inspector/front-end/TextViewer.js:
385         (WebInspector.TextViewer.prototype.focus):
386         (WebInspector.TextEditorMainPanel):
387         (WebInspector.TextEditorMainPanel.prototype._handleElementFocus):
388         (WebInspector.TextEditorMainPanel.prototype.focus):
389
390 2012-03-26  Levi Weintraub  <leviw@chromium.org>
391
392         Unreviewed. Removing change markers from ChangeLog.
393
394 2012-03-26  Levi Weintraub  <leviw@chromium.org>
395
396         Convert RenderSelectionInfo::rect to LayoutUnits
397         https://bugs.webkit.org/show_bug.cgi?id=82213
398
399         Reviewed by Eric Seidel.
400
401         RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates local to
402         renderers should be stored in LayoutUnits.
403
404         No new tests. No change in behavior.
405
406         * rendering/RenderSelectionInfo.h:
407         (WebCore::RenderSelectionInfo::rect):
408         (RenderSelectionInfo):
409
410 2012-03-26  Levi Weintraub  <leviw@chromium.org>
411
412         Convert RenderSelectionInfo::rect to LayoutUnits
413         https://bugs.webkit.org/show_bug.cgi?id=82213
414
415         Reviewed by Eric Seidel.
416
417         RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates
418         local to renderers should be stored in LayoutUnits as described in
419         http://trac.webkit.org/wiki/LayoutUnit
420
421         No new tests. No change in behavior.
422
423         * rendering/RenderSelectionInfo.h:
424         (WebCore::RenderSelectionInfo::rect):
425         (RenderSelectionInfo):
426
427 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
428
429         Enable animVal support for SVGAnimatedRect
430         https://bugs.webkit.org/show_bug.cgi?id=82317
431
432         Reviewed by Zoltan Herczeg.
433
434         Enable animVal support for SVGAnimatedRect. Very simple now that everything is prepared.
435         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedRectAnimator.
436
437         Extended existing tests to cover this.
438
439         * svg/SVGAnimatedRect.cpp:
440         (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
441         (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
442         (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
443         (WebCore::SVGAnimatedRectAnimator::animValWillChange):
444         (WebCore::SVGAnimatedRectAnimator::animValDidChange):
445         * svg/SVGAnimatedRect.h:
446         (SVGAnimatedRectAnimator):
447         * svg/SVGAnimatedType.cpp:
448         (WebCore::SVGAnimatedType::supportsAnimVal):
449
450 2012-03-27  Sheriff Bot  <webkit.review.bot@gmail.com>
451
452         Unreviewed, rolling out r112201.
453         http://trac.webkit.org/changeset/112201
454         https://bugs.webkit.org/show_bug.cgi?id=82302
455
456         Breaks chromium's WebPageSerializerTest.HTMLNodes test
457         (Requested by pfeldman on #webkit).
458
459         * loader/cache/CachedCSSStyleSheet.cpp:
460         (WebCore::CachedCSSStyleSheet::error):
461         (WebCore):
462         * loader/cache/CachedCSSStyleSheet.h:
463         (CachedCSSStyleSheet):
464         * loader/cache/CachedFont.cpp:
465         (WebCore):
466         (WebCore::CachedFont::error):
467         * loader/cache/CachedFont.h:
468         (CachedFont):
469         * loader/cache/CachedImage.cpp:
470         (WebCore::CachedImage::error):
471         * loader/cache/CachedResource.h:
472         (CachedResource):
473         * loader/cache/CachedScript.cpp:
474         (WebCore::CachedScript::error):
475         (WebCore):
476         * loader/cache/CachedScript.h:
477         (CachedScript):
478         * loader/cache/CachedXSLStyleSheet.cpp:
479         (WebCore::CachedXSLStyleSheet::error):
480         (WebCore):
481         * loader/cache/CachedXSLStyleSheet.h:
482         (CachedXSLStyleSheet):
483
484 2012-03-27  Levi Weintraub  <leviw@chromium.org>
485
486         LayoutRepainter: Remove unused constructor parameter and update to LayoutUnits
487         https://bugs.webkit.org/show_bug.cgi?id=82185
488
489         Reviewed by Eric Seidel.
490
491         Removing an optional parameter for old bounds in LayoutRepainter's constructor that
492         is no longer used. The old bounds are instead always gleaned from the renderer's
493         clippedOverflowRectForRepaint.
494
495         The renderer's bounds and outline rect also are stored in LayoutUnits to properly
496         detect sub-pixel changes during layout. Eventually, we'll pixel snap these values
497         when telling the embedder to invalidate. Adding a comment to that effect.
498
499         No new tests. No change in behavior.
500
501         * rendering/LayoutRepainter.cpp:
502         (WebCore::LayoutRepainter::LayoutRepainter):
503         * rendering/LayoutRepainter.h:
504         (LayoutRepainter):
505
506 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
507
508         Enable animVal support for SVGAnimatedString
509         https://bugs.webkit.org/show_bug.cgi?id=82316
510
511         Reviewed by Zoltan Herczeg.
512
513         Enable animVal support for SVGAnimatedString. Very simple now that everything is prepared.
514         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedStringAnimator.
515
516         Test: svg/animations/svgstring-animation-1.html
517
518         * svg/SVGAnimatedString.cpp:
519         (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
520         (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
521         (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
522         (WebCore::SVGAnimatedStringAnimator::animValWillChange):
523         (WebCore::SVGAnimatedStringAnimator::animValDidChange):
524         * svg/SVGAnimatedString.h:
525         (SVGAnimatedStringAnimator):
526         * svg/SVGAnimatedType.cpp:
527         (WebCore::SVGAnimatedType::supportsAnimVal):
528
529 2012-03-27  Levi Weintraub  <leviw@chromium.org>
530
531         Update usage of LayoutUnits in RenderListMarker
532         https://bugs.webkit.org/show_bug.cgi?id=81921
533
534         Reviewed by Eric Seidel.
535
536         Implementing proper pixel snapping in list marker painting, and correcting usage of integers
537         for local coordinates/margins that should be sub-pixel.
538
539         No new tests. No change in behavior.
540
541         * rendering/RenderListMarker.cpp:
542         (WebCore::RenderListMarker::localSelectionRect): Changed to LayoutUnits since this represents
543         a rect in local coordinates.
544         (WebCore::RenderListMarker::paint): Doing proper pixel snapping, and using integers for
545         results from text measurement.
546         (WebCore::RenderListMarker::computePreferredLogicalWidths): Using integers for results
547         from text measurement.
548         (WebCore::RenderListMarker::updateMargins): Fixing to be LayoutUnits.
549         * rendering/RenderListMarker.h:
550         (RenderListMarker):
551
552 2012-03-27  Levi Weintraub  <leviw@chromium.org>
553
554         Revert linesBoundingBox to integers
555         https://bugs.webkit.org/show_bug.cgi?id=82182
556
557         Reviewed by Eric Seidel.
558
559         LayoutRects are intended to be pixel snapped to determine the ultimate screen
560         coordinates, but the Inline Box tree is laid out using floats, and pixel snapping
561         the resulting box from linesBoundingBox would produce a potentially incorrect
562         rectangle. Keeping this using enclosingIntRect retains the previous accuracy and
563         prevents misuse.
564
565         No new tests. No change in behavior.
566
567         * rendering/RenderInline.cpp:
568         (WebCore::RenderInline::linesBoundingBox):
569         * rendering/RenderInline.h:
570         (RenderInline):
571         * rendering/RenderLayer.cpp:
572         (WebCore::RenderLayer::updateLayerPosition):
573         * rendering/RenderText.cpp:
574         (WebCore::RenderText::linesBoundingBox):
575         * rendering/svg/RenderSVGInlineText.cpp:
576         (WebCore::RenderSVGInlineText::linesBoundingBox):
577         * rendering/svg/RenderSVGInlineText.h:
578         (RenderSVGInlineText):
579
580 2012-03-26  Pavel Podivilov  <podivilov@chromium.org>
581
582         Web Inspector: store UIBreakpoints on UISourceCode.
583         https://bugs.webkit.org/show_bug.cgi?id=82214
584
585         This change will allow us to make breakpoint-added and breakpoint-removed events a part of UISourceCode interface.
586         See bug 82224 for more details.
587
588         Reviewed by Vsevolod Vlasov.
589
590         * inspector/front-end/BreakpointManager.js:
591         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
592         (WebInspector.BreakpointManager.prototype.setBreakpoint):
593         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
594         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
595         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
596         (WebInspector.BreakpointManager.prototype.debuggerReset):
597         * inspector/front-end/CompilerScriptMapping.js:
598         (WebInspector.CompilerScriptMapping.prototype.addScript):
599         * inspector/front-end/DebuggerPresentationModel.js:
600         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
601         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
602         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
603         (WebInspector.UISourceCodeImpl):
604         (WebInspector.UISourceCodeImpl.prototype.breakpoints):
605         (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
606         (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
607         * inspector/front-end/RawSourceCode.js:
608         (WebInspector.RawSourceCode.prototype._createUISourceCode):
609         * inspector/front-end/SnippetsModel.js:
610         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
611         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
612         * inspector/front-end/UISourceCode.js:
613         (WebInspector.UISourceCode.prototype.get domain):
614         (WebInspector.UISourceCode.prototype.get folderName):
615         (WebInspector.UISourceCode.prototype.get fileName):
616         (WebInspector.UISourceCode.prototype.get displayName):
617         (WebInspector.UISourceCode.prototype._parseURL):
618         (WebInspector.UISourceCode.prototype._didRequestContent):
619         (WebInspector.UISourceCode.prototype.breakpoints):
620         * inspector/front-end/inspector.html:
621
622 2012-03-27  Nat Duca  <nduca@chromium.org>
623
624         [chromium] Fix crash with fling with tracing enabled
625         https://bugs.webkit.org/show_bug.cgi?id=82306
626
627         The TRACE_EVENT_START instrumentation was deferencing a PassOwnPtr
628         after it had been passed into another OwnPtr. This caused frequent
629         crashes when tracing was enabled.
630
631         Reviewed by Adam Barth.
632
633         * platform/ActivePlatformGestureAnimation.cpp:
634         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
635         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
636         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
637
638 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
639
640         [SOUP] Implement missing methods in CookieJarSoup
641         https://bugs.webkit.org/show_bug.cgi?id=82082
642
643         Reviewed by Martin Robinson.
644
645         * platform/network/soup/CookieJarSoup.cpp:
646         (WebCore::defaultCookieJar): Return a global GRefPtr to store the
647         default cookie jar.
648         (WebCore::soupCookieJar): Return the current cookie jar or create
649         a new one.
650         (WebCore::setSoupCookieJar): Set the current cookie jar.
651         (WebCore::setCookies): Fix coding style.
652         (WebCore::cookiesForDocument): Helper function to get the list of
653         cookies as a string.
654         (WebCore::cookies): Use cookiesForDocument().
655         (WebCore::cookieRequestHeaderFieldValue): Ditto.
656         (WebCore::getRawCookies): Get the list of cookies for the given
657         document and url.
658         (WebCore::deleteCookie): Delete the given cookie.
659         (WebCore::getHostnamesWithCookies): Use GOwnPtr.
660         (WebCore::deleteCookiesForHostname): Use GOwnPtr and
661         soup_cookie_domain_matches() instead of comparing the domain
662         directly with the given hostname.
663         (WebCore::deleteAllCookies): Use GOwnPtr.
664         * platform/network/soup/CookieJarSoup.h:
665         * platform/network/soup/GOwnPtrSoup.cpp:
666         (WTF::SoupCookie): Add GOwnPtr template for SoupCookie.
667         * platform/network/soup/GOwnPtrSoup.h:
668         * platform/network/soup/ResourceHandleSoup.cpp:
669         (WebCore::ensureSessionIsInitialized): Use soupCookieJar() instead
670         of defaultCookieJar().
671
672 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
673
674         Enable animVal support for SVGAnimatedBoolean
675         https://bugs.webkit.org/show_bug.cgi?id=82311
676
677         Reviewed by Antti Koivisto.
678
679         Enable animVal support for SVGAnimatedBoolean. Very simple now that everything is prepared.
680         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedBooleanAnimator.
681
682         Extended existing tests to cover this.
683
684         * svg/SVGAnimatedBoolean.cpp:
685         (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
686         (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
687         (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
688         (WebCore::SVGAnimatedBooleanAnimator::animValWillChange):
689         (WebCore::SVGAnimatedBooleanAnimator::animValDidChange):
690         * svg/SVGAnimatedBoolean.h:
691         (SVGAnimatedBooleanAnimator):
692         * svg/SVGAnimatedType.cpp:
693         (WebCore::SVGAnimatedType::setValueAsString):
694         (WebCore::SVGAnimatedType::supportsAnimVal):
695
696 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
697
698         <img style='width: 100%' src='foo.svg'> gets pixellated when stretched
699         https://bugs.webkit.org/show_bug.cgi?id=81631
700
701         Reviewed by Antti Koivisto.
702
703         Final cleanup of RenderReplaced after the intrinsic size negotiation patch series from some weeks/months ago.
704         Stop tracking whether a RenderReplaced has an intrinsic size or not with an extra-bool, instead assume each
705         RenderReplaced derived class has an intrinsic size. If not, the class should override
706         computeIntrinsicRatioInformation() for any custom logic - currently only done by RenderImage.
707
708         Remove all logic depending on m_hasIntrinsicSize from computeReplacedLogicalWidth/Height, which was used
709         to support different sizing models depending on if the replaced element is a RenderImage or a RenderPart.
710         Unify all of this in computeIntrinsicRatioInformation right in RenderReplaced. This allows to remove
711         a hack from RenderImage::computeReplacedLogicalWidth(), which forced the synchroniziation of the intrinsicSize()
712         before calling the base classes RenderReplaced::computeReplacedLogicalWidth().
713         Now RenderImage just overrides the layout() method, calls RenderReplaced::layout() and then sets the container
714         size of the image resources to [contentWidth(), contentHeight()] - reflecting the actual result of the layout.
715         Furthermore this now allows us to unify CachedImage::imageSizeForRenderer() again for both SVG and non-SVG images.
716
717         Propagating the right container size to the image resource fixes the actual bug, that the SVGImage got pixellated.
718         Adding new tests covering percentage width or height set on an <img> embedding an external SVG, no more pixelation.
719
720         Tests: svg/as-image/img-relative-height-expected.html
721                svg/as-image/img-relative-height.html
722                svg/as-image/img-relative-width-expected.html
723                svg/as-image/img-relative-width.html
724
725         * loader/cache/CachedImage.cpp:
726         (WebCore::CachedImage::imageSizeForRenderer):
727         * rendering/RenderEmbeddedObject.cpp:
728         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
729         * rendering/RenderImage.cpp:
730         (WebCore::RenderImage::layout):
731         (WebCore::RenderImage::computeIntrinsicRatioInformation):
732         * rendering/RenderImage.h:
733         (RenderImage):
734         * rendering/RenderReplaced.cpp:
735         (WebCore::RenderReplaced::RenderReplaced):
736         (WebCore::rendererHasAspectRatio):
737         (WebCore):
738         (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
739         (WebCore::RenderReplaced::computeIntrinsicRatioInformation):
740         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
741         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
742         * rendering/RenderReplaced.h:
743         (WebCore::RenderReplaced::intrinsicSize):
744         (RenderReplaced):
745         (WebCore::RenderReplaced::setIntrinsicSize):
746         * svg/graphics/SVGImage.cpp:
747         (WebCore::SVGImage::setContainerSize):
748         * svg/graphics/SVGImage.h:
749         (WebCore::SVGImage::usesContainerSize):
750
751 2012-03-27  Ilya Tikhonovsky  <loislo@chromium.org>
752
753         Web Inspector: HeapSnapshot: speed-up distanceToWindow calculation.
754         https://bugs.webkit.org/show_bug.cgi?id=82305
755
756         Reviewed by Yury Semikhatsky.
757
758         * inspector/front-end/HeapSnapshot.js:
759         (WebInspector.HeapSnapshot.prototype._bfs):
760
761 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
762
763         SVGAnimatedType should support SVGAnimatedIntegerOptionalInteger animation
764         https://bugs.webkit.org/show_bug.cgi?id=67563
765
766         Reviewed by Dirk Schulze.
767
768         Add SVGAnimatedIntegerOptionalInteger type handling animation of pair<int, int> objects
769         as used for the SVG properties 'filterRes' and 'order'. They're currently animated as
770         SVGAnimatedNumberOptionalNumber - but that won't work for animVal support. Fix that
771         and enable animVal support for SVGAnimatedInteger(OptionalInteger).
772
773         Use 'int' as datatype for SVGAnimatedInteger instead of 'long' for consistency, and
774         move SVGAnimatedEnumeration from 'int' to 'unsigned short', to make them distinguishable.
775
776         Test: svg/animations/svginteger-animation-2.html
777
778         * CMakeLists.txt:
779         * GNUmakefile.list.am:
780         * Target.pri:
781         * WebCore.gypi:
782         * WebCore.vcproj/WebCore.vcproj:
783         * WebCore.xcodeproj/project.pbxproj:
784         * svg/SVGAllInOne.cpp:
785         * svg/SVGAnimatedEnumeration.h:
786         (WebCore):
787         * svg/SVGAnimatedInteger.cpp:
788         (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
789         (WebCore):
790         (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
791         (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
792         (WebCore::SVGAnimatedIntegerAnimator::animValWillChange):
793         (WebCore::SVGAnimatedIntegerAnimator::animValDidChange):
794         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
795         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
796         * svg/SVGAnimatedInteger.h:
797         (WebCore):
798         (SVGAnimatedIntegerAnimator):
799         * svg/SVGAnimatedIntegerOptionalInteger.cpp: Added.
800         (WebCore):
801         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::SVGAnimatedIntegerOptionalIntegerAnimator):
802         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
803         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
804         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
805         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
806         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
807         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
808         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndToValues):
809         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndByValues):
810         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
811         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateDistance):
812         * svg/SVGAnimatedIntegerOptionalInteger.h: Copied from Source/WebCore/svg/SVGAnimatedInteger.h.
813         (WebCore):
814         (SVGAnimatedIntegerOptionalIntegerAnimator):
815         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::~SVGAnimatedIntegerOptionalIntegerAnimator):
816         * svg/SVGAnimatedNumberOptionalNumber.cpp:
817         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
818         * svg/SVGAnimatedType.cpp:
819         (WebCore::SVGAnimatedType::~SVGAnimatedType):
820         (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
821         (WebCore):
822         (WebCore::SVGAnimatedType::integerOptionalInteger):
823         (WebCore::SVGAnimatedType::valueAsString):
824         (WebCore::SVGAnimatedType::setValueAsString):
825         (WebCore::SVGAnimatedType::supportsAnimVal):
826         * svg/SVGAnimatedType.h:
827         (SVGAnimatedType):
828         * svg/SVGAnimatorFactory.h:
829         (WebCore::SVGAnimatorFactory::create):
830         * svg/SVGFilterElement.cpp:
831         (WebCore::SVGFilterElement::setFilterRes):
832         * svg/SVGFilterElement.h:
833         (SVGFilterElement):
834         * svg/SVGPathElement.cpp:
835         (WebCore::SVGPathElement::getPathSegAtLength):
836         * svg/SVGPathElement.h:
837         (SVGPathElement):
838         * svg/SVGPathParserFactory.cpp:
839         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
840         * svg/SVGPathParserFactory.h:
841         (SVGPathParserFactory):
842         * svg/SVGPathTraversalStateBuilder.cpp:
843         (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
844         * svg/SVGPathTraversalStateBuilder.h:
845         (SVGPathTraversalStateBuilder):
846         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
847         (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
848         (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
849         (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue):
850         (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
851         * svg/properties/SVGPropertyInfo.h:
852         * svg/properties/SVGPropertyTraits.h:
853
854 2012-03-25  Nikolas Zimmermann  <nzimmermann@rim.com>
855
856         Enable animVal support for SVGAngle
857         https://bugs.webkit.org/show_bug.cgi?id=82144
858
859         Reviewed by Rob Buis.
860
861         Enable animVal support for SVGAnimatedAngle. Very simple now that everything is prepared.
862         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedAngleAnimator.
863
864         Extended existing tests to cover this.
865
866         * svg/SVGAnimatedAngle.cpp:
867         (WebCore::sharedSVGAngle):
868         (WebCore::SVGAnimatedAngleAnimator::constructFromString):
869         (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
870         (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
871         (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
872         (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
873         (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
874         (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
875         * svg/SVGAnimatedAngle.h:
876         (SVGAnimatedAngleAnimator):
877         * svg/SVGAnimatedType.cpp:
878         (WebCore::SVGAnimatedType::supportsAnimVal):
879
880 2012-03-27  Yury Semikhatsky  <yurys@chromium.org>
881
882         Web Inspector: remove remains of path finder in heap profiler front-end
883         https://bugs.webkit.org/show_bug.cgi?id=82304
884
885         Removed remainders of heap path finder as this code is not used anymore.
886
887         Reviewed by Pavel Feldman.
888
889         * inspector/front-end/HeapSnapshot.js:
890         * inspector/front-end/HeapSnapshotProxy.js:
891
892 2012-03-27  Dan Bernstein  <mitz@apple.com>
893
894         Reverted r112214, since it was not the right fix for the build.
895
896         * css/StylePropertySet.cpp:
897         (WebCore::StylePropertySet::asText):
898
899 2012-03-27  Kentaro Hara  <haraken@chromium.org>
900
901         [V8][Performance] Optimize createTextNode(), createElement(), cloneNode(), etc
902         https://bugs.webkit.org/show_bug.cgi?id=82201
903
904         Reviewed by Adam Barth.
905
906         This patch improves performance of createTextNode() by 13%, createElement() by 14%,
907         and cloneNode() by 16%. Similar performance improvement will be observed in
908         DOM methods that create a new object every time.
909
910         Performance test: https://bugs.webkit.org/attachment.cgi?id=133799
911
912         The performance test results are as follows. Since the performance of V8's GC is
913         really unstable, the average of measured times makes no sense in Chromium.
914         Instead, let us focus on the median. I believe that this performance
915         improvement has impact on Dromaeo, but we cannot observe the improvement
916         due to the unsteadiness of V8's GC, as shown below.
917
918         Chromium/V8/Linux (without the patch):
919         createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
920         createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
921         cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
922         Dromaeo/dom-modify/createElement: 439.17runs/s +-31.60% (<--- pretty noisy)
923         Dromaeo/dom-modify/createTextNode: 287.71runs/s +-28.39% (<--- pretty noisy)
924         Dromaeo/dom-modify/cloneNode: 174.62runs/s +-25.68% (<--- pretty noisy)
925
926         Chromium/V8/Linux (with the patch):
927         createTextNode : median=240ms (mean=411.12ms, min=237ms, max=2965ms)
928         createElement : median=325ms (mean=585.30ms, min=317ms, max=2984ms)
929         cloneNode : median=310ms (mean=522.48ms, min=302ms, max=2988ms)
930         Dromaeo/dom-modify/createElement: 507.15runs/s +-36.00% (<--- pretty noisy)
931         Dromaeo/dom-modify/createTextNode: 251.01runs/s +-6.57%
932         Dromaeo/dom-modify/cloneNode: 177.85runs/s +-28.74% (<--- pretty noisy)
933
934         Chromium/V8/Mac (without the patch):
935         createTextNode : median=317ms (mean=439.08ms, min=303ms, max=3126ms)
936         createElement : median=403ms (mean=695.70ms, min=398ms, max=5615ms)
937         cloneNode : median=384ms (mean=577.96ms, min=372ms, max=5313ms)
938         Dromaeo/dom-modify/createElement: 493.89runs/s +-28.32% (<--- pretty noisy)
939         Dromaeo/dom-modify/createTextNode: 279.66runs/s +-1.91%
940         Dromaeo/dom-modify/cloneNode: 173.06runs/s +-24.41% (<--- pretty noisy)
941
942         Chromium/V8/Mac (with the patch):
943         createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
944         createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
945         cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
946         Dromaeo/dom-modify/createElement: 510.47runs/s +-28.13% (<--- pretty noisy)
947         Dromaeo/dom-modify/createTextNode: 215.80runs/s +-20.99% (<--- pretty noisy)
948         Dromaeo/dom-modify/cloneNode: 174.41runs/s +-24.85% (<--- pretty noisy)
949
950         Safari/JavaScriptCore/Mac:
951         createTextNode : median=142ms (mean=141.04ms, min=110ms, max=168ms)
952         createElement : median=234ms (mean=245.74ms, min=219ms, max=305ms)
953         cloneNode : median=210ms (mean=213.36ms, min=204ms, max=284ms)
954         Dromaeo/dom-modify/createElement: 822.49runs/s +-1.69%
955         Dromaeo/dom-modify/createTextNode: 735.57runs/s +-0.91%
956         Dromaeo/dom-modify/cloneNode: 135.20runs/s +-4.13%
957
958         This patch makes the following two optimizations:
959
960         [1] If the currently running context is equal to the context that we are about to enter,
961         we do not call context->Enter().
962         [2] We do not create a Local handle of the context until we really need to enter the context.
963
964         * bindings/scripts/CodeGeneratorV8.pm:
965         (GenerateToV8Converters):
966         * bindings/v8/V8Proxy.cpp:
967         (WebCore::V8Proxy::persistentContext):
968         (WebCore):
969         * bindings/v8/V8Proxy.h:
970         (V8Proxy):
971
972         * WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.
973
974 2012-03-27  Bill Budge  <bbudge@chromium.org>
975
976         cross-origin XMLHttpRequest doesn't work with redirect
977         https://bugs.webkit.org/show_bug.cgi?id=57600
978
979         Reviewed by Adam Barth.
980
981         Changes DocumentThreadableLoader to follow the CORS redirect steps when
982         asynchronously loading a cross origin request with access control. Synchronous
983         loads should not be affected. Also adds methods to ResourceRequestBase to
984         clear special request headers that aren't allowed when using access control.
985         Follows the CORS spec as described in the Latest Editor Draft at:
986         http://www.w3.org/TR/cors/
987
988         Test: http/tests/xmlhttprequest/access-control-and-redirects-async.html
989
990         * loader/DocumentThreadableLoader.cpp:
991         * loader/DocumentThreadableLoader.h:
992         * platform/network/ResourceRequestBase.cpp:
993         * platform/network/ResourceRequestBase.h:
994
995 2012-03-27  Adam Barth  <abarth@webkit.org>
996
997         ImageLoader::m_firedLoadEvent is a confusing name
998         https://bugs.webkit.org/show_bug.cgi?id=82283
999
1000         Reviewed by Kentaro Hara.
1001
1002         This patch renames m_firedLoadEvent (and friends) to
1003         m_hasPendingLoadEvent (and negates the value).  That name more
1004         accurately reflects the semantics of this piece of state.  For example,
1005         we now initialize m_hasPendingLoadEvent to false, which makes sense as
1006         there is no pending load event, whereas before we initialized
1007         m_firedLoadEvent to true, which made less sense since we hadn't yet
1008         actually fired the load event.
1009
1010         * bindings/v8/V8GCController.cpp:
1011         (WebCore::calculateGroupId):
1012         * html/HTMLImageElement.cpp:
1013         (WebCore::HTMLImageElement::attach):
1014         * html/HTMLImageElement.h:
1015         (HTMLImageElement):
1016         (WebCore::HTMLImageElement::hasPendingLoadEvent):
1017         (WebCore::HTMLImageElement::hasPendingActivity):
1018         * html/ImageInputType.cpp:
1019         (WebCore::ImageInputType::attach):
1020         * loader/ImageLoader.cpp:
1021         (WebCore::ImageLoader::ImageLoader):
1022         (WebCore::ImageLoader::~ImageLoader):
1023         (WebCore::ImageLoader::setImage):
1024         (WebCore::ImageLoader::updateFromElement):
1025         (WebCore::ImageLoader::notifyFinished):
1026         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
1027         (WebCore::ImageLoader::dispatchPendingLoadEvent):
1028         (WebCore::ImageLoader::dispatchPendingErrorEvent):
1029         * loader/ImageLoader.h:
1030         (WebCore::ImageLoader::hasPendingBeforeLoadEvent):
1031         (WebCore::ImageLoader::hasPendingLoadEvent):
1032         (ImageLoader):
1033         * svg/SVGImageElement.cpp:
1034         (WebCore::SVGImageElement::haveLoadedRequiredResources):
1035
1036 2012-03-27  Dan Bernstein  <mitz@apple.com>
1037
1038         Tried to fix 32-bit builds.
1039
1040         * css/StylePropertySet.cpp:
1041         (WebCore::StylePropertySet::asText):
1042
1043 2012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1044
1045         Unreviewed, rolling out r112199.
1046         http://trac.webkit.org/changeset/112199
1047         https://bugs.webkit.org/show_bug.cgi?id=82295
1048
1049         Breaks Chromium Win compilation (Requested by pfeldman on
1050         #webkit).
1051
1052         * bindings/scripts/CodeGeneratorV8.pm:
1053         (GenerateConstructorCallback):
1054         (GenerateNamedConstructorCallback):
1055         (GenerateToV8Converters):
1056         (GetDomMapFunction):
1057         * bindings/scripts/test/V8/V8Float64Array.cpp:
1058         (WebCore::V8Float64Array::wrapSlow):
1059         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1060         (WebCore::V8TestActiveDOMObject::wrapSlow):
1061         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1062         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1063         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1064         (WebCore::V8TestEventConstructor::wrapSlow):
1065         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1066         (WebCore::V8TestEventTarget::wrapSlow):
1067         * bindings/scripts/test/V8/V8TestInterface.cpp:
1068         (WebCore::V8TestInterface::wrapSlow):
1069         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1070         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1071         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1072         (WebCore::V8TestNamedConstructor::wrapSlow):
1073         * bindings/scripts/test/V8/V8TestObj.cpp:
1074         (WebCore::V8TestObj::wrapSlow):
1075         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1076         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1077         * bindings/v8/V8DOMWrapper.cpp:
1078         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
1079         (WebCore):
1080         * bindings/v8/V8DOMWrapper.h:
1081         (WebCore):
1082         (V8DOMWrapper):
1083         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
1084         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
1085
1086 2012-03-26  David Kilzer  <ddkilzer@apple.com>
1087
1088         Build system prep work for upstreaming iOS changes
1089         <http://webkit.org/b/82267>
1090
1091         Reviewed by Mark Rowe.
1092
1093         * DerivedSources.make: Move 'bison' into a variable and use
1094         xcrun to find it on Mac OS X.
1095         * bindings/scripts/preprocessor.pm:
1096         (applyPreprocessor): Add local @args variable.  On iOS, the
1097         compiler needs additional "-isysroot $(SDKROOT)" arguments when
1098         invoked, so it's easier to add them to an array, especially if
1099         $SDKROOT contains a space in the path.  Remove now-redundant
1100         $gccLocation variable.
1101
1102 2012-03-26  Nate Chapin  <japhet@chromium.org>
1103
1104         Remove duplicate error() impls in CachedResource subclasses
1105         https://bugs.webkit.org/show_bug.cgi?id=81161
1106
1107         Reviewed by Alexey Proskuryakov.
1108
1109         No new tests, refactor only.
1110
1111         * loader/cache/CachedCSSStyleSheet.cpp:
1112         * loader/cache/CachedCSSStyleSheet.h:
1113         * loader/cache/CachedFont.cpp:
1114         * loader/cache/CachedFont.h:
1115         * loader/cache/CachedImage.cpp:
1116         * loader/cache/CachedResource.h: Make checkNotify()
1117              virtual, so the right checkNotify() gets called in error().
1118         * loader/cache/CachedScript.cpp:
1119         * loader/cache/CachedScript.h:
1120         * loader/cache/CachedXSLStyleSheet.cpp:
1121         * loader/cache/CachedXSLStyleSheet.h:
1122
1123 2012-03-26  Ken Buchanan  <kenrb@chromium.org>
1124
1125         Assert failure from capitalized RenderTextFragment
1126         https://bugs.webkit.org/show_bug.cgi?id=82096
1127
1128         Reviewed by Ryosuke Niwa.
1129
1130         The cause of this bug was the call to RenderTextFragment::setTextInternal
1131         resulting from a style change from RenderObject::addChild. The idea here
1132         is to better separate the code path for transforming existing text from
1133         the code path for replacing the underlying text of a node. For
1134         RenderTextFragment this has to be clear because only in the latter case
1135         does the first-letter get reset.
1136
1137         * rendering/RenderObject.cpp:
1138         (WebCore::RenderObject::addChild): Added call to transformText
1139         * rendering/RenderText.cpp:
1140         (WebCore::RenderText::styleDidChange): Added call to transformText
1141         (WebCore::RenderText::transformText): Added
1142         * rendering/RenderText.h:
1143         (WebCore::RenderText::setText): Changed to virtual so RenderTextFragment can override
1144         (WebCore::RenderText::transformText): Added
1145         * rendering/RenderTextFragment.cpp:
1146         (WebCore::RenderTextFragment::styleDidChange): Removed references to
1147         m_allowFragmentReset which was the previous approach to separating the
1148         code paths
1149         (WebCore::RenderTextFragment::setTextInternal): Deleted
1150         (WebCore::RenderTextFragment::setText): Added with most of logic that was
1151         previously in setTextInternal
1152         (WebCore::RenderTextFragment::transformText): Added
1153         * rendering/RenderTextFragment.h:
1154         (WebCore::RenderTextFragment::setText): Added
1155         (WebCore::RenderTextFragment::transformText): Added
1156         (WebCore::RenderTextFragment::setTextInternal): Deleted
1157
1158 2012-03-26  Adam Klein  <adamk@chromium.org>
1159
1160         Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
1161         https://bugs.webkit.org/show_bug.cgi?id=82256
1162
1163         Reviewed by Adam Barth.
1164
1165         This moves leakRef() calls out of generated code, centralizing them in
1166         V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
1167         PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
1168         (which clearly can't be wrapped in a PassRefPtr).
1169
1170         Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.
1171
1172         * bindings/scripts/CodeGeneratorV8.pm:
1173         (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
1174         (GenerateNamedConstructorCallback): ditto.
1175         (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
1176         instead of directly accessing the wrapper maps and calling set.
1177         (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
1178         (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
1179         * bindings/scripts/test/V8/V8Float64Array.cpp:
1180         (WebCore::V8Float64Array::wrapSlow):
1181         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1182         (WebCore::V8TestActiveDOMObject::wrapSlow):
1183         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1184         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1185         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1186         (WebCore::V8TestEventConstructor::wrapSlow):
1187         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1188         (WebCore::V8TestEventTarget::wrapSlow):
1189         * bindings/scripts/test/V8/V8TestInterface.cpp:
1190         (WebCore::V8TestInterface::wrapSlow):
1191         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1192         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1193         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1194         (WebCore::V8TestNamedConstructor::wrapSlow):
1195         * bindings/scripts/test/V8/V8TestObj.cpp:
1196         (WebCore::V8TestObj::wrapSlow):
1197         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1198         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1199         * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
1200         * bindings/v8/V8DOMWrapper.h:
1201         (WebCore): Forward decls.
1202         (V8DOMWrapper):
1203         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
1204         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
1205         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
1206         this one handles non-active Nodes.
1207         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
1208         DOMNode method, now handles only active Nodes.
1209         (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.
1210
1211 2012-03-26  Pratik Solanki  <psolanki@apple.com>
1212
1213         Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
1214         https://bugs.webkit.org/show_bug.cgi?id=82254
1215
1216         Reviewed by Benjamin Poulain.
1217
1218         No new tests because no functional changes.
1219
1220         * css/CSSComputedStyleDeclaration.cpp:
1221         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1222         * css/LengthFunctions.cpp:
1223         (WebCore::minimumValueForLength):
1224         (WebCore::valueForLength):
1225         * css/LengthFunctions.h:
1226         (WebCore):
1227         * html/HTMLAreaElement.cpp:
1228         (WebCore::HTMLAreaElement::getRegion):
1229         * platform/win/PopupMenuWin.cpp:
1230         (WebCore::PopupMenuWin::paint):
1231         * rendering/AutoTableLayout.cpp:
1232         (WebCore::AutoTableLayout::layout):
1233         * rendering/RenderBlock.cpp:
1234         (WebCore::RenderBlock::textIndentOffset):
1235         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1236         * rendering/RenderBox.cpp:
1237         (WebCore::RenderBox::computeLogicalWidthInRegion):
1238         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1239         (WebCore::RenderBox::computeInlineDirectionMargins):
1240         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1241         (WebCore::RenderBox::computeBlockDirectionMargins):
1242         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1243         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1244         * rendering/RenderBoxModelObject.cpp:
1245         (WebCore::RenderBoxModelObject::paddingTop):
1246         (WebCore::RenderBoxModelObject::paddingBottom):
1247         (WebCore::RenderBoxModelObject::paddingLeft):
1248         (WebCore::RenderBoxModelObject::paddingRight):
1249         (WebCore::RenderBoxModelObject::paddingBefore):
1250         (WebCore::RenderBoxModelObject::paddingAfter):
1251         (WebCore::RenderBoxModelObject::paddingStart):
1252         (WebCore::RenderBoxModelObject::paddingEnd):
1253         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1254         * rendering/RenderFlexibleBox.cpp:
1255         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
1256         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1257         * rendering/RenderInline.cpp:
1258         (WebCore::computeMargin):
1259         * rendering/RenderMenuList.cpp:
1260         (WebCore::RenderMenuList::updateOptionsWidth):
1261         * rendering/RenderReplaced.cpp:
1262         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1263         * rendering/RenderScrollbarPart.cpp:
1264         (WebCore::calcScrollbarThicknessUsing):
1265         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1266         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1267         * rendering/RenderTable.cpp:
1268         (WebCore::RenderTable::computeLogicalWidth):
1269         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
1270         * rendering/RenderTableSection.cpp:
1271         (WebCore::RenderTableSection::calcRowLogicalHeight):
1272         * rendering/RenderText.h:
1273         (WebCore::RenderText::marginLeft):
1274         (WebCore::RenderText::marginRight):
1275         * rendering/style/RenderStyle.h:
1276
1277 2012-03-26  Shinya Kawanaka  <shinyak@chromium.org>
1278
1279         Triggers assertion if dragging from outside of <meter> in a shadow tree to inside of it.
1280         https://bugs.webkit.org/show_bug.cgi?id=82177
1281
1282         Reviewed by Dimitri Glazkov.
1283
1284         VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries has moved the start position or
1285         the end position to the invalid position, i.e. position after (before) the non-existing node.
1286
1287         This patch fixes the problem, and adds assertion that the selection does not cross shadow boundaries.
1288
1289         Test: fast/dom/shadow/drag-to-meter-in-shadow-crash.html
1290
1291         * editing/VisibleSelection.cpp:
1292         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
1293
1294 2012-03-26  Scott Byer  <scottbyer@chromium.org>
1295
1296         Enable layout testing of the scroll animator.
1297         https://bugs.webkit.org/show_bug.cgi?id=81858
1298         Add a call to the InternalSettings that layout tests can use to
1299         turn on scroll animation. Enable animation updates for the
1300         Chromium platform DRT when scroll animation has been turned on in
1301         a test. This should be a no-op for all current layout tests.
1302
1303         Reviewed by James Robinson.
1304
1305         No new tests. Layout test results should be unchanged.
1306
1307         * testing/InternalSettings.cpp:
1308         (WebCore::InternalSettings::setEnableScrollAnimator):
1309         (WebCore):
1310         (WebCore::InternalSettings::scrollAnimatorEnabled):
1311         * testing/InternalSettings.h:
1312         (InternalSettings):
1313         * testing/InternalSettings.idl:
1314
1315 2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
1316
1317         Fix minor spell error in DocumentLoader.h
1318         https://bugs.webkit.org/show_bug.cgi?id=82141
1319
1320         Reviewed by Nate Chapin.
1321
1322         Just fix spell error, no new tests.
1323
1324         * loader/DocumentLoader.h:
1325         (WebCore::DocumentLoader::setClientRedirectSourceForHistory):
1326
1327 2012-03-26  Brian Salomon  <bsalomon@google.com>
1328
1329         [Skia] Remove use of deprecated Skia constant and struct field names
1330         https://bugs.webkit.org/show_bug.cgi?id=81034
1331
1332         Reviewed by James Robinson.
1333
1334         No behavior change, so no tests. The modified code is executed by many existing tests.
1335
1336         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1337         (WebCore::createAcceleratedCanvas):
1338         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1339         (WebCore::CCRenderSurfaceFilters::apply):
1340         * platform/graphics/skia/ImageBufferSkia.cpp:
1341         (WebCore::createAcceleratedCanvas):
1342
1343 2012-03-26  Nat Duca  <nduca@chromium.org>
1344
1345         [chromium] Add isInputThrottled/didBecomeReadyForAdditionalInput to WebWidget
1346         https://bugs.webkit.org/show_bug.cgi?id=82265
1347
1348         In threaded compositing mode, the WebWidget is self-scheduled,
1349         receiving damage and processing it without forwarding that damage
1350         up to the embedding WebWidgetClient. In Chromium's case, the
1351         client uses the presence of damage to perform input flow
1352         control. This patch exposes the need for input flow control to the
1353         embedder, while keeping the actual logic about what exactly
1354         warrants input flow control inside the implementation.
1355
1356         Reviewed by James Robinson.
1357
1358         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1359         (WebCore::CCLayerTreeHost::commitComplete):
1360         (WebCore::CCLayerTreeHost::commitRequested):
1361         (WebCore):
1362         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1363         (CCLayerTreeHostClient):
1364         (CCLayerTreeHost):
1365         * platform/graphics/chromium/cc/CCProxy.h:
1366         (CCProxy):
1367         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1368         (WebCore::CCSingleThreadProxy::commitRequested):
1369         (WebCore):
1370         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1371         (CCSingleThreadProxy):
1372         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1373         (WebCore::CCThreadProxy::commitRequested):
1374         (WebCore):
1375         * platform/graphics/chromium/cc/CCThreadProxy.h:
1376         (CCThreadProxy):
1377
1378 2012-03-26  Adam Barth  <abarth@webkit.org>
1379
1380         When <img crossorigin> fails the CORS check, we should fire the error event
1381         https://bugs.webkit.org/show_bug.cgi?id=81998
1382
1383         Reviewed by Nate Chapin.
1384
1385         The spec says we're supposed to fire the error event when the CORS
1386         check fails, but we haven't been.  This patch is larger than it might
1387         otherwise be because we're firing the event asynchronously, but that
1388         seems like the right thing to do.
1389
1390         Tests: http/tests/security/img-with-failed-cors-check-fails-to-load.html
1391
1392         * dom/Document.cpp:
1393         (WebCore::Document::implicitClose):
1394         * loader/ImageLoader.cpp:
1395         (WebCore::errorEventSender):
1396         (WebCore):
1397         (WebCore::ImageLoader::ImageLoader):
1398         (WebCore::ImageLoader::~ImageLoader):
1399         (WebCore::ImageLoader::setImage):
1400         (WebCore::ImageLoader::updateFromElement):
1401         (WebCore::ImageLoader::notifyFinished):
1402         (WebCore::ImageLoader::dispatchPendingEvent):
1403         (WebCore::ImageLoader::dispatchPendingErrorEvent):
1404         (WebCore::ImageLoader::dispatchPendingErrorEvents):
1405         * loader/ImageLoader.h:
1406         (ImageLoader):
1407
1408 2012-03-26  Stephen White  <senorblanco@chromium.org>
1409
1410         Make filters and the threaded compositor play well together.
1411         https://bugs.webkit.org/show_bug.cgi?id=78139
1412         
1413         Use a dedicated GraphicsContext3D instance for all filters calls in
1414         the threaded case.  Clone all FilterOperations for thread safety
1415         in the threaded case.
1416
1417         Reviewed by James Robinson.
1418         
1419         Covered by tests in LayoutTests/css3/filters.
1420
1421         * platform/graphics/chromium/LayerChromium.cpp:
1422         (WebCore::LayerChromium::setFilters):
1423         Set a global flag if we've seen content with filters, so we know
1424         we need to create the filter context.
1425         (WebCore::LayerChromium::pushPropertiesTo):
1426         Clone all filter operations if we're in the threaded case.
1427         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1428         (WebCore):
1429         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1430         (WebCore::CCLayerTreeHost::needsFilterContext):
1431         (WebCore::CCLayerTreeHost::setNeedsFilterContext):
1432         (CCLayerTreeHost):
1433         Add flag and accessors for needsFilterContext.
1434         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1435         (WebCore::CCRenderSurface::applyFilters):
1436         Pick up the appropriate context from SharedGraphicsContext3D,
1437         depending if we're in the threaded case or not.
1438         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1439         (WebCore::CCThreadProxy::recreateContext):
1440         For the threaded compositor re-create the filter context
1441         alongside the main compositor context on lost context, if requested.
1442         (WebCore::CCThreadProxy::beginFrame):
1443         Create the filter context in beginFrame, if it was resquested and is
1444         NULL.  This handles the first-use case.
1445         * platform/graphics/filters/CustomFilterOperation.h:
1446         (WebCore::CustomFilterOperation::clone):
1447         Assert if trying to clone the custom filter operation (it has
1448         non-threadsafe members).
1449         * platform/graphics/filters/FilterOperation.h:
1450         (WebCore::DefaultFilterOperation::clone):
1451         (WebCore::PassthroughFilterOperation::clone):
1452         (WebCore::ReferenceFilterOperation::clone):
1453         (WebCore::BasicColorMatrixFilterOperation::clone):
1454         (WebCore::BasicComponentTransferFilterOperation::clone):
1455         (WebCore::GammaFilterOperation::clone):
1456         (WebCore::BlurFilterOperation::clone):
1457         (WebCore::DropShadowFilterOperation::clone):
1458         Add clone methods for all FilterOperations.
1459         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1460         (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
1461         (WebCore::SharedGraphicsContext3DImpl::getContext):
1462         (WebCore::SharedGraphicsContext3DImpl::createContext):
1463         (WebCore::SharedGraphicsContext3D::get):
1464         (WebCore::getOrCreateContextForImplThread):
1465         (WebCore::SharedGraphicsContext3D::getForImplThread):
1466         (WebCore::SharedGraphicsContext3D::haveForImplThread):
1467         (WebCore::SharedGraphicsContext3D::createForImplThread):
1468         Split out context creation, lost context recovery, and retrieval
1469         into separate functions, so the impl thread can use only the parts
1470         it wants on the threads it wants (create and have on main, get on impl).
1471         Add asserts to ensure that's how they're called.
1472         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1473         (SharedGraphicsContext3D):
1474         Reuse the SharedGraphicsContext infrastructure to create a new
1475         context singleton for filter use in the threaded compositor.
1476
1477 2012-03-26  Adam Barth  <abarth@webkit.org>
1478
1479         FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
1480         https://bugs.webkit.org/show_bug.cgi?id=81020
1481
1482         Reviewed by Eric Seidel.
1483
1484         The vast majority of security checks in the browser should use a
1485         ScriptExecutionContext (aka a Document) to designate "who" is
1486         attempting to perform a given action.  Unfortunately,
1487         shouldAllowNavigation was using a Frame to designate "who" is
1488         attempting the navigation.
1489
1490         In cases when the executing script is "inactive" (i.e., belongs to a
1491         document that is not currently displayed in a Frame), using the Frame
1492         can cause us to grant the script the privileges of the document that's
1493         currently displayed in the Frame rather than the one that contains the
1494         script.
1495
1496         This patch moves shouldAllowNavigation from FrameLoader to Document
1497         (and renames it to canNavigate), effectively change the context object
1498         from a Frame to a Document.
1499
1500         Test: http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
1501
1502         * bindings/generic/BindingSecurity.h:
1503         (BindingSecurity):
1504         (WebCore):
1505         * bindings/v8/V8Utilities.cpp:
1506         (WebCore):
1507         * bindings/v8/V8Utilities.h:
1508         (WebCore):
1509             - Deletes unused code.
1510         * dom/Document.cpp:
1511         (WebCore::canAccessAncestor):
1512         (WebCore):
1513         (WebCore::Document::canNavigate):
1514             - canNavigate is copied from FrameLoader::shouldAllowNavigation.
1515               I've added a null-check bailout if the document is inactive.
1516         * dom/Document.h:
1517         (Document):
1518         * loader/FormState.cpp:
1519         (WebCore::FormState::FormState):
1520         (WebCore::FormState::create):
1521         * loader/FormState.h:
1522         (WebCore):
1523         (FormState):
1524         (WebCore::FormState::sourceDocument):
1525         * loader/FormSubmission.cpp:
1526         (WebCore::FormSubmission::create):
1527             - Changes the context object from Frame to Document.
1528         * loader/FrameLoader.cpp:
1529         (WebCore::FrameLoader::submitForm):
1530         (WebCore::FrameLoader::loadFrameRequest):
1531         (WebCore):
1532         (WebCore::FrameLoader::findFrameForNavigation):
1533             - FrameLoader::findFrameForNavigation still incorrectly uses Frame
1534               as the context object, but that's a bug for another patch.
1535         (WebCore::createWindow):
1536         * loader/FrameLoader.h:
1537         (FrameLoader):
1538         * loader/NavigationScheduler.cpp:
1539         (WebCore::ScheduledFormSubmission::fire):
1540         * page/DOMWindow.cpp:
1541         (WebCore::DOMWindow::close):
1542         (WebCore::DOMWindow::setLocation):
1543         (WebCore::DOMWindow::open):
1544         * page/History.cpp:
1545         (WebCore::History::go):
1546
1547 2012-03-26  Vangelis Kokkevis  <vangelis@chromium.org>
1548
1549         [chromium] Simplify and fix CCLayerSorter
1550         https://bugs.webkit.org/show_bug.cgi?id=82114
1551
1552         A significant cleanup, simplification and improvement of the CCLayerSorter code.
1553         Simplified the LayerShape structure to use WebCore's FloatQuad for all overlap tests.
1554         By treating every layer as two triangles, the old overlap code did a lot of redundant work
1555         including testing two of the vertices of the layer and its diagonal twice. The new overlap
1556         tests check:
1557         1. The four corners of each of the two layers against the other layer.
1558         2. The four edges of each layer against the edges of the other layer.
1559         Unlike the old code, the new code has no early-outs in the overlap tests as those where causing
1560         us to miss legitimate overlaps.
1561         A new technique for breaking dependency cycles introduced by intersecting layers is implemented.
1562         Instead of arbitrarily breaking cycles by choosing the node in the graph with the smallest number of
1563         incoming edges (i.e. layers that need to be drawn before it) we chose the one with the smallest sum
1564         of graph edge weights (defined as the max depth difference between two layers). Layers that intersect
1565         have their respective graph edge weight set to zero, making them more likely to be picked for breaking
1566         the cycles (it's not a perfect solution but it seems to perform much better than the previous one).
1567
1568         In addition to being overly complex and doing reduntant work, the old code was missing a
1569         perspective divide when computing the coordinates of the layer's corners in the projected plane
1570         which was the source of a lot of mis-sorted results.
1571
1572         In all, these improvements, fix a lot of outstanding issues with layer sorting, on pages such as:
1573         http://www.keithclark.co.uk/labs/3dcss/demo/
1574         http://2012.beercamp.com
1575         https://developer.mozilla.org/fr/demos/detail/the-box/launch
1576
1577         Tests: CCLayerSorter unit tests.
1578
1579         Reviewed by Kenneth Russell.
1580
1581         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
1582         (WebCore):
1583         (WebCore::perpProduct):
1584         (WebCore::edgeEdgeTest):
1585         (WebCore::CCLayerSorter::checkOverlap):
1586         (WebCore::CCLayerSorter::LayerShape::LayerShape):
1587         (WebCore::CCLayerSorter::LayerShape::layerZFromProjectedPoint):
1588         (WebCore::CCLayerSorter::createGraphNodes):
1589         (WebCore::CCLayerSorter::createGraphEdges):
1590         (WebCore::CCLayerSorter::sort):
1591         * platform/graphics/chromium/cc/CCLayerSorter.h:
1592         (WebCore::CCLayerSorter::CCLayerSorter):
1593         (CCLayerSorter):
1594         (LayerShape):
1595         (WebCore::CCLayerSorter::GraphNode::GraphNode):
1596         (GraphNode):
1597         (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
1598         (GraphEdge):
1599
1600 2012-03-26  Fady Samuel  <fsamuel@chromium.org>
1601
1602         [Chromium] Using WebViewPlugins with --force-compositing-mode causes an ASSERT to fail
1603         https://bugs.webkit.org/show_bug.cgi?id=81954
1604
1605         Reviewed by James Robinson.
1606
1607         A static variable s_inPaintContents is set when painting, and it ensures
1608         that we don't delete GraphicsLayers or create GraphicsLayers while painting.
1609
1610         However, because this variable is static, it does not permit the existence
1611         of multiple WebViews in different stages (one laying out and one painting).
1612
1613         This manifests itself if one attempts to use the --force-compositing-mode
1614         in Chromium and attempts to navigate to a page with a missing or old plugin
1615         or a browser plugin (which uses a WebViewPlugin as a placeholder until it's
1616         done loading).
1617
1618         The solution to simplify debugging is to make this flag per-Page.
1619         We can access Page from RenderLayerBacking which is a GraphicsLayerClient.
1620         We add a new method GraphicsLayerClient::verifyNotPainting with a default
1621         (do nothing) implementation and override it in RenderLayerBacking to
1622         test the flag set in Page.
1623
1624         * page/Page.cpp:
1625         (WebCore::Page::Page):
1626         * page/Page.h:
1627         (Page):
1628         (WebCore::Page::setIsPainting):
1629         (WebCore::Page::isPainting):
1630         * platform/graphics/GraphicsLayer.cpp:
1631         (WebCore::GraphicsLayer::GraphicsLayer):
1632         (WebCore::GraphicsLayer::~GraphicsLayer):
1633         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
1634         * platform/graphics/GraphicsLayerClient.h:
1635         (GraphicsLayerClient):
1636         (WebCore::GraphicsLayerClient::verifyNotPainting):
1637         * rendering/RenderLayerBacking.cpp:
1638         (WebCore::RenderLayerBacking::paintContents):
1639         (WebCore):
1640         (WebCore::RenderLayerBacking::verifyNotPainting):
1641         * rendering/RenderLayerBacking.h:
1642         (RenderLayerBacking):
1643
1644 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
1645
1646         cssText should use shorthand notations
1647         https://bugs.webkit.org/show_bug.cgi?id=81737
1648
1649         Reviewed by Enrica Casucci.
1650
1651         Use shorthand properties to serialize style properties for cssText.
1652
1653         The overall algorithm is to look for any property that has a shorthand, and then check if
1654         the shorthand value could be obtained (the condition is quite complicated for border properties).
1655         If it could, then append that value to the string builder, and set the corresponding entries in
1656         shorthandPropertyAppeared and shorthandPropertyUsed. If not, only turn on the bit in
1657         shorthandPropertyAppeared on to avoid calling getPropertyValue again for longhand properties
1658         that use the same shorthand property when we cannot use the shorthand.
1659
1660         Test: fast/css/cssText-shorthand.html
1661
1662         * css/StylePropertySet.cpp:
1663         (WebCore::StylePropertySet::asText):
1664
1665 2012-03-26  Bolin Hsu  <bhsu@google.com>
1666
1667         [Chromium] Add Android keycodes
1668         https://bugs.webkit.org/show_bug.cgi?id=81950
1669
1670         Add the missing Android keycodes listed in the bug.
1671
1672         Reviewed by Adam Barth.
1673
1674         * platform/chromium/KeyCodeConversionAndroid.cpp:
1675         (WebCore::windowsKeyCodeForKeyEvent):
1676         * platform/chromium/KeyboardCodes.h:
1677
1678 2012-03-26  Levi Weintraub  <leviw@chromium.org>
1679
1680         Switch ColumnInfo::addForcedBreak to LayoutUnits
1681         https://bugs.webkit.org/show_bug.cgi?id=82210
1682
1683         Reviewed by Eric Seidel.
1684
1685         Forced breaks are added by local offsets, which should be in LayoutUnits.
1686
1687         No new tests. No change in behavior.
1688
1689         * rendering/ColumnInfo.h:
1690         (WebCore::ColumnInfo::addForcedBreak):
1691
1692 2012-03-26  Levi Weintraub  <leviw@chromium.org>
1693
1694         Update LayoutUnit usage in ContainerNode, Element, and ElementRareData
1695         https://bugs.webkit.org/show_bug.cgi?id=82219
1696
1697         Reviewed by Eric Seidel.
1698
1699         No new tests. No change in behavior.
1700
1701         * dom/ContainerNode.cpp:
1702         (WebCore::ContainerNode::getLowerRightCorner): linesBoundingBox returns the enclosing IntRect
1703         of the contained lines. Inline's aren't bounded in LayoutUnits nor pixel snapped.
1704         * dom/Element.cpp:
1705         (WebCore::Element::boundsInRootViewSpace): Coordinates in root view space are akin to absolute
1706         coordinates, which are always expressed in integers.
1707         * dom/Element.h:
1708         (Element):
1709         * dom/ElementRareData.h:
1710         (WebCore::defaultMinimumSizeForResizing): Using numeric_limits<LayoutUnit>::max instead of
1711         INT_MAX to avoid overflowing when LayoutUnits are sub-pixel.
1712
1713 2012-03-26  Adam Klein  <adamk@chromium.org>
1714
1715         Update binding test output for V8 after r112163.
1716
1717         * bindings/scripts/test/V8/V8TestInterface.cpp:
1718         (WebCore::V8TestInterface::constructorCallback):
1719         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1720         (WebCore::V8TestNamedConstructorConstructorCallback):
1721         * bindings/scripts/test/V8/V8TestObj.cpp:
1722         (WebCore::V8TestObj::constructorCallback):
1723         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1724         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1725
1726 2012-03-26  Levi Weintraub  <leviw@chromium.org>
1727
1728         Update localSelectionRect to return a LayoutRect
1729         https://bugs.webkit.org/show_bug.cgi?id=82183
1730
1731         Reviewed by Eric Seidel.
1732
1733         localSelectionRect returns a rectangle in the coordinate space of its renderer,
1734         and therefor should remain LayoutUnits until being promoted to absolute
1735         coordinates or painted. Also fixing an incorrect conversion of startPos and
1736         endPos in selectionRectForRepaint.
1737
1738         No new tests. No change in behavior.
1739
1740         * rendering/InlineTextBox.cpp:
1741         (WebCore::InlineTextBox::localSelectionRect): Continuing to use enclosingIntRect
1742         for the value being returned from the font engine since these floating point
1743         values should not be pixel snapped.
1744         * rendering/InlineTextBox.h:
1745         (InlineTextBox):
1746         * rendering/RenderReplaced.cpp:
1747         (WebCore::RenderReplaced::localSelectionRect):
1748         * rendering/RenderReplaced.h:
1749         (RenderReplaced):
1750         * rendering/RenderText.cpp:
1751         (WebCore::localQuadForTextBox):
1752         (WebCore::RenderText::absoluteRectsForRange):
1753         (WebCore::RenderText::absoluteQuadsForRange):
1754         (WebCore::RenderText::selectionRectForRepaint): Fixing an incorrect conversion of
1755         start/endPos to LayoutUnits. These values represent a range of selected characters,
1756         not layout values!
1757         * rendering/svg/RenderSVGInlineText.cpp:
1758         (WebCore::RenderSVGInlineText::localCaretRect):
1759         * rendering/svg/SVGInlineTextBox.cpp:
1760         (WebCore::SVGInlineTextBox::localSelectionRect):
1761         * rendering/svg/SVGInlineTextBox.h:
1762         (SVGInlineTextBox):
1763
1764 2012-03-26  Justin Novosad  <junov@chromium.org>
1765
1766         [Chromium] Crash in Canvas2DLayerChromium::pushPropertiesTo
1767         https://bugs.webkit.org/show_bug.cgi?id=82243
1768
1769         Reviewed by James Robinson.
1770
1771         Adding null pointer check to prevent crash and texture object
1772         validity check to prevent potential graphics glitch
1773
1774         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1775         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
1776
1777 2012-03-26  Adam Klein  <adamk@chromium.org>
1778
1779         Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls
1780         https://bugs.webkit.org/show_bug.cgi?id=82238
1781
1782         Reviewed by Adam Barth.
1783
1784         The setJSWrapper* methods previously featured a comment that asked
1785         callers to ref the objects before passing them in. This change makes
1786         that contract explicit (and allows the removal of the comment).
1787
1788         In addition, for ConstructorCallbacks, this change slightly reduces
1789         refcount churn by passing on the initial ref via RefPtr::release().
1790
1791         No new tests, no change in behavior.
1792
1793         * bindings/scripts/CodeGeneratorV8.pm:
1794         (GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call.
1795         (GenerateNamedConstructorCallback): ditto.
1796         * bindings/v8/V8DOMWindowShell.cpp:
1797         (WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call.
1798         * bindings/v8/V8DOMWrapper.cpp:
1799         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps.
1800         * bindings/v8/V8DOMWrapper.h:
1801         (V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>.
1802         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap.
1803         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap.
1804         * bindings/v8/V8Proxy.h:
1805         (WebCore::toV8): Remove explicit ref.
1806         * bindings/v8/WorkerContextExecutionProxy.cpp:
1807         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call.
1808         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1809         (WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref.
1810         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
1811         (WebCore::V8WebKitMutationObserver::constructorCallback): ditto.
1812         * bindings/v8/custom/V8WebSocketCustom.cpp:
1813         (WebCore::V8WebSocket::constructorCallback): ditto.
1814         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1815         (WebCore::V8XMLHttpRequest::constructorCallback): ditto.
1816
1817 2012-03-26  Alexey Proskuryakov  <ap@apple.com>
1818
1819         Remove obsolete FormDataStreamMac code
1820         https://bugs.webkit.org/show_bug.cgi?id=82244
1821
1822         Reviewed by Brady Eidson.
1823
1824         * platform/network/ResourceHandle.h:
1825         Removed ResourceHandle::didSendBodyDataDelegateExists().
1826
1827         * platform/network/mac/FormDataStreamMac.h:
1828         * platform/network/mac/FormDataStreamMac.mm:
1829         Removed code that was needed to call ResourceLoaderClient::didSendData() before Foundation
1830         added support for it.
1831
1832         * platform/network/mac/ResourceHandleMac.mm:
1833         (WebCore::ResourceHandle::start):
1834         (WebCore::ResourceHandle::cancel):
1835         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1836         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
1837         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
1838         We no longer need to associate streams with ResourceHandles!
1839
1840 2012-03-26  Adam Klein  <adamk@chromium.org>
1841
1842         V8RecursionScope should not hold a raw pointer to ScriptExecutionContext
1843         https://bugs.webkit.org/show_bug.cgi?id=82222
1844
1845         Reviewed by Eric Seidel.
1846
1847         Instead of holding onto ScriptExecutionContext, cache the boolean value we
1848         care about (context->isDocument()). This avoids problems if the
1849         context goes away as a result of the script we just ran.
1850
1851         Test: fast/frames/subframe-load-js-url-crash.html
1852
1853         * bindings/v8/V8RecursionScope.cpp:
1854         (WebCore::V8RecursionScope::didLeaveScriptContext): Check the cached
1855         bool instead of calling into the context.
1856         * bindings/v8/V8RecursionScope.h:
1857         (WebCore::V8RecursionScope::V8RecursionScope): Call isDocument from
1858         the constructor and cache the result.
1859         (WebCore::V8RecursionScope::~V8RecursionScope): No longer need to pass
1860         anything to didLeaveScriptContext since it's now a member.
1861         (V8RecursionScope): Make didLeaveScriptContext a member function and
1862         remove its argument. Add member bool to hold the value of isDocument.
1863
1864 2012-03-26  Dana Jansens  <danakj@chromium.org>
1865
1866         [chromium] assertion being hit in CCLayerTreeHost::updateCompositorResources
1867         https://bugs.webkit.org/show_bug.cgi?id=82239
1868
1869         Reviewed by Adrienne Walker.
1870
1871         The assert is incorrect and should check the animation state on
1872         the surface, not the owning layer.
1873
1874         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1875         (WebCore::CCLayerTreeHost::updateCompositorResources):
1876
1877 2012-03-26  Levi Weintraub  <leviw@chromium.org>
1878
1879         Correct LayoutUnit usage in RenderFieldSet and RenderMenuItem
1880         https://bugs.webkit.org/show_bug.cgi?id=82179
1881
1882         Reviewed by Julien Chaffraix.
1883
1884         Correcting small misuses of ints vs LayoutUnits in RenderFieldSet and RenderMenuItem. Also
1885         adding zeroLayoutUnit where necessary to fix the sub-pixel build. See below for details.
1886
1887         No new tests. No change in behavior.
1888
1889         * rendering/RenderFieldset.cpp:
1890         (WebCore::RenderFieldset::paintBoxDecorations): Clip rects need to be pixel snapped to mirror
1891         the actual coordinates we paint.
1892         (WebCore::RenderFieldset::paintMask): Using zeroLayoutUnit for ternary operation to fix the
1893         sub-pixel build.
1894         * rendering/RenderMenuList.cpp:
1895         (WebCore::RenderMenuList::showPopup): Correctly using an IntRect for absoluteBoundingBoxRect.
1896         (WebCore::RenderMenuList::clientPaddingLeft): Correcting mismatched return type with header.
1897         (WebCore::RenderMenuList::clientPaddingRight): Ditto.
1898
1899 2012-03-26  Dan Bernstein  <mitz@apple.com>
1900
1901         Tried to fix an unused parameter warning after r112154.
1902
1903         * rendering/RenderFlexibleBox.cpp:
1904         (WebCore::RenderFlexibleBox::layoutBlock): Changed to not pass relayoutChildren to
1905         layoutFlexItems.
1906         (WebCore::RenderFlexibleBox::layoutFlexItems): Removed the unused relayoutChildren parameter.
1907         * rendering/RenderFlexibleBox.h:
1908
1909 2012-03-26  Rob Arnold  <robarnold@fb.com>
1910
1911         SyntheticStyleCalc on an element should not force recalculation on its children
1912         https://bugs.webkit.org/show_bug.cgi?id=79389
1913
1914         Reviewed by Simon Fraser.
1915
1916         No new tests. Existing tests cover correctness, not sure how to test for performance.
1917
1918         * dom/Element.cpp:
1919         (WebCore::Element::recalcStyle):
1920
1921 2012-03-26  Tony Chang  <tony@chromium.org>
1922
1923         apply cross axis constraints before aligning children in flexbox
1924         https://bugs.webkit.org/show_bug.cgi?id=82240
1925
1926         Reviewed by Ojan Vafai.
1927
1928         We weren't applying max-height constraints before aligning children.
1929         This would cause center, end, stretch alignment to be wrong if we hit
1930         a max-height on a flexbox.
1931
1932         This patch also moves the repositioning logic to happen after
1933         computeLogicalHeight, which will be useful for flex-line-pack.
1934
1935         New test case in css3/flexbox/flex-align.html
1936
1937         * rendering/RenderFlexibleBox.cpp:
1938         (WebCore::RenderFlexibleBox::layoutBlock):
1939         (WebCore::RenderFlexibleBox::layoutFlexItems):
1940         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1941         * rendering/RenderFlexibleBox.h:
1942
1943 2012-03-26  Anders Carlsson  <andersca@apple.com>
1944
1945         Find in page overlay and bouncy are not always positioned correctly
1946         https://bugs.webkit.org/show_bug.cgi?id=82247
1947         <rdar://problem/10866139>
1948
1949         Reviewed by Sam Weinig.
1950
1951         In WebCore, a lot of code depends on scroll position updates to happen synchronously, so
1952         update the frame view scroll position before asking the scrolling thread to scroll.
1953
1954         * page/scrolling/ScrollingCoordinator.cpp:
1955         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
1956
1957 2012-03-26  Nate Chapin  <japhet@chromium.org>
1958
1959         Simplify setting loading state in DocumentLoader
1960         https://bugs.webkit.org/show_bug.cgi?id=82099
1961
1962         Reviewed by Adam Barth.
1963
1964         The logic for deciding what to return for DocumentLoader::isLoading()
1965         is crazy. It's indirectly based on the ResourceLoaders that have
1966         registered themselves with the DocumentLoader, but we can make that
1967         relationship more direct.
1968
1969         * loader/DocumentLoader.cpp:
1970         (WebCore::DocumentLoader::checkLoadComplete): Renamed from updateLoading, since it's not actually
1971             updating anything anymore. It now calls DOMWindow::finishedLoading() if loading is in fact done.
1972         (WebCore::DocumentLoader::startLoadingMainResource): The only reason this had a return value was to call
1973             updateLoading() if loading failed. Just call checkLoadComplete() directly (this allows it to
1974             be private, whereas updateLoading() was public).
1975         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
1976         * loader/DocumentLoader.h:
1977         (WebCore::DocumentLoader::isLoading): Rather than holding a separate bool, return based on the presence
1978             of non-multipart ResourceLoaders directly.
1979         * loader/FrameLoader.cpp:
1980         (WebCore::FrameLoader::isLoading): Depend on DocumentLoader::isLoading() for the activeDocumentLoader(),
1981             rather than indirectly the other way around.
1982         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Remove several assertions that should now be
1983             absolutely identical to the remaining !pdl->isLoading().
1984         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1985
1986 2012-03-26  James Robinson  <jamesr@chromium.org>
1987
1988         Scrollable plugins not registered properly in ScrollingCoordinator
1989         https://bugs.webkit.org/show_bug.cgi?id=82163
1990
1991         Reviewed by Anders Carlsson.
1992
1993         Plugins may be scrollable, so we have to add them in the non-fast scrollable region. Tested manually.
1994
1995         * page/scrolling/ScrollingCoordinator.cpp:
1996         (WebCore::computeNonFastScrollableRegion):
1997         (WebCore::ScrollingCoordinator::nonFastScrollableRegion):
1998         (WebCore):
1999         * page/scrolling/ScrollingCoordinator.h:
2000         (ScrollingCoordinator):
2001         * plugins/PluginViewBase.h:
2002         (WebCore::PluginViewBase::scrollable):
2003         (PluginViewBase):
2004
2005 2012-03-26  Joone Hur  <joone.hur@collabora.co.uk>
2006
2007         [GTK] Build fix for Accelerated Compositing with Clutter
2008         https://bugs.webkit.org/show_bug.cgi?id=81785
2009
2010         Reviewed by Martin Robinson.
2011
2012         AcceleratedCompositingContext was introduced to isolate different accelerated 
2013         compositing implementations(r104194), but the Clutter implementation doesn't 
2014         build with it. This includes an initial implementation of GraphicsContext3D 
2015         and fixes the build error.
2016
2017         * GNUmakefile.list.am:
2018         * platform/graphics/clutter/DrawingBufferClutter.cpp: Added.
2019         (WebCore):
2020         (WebCore::DrawingBuffer::DrawingBuffer):
2021         (WebCore::DrawingBuffer::~DrawingBuffer):
2022         (WebCore::DrawingBuffer::platformColorBuffer):
2023         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2024         * platform/graphics/clutter/GraphicsContext3DClutter.cpp: Added.
2025         (WebCore):
2026         (WebCore::GraphicsContext3D::create):
2027         (WebCore::GraphicsContext3D::GraphicsContext3D):
2028         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2029         (WebCore::GraphicsContext3D::getImageData):
2030         (WebCore::GraphicsContext3D::paintToCanvas):
2031         (WebCore::GraphicsContext3D::setContextLostCallback):
2032         (WebCore::GraphicsContext3D::setErrorMessageCallback):
2033         (WebCore::GraphicsContext3D::makeContextCurrent):
2034         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
2035         (WebCore::GraphicsContext3D::isGLES2Compliant):
2036         (WebCore::GraphicsContext3D::platformLayer):
2037         * platform/graphics/clutter/GraphicsContext3DPrivate.cpp: Added.
2038         (WebCore):
2039         (WebCore::GraphicsContext3DPrivate::create):
2040         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2041         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2042         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2043         (WebCore::GraphicsContext3DPrivate::platformContext):
2044         (WebCore::GraphicsContext3DPrivate::paintToGraphicsLayerActor):
2045         * platform/graphics/clutter/GraphicsContext3DPrivate.h: Added.
2046         (WebCore):
2047         (GraphicsContext3DPrivate):
2048         (WebCore::GraphicsContext3DPrivate::platformLayer):
2049
2050 2012-03-26  Peter Rybin  <prybin@chromium.org>
2051
2052         Web Inspector: Expose InspectorTypeBuilder.h to other components
2053         https://bugs.webkit.org/show_bug.cgi?id=82226
2054
2055         Reviewed by Vsevolod Vlasov.
2056
2057         This is a provisional commit that simplifies passing ealy warning system
2058         for the main patch https://bugs.webkit.org/show_bug.cgi?id=81558
2059
2060         * WebCore.xcodeproj/project.pbxproj: config file is changed in Xcode UI.
2061
2062 2012-03-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
2063
2064         An <area> element remains focusable even though its associated <img> is not rendered.
2065         https://bugs.webkit.org/show_bug.cgi?id=71788
2066
2067         Reviewed by Andy Estes.
2068
2069         HTMLAreaElement::isFocusable() needs to consider the display and
2070         visibility state.
2071
2072         Test: fast/events/tab-test-not-visible-imagemap.html
2073
2074         * html/HTMLAreaElement.cpp:
2075         (WebCore::HTMLAreaElement::imageElement):
2076         (WebCore::HTMLAreaElement::isFocusable):
2077         * html/HTMLAreaElement.h: Make imageElement() const.
2078         (HTMLAreaElement):
2079
2080 2012-03-26  Anton Muhin  <antonm@chromium.org>
2081
2082         Fix a typo in IDL
2083         https://bugs.webkit.org/show_bug.cgi?id=82215
2084
2085         Reviewed by Adam Barth.
2086
2087         No new tests, just a typo fix.
2088
2089         * notifications/WorkerContextNotifications.idl:
2090
2091 2012-03-26  W. James MacLean  <wjmaclean@chromium.org>
2092
2093         [chromium] Change handleGestureFling() to use CCInputHandlerClient::Wheel.
2094         https://bugs.webkit.org/show_bug.cgi?id=82133
2095
2096         Reviewed by James Robinson.
2097
2098         Covered by existing unit tests.
2099
2100         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2101         (WebCore::CCLayerTreeHostImpl::scrollBegin):
2102
2103 2012-03-26  Mike Lawther  <mikelawther@chromium.org>
2104
2105         CSS3 calc: mixed percent/absolute for box-reflect
2106         https://bugs.webkit.org/show_bug.cgi?id=82161
2107
2108         Reviewed by Ojan Vafai.
2109
2110         Tests: css3/calc/box-reflect-expected.html
2111                css3/calc/box-reflect.html
2112
2113         * css/CSSStyleSelector.cpp:
2114         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2115
2116 2012-03-26  Mike Lawther  <mikelawther@chromium.org>
2117
2118         CSS3 calc: mixed percent/absolute support for vertical-align
2119         https://bugs.webkit.org/show_bug.cgi?id=82152
2120
2121         Reviewed by Ojan Vafai.
2122
2123         Tests: css3/calc/vertical-align-expected.html
2124                css3/calc/vertical-align.html
2125
2126         * css/CSSStyleApplyProperty.cpp:
2127         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2128
2129 2012-03-26  Filip Spacek  <fspacek@rim.com>
2130
2131         [BlackBerry] Accelerated compositing updates
2132         https://bugs.webkit.org/show_bug.cgi?id=82058
2133
2134         Reviewed by Rob Buis.
2135
2136         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2137         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
2138         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
2139         (WebCore::CanvasLayerWebKitThread::setDevice):
2140         (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
2141         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
2142         (WebCore::CanvasLayerWebKitThread::create):
2143         (CanvasLayerWebKitThread):
2144         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
2145         (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
2146         (WebCore::InstrumentedPlatformCanvas::save):
2147         (WebCore::InstrumentedPlatformCanvas::saveLayer):
2148         (WebCore::InstrumentedPlatformCanvas::restore):
2149         (WebCore::InstrumentedPlatformCanvas::translate):
2150         (WebCore::InstrumentedPlatformCanvas::scale):
2151         (WebCore::InstrumentedPlatformCanvas::rotate):
2152         (WebCore::InstrumentedPlatformCanvas::skew):
2153         (WebCore::InstrumentedPlatformCanvas::concat):
2154         (WebCore::InstrumentedPlatformCanvas::setMatrix):
2155         (WebCore::InstrumentedPlatformCanvas::clipRect):
2156         (WebCore::InstrumentedPlatformCanvas::clipPath):
2157         (WebCore::InstrumentedPlatformCanvas::clipRegion):
2158         (WebCore::InstrumentedPlatformCanvas::clear):
2159         (WebCore::InstrumentedPlatformCanvas::drawPaint):
2160         (WebCore::InstrumentedPlatformCanvas::drawPoints):
2161         (WebCore::InstrumentedPlatformCanvas::drawRect):
2162         (WebCore::InstrumentedPlatformCanvas::drawPath):
2163         (WebCore::InstrumentedPlatformCanvas::drawBitmap):
2164         (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
2165         (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
2166         (WebCore::InstrumentedPlatformCanvas::drawSprite):
2167         (WebCore::InstrumentedPlatformCanvas::drawText):
2168         (WebCore::InstrumentedPlatformCanvas::drawPosText):
2169         (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
2170         (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
2171         (WebCore::InstrumentedPlatformCanvas::drawPicture):
2172         (WebCore::InstrumentedPlatformCanvas::drawVertices):
2173         (WebCore::InstrumentedPlatformCanvas::drawData):
2174         * platform/graphics/blackberry/LayerData.h:
2175         (WebCore::LayerData::LayerData):
2176         (WebCore::LayerData::needsTexture):
2177         (LayerData):
2178         * platform/graphics/blackberry/LayerTiler.cpp:
2179         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2180         * platform/graphics/blackberry/LayerWebKitThread.cpp:
2181         (WebCore::LayerWebKitThread::paintContents):
2182         (WebCore::LayerWebKitThread::setDrawable):
2183         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2184         (WebCore::loadBufferingImageData):
2185         * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Renamed from Source/WebCore/platform/graphics/blackberry/skia/ImageBufferData.h.
2186         (WebCore):
2187         (ImageBufferData):
2188
2189 2012-03-26  Stephen Chenney  <schenney@chromium.org>
2190
2191         Failure to invalidate text position attributes when DOM changes
2192         https://bugs.webkit.org/show_bug.cgi?id=81464
2193
2194         Reviewed by Nikolas Zimmermann.
2195
2196         The text positioning elements data structure in RenderSVGText must be
2197         updated when either the children of the corresponding element are
2198         modified, or the length of the text inside the elements changes.
2199         Previously, the call to clear the text positioning elements (to force
2200         recomputation) was guarded by a flag. If code tried to invalidate when
2201         the flag was not set, then something set the flag, the elements would
2202         be invalid at use time.
2203
2204         This patch modifies the method that invalidates the positining
2205         attributes so that the action always happens. It also renames the
2206         method to more accurately reflect its function.
2207
2208         Test: svg/custom/delete-modified-text-in-defs-crash.svg
2209
2210         * rendering/svg/RenderSVGInlineText.cpp:
2211         (WebCore::RenderSVGInlineText::setTextInternal): Rename textDOMChanged to invalidateTextPositioningElements
2212         * rendering/svg/RenderSVGText.cpp:
2213         (WebCore::RenderSVGText::invalidateTextPositioningElements): Rename
2214         textDOMChanged to invalidateTextPositioningElements and remove the check against the needsPosition... flag.
2215         * rendering/svg/RenderSVGText.h:
2216         (RenderSVGText): Rename textDOMChanged to invalidateTextPositioningElements
2217         * svg/SVGAElement.cpp:
2218         (WebCore::SVGAElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
2219         * svg/SVGTextContentElement.cpp:
2220         (WebCore::SVGTextContentElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
2221
2222 2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
2223
2224         REGRESSION (r110065-r110080): fast/forms/placeholder-set-attribute.html is failing intermittently because WebKit fails to repaint after setting the placeholder attribute
2225         https://bugs.webkit.org/show_bug.cgi?id=81802
2226
2227         Reviewed by Dan Bernstein.
2228
2229         Covered by fast/forms/placeholder-set-attribute.html which should be less flaky.
2230
2231         Unfortunately no new test case as this bug requires a very specific set of conditions that I couldn't reproduce deterministically.
2232
2233         This is a regression from r110072: RenderTextControlSingleLine would rely on the placeholder's RenderLayer to properly repaint during
2234         the first layout as the placeholder has overflow: hidden set. r110072 removed the layer in this case and thus we miss a repaint.
2235
2236         * rendering/RenderTextControlSingleLine.cpp:
2237         (WebCore::RenderTextControlSingleLine::layout):
2238         For our first layout, we need to make sure our placeholder is painted. layoutBlockChild has a very similar logic to force repaint
2239         on a first layout. We don't hit this logic as the placeholder is explicitly skipped in RenderTextControl::layoutSpecialExcludedChild.
2240
2241 2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
2242
2243         REGRESSION(r110072): fast/forms/textfield-overflow.html is failing
2244         https://bugs.webkit.org/show_bug.cgi?id=80531
2245
2246         Reviewed by Ojan Vafai.
2247
2248         Tested by fast/forms/textfield-overflow.html (re-enabled after this change).
2249
2250         The existing code would happily query layout information before calling layout (FTW!).
2251         The solution is to properly layout our object, then modify some dimensions as needed while
2252         marking ourself as needing layout and then layouting again.
2253
2254         * rendering/RenderTextControlSingleLine.cpp:
2255         (WebCore::RenderTextControlSingleLine::layout):
2256         Implemented a proper 2 pass layout algorithm. Removed the |relayoutChildren| logic as:
2257         - layoutBlock handles automatically logical height changes.
2258         - we were not modifying the logical width between layouts so we don't need to force a
2259         child relayout in this case.
2260
2261 2012-03-26  Robin Cao  <robin.cao@torchmobile.com.cn>
2262
2263         [BlackBerry] Upstream LayerCompositingThread.{h, cpp}
2264         https://bugs.webkit.org/show_bug.cgi?id=79873
2265
2266         Reviewed by Rob Buis.
2267
2268         Initial upstream, no new tests.
2269
2270         * platform/graphics/blackberry/LayerCompositingThread.cpp: Added.
2271         (WebCore):
2272         (WebCore::LayerCompositingThread::create):
2273         (WebCore::LayerCompositingThread::LayerCompositingThread):
2274         (WebCore::LayerCompositingThread::~LayerCompositingThread):
2275         (WebCore::LayerCompositingThread::destroyOnCompositingThread):
2276         (WebCore::LayerCompositingThread::setLayerRenderer):
2277         (WebCore::LayerCompositingThread::deleteTextures):
2278         (WebCore::LayerCompositingThread::setDrawTransform):
2279         (WebCore::getTransformedRect):
2280         (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
2281         (WebCore::LayerCompositingThread::drawTextures):
2282         (WebCore::LayerCompositingThread::drawSurface):
2283         (WebCore::LayerCompositingThread::drawMissingTextures):
2284         (WebCore::LayerCompositingThread::releaseTextureResources):
2285         (WebCore::LayerCompositingThread::setPluginView):
2286         (WebCore::LayerCompositingThread::setMediaPlayer):
2287         (WebCore::LayerCompositingThread::clearAnimations):
2288         (WebCore::LayerCompositingThread::removeSublayer):
2289         (WebCore::LayerCompositingThread::indexOfSublayer):
2290         (WebCore::LayerCompositingThread::rootLayer):
2291         (WebCore::LayerCompositingThread::removeFromSuperlayer):
2292         (WebCore::LayerCompositingThread::setSublayers):
2293         (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
2294         (WebCore::LayerCompositingThread::setVisible):
2295         (WebCore::LayerCompositingThread::setNeedsCommit):
2296         (WebCore::LayerCompositingThread::scheduleCommit):
2297         (WebCore::LayerCompositingThread::updateAnimations):
2298         (WebCore::LayerCompositingThread::hasVisibleHolePunchRect):
2299         (WebCore::LayerCompositingThread::createLayerRendererSurface):
2300         * platform/graphics/blackberry/LayerCompositingThread.h: Added.
2301         (Graphics):
2302         (WebCore):
2303         (LayerCompositingThread):
2304         (WebCore::LayerCompositingThread::bindContentsTexture):
2305         (WebCore::LayerCompositingThread::getSublayers):
2306         (WebCore::LayerCompositingThread::setSuperlayer):
2307         (WebCore::LayerCompositingThread::superlayer):
2308         (WebCore::LayerCompositingThread::drawTransform):
2309         (WebCore::LayerCompositingThread::setDrawOpacity):
2310         (WebCore::LayerCompositingThread::drawOpacity):
2311         (WebCore::LayerCompositingThread::layerRendererSurface):
2312         (WebCore::LayerCompositingThread::clearLayerRendererSurface):
2313         (WebCore::LayerCompositingThread::setMaskLayer):
2314         (WebCore::LayerCompositingThread::maskLayer):
2315         (WebCore::LayerCompositingThread::setReplicaLayer):
2316         (WebCore::LayerCompositingThread::replicaLayer):
2317         (WebCore::LayerCompositingThread::getDrawRect):
2318         (WebCore::LayerCompositingThread::getTransformedBounds):
2319         (WebCore::LayerCompositingThread::hasMissingTextures):
2320         (WebCore::LayerCompositingThread::isDirty):
2321         (WebCore::LayerCompositingThread::isVisible):
2322         (WebCore::LayerCompositingThread::setOpacity):
2323         (WebCore::LayerCompositingThread::setTransform):
2324         (WebCore::LayerCompositingThread::hasRunningAnimations):
2325         (WebCore::LayerCompositingThread::numSublayers):
2326
2327 2012-03-26  Kent Tamura  <tkent@chromium.org>
2328
2329         Add a notification function for detaching to TextFieldDecorator
2330         https://bugs.webkit.org/show_bug.cgi?id=82142
2331
2332         Reviewed by Dimitri Glazkov.
2333
2334         Add willDetach() functio to TextFieldDecorator. This will be
2335         needed if a decorator opens a popup UI on handleClick(), and the
2336         popup UI should be closed when the attaching text field is
2337         detached.
2338
2339         No new tests because of no behavior changes in any platforms.
2340
2341         * html/shadow/TextFieldDecorationElement.cpp:
2342         (WebCore::TextFieldDecorationElement::hostInput):
2343         Added. A utilify function to get an HTMLInputElement*.
2344         (WebCore::TextFieldDecorationElement::updateImage): Use hostInput().
2345         (WebCore::TextFieldDecorationElement::customStyleForRenderer): ditto.
2346         (WebCore::TextFieldDecorationElement::detach): Added. Calls TextFieldDecorator::willDetach().
2347         (WebCore::TextFieldDecorationElement::defaultEventHandler): Use hostInput().
2348         * html/shadow/TextFieldDecorationElement.h:
2349         (TextFieldDecorator):
2350         (TextFieldDecorationElement):
2351
2352 2012-03-26  Dan Bernstein  <mitz@apple.com>
2353
2354         Tried to fix the 32-bit build after r112021.
2355
2356         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2357         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
2358
2359 2012-03-26  Leo Yang  <leo.yang@torchmobile.com.cn>
2360
2361         [BlackBerry] Skeleton code of AsyncFileSystemBlackBerry.cpp
2362         https://bugs.webkit.org/show_bug.cgi?id=82157
2363
2364         Reviewed by Rob Buis.
2365
2366         AsyncFileSystemBlackBerry is responsible for asynchronous operating
2367         on file system for the blackberry porting. It's just skeleton code
2368         containing no implementation yet.
2369
2370         No new tests because of skeleton code.
2371
2372         * PlatformBlackBerry.cmake: Add AsyncFileSystemBlackBerry.cpp if ENABLE_FILE_SYSTEM is on.
2373         * platform/AsyncFileSystem.cpp:
2374         (WebCore):
2375         * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Added.
2376         (WebCore):
2377         (WebCore::AsyncFileSystem::isAvailable):
2378         (WebCore::AsyncFileSystem::isValidType):
2379         (WebCore::AsyncFileSystem::create):
2380         (WebCore::AsyncFileSystem::openFileSystem):
2381         (WebCore::AsyncFileSystem::crackFileSystemURL):
2382         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
2383         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
2384         (WebCore::AsyncFileSystemBlackBerry::toURL):
2385         (WebCore::AsyncFileSystemBlackBerry::move):
2386         (WebCore::AsyncFileSystemBlackBerry::copy):
2387         (WebCore::AsyncFileSystemBlackBerry::remove):
2388         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
2389         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
2390         (WebCore::AsyncFileSystemBlackBerry::createFile):
2391         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
2392         (WebCore::AsyncFileSystemBlackBerry::fileExists):
2393         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
2394         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
2395         (WebCore::AsyncFileSystemBlackBerry::createWriter):
2396         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
2397         * platform/blackberry/AsyncFileSystemBlackBerry.h: Added.
2398         (WebCore):
2399         (AsyncFileSystemBlackBerry):
2400
2401 2012-03-26  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2402
2403         [BlackBerry] CredentialBackingStore implement encryptString() and decryptString()
2404         https://bugs.webkit.org/show_bug.cgi?id=82204
2405
2406         Reviewed by Rob Buis.
2407
2408         Implemented encryptedString() and decryptedString() in class CredentialBackingStore
2409         by calling BlackBerry::Platform::Encryptor::encryptString() and
2410         BlackBerry::Platform::Encryptor::encryptString() respectively.
2411
2412         No new tests.
2413
2414         * platform/network/blackberry/CredentialBackingStore.cpp:
2415         (WebCore::CredentialBackingStore::encryptedString):
2416         (WebCore::CredentialBackingStore::decryptedString):
2417
2418 2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
2419
2420         Web Inspector: 'use strict' exceptions stop in inspector code
2421         https://bugs.webkit.org/show_bug.cgi?id=82199
2422
2423         Reviewed by Yury Semikhatsky.
2424
2425         Accessing callee from within InjectedScript made inspector stop on handled exceptions.
2426         I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".
2427
2428         * inspector/InjectedScriptSource.js:
2429
2430 2012-03-26  Mihai Balan  <mibalan@adobe.com>
2431
2432         [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
2433         https://bugs.webkit.org/show_bug.cgi?id=81901
2434
2435         Reviewed by Antti Koivisto.
2436
2437         Right now CSS rules position does not take into account rules that are inside a @-webkit-region
2438         declaration, leading to buggy behavior where rules that appear later in the document are superseded
2439         by rules that appear earlier in the document (opposite as how things should be). The fix updates
2440         the "global" rules counter once the rules in a @-webkit-region declaration have been added.
2441
2442         Tests: fast/regions/region-style-rule-position-expected.html
2443                fast/regions/region-style-rule-position.html
2444
2445         * css/CSSStyleSelector.cpp:
2446         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2447
2448 2012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
2449
2450         [Qt] Disable focus ring in the mobile theme.
2451         https://bugs.webkit.org/show_bug.cgi?id=81934
2452
2453         For mobile devices intended to be used only through
2454         touch, the focus rings makes little sense and feels
2455         awkward.
2456
2457         Reviewed by Kenneth Rohde Christiansen.
2458
2459         No new tests. This is merely a cosmetic touch.
2460
2461         * platform/qt/RenderThemeQtMobile.h:
2462         (RenderThemeQtMobile):
2463         (WebCore::RenderThemeQtMobile::platformFocusRingColor):
2464
2465 2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
2466
2467         [BlackBerry] Clean up networking code and remove WML support.
2468         https://bugs.webkit.org/show_bug.cgi?id=82170
2469
2470         Reviewed by Rob Buis.
2471
2472         This just removes the WML support of BlackBerry porting, which is already 
2473         removed from WebCore. No new tests needed.
2474
2475         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
2476         (WebCore):
2477         * platform/network/blackberry/DeferredData.cpp:
2478         (WebCore::DeferredData::DeferredData):
2479         (WebCore::DeferredData::processDeferredData):
2480         * platform/network/blackberry/DeferredData.h:
2481         (DeferredData):
2482         (WebCore::DeferredData::hasDeferredData):
2483         * platform/network/blackberry/NetworkJob.cpp:
2484         * platform/network/blackberry/NetworkJob.h:
2485         (NetworkJob):
2486         * platform/network/blackberry/ResourceResponse.h:
2487         (WebCore::ResourceResponse::ResourceResponse):
2488         (ResourceResponse):
2489         * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
2490         (WebCore::ResourceResponse::doPlatformCopyData):
2491         (WebCore::ResourceResponse::doPlatformAdopt):
2492
2493 2012-03-26  Philip Rogers  <pdr@google.com>
2494
2495         Add invalid bounding box concept to SVG containers
2496         https://bugs.webkit.org/show_bug.cgi?id=81104
2497
2498         Reviewed by Nikolas Zimmermann.
2499
2500         An empty <g> element needs to use an invalid bounding box because
2501         an empty bounding box isn't the default state. This change
2502         introduces the concept of an invalid object bounding box for
2503         both RenderSVGContainer and RenderSVGRoot. Code that
2504         does not explicitly check that the bounding box is valid
2505         should be unaffected by this change. We use this new invalid
2506         flag in computeContainerBoundingBoxes so that we do not
2507         include invalid bounding boxes.
2508
2509         This change also contains a small fix in
2510         RenderSVGContainer::toRenderSVGContainer which depended on
2511         RenderSVGViewportContainer not inheriting from RenderSVGContainer,
2512         which it now does.
2513
2514         Test: svg/custom/getBBox-empty-container.html
2515
2516         * rendering/svg/RenderSVGContainer.cpp:
2517         (WebCore::RenderSVGContainer::RenderSVGContainer):
2518         (WebCore::RenderSVGContainer::updateCachedBoundaries):
2519         * rendering/svg/RenderSVGContainer.h:
2520         (WebCore::RenderSVGContainer::isObjectBoundingBoxValid):
2521         (RenderSVGContainer):
2522         (WebCore::toRenderSVGContainer):
2523         * rendering/svg/RenderSVGRoot.cpp:
2524         (WebCore::RenderSVGRoot::RenderSVGRoot):
2525         (WebCore::RenderSVGRoot::updateCachedBoundaries):
2526         * rendering/svg/RenderSVGRoot.h:
2527         (RenderSVGRoot):
2528         * rendering/svg/SVGRenderSupport.cpp:
2529         (WebCore):
2530         (WebCore::updateObjectBoundingBox):
2531         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
2532         * rendering/svg/SVGRenderSupport.h:
2533         (SVGRenderSupport):
2534
2535 2012-03-26  Alexei Filippov  <alexeif@chromium.org>
2536
2537         Web Inspector: Speed up the retainers build phase.
2538         https://bugs.webkit.org/show_bug.cgi?id=81763
2539
2540         Replacing the edge iterator in retainers building phase
2541         makes it run 10 times faster (400 ms vs. 4 sec).
2542
2543         Reviewed by Yury Semikhatsky.
2544
2545         * inspector/front-end/HeapSnapshot.js:
2546         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2547
2548 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
2549
2550         Web Inspector: Migrate InspectorCSSAgent to strict protocol types
2551         https://bugs.webkit.org/show_bug.cgi?id=81923
2552
2553         Reviewed by Pavel Feldman.
2554
2555         No new tests, as this is a refactoring.
2556
2557         * inspector/CodeGeneratorInspector.py:
2558         * inspector/InspectorCSSAgent.cpp:
2559         (SelectorProfile):
2560         (WebCore::SelectorProfile::toInspectorObject):
2561         (WebCore::InspectorCSSAgent::clearFrontend):
2562         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2563         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
2564         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2565         (WebCore::InspectorCSSAgent::getAllStyleSheets):
2566         (WebCore::InspectorCSSAgent::getStyleSheet):
2567         (WebCore::InspectorCSSAgent::setPropertyText):
2568         (WebCore::InspectorCSSAgent::toggleProperty):
2569         (WebCore::InspectorCSSAgent::setRuleSelector):
2570         (WebCore::InspectorCSSAgent::addRule):
2571         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
2572         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
2573         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
2574         (WebCore::InspectorCSSAgent::collectStyleSheets):
2575         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
2576         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
2577         * inspector/InspectorCSSAgent.h:
2578         (InspectorCSSAgent):
2579         * inspector/InspectorStyleSheet.cpp:
2580         (WebCore::buildSourceRangeObject):
2581         (WebCore::buildMediaObject):
2582         (WebCore::fillMediaListChain):
2583         (WebCore::InspectorStyle::buildObjectForStyle):
2584         (WebCore::InspectorStyle::buildArrayForComputedStyle):
2585         (WebCore::InspectorStyle::styleWithProperties):
2586         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2587         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
2588         (WebCore::InspectorStyleSheet::buildObjectForRule):
2589         (WebCore::InspectorStyleSheet::buildObjectForStyle):
2590         * inspector/InspectorStyleSheet.h:
2591         (WebCore::InspectorCSSId::asProtocolValue):
2592         (InspectorStyle):
2593         (InspectorStyleSheet):
2594
2595 2012-03-26  Alexander Pavlov  <apavlov@chromium.org>
2596
2597         Web Inspector: [REGRESSION] Workarounds for security checks when retrieving stylesheet rule lists are broken
2598         https://bugs.webkit.org/show_bug.cgi?id=82191
2599
2600         Reviewed by Vsevolod Vlasov.
2601
2602         Test: http/tests/inspector/modify-cross-domain-rule.html
2603
2604         * inspector/InspectorStyleSheet.cpp:
2605         (WebCore::asCSSRuleList):
2606         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2607
2608 2012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2609
2610         Unreviewed. Fix make distcheck.
2611
2612         * GNUmakefile.list.am: Add missing files.
2613
2614 2012-03-26  Jason Liu  <jason.liu@torchmobile.com.cn>
2615
2616         [BlackBerry] Cookies mismatch when login to gmail.
2617         https://bugs.webkit.org/show_bug.cgi?id=82165
2618
2619         Redirection's response can add or update cookies. The cookies of ResourceRequest is dirty
2620         in this case. We shouldn't copy the dirty cookie header from ResourceRequest to PlatformRequest
2621         for redirection loading.
2622
2623         This issue didn't happen before because we used m_cookieData not the cookie header.
2624         Now we use the cookie header to avoid storing double cookie's data, and m_cookieData is removed.
2625
2626         Reviewed by George Staikos.
2627
2628         No new tests. It is a refactoring issue.
2629
2630         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2631         (WebCore::ResourceRequest::initializePlatformRequest):
2632
2633 2012-03-26  Alexis Menard  <alexis.menard@openbossa.org>
2634
2635         Increase code sharing between StylePropertySet and CSSPropertyLonghand.
2636         https://bugs.webkit.org/show_bug.cgi?id=81960
2637
2638         Reviewed by Antti Koivisto.
2639
2640         Use longhands declaration from CSSPropertyLonghand in StylePropertySet in order
2641         to avoid code duplication.
2642
2643         No new tests : refactoring only, we shouldn't have any behavior difference.
2644
2645         * css/CSSPropertyLonghand.cpp:
2646         (WebCore::backgroundLonghand):
2647         Re-order the array to match the spec default order.
2648         (WebCore::webkitMaskLonghand):
2649         Re-order to match the original order.
2650         (WebCore::webkitTransformOriginLonghand):
2651         A LayoutTest shows that a property was missing.
2652         * css/StylePropertySet.cpp:
2653         (WebCore::StylePropertySet::getPropertyValue):
2654         (WebCore::StylePropertySet::borderSpacingValue):
2655         (WebCore::StylePropertySet::get4Values):
2656         (WebCore::StylePropertySet::getLayeredShorthandValue):
2657         (WebCore::StylePropertySet::getShorthandValue):
2658         (WebCore::StylePropertySet::getCommonValue):
2659         (WebCore::StylePropertySet::asText):
2660         * css/StylePropertySet.h:
2661         (WebCore):
2662         (StylePropertySet):
2663
2664 2012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2665
2666         [Qt] Assert in GestureTapHighlighter.
2667         https://bugs.webkit.org/show_bug.cgi?id=82187
2668
2669         Reviewed by Kenneth Rohde Christiansen.
2670
2671         Adjust the boundaries of the center-rect before performing the intersection test,
2672         since adjusting the boundary may cause a new intersection.
2673
2674         * page/GestureTapHighlighter.cpp:
2675
2676 2012-03-26  Antti Koivisto  <antti@apple.com>
2677
2678         Split MediaList into internal and CSSOM types
2679         https://bugs.webkit.org/show_bug.cgi?id=82149
2680
2681         Reviewed by Andread Kling.
2682
2683         MediaList is a CSSOM type and should not be used internally.
2684         
2685         - Use new type MediaQuerySet internally to represent a collection of media queries.
2686         - Create MediaList wrapper on-demand for CSSOM purposes only.
2687         
2688         This moves us forward in separating CSSOM from the internal stylesheet implementation.
2689         
2690         MediaQuerySet really belongs to a file of its own but that is not part of this patch.
2691         
2692         * css/CSSGrammar.y:
2693         * css/CSSImportRule.cpp:
2694         (WebCore::CSSImportRule::create):
2695         (WebCore):
2696         (WebCore::CSSImportRule::CSSImportRule):
2697         (WebCore::CSSImportRule::~CSSImportRule):
2698         (WebCore::CSSImportRule::media):
2699         (WebCore::CSSImportRule::cssText):
2700         * css/CSSImportRule.h:
2701         (WebCore):
2702         (CSSImportRule):
2703         (WebCore::CSSImportRule::mediaQueries):
2704         * css/CSSMediaRule.cpp:
2705         (WebCore::CSSMediaRule::CSSMediaRule):
2706         (WebCore::CSSMediaRule::~CSSMediaRule):
2707         (WebCore::CSSMediaRule::cssText):
2708         * css/CSSMediaRule.h:
2709         (WebCore::CSSMediaRule::create):
2710         (WebCore::CSSMediaRule::media):
2711         (WebCore::CSSMediaRule::mediaQueries):
2712         (CSSMediaRule):
2713         * css/CSSParser.cpp:
2714         (WebCore::CSSParser::parseMediaQuery):
2715         (WebCore::CSSParser::createMediaQuerySet):
2716         (WebCore::CSSParser::createImportRule):
2717         (WebCore::CSSParser::createMediaRule):
2718         (WebCore::CSSParser::updateLastMediaLine):
2719         * css/CSSParser.h:
2720         (WebCore):
2721         (CSSParser):
2722         * css/CSSStyleSelector.cpp:
2723         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2724         * css/CSSStyleSheet.cpp:
2725         (WebCore):
2726         (WebCore::CSSStyleSheet::media):
2727         (WebCore::CSSStyleSheet::setMediaQueries):
2728         * css/CSSStyleSheet.h:
2729         (WebCore):
2730         (CSSStyleSheet):
2731         (WebCore::CSSStyleSheet::mediaQueries):
2732         * css/MediaList.cpp:
2733         (WebCore):
2734         (WebCore::MediaQuerySet::MediaQuerySet):
2735         (WebCore::MediaQuerySet::~MediaQuerySet):
2736         (WebCore::parseMediaDescriptor):
2737         (WebCore::MediaQuerySet::parse):
2738         (WebCore::MediaQuerySet::add):
2739         (WebCore::MediaQuerySet::remove):
2740         (WebCore::MediaQuerySet::addMediaQuery):
2741         (WebCore::MediaQuerySet::mediaText):
2742         (WebCore::MediaQuerySet::ensureMediaList):
2743         
2744             - Use OwnPtr<> for MediaQuery ownership.
2745             - Move the appropriate functions to MediaQuerySet.
2746             - Clean up a bit to make this more readable and better aligned to WebKit style.
2747         
2748         (WebCore::MediaList::MediaList):
2749         (WebCore::MediaList::~MediaList):
2750         (WebCore::MediaList::setMediaText):
2751         (WebCore::MediaList::item):
2752         (WebCore::MediaList::deleteMedium):
2753         (WebCore::MediaList::appendMedium):
2754         * css/MediaList.h:
2755         (WebCore):
2756         (WebCore::MediaQuerySet::create):
2757         (WebCore::MediaQuerySet::createAllowingDescriptionSyntax):
2758         (MediaQuerySet):
2759         (WebCore::MediaQuerySet::queryVector):
2760         (WebCore::MediaQuerySet::lastLine):
2761         (WebCore::MediaQuerySet::setLastLine):
2762         (MediaList):
2763         (WebCore::MediaList::ref):
2764         (WebCore::MediaList::deref):
2765         (WebCore::MediaList::length):
2766         (WebCore::MediaList::mediaText):
2767         (WebCore::MediaList::queries):
2768         * css/MediaQueryEvaluator.cpp:
2769         (WebCore::MediaQueryEvaluator::eval):
2770         * css/MediaQueryEvaluator.h:
2771         (WebCore):
2772         (MediaQueryEvaluator):
2773         * css/MediaQueryList.cpp:
2774         (WebCore::MediaQueryList::create):
2775         (WebCore::MediaQueryList::MediaQueryList):
2776         * css/MediaQueryList.h:
2777         (WebCore):
2778         (MediaQueryList):
2779         * css/MediaQueryMatcher.cpp:
2780         (WebCore::MediaQueryMatcher::evaluate):
2781         (WebCore::MediaQueryMatcher::matchMedia):
2782         * css/MediaQueryMatcher.h:
2783         (WebCore):
2784         (MediaQueryMatcher):
2785         * css/StyleMedia.cpp:
2786         (WebCore::StyleMedia::matchMedium):
2787         * css/StyleSheet.cpp:
2788         (WebCore::StyleSheet::~StyleSheet):
2789         
2790             Move the media query ownership to CSSStyleSheet where it belongs.
2791         
2792         (WebCore):
2793         * css/StyleSheet.h:
2794         (WebCore::StyleSheet::media):
2795         (StyleSheet):
2796         * dom/DOMImplementation.cpp:
2797         (WebCore::DOMImplementation::createCSSStyleSheet):
2798         * dom/ProcessingInstruction.cpp:
2799         (WebCore::ProcessingInstruction::setCSSStyleSheet):
2800         * dom/StyleElement.cpp:
2801         (WebCore::StyleElement::createSheet):
2802         * html/HTMLLinkElement.cpp:
2803         (WebCore::HTMLLinkElement::process):
2804         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2805         * html/HTMLMediaElement.cpp:
2806         (WebCore::HTMLMediaElement::selectNextSourceChild):
2807         * html/parser/HTMLPreloadScanner.cpp:
2808         (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
2809         * inspector/InspectorStyleSheet.cpp:
2810         (WebCore::buildMediaObject):
2811
2812 2012-03-26  Zeno Albisser  <zeno@webkit.org>
2813
2814         [Qt]WK2] TextureMapperShaderManager should query the program map before creating new shader program instances.
2815         https://bugs.webkit.org/show_bug.cgi?id=82178
2816
2817         If TextureMapperShaderManager already has a reference to an instance of the
2818         requested shader program type, this instance should be reused instead of
2819         creating a new one.
2820
2821         Reviewed by Noam Rosenthal.
2822
2823         * platform/graphics/texmap/TextureMapperShaderManager.h:
2824         (WebCore::TextureMapperShaderManager::getShaderProgram):
2825
2826 2012-03-26  Yury Semikhatsky  <yurys@chromium.org>
2827
2828         [Chromium] Web Inspector: dedicated worker inspector is empty
2829         https://bugs.webkit.org/show_bug.cgi?id=82181
2830
2831         "beforeunload" event for worker inspector front-end is ingnored if the
2832         window url is "about:blank" as it is just unload of the default content
2833         before the front-end page load.
2834
2835         Reviewed by Pavel Feldman.
2836
2837         * inspector/front-end/WorkerManager.js:
2838         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
2839
2840 2012-03-22  Yury Semikhatsky  <yurys@chromium.org>
2841
2842         Web Inspector: split nodes and containment edges into two different arrays
2843         https://bugs.webkit.org/show_bug.cgi?id=81930
2844
2845         Extract heap profile nodes and edges into two separate arrays. This
2846         way we will have a continuous array of the heap graph nodes and can
2847         aviod additional mapping between node index and its position in the
2848         heap snapshot.
2849
2850         Reviewed by Pavel Feldman.
2851
2852         * inspector/front-end/HeapSnapshot.js:
2853         (WebInspector.HeapSnapshot.prototype._init):
2854         (WebInspector.HeapSnapshot.prototype._buildContinuousNodeArray):
2855         (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
2856         (WebInspector.HeapSnapshot.prototype._restoreNodeTypes):
2857         (WebInspector.HeapSnapshot.prototype._createRetainmentEdgesArray):
2858         (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
2859         * inspector/front-end/HeapSnapshotProxy.js:
2860         (WebInspector.HeapSnapshotWorker):
2861
2862 2012-03-22  Pavel Podivilov  <podivilov@chromium.org>
2863
2864         Web Inspector: move resource loading logic from SourceMapParser to CompilerScriptMapping.
2865         https://bugs.webkit.org/show_bug.cgi?id=81897
2866
2867         Reviewed by Vsevolod Vlasov.
2868
2869         SourceMapParser should only deal with payload parsing.
2870
2871         * inspector/front-end/CompilerScriptMapping.js:
2872         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2873         (WebInspector.CompilerScriptMapping.prototype.addScript):
2874         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2875         (WebInspector.SourceMapPayload):
2876         (WebInspector.SourceMapParser):
2877         (WebInspector.SourceMapParser.prototype.sourceContent):
2878         (WebInspector.SourceMapParser.prototype.findEntry):
2879         (WebInspector.SourceMapParser.prototype.findEntryReversed):
2880         * inspector/front-end/ContentProviders.js:
2881         (WebInspector.CompilerSourceMappingContentProvider):
2882         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
2883
2884 2012-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
2885
2886         Web Inspector: replace indexOf('a text') === 0 with RegExp because it is much faster.
2887         https://bugs.webkit.org/show_bug.cgi?id=82175
2888
2889         We were using aString.indexOf("Window") but it is not effective from performance point of view.
2890         I'm replaced it with RegExp.
2891
2892         Reviewed by Yury Semikhatsky.
2893
2894         * inspector/front-end/HeapSnapshot.js:
2895         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
2896         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
2897
2898 2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
2899
2900         Web Inspector: breakpoints should be disabled while live editing JavaScript.
2901         https://bugs.webkit.org/show_bug.cgi?id=81947
2902
2903         Reviewed by Yury Semikhatsky.
2904
2905         This change disables (removes from the backend) the breakpoints while editing script.
2906         Undoing or committing the change restores the breakpoints. Main logic is implemented within
2907         JavaScriptSourceFrame, but it required minor tweaking of the text editor: more correct
2908         undo/redo wrapper and better detection of the noop opterations.
2909
2910         * inspector/front-end/JavaScriptSourceFrame.js:
2911         (WebInspector.JavaScriptSourceFrame):
2912         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2913         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2914         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
2915         (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
2916         (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
2917         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
2918         * inspector/front-end/TextEditorModel.js:
2919         (WebInspector.TextEditorModel.endsWithBracketRegex.):
2920         * inspector/front-end/TextViewer.js:
2921         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.before):
2922         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.after):
2923         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
2924         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2925
2926 2012-03-25  Nat Duca  <nduca@chromium.org>
2927
2928         [chromium] Route willBeginFrame from compositor to WebWidget
2929         https://bugs.webkit.org/show_bug.cgi?id=82171
2930
2931         Reviewed by Darin Fisher.
2932
2933         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2934         (CCLayerTreeHostClient):
2935         (WebCore::CCLayerTreeHost::willBeginFrame):
2936         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2937         (WebCore::CCThreadProxy::beginFrame):
2938
2939 2012-03-25  Hayato Ito  <hayato@chromium.org>
2940
2941         [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
2942         https://bugs.webkit.org/show_bug.cgi?id=79197
2943
2944         Reviewed by Dimitri Glazkov.
2945
2946         Add internal APIs which can be used to traverse Reified DOM tree, which is
2947         a result of node distribution algorithm explained in Shadow DOM spec.
2948         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
2949
2950         Every public functions defined in ReifiedTreeTraversal are static
2951         functions and are named in a similar way to ones defined in WebCore::Node class.
2952         The only difference is that ReifiedTreeTraversal APIs consider shadow
2953         hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
2954         transparently.
2955
2956         There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
2957         and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
2958
2959         Test: fast/dom/shadow/reified-tree-traversal.html
2960
2961         * CMakeLists.txt:
2962         * GNUmakefile.list.am:
2963         * Target.pri:
2964         * WebCore.exp.in:
2965         * WebCore.gypi:
2966         * WebCore.vcproj/WebCore.vcproj:
2967         * WebCore.xcodeproj/project.pbxproj:
2968         * dom/ReifiedTreeTraversal.cpp: Added.
2969         (WebCore):
2970         (WebCore::isShadowHost):
2971         (WebCore::shadowTreeFor):
2972         (WebCore::shadowTreeOfParent):
2973         (WebCore::ReifiedTreeTraversal::firstChild):
2974         (WebCore::ReifiedTreeTraversal::lastChild):
2975         (WebCore::ReifiedTreeTraversal::lastChildWithoutCrossingUpperBoundary):
2976         (WebCore::ReifiedTreeTraversal::traverseChild):
2977         (WebCore::ReifiedTreeTraversal::traverseLightChildren):
2978         (WebCore::ReifiedTreeTraversal::traverseNode):
2979         (WebCore::ReifiedTreeTraversal::nextSibling):
2980         (WebCore::ReifiedTreeTraversal::previousSibling):
2981         (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToInsertionPoint):
2982         (WebCore::ReifiedTreeTraversal::traverseSiblingInCurrentTree):
2983         (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToYoungerShadowRoot):
2984         (WebCore::ReifiedTreeTraversal::escapeFallbackContentElement):
2985         (WebCore::ReifiedTreeTraversal::traverseNodeEscapingFallbackContents):
2986         (WebCore::ReifiedTreeTraversal::parentNode):
2987         (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
2988         (WebCore::ReifiedTreeTraversal::parentNodeOrBackToInsertionPoint):
2989         (WebCore::ReifiedTreeTraversal::parentNodeInCurrentTree):
2990         (WebCore::ReifiedTreeTraversal::parentNodeBackToYoungerShadowRootOrHost):
2991         (WebCore::ReifiedTreeTraversal::adjustedParentNode):
2992         (WebCore::ReifiedTreeTraversal::traverseNextNode):
2993         (WebCore::ReifiedTreeTraversal::traverseNextNodeWithoutCrossingUpperBoundary):
2994         (WebCore::ReifiedTreeTraversal::traversePreviousNode):
2995         (WebCore::ReifiedTreeTraversal::traversePreviousNodeWithoutCrossingUpperBoundary):
2996         * dom/ReifiedTreeTraversal.h: Added.
2997         (WebCore):
2998         (ReifiedTreeTraversal):
2999         * dom/ShadowTree.cpp:
3000         (WebCore::ShadowTree::insertionPointFor):
3001         (WebCore::ShadowTree::selectionFor):
3002         (WebCore):
3003         * dom/ShadowTree.h:
3004         (WebCore):
3005         (ShadowTree):
3006         * html/shadow/HTMLContentSelector.cpp:
3007         (WebCore::HTMLContentSelector::findFor):
3008         * html/shadow/HTMLContentSelector.h:
3009         (HTMLContentSelectionSet):
3010         (WebCore::HTMLContentSelectionSet::find):
3011         (HTMLContentSelector):
3012         * html/shadow/InsertionPoint.h:
3013         (WebCore::isInsertionPoint):
3014         (WebCore::toInsertionPoint):
3015         (WebCore):
3016         * testing/Internals.cpp:
3017         (WebCore::Internals::nextSiblingInReifiedTree):
3018         (WebCore):
3019         (WebCore::Internals::firstChildInReifiedTree):
3020         (WebCore::Internals::lastChildInReifiedTree):
3021         (WebCore::Internals::traverseNextNodeInReifiedTree):
3022         (WebCore::Internals::traversePreviousNodeInReifiedTree):
3023         * testing/Internals.h:
3024         (Internals):
3025         * testing/Internals.idl:
3026
3027 2012-03-25  Nikita Vasilyev  <me@elv1s.ru>
3028
3029         Web Inspector: Indenting fully selected line should not indent the line next to it
3030         https://bugs.webkit.org/show_bug.cgi?id=81758
3031
3032         In the editor, you can select a whole line by moving caret at 0 column
3033         position and pressing Shift + Arrow Down/Up. After that, pressing Tab
3034         indents 2 lines: fully selected one and the line next to it. The patch
3035         changes this behaviour to indent only fully selected line since that is
3036         what pretty-match all the other code editors do.
3037
3038         Reviewed by Pavel Feldman.
3039
3040         Test: inspector/editor/indentation.html
3041
3042         * inspector/front-end/TextViewer.js:
3043         (WebInspector.TextEditorMainPanel.prototype._indentLines):
3044             Do not insert indent at the begging of the last line if a selection
3045             ends on its 0 column.
3046         (WebInspector.TextEditorMainPanel.prototype._unindentLines):
3047             Do not remove indent at the begging of the last line if a selection
3048             ends on its 0 column.
3049
3050 2012-03-25  Abhishek Arya  <inferno@chromium.org>
3051
3052         Crash in ContainerNode::resumePostAttachCallbacks.
3053         https://bugs.webkit.org/show_bug.cgi?id=82159
3054
3055         Reviewed by Hajime Morita.
3056
3057         Test: plugins/object-onfocus-mutation-crash.html
3058
3059         * dom/ContainerNode.cpp:
3060         (WebCore::ContainerNode::resumePostAttachCallbacks): dispatching post attach
3061         callbacks when our attach depth is 1 can fire mutation events such as onfocus
3062         which can blow away |this|. Need to protect it with a RefPtr.
3063         * html/HTMLPlugInImageElement.cpp:
3064         (WebCore::HTMLPlugInImageElement::attach): add calls to suspend attach callbacks
3065         until the function completes.
3066
3067 2012-03-25  Dana Jansens  <danakj@chromium.org>
3068
3069         [chromium] Layers with animating transforms should prepaint even if they are not visible yet
3070         https://bugs.webkit.org/show_bug.cgi?id=82117
3071
3072         Reviewed by Adrienne Walker.
3073
3074         For animating transforms, instead of early-outing when the layer's
3075         visible rect is empty, let it prepaint regardless.
3076
3077         For now, we just only paint the outermost tiles, and only for small
3078         layers, with at most 9 tiles.
3079
3080         This changes the behaviour of ContentLayerChromium's
3081         idlePaintContentsIfDirty() so I've guarded the behaviour of the two
3082         prepainting functions that it calls to ensure the old behaviour holds
3083         without animations, and the new behaviour works with them.
3084
3085         Unit test: TiledLayerChromiumTest.idlePaintZeroSizedLayer
3086                    TiledLayerChromiumTest.idlePaintZeroSizedAnimatingLayer
3087                    TiledLayerChromiumTest.idlePaintNonVisibleLayers
3088                    TiledLayerChromiumTest.idlePaintNonVisibleAnimatingLayers
3089
3090         * platform/graphics/chromium/ContentLayerChromium.cpp:
3091         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
3092         * platform/graphics/chromium/TiledLayerChromium.cpp:
3093         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
3094         (WebCore::TiledLayerChromium::needsIdlePaint):
3095         (WebCore::TiledLayerChromium::idlePaintRect):
3096         * platform/graphics/chromium/TiledLayerChromium.h:
3097         (WebCore::TiledLayerChromium::numPaintedTiles):
3098         (TiledLayerChromium):
3099
3100 2012-03-25  Antti Koivisto  <antti@apple.com>
3101
3102         Don't use CSSRuleList for child rule ownership
3103         https://bugs.webkit.org/show_bug.cgi?id=82127
3104
3105         Reviewed by Andreas Kling.
3106
3107         CSSMediaRule, WebKitCSSKeyframesRule and WebKitRegionRule use CSSRuleList for storing children. 
3108         They should use a simple rule vector instead. CSSRuleList is a CSSOM type that should be 
3109         instantiated on-demand for API purposes only.
3110         
3111         - Use Vector<RefPtr<CSSRule>> for storing the rule children of CSSMediaRule, WebKitCSSKeyframesRule 
3112           and WebKitRegionRule.
3113         - Add direct accessors, use internally instead of CSSRuleList.
3114         - Make CSSRuleList an abstract base. Add concrete subclasses for dealing with the underlying storage.
3115         - Instantiate CSSRuleLists on-demand.
3116         - Make CSSStyleSheet.cssRules always return the same object instance. This matches Firefox and the rest
3117           of our CSSOM implementation. Tested by fast/dom/gc-9.html.
3118           
3119         The patch decouples internals from the external API. It simplifies the child rule ownership and reduces 
3120         indirection. Memory use of css rules with children is reduced (by a ptr, refcount and heap allocation overhead).
3121
3122         * css/CSSGrammar.y:
3123         * css/CSSMediaRule.cpp:
3124         (WebCore::CSSMediaRule::CSSMediaRule):
3125         (WebCore::CSSMediaRule::~CSSMediaRule):
3126         (WebCore::CSSMediaRule::append):
3127         (WebCore::CSSMediaRule::insertRule):
3128         (WebCore::CSSMediaRule::deleteRule):
3129         (WebCore::CSSMediaRule::cssText):
3130         (WebCore::CSSMediaRule::cssRules):
3131         * css/CSSMediaRule.h:
3132         (WebCore::CSSMediaRule::create):
3133         (CSSMediaRule):
3134         (WebCore::CSSMediaRule::ruleCount):
3135         (WebCore::CSSMediaRule::ruleAt):
3136         * css/CSSParser.cpp:
3137         (WebCore::CSSParser::createMediaRule):
3138         (WebCore::CSSParser::createRuleList):
3139         (WebCore::CSSParser::createRegionRule):
3140         * css/CSSParser.h:
3141         (WebCore):
3142         * css/CSSRuleList.cpp:
3143         (WebCore):
3144         (WebCore::StaticCSSRuleList::StaticCSSRuleList):
3145         (WebCore::StaticCSSRuleList::~StaticCSSRuleList):
3146         (WebCore::StaticCSSRuleList::deref):
3147         (WebCore::StaticCSSRuleList::item):        
3148         * css/CSSRuleList.h:
3149         (CSSRuleList):
3150
3151             Turn CSSRuleList into abstract interface.
3152                     
3153         (StaticCSSRuleList):
3154         (WebCore::StaticCSSRuleList::create):
3155         (WebCore::StaticCSSRuleList::ref):
3156         (WebCore::StaticCSSRuleList::rules):
3157         (WebCore::StaticCSSRuleList::styleSheet):
3158         (WebCore::StaticCSSRuleList::length):
3159         
3160             Concrete implementation for fixed list of rules.
3161     
3162         (WebCore):
3163         (LiveCSSRuleList):
3164         (WebCore::LiveCSSRuleList::LiveCSSRuleList):
3165         (WebCore::LiveCSSRuleList::ref):
3166         (WebCore::LiveCSSRuleList::deref):
3167         (WebCore::LiveCSSRuleList::length):
3168         (WebCore::LiveCSSRuleList::item):
3169         (WebCore::LiveCSSRuleList::styleSheet):
3170         
3171             Concrete implemenation for live list backed by the underlying container rule.
3172             LiveCSSRuleList is owned by the underlying rule. Refcount is forwarded. 
3173         
3174         * css/CSSStyleSelector.cpp:
3175         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
3176         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3177         * css/CSSStyleSelector.h:
3178         (CSSStyleSelector):
3179         * css/CSSStyleSheet.cpp:
3180         
3181             The same scheme for CSSStyleSheet.cssRule as with container rules.
3182         
3183         (StyleSheetCSSRuleList):
3184         (WebCore::StyleSheetCSSRuleList::StyleSheetCSSRuleList):
3185         (WebCore::StyleSheetCSSRuleList::ref):
3186         (WebCore::StyleSheetCSSRuleList::deref):
3187         (WebCore::StyleSheetCSSRuleList::length):
3188         (WebCore::StyleSheetCSSRuleList::item):
3189         (WebCore::StyleSheetCSSRuleList::styleSheet):
3190         (WebCore):
3191         (WebCore::CSSStyleSheet::rules):
3192         (WebCore::CSSStyleSheet::cssRules):
3193         * css/CSSStyleSheet.h:
3194         (CSSStyleSheet):
3195         * css/WebKitCSSKeyframesRule.cpp:
3196         (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
3197         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
3198         (WebCore):
3199         (WebCore::WebKitCSSKeyframesRule::append):
3200         (WebCore::WebKitCSSKeyframesRule::deleteRule):
3201         (WebCore::WebKitCSSKeyframesRule::findRule):
3202         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
3203         (WebCore::WebKitCSSKeyframesRule::cssText):
3204         (WebCore::WebKitCSSKeyframesRule::cssRules):
3205         * css/WebKitCSSKeyframesRule.h:
3206         (WebKitCSSKeyframesRule):
3207         (WebCore::WebKitCSSKeyframesRule::ruleCount):
3208         (WebCore::WebKitCSSKeyframesRule::ruleAt):
3209         (WebCore::WebKitCSSKeyframesRule::length):
3210         (WebCore::WebKitCSSKeyframesRule::item):
3211         * css/WebKitCSSRegionRule.cpp:
3212         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
3213         (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
3214         (WebCore::WebKitCSSRegionRule::cssText):
3215         (WebCore::WebKitCSSRegionRule::cssRules):
3216         * css/WebKitCSSRegionRule.h:
3217         * inspector/InspectorStyleSheet.cpp:
3218         (WebCore::asCSSRuleList):
3219         (WebCore::InspectorStyleSheet::addRule):
3220         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3221
3222 2012-03-25  Kentaro Hara  <haraken@chromium.org>
3223
3224         Remove duplicated GenerateConditionalString() from code generators
3225         https://bugs.webkit.org/show_bug.cgi?id=82148
3226
3227         Reviewed by Adam Barth.
3228
3229         Previously GenerateConditionalString()s were defined in each code generator,
3230         and they were doing the same thing. This patch puts GenerateConditionalString()
3231         in CodeGenerator.pm and removes duplicated GenerateConditionalString()s.
3232
3233         No tests. No change in the generated code.
3234
3235         * bindings/scripts/CodeGenerator.pm:
3236         (GenerateConditionalString):
3237         * bindings/scripts/CodeGeneratorCPP.pm:
3238         (GenerateHeader):
3239         (GenerateImplementation):
3240         * bindings/scripts/CodeGeneratorGObject.pm:
3241         (GenerateProperty):
3242         (GenerateProperties):
3243         (GenerateFunction):
3244         (WriteData):
3245         * bindings/scripts/CodeGeneratorJS.pm:
3246         (GenerateHeaderContentHeader):
3247         (GenerateImplementationContentHeader):
3248         (GenerateHeader):
3249         (GenerateImplementation):
3250         (GenerateCallbackHeader):
3251         (GenerateCallbackImplementation):
3252         * bindings/scripts/CodeGeneratorObjC.pm:
3253         (GenerateHeader):
3254         (GenerateImplementation):
3255         * bindings/scripts/CodeGeneratorV8.pm:
3256         (GenerateHeader):
3257         (GenerateNormalAttrGetter):
3258         (GenerateNormalAttrSetter):
3259         (GenerateOverloadedFunctionCallback):
3260         (GenerateFunctionCallback):
3261         (GenerateBatchedAttributeData):
3262         (GenerateImplementation):
3263         (GenerateHeaderContentHeader):
3264         (GenerateImplementationContentHeader):
3265         (GenerateCallbackHeader):
3266         (GenerateCallbackImplementation):
3267
3268 2012-03-25  Kentaro Hara  <haraken@chromium.org>
3269
3270         Move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*, and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*
3271         https://bugs.webkit.org/show_bug.cgi?id=82146
3272
3273         Reviewed by Adam Barth.
3274
3275         Now SQLDatabase is renamed to WebDatabase (See Modules/webdatabase/).
3276         We should move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*,
3277         and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*.
3278         We'll rename the SQL_DATABASE flag to the WEB_DATABASE flag in a follow-up patch.
3279
3280         No tests. No change in behavior.
3281
3282         * Modules/webdatabase/DOMWindowWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.cpp.
3283         (WebCore):
3284         (WebCore::DOMWindowWebDatabase::openDatabase):
3285         * Modules/webdatabase/DOMWindowWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.h.
3286         (WebCore):
3287         (DOMWindowWebDatabase):
3288         (WebCore::DOMWindowWebDatabase::DOMWindowWebDatabase):
3289         (WebCore::DOMWindowWebDatabase::~DOMWindowWebDatabase):
3290         * Modules/webdatabase/DOMWindowWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.idl.
3291         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.cpp.
3292         (WebCore):
3293         (WebCore::WorkerContextWebDatabase::openDatabase):
3294         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
3295         * Modules/webdatabase/WorkerContextWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.h.
3296         (WebCore):
3297         (WorkerContextWebDatabase):
3298         (WebCore::WorkerContextWebDatabase::WorkerContextWebDatabase):
3299         (WebCore::WorkerContextWebDatabase::~WorkerContextWebDatabase):
3300         * Modules/webdatabase/WorkerContextWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.idl.
3301
3302         * DerivedSources.make:
3303         * DerivedSources.pri:
3304         * GNUmakefile.list.am:
3305         * Target.pri:
3306         * WebCore.gypi:
3307         * WebCore.vcproj/WebCore.vcproj:
3308         * WebCore.xcodeproj/project.pbxproj:
3309
3310 2012-03-25  Philip Rogers  <pdr@google.com>
3311
3312         Avoid race condition when iterating over pending resources
3313         https://bugs.webkit.org/show_bug.cgi?id=82115
3314
3315         Reviewed by Nikolas Zimmermann.
3316
3317         We can hit a race condition in SVGStyledElement::buildPendingResourcesIfNeeded
3318         where pending elements can become non-pending while we iterate over them.
3319
3320         This patch cleans up buildPendingResourcesIfNeeded and re-works how pending
3321         resources are removed. Because pending resources can be modified while
3322         iterating over them, we introduce m_pendingResourcesForRemoval that
3323         holds pending resources that are marked for removal. Instead of iterating
3324         over this list we simply remove each pending resource from
3325         m_pendingResourcesForRemoval; if a pending resource is modified or removed
3326         during the processing of another pending resource this list is updated before
3327         the next element can be accessed.
3328
3329         This change also removes removePendingResourceForElement which is no longer
3330         referenced.
3331
3332         Test: http/tests/svg/change-id-with-pending-resources.html
3333
3334         * svg/SVGDocumentExtensions.cpp:
3335         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
3336         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
3337         (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
3338         (WebCore):
3339         (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
3340         (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
3341         * svg/SVGDocumentExtensions.h:
3342         (SVGDocumentExtensions):
3343         * svg/SVGStyledElement.cpp:
3344         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
3345
3346 2012-03-25  Arvid Nilsson  <anilsson@rim.com>
3347
3348         [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
3349         https://bugs.webkit.org/show_bug.cgi?id=82104
3350         RIM PR: 145963
3351
3352         Reviewed by Rob Buis.
3353
3354         The embedder may use vertex buffers, which affected the interpretation
3355         our vertex array pointers from memory pointers to offsets into a vertex
3356         buffer. The resulting geometry often resulted in no visible layers on
3357         screen.
3358
3359         Fixed by getting rid of any bound buffer when we enter
3360         LayerRenderer::drawLayers().
3361
3362         * platform/graphics/blackberry/LayerRenderer.cpp:
3363         (WebCore::LayerRenderer::drawLayers):
3364
3365 2012-03-24  Nat Duca  <nduca@chromium.org>
3366
3367         [chromium] Instrument gesture animations with async traces
3368         https://bugs.webkit.org/show_bug.cgi?id=82076
3369
3370         Reviewed by Adrienne Walker.
3371
3372         * platform/ActivePlatformGestureAnimation.cpp:
3373         (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
3374         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
3375         * platform/PlatformGestureCurve.h:
3376         (PlatformGestureCurve):
3377         * platform/TouchpadFlingPlatformGestureCurve.h:
3378         (WebCore::TouchpadFlingPlatformGestureCurve::debugName):
3379         * platform/WheelFlingPlatformGestureCurve.h:
3380         (WebCore::WheelFlingPlatformGestureCurve::debugName):
3381         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
3382         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
3383         (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
3384         * platform/graphics/chromium/cc/CCGestureCurve.h:
3385         (CCGestureCurve):
3386
3387 2012-03-24  Jeffrey Pfau  <jpfau@apple.com>
3388
3389         XML error document creation should not fire mutation events
3390         https://bugs.webkit.org/show_bug.cgi?id=80765
3391
3392         Reviewed by Adam Barth.
3393
3394         Broke two tests that expected the old behavior, which have now been updated.
3395
3396         * xml/XMLErrors.cpp:
3397         (WebCore::createXHTMLParserErrorHeader):
3398         (WebCore::XMLErrors::insertErrorMessageBlock):
3399
3400 2012-03-24  Florin Malita  <fmalita@google.com>
3401
3402         ForeignObject content is zoomed two times
3403         https://bugs.webkit.org/show_bug.cgi?id=76282
3404
3405         Reviewed by Nikolas Zimmermann.
3406
3407         Test: svg/zoom/page/zoom-foreign-content.svg
3408
3409         Reset the effective zoom property for FO-nested content to avoid
3410         having the zoom factor applied multiple times (zooming is handled by
3411         the top level SVG root element).
3412
3413         * css/CSSStyleSelector.cpp:
3414         (WebCore::CSSStyleSelector::adjustRenderStyle):
3415
3416 2012-03-24  Chris Fleizach  <cfleizach@apple.com>
3417
3418         AX: Support solution to handle invalid ax text marker
3419         https://bugs.webkit.org/show_bug.cgi?id=82023
3420
3421         Reviewed by Oliver Hunt.
3422
3423         This provides methods to better use text markers so that assistive technologies
3424         can know when they are valid, and can convert them to and from absolute positions.
3425
3426         Test: platform/mac/accessibility/textmarker-routines.html
3427
3428         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3429         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3430         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
3431         (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
3432         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
3433         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3434
3435 2012-03-24  Victor Carbune  <vcarbune@adobe.com>
3436
3437         Quick fix for rendering controls regression.
3438         https://bugs.webkit.org/show_bug.cgi?id=82125
3439
3440         Reviewed by Eric Carlson.
3441
3442         Only temporary fix. Tests to cover the problem should be added
3443
3444         * html/shadow/MediaControlElements.cpp:
3445         (WebCore::MediaControlPanelElement::makeOpaque): The display:none
3446         property should be toggled only by the media element now.
3447         (WebCore::MediaControlPanelElement::makeTransparent): The timer
3448         that toggles the dispalay:none shouldn't be used now.
3449
3450 2012-03-24  Kevin Ollivier  <kevino@theolliviers.com>
3451
3452         [wx] Unreviewed. Add header needed for compilation.
3453
3454         * html/shadow/TextFieldDecorationElement.cpp:
3455
3456 2012-03-24  Abhishek Arya  <inferno@chromium.org>
3457
3458         Crash in ApplyStyleCommand::applyInlineStyleToNodeRange.
3459         https://bugs.webkit.org/show_bug.cgi?id=81959
3460