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