https://bugs.webkit.org/show_bug.cgi?id=81893
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
2
3         https://bugs.webkit.org/show_bug.cgi?id=81893
4         Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
5
6         Reviewed by Kentaro Hara.
7
8         Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
9         To remove the custom bindings code.
10
11         Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
12
13         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
14         (WebCore::JSScriptProfileNode::callUID):
15         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
16         (WebCore):
17         * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
18
19 2012-03-22  Andrey Kosyakov  <caseq@chromium.org>
20
21         Web Inspector: only update timeline overview categories strips when these are visible
22         https://bugs.webkit.org/show_bug.cgi?id=81903
23
24         Reviewed by Pavel Feldman.
25
26         - factor out category strips update into a separate method;
27         - only invoke it when "Timeline" overview mode is selected.
28
29         * inspector/front-end/TimelineOverviewPane.js:
30         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
31         (WebInspector.TimelineOverviewPane.prototype.update):
32         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
33
34 2012-03-22  Levi Weintraub  <leviw@chromium.org>
35
36         Update LayoutUnit usage in FrameSelection
37         https://bugs.webkit.org/show_bug.cgi?id=81754
38
39         Reviewed by Eric Seidel.
40
41         FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
42         we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
43         will still be used when these coordinates are passed down and used locally.
44
45         No new tests. No change in behavior.
46
47         * editing/FrameSelection.cpp:
48         (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
49         (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
50         modification. Sub-pixel precision will be used when these values are converted to local ones.
51         (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
52         (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
53         (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
54         Reverting the values to ints.
55         (WebCore::FrameSelection::recomputeCaretRect): Ditto.
56         * editing/FrameSelection.h:
57         (FrameSelection):
58         * editing/mac/FrameSelectionMac.mm:
59         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
60         coordinates as integers.
61
62 2012-03-22  Alexei Filippov  <alexeif@chromium.org>
63
64         Web Inspector: Speed up the build retainers phase.
65         https://bugs.webkit.org/show_bug.cgi?id=81763
66
67         Replacing the edge iterator with a raw loop makes it
68         faster by more than 10 times.
69
70         Reviewed by Yury Semikhatsky.
71
72         * inspector/front-end/HeapSnapshot.js:
73         (WebInspector.HeapSnapshot.prototype._buildRetainers):
74
75 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
76
77         [Qt][WK2] The background appears to have one extra pixel from the contents
78         https://bugs.webkit.org/show_bug.cgi?id=81830
79
80         Reviewed by Kenneth Rohde Christiansen.
81
82         TextureMapperGL applied a 1-offset that was covering for another bug,
83         which was already fixed.
84
85         No new tests, this would be tested once we test GL rendering results.
86
87         * platform/graphics/texmap/TextureMapperGL.cpp:
88         (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
89
90 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
91
92         Rename touchpad fling curve, add curve parameters to constructor.
93         https://bugs.webkit.org/show_bug.cgi?id=81820
94
95         Reviewed by Adrienne Walker.
96
97         Covered by existing unit tests.
98
99         * GNUmakefile.list.am:
100         * WebCore.gypi:
101         * platform/ScrollAnimatorNone.cpp:
102         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
103         * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
104         (WebCore):
105         (WebCore::TouchpadFlingPlatformGestureCurve::create):
106         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
107         (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
108         (WebCore::TouchpadFlingPlatformGestureCurve::apply):
109         * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
110         (WebCore):
111         (TouchpadFlingPlatformGestureCurve):
112
113 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
114
115         Web Inspector: make CSS and JavaScript files editable by default.
116         https://bugs.webkit.org/show_bug.cgi?id=81787
117
118         Reviewed by Vsevolod Vlasov.
119
120         This change removes cancelEditing and setReadOnly capabilities from source frame.
121         It removes dblclick handler as well since one does not need to enter editing mode.
122         It also establishes proper content dispatching so that views are updated with the
123         resource content. All these are inter-dependent, need to be landed simultaneously.
124         Drive-by follow up to the r111675 where range is modified prior to the exiting
125         edit mode.
126
127         * inspector/front-end/JavaScriptSourceFrame.js:
128         (WebInspector.JavaScriptSourceFrame):
129         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
130         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
131         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
132         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
133         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
134         * inspector/front-end/ResourceView.js:
135         (WebInspector.ResourceSourceFrame):
136         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
137         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
138         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
139         (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
140         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
141         (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
142         * inspector/front-end/ResourcesPanel.js:
143         (WebInspector.ResourcesPanel.prototype._innerShowView):
144         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
145         * inspector/front-end/ScriptsPanel.js:
146         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
147         * inspector/front-end/Settings.js:
148         (WebInspector.ExperimentsSettings):
149         * inspector/front-end/SourceFrame.js:
150         (WebInspector.SourceFrame):
151         (WebInspector.SourceFrame.prototype.wasShown):
152         (WebInspector.SourceFrame.prototype.willHide):
153         (WebInspector.SourceFrame.prototype.beforeTextChanged):
154         (WebInspector.SourceFrame.prototype.setContent):
155         (WebInspector.SourceFrame.prototype.commitEditing):
156         (WebInspector.SourceFrame.prototype.didEditContent):
157         (WebInspector.SourceFrame.prototype.editContent):
158         * inspector/front-end/TextPrompt.js:
159         (WebInspector.TextPrompt.prototype._startEditing):
160         (WebInspector.TextPrompt.prototype._stopEditing):
161         * inspector/front-end/TextViewer.js:
162         (WebInspector.TextViewer):
163         (WebInspector.TextViewer.prototype._registerShortcuts):
164         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
165
166 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
167
168         [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
169         https://bugs.webkit.org/show_bug.cgi?id=81889
170
171         Reviewed by Kenneth Rohde Christiansen.
172
173         On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
174
175         * rendering/RenderObject.cpp:
176         (WebCore::RenderObject::styleWillChange):
177
178 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
179
180         Web Inspector: dispatch styleSheetChanged event synchronously.
181         https://bugs.webkit.org/show_bug.cgi?id=81892
182
183         Reviewed by Vsevolod Vlasov.
184
185         Today, backend generates stylesheet change event synchronously from within set* command.
186         But CSSStyleModel defers its dispatching until the stylesheet content is available. This
187         prevents us from ignoring update events from within commands that initiated those updates.
188
189         This change makes stylesheet change event dispatch synchronously and delegates stylesheet
190         content fetching to the event client.
191
192         * inspector/front-end/CSSStyleModel.js:
193         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
194         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
195         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
196         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
197         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
198         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
199         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
200         (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
201
202 2012-03-21  Ian Vollick  <vollick@chromium.org>
203
204         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
205         https://bugs.webkit.org/show_bug.cgi?id=81692
206
207         Reviewed by Adrienne Walker.
208
209         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
210
211         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
212
213 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
214
215         Web Inspector: allow on-hover popover while in edit mode.
216         https://bugs.webkit.org/show_bug.cgi?id=81898
217
218         Reviewed by Vsevolod Vlasov.
219
220         This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
221         concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
222
223         * inspector/front-end/DetailedHeapshotView.js:
224         * inspector/front-end/ElementsPanel.js:
225         * inspector/front-end/JavaScriptSourceFrame.js:
226         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
227         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
228         (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
229         * inspector/front-end/NetworkPanel.js:
230         * inspector/front-end/ObjectPopoverHelper.js:
231         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
232         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
233         * inspector/front-end/Popover.js:
234         (WebInspector.PopoverHelper.prototype.isPopoverVisible):
235         * inspector/front-end/TimelinePanel.js:
236
237 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
238
239         Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
240         https://bugs.webkit.org/show_bug.cgi?id=81896
241
242         Reviewed by Vsevolod Vlasov.
243
244         There is a bug that collapses selection prior to exiting change mode, we should never
245         collapse edit area prior committing.
246
247         * inspector/front-end/TextEditorModel.js:
248         (WebInspector.TextEditorModel.endsWithBracketRegex.):
249         * inspector/front-end/TextViewer.js:
250         (WebInspector.TextViewer):
251         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
252         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
253         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
254
255 2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
256
257         Merge SVGImageBufferTools to SVGRenderingContext
258         https://bugs.webkit.org/show_bug.cgi?id=81890
259
260         Reviewed by Nikolas Zimmermann.
261
262         Copy the code to SVGRenderingContext and delete
263         SVGImageBufferTools[.cpp.h]. Update build systems,
264         no functionality change. This is the first step
265         towards making SVGImageBufferTools stageful.
266
267         Existing tests cover this issue.
268
269         * CMakeLists.txt:
270         * GNUmakefile.list.am:
271         * Target.pri:
272         * WebCore.gypi:
273         * WebCore.xcodeproj/project.pbxproj:
274         * platform/graphics/filters/FETile.cpp:
275         (WebCore::FETile::platformApplySoftware):
276         * rendering/svg/RenderSVGAllInOne.cpp:
277         * rendering/svg/RenderSVGInlineText.cpp:
278         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
279         * rendering/svg/RenderSVGResourceClipper.cpp:
280         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
281         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
282         * rendering/svg/RenderSVGResourceFilter.cpp:
283         (WebCore::RenderSVGResourceFilter::applyResource):
284         * rendering/svg/RenderSVGResourceGradient.cpp:
285         (WebCore::createMaskAndSwapContextForTextGradient):
286         (WebCore::clipToTextMask):
287         * rendering/svg/RenderSVGResourceMasker.cpp:
288         (WebCore::RenderSVGResourceMasker::applyResource):
289         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
290         * rendering/svg/RenderSVGResourcePattern.cpp:
291         (WebCore::RenderSVGResourcePattern::applyResource):
292         (WebCore::RenderSVGResourcePattern::createTileImage):
293         * rendering/svg/SVGImageBufferTools.cpp: Removed.
294         * rendering/svg/SVGImageBufferTools.h: Removed.
295         * rendering/svg/SVGInlineTextBox.cpp:
296         * rendering/svg/SVGRenderingContext.cpp:
297         (WebCore::currentContentTransformation):
298         (WebCore):
299         (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
300         (WebCore::SVGRenderingContext::createImageBuffer):
301         (WebCore::SVGRenderingContext::createImageBufferForPattern):
302         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
303         (WebCore::SVGRenderingContext::clipToImageBuffer):
304         (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
305         (WebCore::SVGRenderingContext::clampedAbsoluteSize):
306         (WebCore::SVGRenderingContext::clear2DRotation):
307         * rendering/svg/SVGRenderingContext.h:
308         (SVGRenderingContext):
309         (WebCore::SVGRenderingContext::calculateImageBufferRect):
310         * svg/graphics/filters/SVGFEImage.cpp:
311         (WebCore::FEImage::platformApplySoftware):
312
313 2012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
314
315         [EFL] Add PageClientEfl to WebCoreSupport.
316         https://bugs.webkit.org/show_bug.cgi?id=80748
317
318         Reviewed by Noam Rosenthal.
319
320         * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
321         (WebCore):
322         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
323         (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
324         * plugins/efl/PluginViewEfl.cpp:
325         (WebCore::PluginView::platformGetValue): Use PageClientEfl.
326
327 2012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
328
329         blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
330         https://bugs.webkit.org/show_bug.cgi?id=81102
331
332         Reviewed by Hajime Morita.
333
334         This implementation will support blur for a focused element when its shadowHost's blur() is called.
335         To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.
336
337         Test: fast/dom/shadow/shadow-root-blur.html
338
339         * dom/Element.cpp:
340         (WebCore::Element::blur): Modified to blur current treeScope's focused node.
341         * dom/ShadowRoot.h:
342         (WebCore::ShadowRoot::activeElement): Rework for code sharing.
343         * dom/TreeScope.cpp:
344         (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
345         * dom/TreeScope.h:
346         (TreeScope): New function declartion.
347         * html/HTMLDocument.cpp:
348         (WebCore::HTMLDocument::activeElement): Rework for code sharing.
349
350 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
351
352         Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
353         https://bugs.webkit.org/show_bug.cgi?id=81894
354
355         RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
356         are just remains of older implementation. This patch switches RawSourceCode
357         and SourceMappings from uiSourceCodeList to uiSourceCode.
358
359         Reviewed by Pavel Feldman.
360
361         * inspector/front-end/RawSourceCode.js:
362         (WebInspector.RawSourceCode.prototype.uiSourceCode):
363         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
364         (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
365         (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
366         (WebInspector.RawSourceCode.PlainSourceMapping):
367         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
368         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
369         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
370         (WebInspector.RawSourceCode.FormattedSourceMapping):
371         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
372         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
373         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
374         * inspector/front-end/ResourceScriptMapping.js:
375         (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
376         (WebInspector.ResourceScriptMapping.prototype.addScript):
377         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
378         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
379         (WebInspector.ResourceScriptMapping.prototype.reset):
380
381 2012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>
382
383         [GTK] Fix the only remaining coding style issue in GTK accessibility code
384         https://bugs.webkit.org/show_bug.cgi?id=81885
385
386         Reviewed by Xan Lopez.
387
388         Add needed extra line and remove an unneeded one.
389
390         * accessibility/gtk/AccessibilityObjectAtk.cpp:
391
392 2012-03-22  Kent Tamura  <tkent@chromium.org>
393
394         Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
395         https://bugs.webkit.org/show_bug.cgi?id=81866
396
397         Reviewed by Hajime Morita.
398
399         We need to expand the controlClipRect because the existing shadow
400         tree of a text field can be wrapped by another shadow tree. e.g.
401
402         A current situation:
403
404         <input>
405           ┗ ShadowRoot
406              ┗ container element
407         ┌────────────┐<input>'s border box
408         │┌──────────┐│
409         ││container box       ││
410         │└──────────┘│
411         └────────────┘
412
413         Wrapped by another ShadowRoot:
414
415         <input>
416           ┗ New ShadowRoot
417              ┣ <shadow> represents the existing shadow tree
418              ┃  ┗ container element
419              ┗ D: an additional decoration element
420         ┌────────────┐<input>'s border box
421         │┌───────┬──┐│
422         ││container box │ D  ││
423         │└───────┴──┘│
424         └────────────┘
425         In this case, if we clip child renderers by container box, D is not
426         drawn. We should clip by the content box of the <input>.
427
428         A search field has an exceptional behavior. It can have the container
429         box of which height is taller than the content box height. The
430         controlClipRect should contain both of the container box and the content
431         box in this case. In other cases, the container box is equivalent to the
432         content box. So the code always unites them.
433
434         No new tests. This won't make any behavior change for now.
435
436         * rendering/RenderTextControlSingleLine.cpp:
437         (WebCore::RenderTextControlSingleLine::controlClipRect):
438
439 2012-03-22  Yoshifumi Inoue  <yosin@chromium.org>
440
441         [Forms] The option element should not be form associated element.
442         https://bugs.webkit.org/show_bug.cgi?id=79764
443
444         Reviewed by Kent Tamura.
445
446         This patch changes base class of HTMLOptionELement to HTMLElement
447         from HTMLFormControlElement for saving memory space and iteration
448         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
449         and matching the HTML5 specification for ease of maintenance.
450
451         This patch changes behavior of handling of CSS pseudo classes "invalid"
452         and "valid". The "option" elements no longer use these CSS pseudo classes
453         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
454
455         Changes of TextIterator is lead by usage of isFormControlElement. This
456         changes will be replaced with more meaningful predicate as part of
457         https://bugs.webkit.org/show_bug.cgi?id=80381
458
459         No new tests but updated select-live-pseudo-selectors.html test.
460
461         * css/CSSStyleSelector.cpp:
462         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
463         * css/SelectorChecker.cpp:
464         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
465         * html/HTMLKeygenElement.cpp:
466         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
467         * html/HTMLOptionElement.cpp:
468         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
469         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
470         (WebCore::HTMLOptionElement::attach): Changeid base class.
471         (WebCore::HTMLOptionElement::detach): Changed base class.
472         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
473         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
474         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
475         * html/HTMLOptionElement.h:
476         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
477         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
478         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
479
480 2012-03-21  Pavel Podivilov  <podivilov@chromium.org>
481
482         Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
483         https://bugs.webkit.org/show_bug.cgi?id=81780
484
485         Reviewed by Pavel Feldman.
486
487         * WebCore.gypi:
488         * WebCore.vcproj/WebCore.vcproj:
489         * inspector/compile-front-end.py:
490         * inspector/front-end/CompilerScriptMapping.js:
491         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
492         (WebInspector.SourceMapParserPayload):
493         (WebInspector.SourceMapParser):
494         (WebInspector.SourceMapParser.prototype.load):
495         (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
496         (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
497         (WebInspector.SourceMapParser.prototype.sources):
498         (WebInspector.SourceMapParser.prototype.loadSourceCode):
499         (WebInspector.SourceMapParser.prototype._findMapping):
500         (WebInspector.SourceMapParser.prototype._parseMappingPayload):
501         (WebInspector.SourceMapParser.prototype._parseSections):
502         (WebInspector.SourceMapParser.prototype._parseMap):
503         (WebInspector.SourceMapParser.prototype._isSeparator):
504         (WebInspector.SourceMapParser.prototype._decodeVLQ):
505         (WebInspector.SourceMapParser.prototype._canonicalizeURL):
506         (WebInspector.SourceMapParser.StringCharIterator):
507         (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
508         (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
509         (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
510         * inspector/front-end/CompilerSourceMapping.js: Removed.
511         * inspector/front-end/WebKit.qrc:
512         * inspector/front-end/inspector.html:
513
514 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
515
516         Web Inspector: IndexedDB transaction is not closed when requesting data.
517         https://bugs.webkit.org/show_bug.cgi?id=81837
518
519         Reviewed by Pavel Feldman.
520
521         * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
522         (WebCore):
523
524 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
525
526         Web Inspector: event listeners section is broken for about:blank page
527         https://bugs.webkit.org/show_bug.cgi?id=81795
528
529         Parse about:blank as a valid URL.
530
531         Reviewed by Pavel Feldman.
532
533         Test: inspector/elements/event-listeners-about-blank.html
534
535         * inspector/front-end/utilities.js:
536         (String.prototype.asParsedURL):
537
538 2012-03-21  Dan Bernstein  <mitz@apple.com>
539
540         REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
541         https://bugs.webkit.org/show_bug.cgi?id=81870
542
543         Reverted r111635, the fix for bug 81843.
544
545         * rendering/RenderFlexibleBox.cpp:
546         (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
547         (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
548         (RenderFlexibleBox::WrapReverseContext):
549         (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
550         (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
551         (WebCore::RenderFlexibleBox::layoutFlexItems):
552         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
553         (WebCore::RenderFlexibleBox::alignChildren):
554         (WebCore::RenderFlexibleBox::flipForWrapReverse):
555         * rendering/RenderFlexibleBox.h:
556
557 2012-03-21  Emil A Eklund  <eae@chromium.org>
558
559         Unreviewed change touching CustomFilterProgram.h to try
560         to force the chromium-win bots to rebuilt it and pick up
561         on the fact that CSS_SHADERS is not set (since r111610). 
562
563         * platform/graphics/filters/CustomFilterProgram.h:
564
565 2012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>
566
567         [chromium] FPS counter causes garbage to be displayed at top left corner
568         https://bugs.webkit.org/show_bug.cgi?id=81851
569
570         The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
571         no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
572         This patch does an explicit clearRect before the HUD contents are painted.
573
574         Reviewed by Adrienne Walker.
575
576         TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.
577
578         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
579         (WebCore::CCHeadsUpDisplay::draw):
580
581 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
582
583         Touch a file to make Chromium Windows bots happy.
584
585         * css/CSSValueKeywords.in:
586
587 2012-03-19  Igor Oliveira  <igor.o@sisa.samsung.com>
588
589         Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
590         https://bugs.webkit.org/show_bug.cgi?id=38025
591
592         Implement updateAnimationTimerForRender. This reduces unnecessary animation
593         steps on the current RenderObject by checking the value of timeToNextService
594         before starting a new timer.
595
596         Reviewed by Dean Jackson.
597
598         Test: animations/animation-welcome-safari.html
599
600         * page/animation/AnimationController.cpp:
601         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
602         (WebCore):
603         (WebCore::AnimationController::updateAnimations):
604         * page/animation/AnimationControllerPrivate.h:
605         (AnimationControllerPrivate):
606
607 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
608
609         Unreviewed, rolling out r111616.
610         http://trac.webkit.org/changeset/111616
611         https://bugs.webkit.org/show_bug.cgi?id=81862
612
613         broke chromium mac (Requested by eae on #webkit).
614
615         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
616         (WebCore::CCLayerImpl::appendQuads):
617         * platform/graphics/chromium/cc/CCLayerImpl.h:
618         (CCLayerImpl):
619         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
620         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
621         (WebCore::CCLayerTreeHostImpl::drawLayers):
622         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
623         (CCLayerTreeHostImpl):
624         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
625         (WebCore::CCQuadCuller::append):
626         * platform/graphics/chromium/cc/CCQuadCuller.h:
627         (CCQuadCuller):
628         * platform/graphics/chromium/cc/CCRenderPass.cpp:
629         (WebCore::CCRenderPass::appendQuadsForLayer):
630         * platform/graphics/chromium/cc/CCRenderPass.h:
631         (CCRenderPass):
632         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
633         (WebCore::CCScrollbarLayerImpl::appendQuads):
634         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
635         (CCScrollbarLayerImpl):
636         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
637         (WebCore::CCSingleThreadProxy::doComposite):
638         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
639         (WebCore::CCSolidColorLayerImpl::appendQuads):
640         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
641         (CCSolidColorLayerImpl):
642         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
643         (WebCore::CCTextureLayerImpl::appendQuads):
644         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
645         (CCTextureLayerImpl):
646         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
647         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
648         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
649         (WebCore::CCTiledLayerImpl::appendQuads):
650         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
651         (CCTiledLayerImpl):
652         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
653         (WebCore::CCVideoLayerImpl::appendQuads):
654         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
655         (CCVideoLayerImpl):
656
657 2012-03-21  Beth Dakin  <bdakin@apple.com>
658
659         https://bugs.webkit.org/show_bug.cgi?id=80322
660         Implement image-set
661
662         Reviewed by Dean Jackson.
663
664         This initial implementation of -webkit-image-set. 
665         http://lists.w3.org/Archives/Public/www-style/2012Feb/1103.html
666         The idea behind the feature is to allow authors to provide multiple variants 
667         of the same image at differing resolutions, and to allow the User Agent to 
668         choose the resource that is most appropriate at the time. This patch will 
669         choose the most appropriate image based on device scale factor.
670
671         CSSImageSetValue inherits from CSSValueList and behaves a lot like 
672         CSSImageValue.
673         * WebCore.xcodeproj/project.pbxproj:
674         * css/CSSImageSetValue.h: Added.
675         (WebCore):
676         (CSSImageSetValue):
677         (WebCore::CSSImageSetValue::create):
678         (WebCore::CSSImageSetValue::isPending):
679         (ImageWithScale):
680         (WebCore::CSSImageSetValue::compareByScaleFactor):
681         * css/CSSImageSetValue.cpp: Added.
682         (WebCore):
683         (WebCore::CSSImageSetValue::CSSImageSetValue):
684         (WebCore::CSSImageSetValue::~CSSImageSetValue):
685         (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
686         (WebCore::CSSImageSetValue::customCssText):
687
688         fillImageSet() iterates through the value list and turns the information into 
689         a sorted Vector of ImageWithScales (which is a struct containing image URLs 
690         and scale factors).
691         (WebCore::CSSImageSetValue::fillImageSet):
692
693         cachedImageSet() finds which image is most appropriate based on the device 
694         scale factor, and it loads only that image. In the future, additional scale 
695         factors will be taken into account.
696         (WebCore::CSSImageSetValue::bestImageForScaleFactor):
697         (WebCore::CSSImageSetValue::cachedImageSet):
698
699         parseImageSet() is called everywhere in the CSSParser that a regular image or 
700         generated image can be found.
701         * css/CSSParser.cpp:
702         (WebCore::CSSParser::parseValue):
703         (WebCore::CSSParser::parseContent):
704         (WebCore::CSSParser::parseFillImage):
705         (WebCore::CSSParser::parseBorderImage):
706         (WebCore):
707         (WebCore::CSSParser::parseImageSet):
708         * css/CSSParser.h:
709
710         Since CSSImageSetValue is implemented as a value list, 
711         ApplyPropertyFillLayer::applyValue() needs to be more specific when it's 
712         looking for a list of multiple URLs.
713         * css/CSSStyleApplyProperty.cpp:
714         (WebCore::ApplyPropertyFillLayer::applyValue):
715
716         Handle image-set as a valid image value.
717         * css/CSSStyleSelector.cpp:
718         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
719         * css/CSSStyleSelector.h:
720         (CSSStyleSelector):
721         * css/CSSValue.cpp:
722         (WebCore::CSSValue::cssText):
723         (WebCore::CSSValue::destroy):
724         * css/CSSValue.h:
725         (CSSValue):
726         (WebCore::CSSValue::isImageSetValue):
727
728         computeIntrinsicDimensions() now takes an optional scaleFactor parameter that represents the author-enforced "intrinsic" scale factor of the image.
729         * loader/cache/CachedImage.cpp:
730         (WebCore::CachedImage::computeIntrinsicDimensions):
731         * loader/cache/CachedImage.h:
732         (CachedImage):
733         * platform/graphics/GeneratedImage.h:
734         (GeneratedImage):
735         * platform/graphics/GeneratorGeneratedImage.cpp:
736         (WebCore::GeneratedImage::computeIntrinsicDimensions):
737         * platform/graphics/Image.cpp:
738         (WebCore::Image::computeIntrinsicDimensions):
739         * platform/graphics/Image.h:
740         (Image):
741         * platform/graphics/cg/PDFDocumentImage.cpp:
742         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
743         * platform/graphics/cg/PDFDocumentImage.h:
744         (PDFDocumentImage):
745         * svg/graphics/SVGImage.cpp:
746         (WebCore::SVGImage::computeIntrinsicDimensions):
747         * svg/graphics/SVGImage.h:
748         (SVGImage):
749
750         Inherits from StyleImage and returns a scaled size for imageSize() and 
751         computeIntrinsicDimensions().
752         * rendering/style/StyleCachedImageSet.cpp: Added.
753         (WebCore):
754         (WebCore::StyleCachedImageSet::StyleCachedImageSet):
755         (WebCore::StyleCachedImageSet::cssValue):
756         (WebCore::StyleCachedImageSet::canRender):
757         (WebCore::StyleCachedImageSet::isLoaded):
758         (WebCore::StyleCachedImageSet::errorOccurred):
759         (WebCore::StyleCachedImageSet::imageSize):
760         (WebCore::StyleCachedImageSet::imageHasRelativeWidth):
761         (WebCore::StyleCachedImageSet::imageHasRelativeHeight):
762         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
763         (WebCore::StyleCachedImageSet::usesImageContainerSize):
764         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
765         (WebCore::StyleCachedImageSet::addClient):
766         (WebCore::StyleCachedImageSet::removeClient):
767         (WebCore::StyleCachedImageSet::image):
768         * rendering/style/StyleCachedImageSet.h: Added.
769         (WebCore):
770         (StyleCachedImageSet):
771         (WebCore::StyleCachedImageSet::create):
772         (WebCore::StyleCachedImageSet::data):
773         (WebCore::StyleCachedImageSet::cachedImage):
774
775         Handle image-set.
776         * rendering/style/StyleImage.h:
777         (WebCore::StyleImage::isCachedImageSet):
778         (WebCore::StyleImage::StyleImage):
779         (StyleImage):
780         * rendering/style/StylePendingImage.h:
781         (StylePendingImage):
782         (WebCore::StylePendingImage::cssImageSetValue):
783
784 2012-03-21  David Barton  <dbarton@mathscribe.com>
785
786         MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
787         https://bugs.webkit.org/show_bug.cgi?id=81850
788
789         Reviewed by Eric Seidel.
790
791         This prepares these files for bug fixes, and eventually combining their common code. To
792         understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
793         simpler than RenderMathMLRoot.cpp.
794
795         No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
796
797         * rendering/mathml/RenderMathMLRoot.cpp:
798         (WebCore):
799         (WebCore::RenderMathMLRoot::addChild):
800         (WebCore::RenderMathMLRoot::paint):
801         (WebCore::RenderMathMLRoot::layout):
802         * rendering/mathml/RenderMathMLRoot.h:
803         (WebCore):
804         (RenderMathMLRoot):
805         * rendering/mathml/RenderMathMLSquareRoot.cpp:
806         (WebCore):
807         (WebCore::RenderMathMLSquareRoot::paint):
808         (WebCore::RenderMathMLSquareRoot::layout):
809         * rendering/mathml/RenderMathMLSquareRoot.h:
810         (WebCore):
811         (RenderMathMLSquareRoot):
812         * rendering/mathml/RenderMathMLSubSup.h:
813         (WebCore):
814
815 2012-03-21  Tony Chang  <tony@chromium.org>
816
817         refactor flexbox in preparation for flex-line-pack
818         https://bugs.webkit.org/show_bug.cgi?id=81843
819
820         Reviewed by Ojan Vafai.
821
822         Replace WrapReverseContext with a vector of LineContexts that contain
823         the same information, plus values needed for flex-align.
824
825         alignChildren has been moved to after all the lines have been
826         positioned. We want to align children after flex-line-pack has changed
827         the size of each line to avoid unnecessary layouts.
828
829         No new tests, just refactoring.
830
831         * rendering/RenderFlexibleBox.cpp:
832         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
833         holds information needed for wrap-reverse and aligning children.
834         (RenderFlexibleBox::LineContext):
835         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
836         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
837         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
838         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
839         * rendering/RenderFlexibleBox.h:
840
841 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
842
843         BDI element should have dir=auto by default
844         https://bugs.webkit.org/show_bug.cgi?id=68773
845
846         Reviewed by Daniel Bates.
847
848         Treat bdi elements without dir content attribute as if they have dir=auto per spec:
849         http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element
850
851         The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
852
853         It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
854         selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
855         directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
856         elements can be overridden by dir content attribute, we must change and only change the default value.
857
858         Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
859                fast/text/international/bdi-dir-default-to-auto.html
860
861         * GNUmakefile.list.am:
862         * Target.pri:
863         * WebCore.gypi:
864         * WebCore.vcproj/WebCore.vcproj:
865         * WebCore.xcodeproj/project.pbxproj:
866         * css/CSSStyleSelector.cpp:
867         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
868         * html/HTMLBDIElement.h: Added.
869         (WebCore):
870         (HTMLBDIElement):
871         (WebCore::HTMLBDIElement::create):
872         (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
873         bdi elements are treated as if it has dir=auto by default.
874         * html/HTMLElement.cpp:
875         (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
876         has dir content attribute.
877         (WebCore):
878         (WebCore::setHasDirAutoFlagRecursively):
879         (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
880         as if it has dir=auto (bdi or element with dir=auto).
881         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
882         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
883         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
884         * html/HTMLElement.h:
885         (HTMLElement):
886         * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
887         to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
888
889 2012-03-21  Luke Macpherson  <macpherson@chromium.org>
890
891         Use CSSPrimitiveValue::convertToLength() in a few places.
892         https://bugs.webkit.org/show_bug.cgi?id=81492
893
894         Reviewed by Eric Seidel.
895
896         No new tests - refactoring only.
897
898         CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
899         in many places in CSSStyleSelector. This patch removes some of that code duplication.
900
901         * css/CSSStyleApplyProperty.cpp:
902         (WebCore::ApplyPropertyVerticalAlign::applyValue):
903         * css/CSSStyleSelector.cpp:
904         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
905
906 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
907
908         Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
909
910         * rendering/svg/RenderSVGRoot.cpp:
911
912 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
913
914         Build fix for !ENABLE(INSPECTOR) after r104831.
915
916         * bindings/js/ScriptDebugServer.cpp:
917         (WebCore::ScriptDebugServer::dispatchDidParseSource):
918
919 2012-03-21  Xiaomei Ji  <xji@chromium.org>
920
921         visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
922         https://bugs.webkit.org/show_bug.cgi?id=81408
923
924         Reviewed by Ryosuke Niwa.
925
926         Cache logically ordered leaf boxes under a particular root box.
927         Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
928         clear-ed before use).
929
930         * editing/visible_units.cpp:
931         (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
932         (WebCore::CachedLogicallyOrderedLeafBoxes::size):
933         (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
934         (WebCore):
935         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
936         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
937         (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
938         (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
939         (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
940         (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
941         (WebCore::logicallyNextBox):
942         (WebCore::wordBreakIteratorForMinOffsetBoundary):
943         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
944         (WebCore::visualWordPosition):
945
946 2012-03-21  Dana Jansens  <danakj@chromium.org>
947
948         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
949         https://bugs.webkit.org/show_bug.cgi?id=81437
950
951         Reviewed by Adrienne Walker.
952
953         Split CCLayerTreeHostImpl::drawLayers() into two phases:
954         prepareToDraw() and drawLayers().
955
956         When calculating a RenderPass, and we checkerboard a quad on a
957         layer, bubble this info back up to CCLayerTreeHostImpl. If the
958         layer is transforming in an animation, then abort the prepareToDraw()
959         phase and cause it to return false back to the thread proxy.
960
961         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
962
963         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
964         (WebCore::CCLayerImpl::appendQuads):
965         * platform/graphics/chromium/cc/CCLayerImpl.h:
966         (CCLayerImpl):
967         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
968         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
969         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
970         (WebCore):
971         (WebCore::CCLayerTreeHostImpl::drawLayers):
972         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
973         (CCLayerTreeHostImpl):
974         (FrameData):
975         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
976         (WebCore::CCQuadCuller::append):
977         * platform/graphics/chromium/cc/CCQuadCuller.h:
978         (CCQuadCuller):
979         * platform/graphics/chromium/cc/CCRenderPass.cpp:
980         (WebCore::CCRenderPass::appendQuadsForLayer):
981         * platform/graphics/chromium/cc/CCRenderPass.h:
982         (CCRenderPass):
983         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
984         (WebCore::CCScrollbarLayerImpl::appendQuads):
985         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
986         (CCScrollbarLayerImpl):
987         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
988         (WebCore::CCSingleThreadProxy::doComposite):
989         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
990         (WebCore::CCSolidColorLayerImpl::appendQuads):
991         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
992         (CCSolidColorLayerImpl):
993         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
994         (WebCore::CCTextureLayerImpl::appendQuads):
995         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
996         (CCTextureLayerImpl):
997         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
998         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
999         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1000         (WebCore::CCTiledLayerImpl::appendQuads):
1001         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1002         (CCTiledLayerImpl):
1003         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1004         (WebCore::CCVideoLayerImpl::appendQuads):
1005         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1006         (CCVideoLayerImpl):
1007
1008 2012-03-21  Enrica Casucci  <enrica@apple.com>
1009
1010         WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
1011         https://bugs.webkit.org/show_bug.cgi?id=81835
1012         <rdar://problem/11082749>
1013
1014         Reviewed by Brady Eidson.
1015
1016         When writing the URL in the pasteboard for the WebURLWithTitles format,
1017         we use the user visible string instead of the original URL.
1018         In case of URL with Unicode characters, we lose the encoding.
1019         
1020         Added TestWebKitAPI test.
1021
1022         * platform/mac/PasteboardMac.mm:
1023         (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
1024
1025 2012-03-21  Levi Weintraub  <leviw@chromium.org>
1026
1027         Correct LayoutUnit usage in VisiblePosition.cpp
1028         https://bugs.webkit.org/show_bug.cgi?id=81775
1029
1030         Reviewed by Eric Seidel.
1031
1032         Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
1033         and properly using LayoutUnits for local coordinates.
1034
1035         No new tests. No change in behavior.
1036
1037         * editing/VisiblePosition.cpp:
1038         (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
1039         header. Local coordinates are in LayoutUnits.
1040         (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
1041         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.
1042
1043 2012-03-21  Adam Klein  <adamk@chromium.org>
1044
1045         "this" argument for MutationCallbacks should be the MutationObserver
1046         https://bugs.webkit.org/show_bug.cgi?id=81712
1047
1048         Reviewed by Adam Barth.
1049
1050         Test: fast/mutation/callback-arguments.html
1051
1052         * bindings/js/JSCallbackData.cpp:
1053         (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
1054         an explicit this argument and have the old method call the new one.
1055         * bindings/js/JSCallbackData.h:
1056         (JSCallbackData):
1057         * bindings/js/JSMutationCallbackCustom.cpp:
1058         (WebCore::JSMutationCallback::handleEvent): Call the new overload.
1059         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1060         (WebCore::invokeCallback): Add an overload that takes an explicit this
1061         argument and have the old method call the new one.
1062         * bindings/v8/custom/V8CustomVoidCallback.h:
1063         (WebCore):
1064         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
1065         (WebCore::V8MutationCallback::handleEvent): Call the new overload.
1066
1067 2012-03-21  Alexandru Chiculita  <achicu@adobe.com>
1068
1069         [CSS Shaders] Make CSS Shaders compile on Chromium
1070         https://bugs.webkit.org/show_bug.cgi?id=81435
1071
1072         Reviewed by Stephen White.
1073
1074         This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
1075         The only way to test the functionality now is to use the overridePreference from dump render tree.
1076
1077         Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
1078         HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
1079         get recreated anyway.
1080
1081         No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
1082         I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force 
1083         enable the feature at runtime. 
1084
1085         * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
1086         (WebCore::cachedResourceTypeToTargetType):
1087
1088         * platform/graphics/filters/FECustomFilter.cpp:
1089         (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
1090         (WebCore::FECustomFilter::create):
1091         (WebCore::FECustomFilter::initializeContext):
1092         (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
1093         Other drivers didn't complain about it, but it was clearly a bug.
1094         (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
1095         projection matrix only on Chromium, so that we get the correct result.
1096
1097         * rendering/FilterEffectRenderer.cpp:
1098         (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
1099
1100 2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
1101
1102         Realphabetize about webaudio move
1103         https://bugs.webkit.org/show_bug.cgi?id=81825
1104
1105         Reviewed by Adam Barth.
1106
1107         No new tests, all existing tests pass.
1108
1109         * CMakeLists.txt:
1110
1111 2012-03-21  Anders Carlsson  <andersca@apple.com>
1112
1113         Evict tiles from pages in background tabs
1114         https://bugs.webkit.org/show_bug.cgi?id=81829
1115         <rdar://problem/10866152>
1116
1117         Reviewed by Andreas Kling.
1118
1119         When the tile cache for a page is no longer in a window (which happens when it's moved to 
1120         a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
1121         will ensure that tiles outside of the visible rect will be dropped.
1122
1123         * platform/graphics/ca/mac/TileCache.h:
1124         (TileCache):
1125         * platform/graphics/ca/mac/TileCache.mm:
1126         (WebCore::TileCache::tileCacheLayerBoundsChanged):
1127         (WebCore::TileCache::setIsInWindow):
1128         (WebCore::TileCache::tileCoverageRect):
1129         (WebCore):
1130         (WebCore::TileCache::scheduleTileRevalidation):
1131         (WebCore::TileCache::revalidateTiles):
1132
1133 2012-03-21  Stephen Chenney  <schenney@chromium.org>
1134
1135         SVG layout leaves objects still needing layout
1136         https://bugs.webkit.org/show_bug.cgi?id=81006
1137
1138         Reviewed by Nikolas Zimmermann.
1139
1140         Change the layout of SVG objects such that resources that trigger
1141         layout of other objects are handled in a distinct pass, and then
1142         objects still requiring layout are laid out again.
1143
1144         Test: svg/custom/delete-text-innerText-crash.html
1145
1146         * rendering/svg/RenderSVGResourceContainer.cpp:
1147         (WebCore::RenderSVGResourceContainer::layout):
1148         * rendering/svg/RenderSVGResourceMarker.cpp:
1149         (WebCore::RenderSVGResourceMarker::layout):
1150         * rendering/svg/RenderSVGRoot.cpp:
1151         (WebCore::RenderSVGRoot::layout):
1152         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
1153         (WebCore):
1154         * rendering/svg/RenderSVGRoot.h:
1155         (RenderSVGRoot):
1156
1157 2012-03-21  Tim Horton  <timothy_horton@apple.com>
1158
1159         Make use of CG rounded-rect primitives
1160         https://bugs.webkit.org/show_bug.cgi?id=79932
1161         <rdar://problem/9274953>
1162
1163         Reviewed by Simon Fraser.
1164
1165         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
1166
1167         Dispatch to potentially platform-specific rounded rectangle path
1168         construction from addPathForRoundedRect. Make use of this to call
1169         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
1170         corners are all equivalent.
1171
1172         The origin of the stroke dash differs between the bezier approach
1173         and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
1174         takes a new parameter allowing code which is sensitive to stroke dash
1175         origin (i.e. SVG) to fall back to the old behavior if need be.
1176
1177         Make use of the new Path::addRoundedRect() parameter to fall back to
1178         the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
1179         in order to continue complying with the spec.
1180
1181         No new tests, as this is covered by many that use rounded corners,
1182         and is only a performance improvement.
1183
1184         * WebCore.exp.in:
1185         * platform/graphics/Path.cpp:
1186         (WebCore::Path::addRoundedRect):
1187         (WebCore):
1188         (WebCore::Path::addPathForRoundedRect):
1189         * platform/graphics/Path.h:
1190         (Path):
1191         * platform/graphics/cg/PathCG.cpp:
1192         (WebCore::Path::platformAddPathForRoundedRect):
1193         (WebCore):
1194         * platform/mac/WebCoreSystemInterface.h:
1195         * platform/mac/WebCoreSystemInterface.mm:
1196         * rendering/svg/SVGPathData.cpp:
1197         (WebCore::updatePathFromRectElement):
1198
1199 2012-03-21  David Reveman  <reveman@chromium.org>
1200
1201         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
1202         https://bugs.webkit.org/show_bug.cgi?id=80988
1203
1204         Reviewed by Adrienne Walker.
1205
1206         Expose EXT_occlusion_query API to WebKit compositor. Add
1207         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
1208         enums.
1209
1210         * platform/graphics/chromium/Extensions3DChromium.h:
1211         (Extensions3DChromium):
1212
1213 2012-03-21  Tony Chang  <tony@chromium.org>
1214
1215         compute the sign of flexibility for new flexbox
1216         https://bugs.webkit.org/show_bug.cgi?id=81722
1217
1218         Reviewed by Ojan Vafai.
1219
1220         This implements the computation of the sign of flexibility used by the
1221         new flexing algorithm.
1222         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
1223
1224         No new tests, we don't use the sign of flexibility yet.
1225
1226         * rendering/RenderFlexibleBox.cpp:
1227         (WebCore::RenderFlexibleBox::layoutFlexItems):
1228         (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
1229         adjusted for min/max as well as not adjusted.
1230         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
1231         spec text better.
1232         * rendering/RenderFlexibleBox.h: Added enum for flex sign.
1233
1234 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
1235
1236         Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
1237         https://bugs.webkit.org/show_bug.cgi?id=81669
1238
1239         Reviewed by Pavel Feldman.
1240
1241         * inspector/front-end/BreakpointManager.js:
1242         (WebInspector.BreakpointManager.get for):
1243         (WebInspector.BreakpointManager):
1244         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
1245         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
1246         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
1247         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1248         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
1249         (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
1250         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
1251         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
1252         (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
1253         (WebInspector.BreakpointManager.prototype._uiBreakpoints):
1254         (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
1255         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
1256         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
1257         (WebInspector.BreakpointManager.prototype._breakpoints):
1258         (WebInspector.BreakpointManager.prototype._breakpoint):
1259         (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
1260         (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
1261         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
1262         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
1263         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
1264         (WebInspector.BreakpointManager.prototype.debuggerReset):
1265         (WebInspector.Breakpoint.prototype.serialize):
1266         (WebInspector.Breakpoint.prototype.get uiBreakpoint):
1267         (WebInspector.Breakpoint.prototype.createUIBreakpoint):
1268         (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
1269         (WebInspector.UIBreakpoint):
1270         * inspector/front-end/DebuggerPresentationModel.js:
1271         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
1272         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
1273         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1274         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
1275         * inspector/front-end/ScriptsPanel.js:
1276
1277 2012-03-21  Anders Carlsson  <andersca@apple.com>
1278
1279         TileCache needs to know if its containing page is in a window
1280         https://bugs.webkit.org/show_bug.cgi?id=81821
1281
1282         Reviewed by Andreas Kling.
1283
1284         This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
1285
1286         * page/FrameView.cpp:
1287         (WebCore::FrameView::didMoveOnscreen):
1288         (WebCore::FrameView::willMoveOffscreen):
1289         * page/Page.cpp:
1290         (WebCore::Page::Page):
1291         (WebCore::Page::didMoveOnscreen):
1292         (WebCore::Page::willMoveOffscreen):
1293         * page/Page.h:
1294         (WebCore::Page::isOnscreen):
1295         (Page):
1296         * platform/graphics/TiledBacking.h:
1297         (TiledBacking):
1298         * platform/graphics/ca/mac/TileCache.h:
1299         (TileCache):
1300         * platform/graphics/ca/mac/TileCache.mm:
1301         (WebCore::TileCache::TileCache):
1302         (WebCore::TileCache::setIsInWindow):
1303         (WebCore):
1304         * rendering/RenderLayerBacking.cpp:
1305         (WebCore::RenderLayerBacking::RenderLayerBacking):
1306
1307 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
1308
1309         Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
1310         https://bugs.webkit.org/show_bug.cgi?id=81744
1311
1312         Reviewed by Chris Rogers.
1313
1314         * platform/audio/ReverbConvolverStage.cpp:
1315         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
1316
1317 2012-03-21  Xiaomei Ji  <xji@chromium.org>
1318
1319         [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
1320         https://bugs.webkit.org/show_bug.cgi?id=79961
1321
1322         Reviewed by Adam Barth.
1323
1324         Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
1325
1326         * platform/graphics/Font.h:
1327         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
1328         * platform/graphics/mac/ComplexTextController.cpp:
1329         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1330         * platform/graphics/win/UniscribeController.cpp:
1331         (WebCore::UniscribeController::shapeAndPlaceItem):
1332
1333 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
1334
1335         Build fix for !ENABLE(INSPECTOR) after r111005.
1336
1337         * inspector/ContentSearchUtils.h:
1338
1339 2012-03-21  Ulan Degenbaev  <ulan@chromium.org>
1340
1341         [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
1342         https://bugs.webkit.org/show_bug.cgi?id=81200
1343
1344         Reviewed by Adam Barth.
1345
1346         Pass a hint to V8::IdleNotification that requests more aggressive GC
1347         when a main frame context is disposed and requests incremental GC otherwise.
1348
1349         * bindings/v8/V8DOMWindowShell.cpp:
1350         (WebCore::V8DOMWindowShell::disposeContextHandles):
1351         * bindings/v8/V8GCForContextDispose.cpp:
1352         (WebCore::V8GCForContextDispose::V8GCForContextDispose):
1353         (WebCore::V8GCForContextDispose::notifyContextDisposed):
1354         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
1355         * bindings/v8/V8GCForContextDispose.h:
1356         (V8GCForContextDispose):
1357
1358 2012-03-21  Nat Duca  <nduca@chromium.org>
1359
1360         [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
1361         https://bugs.webkit.org/show_bug.cgi?id=81790
1362
1363         Reviewed by James Robinson.
1364
1365         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1366         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
1367
1368 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
1369
1370         Add multichannel support in RealtimeAnalyser
1371         https://bugs.webkit.org/show_bug.cgi?id=81745
1372
1373         Reviewed by Chris Rogers.
1374
1375         * Modules/webaudio/RealtimeAnalyser.cpp:
1376         (WebCore::RealtimeAnalyser::writeInput):
1377         (WebCore):
1378
1379 2012-03-21  Eric Carlson  <eric.carlson@apple.com>
1380
1381         Removing HTMLTrackElement does not delete TextTrack
1382         https://bugs.webkit.org/show_bug.cgi?id=80873
1383
1384         Reviewed by Antti Koivisto.
1385
1386         No new tests, but media/track/track-language-preference.html has been updated
1387         to test this fix.
1388
1389         * html/HTMLMediaElement.cpp:
1390         (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
1391         (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
1392         called before the track is removed, to allow the TextTrack to be removed.
1393         * html/HTMLMediaElement.h:
1394
1395         * html/HTMLTrackElement.cpp:
1396         (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
1397         (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
1398         * html/HTMLTrackElement.h:
1399
1400         * html/track/LoadableTextTrack.cpp:
1401         (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
1402         document in the calcualtion.
1403
1404 2012-03-21  Zeno Albisser  <zeno@webkit.org>
1405
1406         [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
1407         https://bugs.webkit.org/show_bug.cgi?id=81750
1408
1409         Building WebCore on mac currently creates an archive that is bigger than
1410         4GB. But ranlib fails to create a symbol table for such a big archive,
1411         even on 64bit machines.
1412         Therefore we start using SVGAllInOne.cpp when building debug
1413         on mac. This reduces the size of the archive by about 300MB.
1414
1415         Reviewed by Tor Arne Vestbø.
1416
1417         * Target.pri:
1418
1419 2012-03-21  Tommy Widenflycht  <tommyw@google.com>
1420
1421         [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
1422         https://bugs.webkit.org/show_bug.cgi?id=81339
1423
1424         Reviewed by Adam Barth.
1425
1426         Not possible to test until the entire JSEP feature is commited.
1427
1428         * Modules/mediastream/IceCandidate.cpp:
1429         (WebCore::IceCandidate::toSdp):
1430         * Modules/mediastream/SessionDescription.cpp:
1431         (WebCore::SessionDescription::toSdp):
1432         * platform/mediastream/IceCandidateDescriptor.cpp:
1433         (WebCore::IceCandidateDescriptor::toSDP):
1434         * platform/mediastream/IceCandidateDescriptor.h:
1435         (IceCandidateDescriptor):
1436         * platform/mediastream/MediaStreamCenter.cpp:
1437         (WebCore::MediaStreamCenter::constructSDP):
1438         * platform/mediastream/MediaStreamCenter.h:
1439         (MediaStreamCenter):
1440         * platform/mediastream/SessionDescriptionDescriptor.cpp:
1441         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
1442         (WebCore::SessionDescriptionDescriptor::toSDP):
1443         (WebCore::SessionDescriptionDescriptor::initialSDP):
1444         * platform/mediastream/SessionDescriptionDescriptor.h:
1445         (SessionDescriptionDescriptor):
1446
1447 2012-03-21  Yuta Kitamura  <yutak@chromium.org>
1448
1449         Use RFC version of WebSocket protocol by default
1450         https://bugs.webkit.org/show_bug.cgi?id=81718
1451
1452         Reviewed by Kent Tamura.
1453
1454         Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
1455         RFC version of WebSocket protocol by default.
1456
1457         All the existing ports already use the RFC protocol as of now, so this change will not make
1458         any impact (hopefully).
1459
1460         No new tests. No change in functionality.
1461
1462         * page/Settings.cpp:
1463         (WebCore::Settings::Settings):
1464
1465 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
1466
1467         Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
1468         https://bugs.webkit.org/show_bug.cgi?id=81798
1469
1470         Reviewed by Pavel Feldman.
1471
1472         * bindings/js/JSInjectedScriptHostCustom.cpp:
1473         (WebCore::getJSListenerFunctions):
1474         * bindings/js/ScriptEventListener.cpp:
1475         (WebCore::eventListenerHandlerBody):
1476         (WebCore::eventListenerHandlerLocation):
1477         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1478         (WebCore::getJSListenerFunctions):
1479         * inspector/InspectorDOMAgent.cpp:
1480         (WebCore::InspectorDOMAgent::getEventListeners):
1481
1482 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
1483
1484         EventListener::Type enum has unused member InspectorDOMAgentType
1485         https://bugs.webkit.org/show_bug.cgi?id=81794
1486
1487         Reviewed by Pavel Feldman.
1488
1489         * dom/EventListener.h:
1490
1491 2012-03-21  Tom Hudson  <tomhudson@google.com>
1492
1493         Incremental cleanup of BitmapImage: inlined virtual functions
1494         https://bugs.webkit.org/show_bug.cgi?id=81688
1495
1496         Reviewed by James Robinson.
1497
1498         No change in functionality, so no new tests.
1499
1500         Move virtual functions defined in headers into .cpp files.
1501
1502         * WebCore.gypi:
1503         * platform/graphics/BitmapImage.cpp:
1504         (WebCore::BitmapImage::isBitmapImage):
1505         (WebCore):
1506         (WebCore::BitmapImage::hasSingleSecurityOrigin):
1507         (WebCore::BitmapImage::nativeImageForCurrentFrame):
1508         (WebCore::BitmapImage::currentFrameHasAlpha):
1509         (WebCore::BitmapImage::notSolidColor):
1510         (WebCore::BitmapImage::decodedSize):
1511         (WebCore::BitmapImage::mayFillWithSolidColor):
1512         (WebCore::BitmapImage::solidColor):
1513         * platform/graphics/BitmapImage.h:
1514         (BitmapImage):
1515         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
1516         (WebCore):
1517         (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
1518         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
1519         (WebCore::BitmapImageSingleFrameSkia::size):
1520         (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
1521         (WebCore::BitmapImageSingleFrameSkia::decodedSize):
1522         (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
1523         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
1524         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
1525         (BitmapImageSingleFrameSkia):
1526
1527 2012-03-21  Alexey Proskuryakov  <ap@apple.com>
1528
1529         Remove obsolete File attributes
1530         https://bugs.webkit.org/show_bug.cgi?id=79383
1531
1532         Reviewed by Hajime Morita.
1533
1534         * bindings/objc/PublicDOMInterfaces.h:
1535         * fileapi/File.h:
1536         * fileapi/File.idl:
1537         Removed fileName and fileSize, they have different names now.
1538
1539         * html/FileInputType.cpp:
1540         (WebCore::FileInputType::appendFormData):
1541         (WebCore::FileInputType::getTypeSpecificValue):
1542         (WebCore::FileInputType::defaultToolTip):
1543         Updated to use new function names.
1544
1545 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1546
1547         TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
1548         https://bugs.webkit.org/show_bug.cgi?id=81762
1549
1550         Reviewed by Kenneth Rohde Christiansen.
1551
1552         The first round of tiles should cover completely the visible rect.
1553         Creating the tiles synchronously allows us to get the new tiles immediately
1554         and prevents an extra AC layers sync to be able to remove the old tiles.
1555
1556         At some point it might also make sense to remove the tile creation timer
1557         completely.
1558
1559         * platform/graphics/TiledBackingStore.cpp:
1560         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1561
1562 2012-03-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1563
1564         TiledBackingStore: When checking if the visible area is covered, only convert to scaled coordinates once.
1565         https://bugs.webkit.org/show_bug.cgi?id=81519
1566
1567         Reviewed by Kenneth Rohde Christiansen.
1568
1569         Both visibleRect and coverageRatio call mapFromContents on the input rect,
1570         this woulc cause the coverageRatio to never reach 1.0 when the contents is
1571         scaled up.
1572
1573         * platform/graphics/TiledBackingStore.cpp:
1574         (WebCore::TiledBackingStore::visibleAreaIsCovered):
1575
1576 2012-03-21  Mao Yujie  <yujie.mao@intel.com>
1577
1578         MediaStream API: Need to support MediaStream constructor for JSC
1579         https://bugs.webkit.org/show_bug.cgi?id=78781
1580
1581         Reviewed by Adam Barth.
1582
1583         No new tests.
1584
1585         * Modules/mediastream/DOMWindowMediaStream.idl:
1586         * bindings/generic/RuntimeEnabledFeatures.h:
1587         (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
1588
1589 2012-03-21  Philip Rogers  <pdr@google.com>
1590
1591         Skip building resources if SVGTRef is not in a document
1592         https://bugs.webkit.org/show_bug.cgi?id=81473
1593
1594         Reviewed by Nikolas Zimmermann.
1595
1596         We can skip the building of pending resources in SVGTRef if we're not
1597         yet in a document. This mirrors the nearly identical logic in
1598         SVGUseElement::buildPendingResource() and
1599         SVGFEImageElement::buildPendingResource().
1600
1601         Test: http/tests/svg/tref-adoptNode-crash.html
1602
1603         * svg/SVGTRefElement.cpp:
1604         (WebCore::SVGTRefElement::buildPendingResource):
1605
1606 2012-03-21  Sami Kyostila  <skyostil@chromium.org>
1607
1608         [chromium] Use floating point scroll deltas for layers
1609         https://bugs.webkit.org/show_bug.cgi?id=81546
1610
1611         Reviewed by James Robinson.
1612
1613         Use floating point scroll deltas for layers instead of integral scroll
1614         deltas. This is because due to page scaling it may be necessary to
1615         scroll layers in sub-CSS-pixel steps to avoid visible jumps. When the
1616         floating point scroll offset is committed to the main thread, it is
1617         truncated to integer, but the fractional part is kept on the CC side to
1618         make sure fractional scroll offsets are accumulated correctly over
1619         multiple commits.
1620
1621         Test: CCLayerTreeHostTestFractionalScroll
1622
1623         * platform/graphics/FloatPoint.h:
1624         (WebCore::toSize):
1625         (WebCore):
1626         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1627         (WebCore::CCLayerImpl::scrollBy):
1628         (WebCore::CCLayerImpl::setScrollDelta):
1629         * platform/graphics/chromium/cc/CCLayerImpl.h:
1630         (WebCore::CCLayerImpl::scrollDelta):
1631         (CCLayerImpl):
1632         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1633         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
1634         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
1635         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
1636         (WebCore::CCLayerTreeHostImpl::animatePageScale):
1637
1638 2012-03-21  Li Yin  <li.yin@intel.com>
1639
1640         [WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response
1641         https://bugs.webkit.org/show_bug.cgi?id=81655
1642
1643         Reviewed by Adam Barth.
1644
1645         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html
1646
1647         * Modules/websockets/WebSocketHandshake.cpp:
1648         (WebCore::WebSocketHandshake::readHTTPHeaders):
1649
1650 2012-03-21  Alexei Filippov  <alexeif@chromium.org>
1651
1652         Web Inspector: Speedup heap snapshot loading.
1653         https://bugs.webkit.org/show_bug.cgi?id=81788
1654
1655         Reviewed by Yury Semikhatsky.
1656
1657         * inspector/front-end/HeapSnapshot.js:
1658         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
1659
1660 2012-03-21  Pavel Feldman  <pfeldman@chromium.org>
1661
1662         Web Inspector: get rid of isInEditMode, use isBeingEdited on particular element.
1663         https://bugs.webkit.org/show_bug.cgi?id=81766
1664
1665         Reviewed by Yury Semikhatsky.
1666
1667         We should check event target and its ancestors for being edited, not use some
1668         global property. This change also introduces Event.prototype.consume so that we
1669         were consistently consuming events.
1670
1671         * inspector/front-end/AdvancedSearchController.js:
1672         (WebInspector.SearchView.prototype._onKeyDown):
1673         * inspector/front-end/BreakpointsSidebarPane.js:
1674         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
1675         * inspector/front-end/CSSSelectorProfileView.js:
1676         * inspector/front-end/Checkbox.js:
1677         (WebInspector.Checkbox.prototype.addEventListener):
1678         * inspector/front-end/ConsoleView.js:
1679         (WebInspector.ConsoleView.prototype._enterKeyPressed):
1680         (WebInspector.ConsoleGroup.prototype._titleClicked):
1681         * inspector/front-end/ContextMenu.js:
1682         (WebInspector.ContextMenu.prototype.show):
1683         * inspector/front-end/DataGrid.js:
1684         (WebInspector.DataGrid.prototype._keyDown):
1685         * inspector/front-end/DatabaseQueryView.js:
1686         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
1687         * inspector/front-end/DetailedHeapshotView.js:
1688         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
1689         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
1690         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
1691         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
1692         * inspector/front-end/Dialog.js:
1693         (WebInspector.Dialog.prototype._onKeyDown):
1694         * inspector/front-end/Drawer.js:
1695         (WebInspector.Drawer.prototype._startStatusBarDragging):
1696         (WebInspector.Drawer.prototype._statusBarDragging):
1697         (WebInspector.Drawer.prototype._endStatusBarDragging):
1698         * inspector/front-end/EventListenersSidebarPane.js:
1699         (WebInspector.EventListenersSidebarPane.get if):
1700         * inspector/front-end/HelpScreen.js:
1701         (WebInspector.HelpScreen.prototype._onKeyDown):
1702         * inspector/front-end/InspectorView.js:
1703         (WebInspector.InspectorView.prototype._keyDown):
1704         * inspector/front-end/MetricsSidebarPane.js:
1705         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
1706         * inspector/front-end/NetworkPanel.js:
1707         * inspector/front-end/Object.js:
1708         (WebInspector.Event.prototype.preventDefault):
1709         (WebInspector.Event.prototype.consume):
1710         * inspector/front-end/ObjectPropertiesSection.js:
1711         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
1712         * inspector/front-end/ProfileView.js:
1713         * inspector/front-end/SearchController.js:
1714         (WebInspector.SearchController.prototype._onKeyDown):
1715         * inspector/front-end/Section.js:
1716         (WebInspector.Section.prototype.handleClick):
1717         * inspector/front-end/Settings.js:
1718         (WebInspector.ExperimentsSettings):
1719         * inspector/front-end/SoftContextMenu.js:
1720         (.WebInspector.SoftContextMenu.prototype.show):
1721         (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
1722         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
1723         (.WebInspector.SoftContextMenu.prototype._discardMenu):
1724         * inspector/front-end/Spectrum.js:
1725         (WebInspector.Spectrum.draggable.consume):
1726         (WebInspector.Spectrum.draggable.start):
1727         (WebInspector.Spectrum.draggable.stop):
1728         (WebInspector.Spectrum.draggable):
1729         (WebInspector.Spectrum.prototype._onKeyDown):
1730         * inspector/front-end/StylesSidebarPane.js:
1731         (WebInspector.StylesSidebarPane.muteEventListener):
1732         (WebInspector.StylesSidebarPane):
1733         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
1734         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
1735         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
1736         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
1737         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1738         (WebInspector.StylePropertyTreeElement.prototype):
1739         * inspector/front-end/TextPrompt.js:
1740         (WebInspector.TextPrompt.prototype.onKeyDown):
1741         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
1742         (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
1743         * inspector/front-end/TextViewer.js:
1744         (WebInspector.TextViewer.prototype._handleKeyDown):
1745         * inspector/front-end/Toolbar.js:
1746         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
1747         * inspector/front-end/UIUtils.js:
1748         (WebInspector.isBeingEdited):
1749         (WebInspector.startEditing):
1750         * inspector/front-end/View.js:
1751         (WebInspector.View.prototype._doLoadCSS):
1752         * inspector/front-end/WatchExpressionsSidebarPane.js:
1753         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
1754         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
1755         * inspector/front-end/inspector.js:
1756         (WebInspector.documentClick.followLink):
1757         (WebInspector.documentClick):
1758         (WebInspector.documentKeyDown):
1759         (WebInspector.postDocumentKeyDown):
1760         (WebInspector.addMainEventListeners):
1761         * inspector/front-end/treeoutline.js:
1762         (TreeOutline.prototype._treeKeyPress):
1763         (TreeOutline.prototype._treeKeyDown):
1764         (TreeOutline.prototype._searchInputKeyDown):
1765         (TreeElement.treeElementToggled):
1766         (TreeElement.prototype.selectOnMouseDown):
1767         * inspector/front-end/utilities.js:
1768         (Event.prototype.consume):
1769
1770 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
1771
1772         Web Inspector: event listener section doesn't show all event listeners of the element ancestors
1773         https://bugs.webkit.org/show_bug.cgi?id=81782
1774
1775         Event listeners section now contains all event listeners for the selected
1776         element ancestors chain (in case option "All Nodes" is selected).
1777
1778         Reviewed by Pavel Feldman.
1779
1780         * inspector/InspectorDOMAgent.cpp:
1781         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1782         * inspector/front-end/EventListenersSidebarPane.js:
1783         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
1784         (WebInspector.EventListenersSidebarPane.prototype.update):
1785         (WebInspector.EventListenersSidebarPane.prototype):
1786
1787 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1788
1789         Web Inspector: HeapSnapshot: move all builders and calculation calls to HeapSnapshot._init function.
1790         https://bugs.webkit.org/show_bug.cgi?id=81784
1791
1792         Reviewed by Yury Semikhatsky.
1793
1794         * inspector/front-end/HeapSnapshot.js:
1795         (WebInspector.HeapSnapshot.prototype._init):
1796         (WebInspector.HeapSnapshot.prototype.dispose):
1797         (WebInspector.HeapSnapshot.prototype._retainersForNode):
1798         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
1799         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
1800         (WebInspector.HeapSnapshot.prototype.aggregates):
1801         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1802         (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
1803
1804 2012-03-21  Jessie Berlin  <jberlin@apple.com>
1805
1806         WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
1807         $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
1808         https://bugs.webkit.org/show_bug.cgi?id=81739
1809
1810         Reviewed by Dan Bernstein.
1811
1812         * WebCore.vcproj/WebCore.vcproj:
1813         Look for AtomicString.cpp, StringBuilder.cpp, StringImpl.cpp, and WTFString.cpp in the wtf
1814         subdirectory of the build output, not the JavaScriptCore/wtf subdirectory.
1815
1816 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1817
1818         [BlackBerry] Credential save and autofill implemetation
1819         https://bugs.webkit.org/show_bug.cgi?id=80401
1820
1821         Reviewed by Rob Buis.
1822
1823         Added interface function authenticationChallenge() and
1824         notifyShouldSaveCredential() into PageClientBlackBerry.
1825         As this class is our platform specific interface,
1826         by doing this we don't need to add an interface function
1827         in class FrameLoaderClient which is a platform
1828         independent interface.
1829
1830         No new tests.
1831
1832         * platform/blackberry/PageClientBlackBerry.h:
1833         (WebCore):
1834         * platform/network/blackberry/NetworkJob.cpp:
1835         (WebCore::NetworkJob::sendRequestWithCredentials):
1836
1837 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1838
1839         Web Inspector: HeapProfiler: DOM node id can overflow Int32.
1840         https://bugs.webkit.org/show_bug.cgi?id=81776
1841
1842         Reviewed by Pavel Feldman.
1843
1844         * inspector/front-end/HeapSnapshot.js:
1845         (WebInspector.Uint32Array):
1846         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
1847         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
1848         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
1849         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
1850
1851 2012-03-21  Tim Dresser  <tdresser@chromium.org>
1852
1853         [chromium] Increase size of Combo Box Options for touch and high DPI devices
1854         https://bugs.webkit.org/show_bug.cgi?id=80027
1855
1856         Reviewed by Darin Fisher.
1857
1858         Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
1859         <option> elements when touch is enabled.
1860
1861         Manually tested with --default-device-scale-factor=1,2 and unset.
1862         Each of these were tested with RuntimeEnabledFeatures::touchEnabled
1863         set to true and false.
1864
1865         * platform/chromium/PopupListBox.cpp:
1866         (WebCore::PopupListBox::paint):
1867         (WebCore::PopupListBox::paintRow):
1868         (WebCore::PopupListBox::getRowHeight):
1869         * platform/chromium/PopupListBox.h:
1870         (PopupContainerSettings):
1871         * platform/chromium/PopupMenuChromium.cpp:
1872         (WebCore):
1873         (WebCore::PopupMenuChromium::show):
1874         * platform/chromium/PopupMenuChromium.h:
1875         (WebCore::PopupMenuChromium::optionPaddingForTouch):
1876         (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
1877         (PopupMenuChromium):
1878         * rendering/RenderMenuList.cpp:
1879         (WebCore::RenderMenuList::showPopup):
1880
1881 2012-03-21  Takashi Toyoshima  <toyoshim@chromium.org>
1882
1883         [Chromium] [WebSocket] provide WebFrameClient with a chance of
1884         accessing to opening WebSocketStreamHandle.
1885         https://bugs.webkit.org/show_bug.cgi?id=78459
1886
1887         Reviewed by Kent Tamura and Darin Fisher.
1888
1889         Add willOpenSocketStream client function to WebFrameClient with an
1890         argument representing an opening SocketStreamHandle.
1891         These mechanisms provide embedders with a chance to bind arbitrary
1892         data to a WebSocketStreamHandle from WebFrameClient to which the
1893         WebSocket object having the WebSocketStreamHandle belongs.
1894
1895         No new tests because this change just provide mechanisms to embedders.
1896
1897         * Modules/websockets/WebSocketChannel.cpp: Implement willOpenSocketStream to call a client function in WebFrameClient.
1898         (WebCore::WebSocketChannel::willOpenSocketStream):
1899         (WebCore):
1900         * Modules/websockets/WebSocketChannel.h: Add willOpenSocketStream declaration.
1901         (WebSocketChannel):
1902         * loader/FrameLoaderClient.h: Add dispatchWillOpenSocketStream declaration.
1903         (WebCore):
1904         (FrameLoaderClient):
1905         (WebCore::FrameLoaderClient::dispatchWillOpenSocketStream):
1906         * platform/network/SocketStreamHandleClient.h: Add willOpenSocketStream declaration.
1907         (WebCore::SocketStreamHandleClient::willOpenSocketStream):
1908
1909 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
1910
1911         https://bugs.webkit.org/show_bug.cgi?id=81761
1912         Fix Gobject binding for sequence<T> for function return type.
1913
1914         Reviewed by Kentaro Hara.
1915
1916         No new tests.
1917
1918         * bindings/scripts/CodeGeneratorGObject.pm:
1919         (SkipFunction): Skip function with sequence<T> return type.
1920         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1921         (webkit_dom_test_obj_method_with_sequence_arg):
1922         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1923
1924 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
1925
1926         Unreviewed build fix for r111529.
1927
1928         * inspector/InjectedScriptHost.h:
1929         (WebCore):
1930
1931 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1932
1933         Unreviewed, rolling out r111497, r111506, r111508, and
1934         r111513.
1935         http://trac.webkit.org/changeset/111497
1936         http://trac.webkit.org/changeset/111506
1937         http://trac.webkit.org/changeset/111508
1938         http://trac.webkit.org/changeset/111513
1939         https://bugs.webkit.org/show_bug.cgi?id=81774
1940
1941         It broke 2 tests on all platform (Requested by Ossy on
1942         #webkit).
1943
1944         * css/CSSStyleSelector.cpp:
1945         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1946         * css/SelectorChecker.cpp:
1947         (WebCore::SelectorChecker::checkOneSelector):
1948         * html/HTMLKeygenElement.cpp:
1949         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1950         * html/HTMLOptionElement.cpp:
1951         (WebCore::HTMLOptionElement::HTMLOptionElement):
1952         (WebCore::HTMLOptionElement::create):
1953         (WebCore::HTMLOptionElement::attach):
1954         (WebCore::HTMLOptionElement::detach):
1955         (WebCore::HTMLOptionElement::formControlType):
1956         (WebCore):
1957         (WebCore::HTMLOptionElement::parseAttribute):
1958         (WebCore::HTMLOptionElement::childrenChanged):
1959         (WebCore::HTMLOptionElement::insertedIntoTree):
1960         * html/HTMLOptionElement.h:
1961         (HTMLOptionElement):
1962         (WebCore::HTMLOptionElement::ownElementDisabled):
1963         * html/HTMLTagNames.in:
1964
1965 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
1966
1967         Web Inspector: expose getEventListeners() to console command line API
1968         https://bugs.webkit.org/show_bug.cgi?id=81658
1969
1970         Reviewed by Yury Semikhatsky.
1971
1972         Test: inspector/console/command-line-api-getEventListeners.html
1973
1974         * bindings/js/JSInjectedScriptHostCustom.cpp:
1975         (WebCore::JSInjectedScriptHost::functionDetails):
1976         (WebCore):
1977         (WebCore::getJSListenerFunctions):
1978         (WebCore::JSInjectedScriptHost::getEventListeners):
1979         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1980         (WebCore::getJSListenerFunctions):
1981         (WebCore):
1982         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
1983         * inspector/InjectedScriptHost.cpp:
1984         (WebCore::InjectedScriptHost::InjectedScriptHost):
1985         (WebCore::InjectedScriptHost::disconnect):
1986         (WebCore::InjectedScriptHost::getEventListenersImpl):
1987         (WebCore):
1988         * inspector/InjectedScriptHost.h:
1989         (WebCore):
1990         (WebCore::InjectedScriptHost::init):
1991         (InjectedScriptHost):
1992         * inspector/InjectedScriptHost.idl:
1993         * inspector/InjectedScriptSource.js:
1994         (.):
1995         * inspector/InspectorController.cpp:
1996         (WebCore::InspectorController::InspectorController):
1997         * inspector/InspectorDOMAgent.cpp:
1998         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1999         (WebCore::InspectorDOMAgent::getEventListeners):
2000         (WebCore):
2001         * inspector/InspectorDOMAgent.h:
2002         (InspectorDOMAgent):
2003         * inspector/WorkerInspectorController.cpp:
2004         (WebCore::WorkerInspectorController::WorkerInspectorController):
2005
2006 2012-03-21  Kentaro Hara  <haraken@chromium.org>
2007
2008         Unreviewed, rebaselined run-bindings-tests results.
2009
2010         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
2011         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
2012         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
2013         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
2014
2015 2012-03-21  Ian Vollick  <vollick@chromium.org>
2016
2017         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
2018         https://bugs.webkit.org/show_bug.cgi?id=81692
2019
2020         Reviewed by Adrienne Walker.
2021
2022         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
2023
2024         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2025
2026 2012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2027
2028         [Qt] Cookie Jar blocks on fsync in SQLITE
2029         https://bugs.webkit.org/show_bug.cgi?id=81755
2030
2031         Reviewed by Simon Hausmann.
2032
2033         Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.
2034
2035         * platform/qt/CookieJarQt.cpp:
2036         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
2037
2038 2012-03-21  Ian Vollick  <vollick@chromium.org>
2039
2040         [chromium] Animation events should only be used for synchronizing animation start times
2041         https://bugs.webkit.org/show_bug.cgi?id=81484
2042
2043         Reviewed by Adrienne Walker.
2044
2045         Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes
2046
2047         Eliminated animation finished events. Animations will finish naturally on the
2048         main thread and the final values will be set.
2049
2050         Animation started events are now also used to synchronize the main thread
2051         animations' start times with their impl thread equivalents, preventing skew.
2052         Until main thread animations receive their synchronized start times, they will
2053         apply their initial values (i.e., they will be paused at time zero). This
2054         guarantees that we will not jump to the animation's final value on the main
2055         thread while we wait for the synchronized start time.
2056
2057         * WebCore.gypi:
2058         * platform/graphics/chromium/LayerChromium.cpp:
2059         (WebCore::LayerChromium::notifyAnimationStarted):
2060         * platform/graphics/chromium/LayerChromium.h:
2061         (WebCore):
2062         (LayerChromium):
2063         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
2064         (WebCore::CCActiveAnimation::CCActiveAnimation):
2065         * platform/graphics/chromium/cc/CCActiveAnimation.h:
2066         (CCActiveAnimation):
2067         (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
2068         (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
2069         * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
2070         * platform/graphics/chromium/cc/CCAnimationEvents.h:
2071         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
2072         (CCAnimationStartedEvent):
2073         (WebCore):
2074         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2075         (WebCore::CCLayerAnimationController::animate):
2076         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
2077         (WebCore):
2078         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2079         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
2080         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
2081         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
2082         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
2083         (WebCore::CCLayerAnimationController::tickAnimations):
2084         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2085         (CCLayerAnimationController):
2086         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2087         (WebCore::CCLayerTreeHost::updateAnimations):
2088         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
2089         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2090         (CCLayerTreeHost):
2091
2092 2012-03-21  Zeno Albisser  <zeno@webkit.org>
2093
2094         [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
2095         https://bugs.webkit.org/show_bug.cgi?id=81113
2096
2097         The GLContext is created by QWindow/QSurface using
2098         QOpenGLContext which is implemented using NSOpenGL functions
2099         on mac. Therefore we should use QOpenGLContext as well when
2100         querying for the current context. AGL is not supposed
2101         to be paired with NSOpenGL.
2102         Altering the typedef for GLContext is fine, since
2103         the GLContext type is only used as a key in a map.
2104
2105         Reviewed by Kenneth Rohde Christiansen.
2106
2107         * platform/graphics/texmap/TextureMapperGL.cpp:
2108         (SharedGLData):
2109         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
2110
2111 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
2112
2113         Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
2114         https://bugs.webkit.org/show_bug.cgi?id=81756
2115
2116         Reviewed by Yury Semikhatsky.
2117
2118         * inspector/front-end/HeapSnapshot.js:
2119         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
2120         (WebInspector.HeapSnapshot.prototype._bfs):
2121
2122 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
2123
2124         https://bugs.webkit.org/show_bug.cgi?id=81705
2125         REGRESSION (r111416): fast/dom/prototype-inheritance-2.html is failing.
2126
2127         Reviewed by Csaba Osztrogonác.
2128
2129         No new tests.
2130
2131         * bindings/js/JSDOMBinding.h: Needs passing globalObject to constructArray().
2132         (WebCore::jsArray):
2133
2134 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2135
2136         [BlackBerry] Upstreaming blackberry specific css file
2137         https://bugs.webkit.org/show_bug.cgi?id=81650
2138
2139         Ustream BlackBerry specific css files, including:
2140         css/themeBlackBerry.css
2141         css/mediaControlsBlackBerry.css
2142
2143         Reviewed by Nikolas Zimmermann.
2144
2145         No new tests, this is the initial upstream patch
2146         for BlackBerry specific css files.
2147
2148         * css/mediaControlsBlackBerry.css: Added.
2149         (audio):
2150         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2151         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2152         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2153         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2154         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2155         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2156         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2157         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2158         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2159         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2160         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2161         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2162         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2163         * css/themeBlackBerry.css: Added.
2164         (textarea):
2165         (input, textarea):
2166         (input[type="color"]):
2167         (select:focus):
2168         (select[size][multiple]):
2169         (select[size][multiple]:focus):
2170
2171 2012-03-21  Levi Weintraub  <leviw@chromium.org>
2172
2173         Update LayoutUnit usage in descendants of RenderReplaced
2174         https://bugs.webkit.org/show_bug.cgi?id=80918
2175
2176         Reviewed by Eric Seidel.
2177
2178         Replaced elements have to flow in the new sub-pixel Render Tree, but since the rendering of these
2179         often takes place outside of WebCore (or in cases such as foreign objects, in WebCore after
2180         passing through platform code), care must be taken to determine the final rendered size and
2181         location before render time. This patch brings these classes up to the latest and greatest in the
2182         subpixellayout branch.
2183
2184         See https://trac.webkit.org/wiki/LayoutUnit for more information.
2185
2186         No new tests. No change in behavior.
2187
2188         * rendering/RenderFrameBase.cpp:
2189         (WebCore::RenderFrameBase::layoutWithFlattening): Build Fix.
2190         * rendering/RenderFullScreen.cpp:
2191         (RenderFullScreen::createPlaceholder): Ditto.
2192         * rendering/RenderFullScreen.h:
2193         (RenderFullScreen): Ditto.
2194         * rendering/RenderHTMLCanvas.cpp:
2195         (WebCore::RenderHTMLCanvas::canvasSizeChanged): Ditto.
2196         * rendering/RenderIFrame.cpp:
2197         (WebCore::RenderIFrame::computeLogicalHeight): Ditto.
2198         (WebCore::RenderIFrame::computeLogicalWidth): Ditto.
2199         * rendering/RenderImage.cpp:
2200         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Intrinsic sizes are always integers, since they
2201         originate outside of WebCore.
2202         (WebCore::RenderImage::paintIntoRect): Use pixel snapping to paint into an arbitrary rect.
2203         (WebCore::RenderImage::computeReplacedLogicalWidth): Intrinsic size is always integral -- rounding
2204         values to integers.
2205         * rendering/RenderImage.h:
2206         (RenderImage):
2207         * rendering/RenderVideo.cpp:
2208         (WebCore::RenderVideo::videoBox):
2209         (WebCore::RenderVideo::paintReplaced): Painting at integer boundaries.
2210         * rendering/RenderWidget.cpp:
2211         (WebCore):
2212         (WebCore::roundedIntRect): Widgets are rendered outside of WebCore, so we always align them to
2213         integer boundaries. This means we can actually round the size of our ultimate content box. This
2214         function is implemented here specifically to prevent its misuse if we put it elsewhere.
2215         (WebCore::RenderWidget::setWidgetGeometry): We simplify layout by taking a LayoutRect and rounding
2216         it to its final location within this function.
2217         (WebCore::RenderWidget::updateWidgetGeometry): We keep things in LayoutUnits until handing off to
2218         setWidgetGeometry.
2219         (WebCore::RenderWidget::paint): Rounding the paint location before handing painting off to the
2220         widget itself.
2221         * rendering/RenderWidget.h:
2222         (RenderWidget):
2223
2224 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
2225
2226         Web Inspector: HeapProfiler: support distance column in Summary View.
2227         https://bugs.webkit.org/show_bug.cgi?id=81675
2228
2229         In many cases when a page leaked an object we see not only this object
2230         but the all objects it retains. It is quite difficult to find out which
2231         the object is the root of leak. It'd be simpler to sort the leaked
2232         objects by Distance column and track down the first one.
2233
2234         Reviewed by Yury Semikhatsky.
2235
2236         * inspector/front-end/DetailedHeapshotGridNodes.js:
2237         (WebInspector.HeapSnapshotGenericObjectNode):
2238         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2239         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
2240         (WebInspector.HeapSnapshotConstructorNode):
2241         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
2242         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2243         * inspector/front-end/DetailedHeapshotView.js:
2244         (WebInspector.HeapSnapshotConstructorsDataGrid):
2245         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
2246         * inspector/front-end/HeapSnapshot.js:
2247         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
2248
2249 2012-03-21  Charles Wei  <charles.wei@torchmobile.com.cn>
2250
2251         [BlackBerry] Remove redundant code in SocketStreamHandler
2252         https://bugs.webkit.org/show_bug.cgi?id=81726
2253
2254         Reviewed by George Staikos.
2255
2256         No new tests needed. Just remove redundant code.
2257
2258         * platform/network/blackberry/SocketStreamHandle.h:
2259         (SocketStreamHandle):
2260         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
2261
2262 2012-03-20  Eric Seidel  <eric@webkit.org>
2263
2264         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
2265         https://bugs.webkit.org/show_bug.cgi?id=80911
2266
2267         Reviewed by Adam Barth.
2268
2269         * CMakeLists.txt:
2270          - Look for headers in Source/WTF as well.
2271
2272 2012-03-20  Dana Jansens  <danakj@chromium.org>
2273
2274         [chromium] Use origin transform to transform occlusion from surface content space to its target content space
2275         https://bugs.webkit.org/show_bug.cgi?id=81730
2276
2277         Reviewed by Adrienne Walker.
2278
2279         Unit test: CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent
2280
2281         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2282         (WebCore::transformSurfaceOpaqueRegion):
2283         (WebCore::::leaveToTargetRenderSurface):
2284
2285 2012-03-19  Shinya Kawanaka  <shinyak@chromium.org>
2286
2287         [Crash] RenderMenuList::addChild() in Shadow DOM.
2288         https://bugs.webkit.org/show_bug.cgi?id=81201
2289
2290         Reviewed by Dimitri Glazkov.
2291
2292         <audio>, <video>, <meter>, <progress>, and <select> are implemented using
2293         Shadow DOM having HTMLContentElement. Their renderer children basically should not
2294         create a renderer unless they are on the upper shadow encapsulation boundary,
2295         which means they are the direct children of the shadow root.
2296
2297         However, current implementation allows their renderer children to create a renderer
2298         even if they are on a lower shadow encapsulation boundary, which means
2299         they are distributed elements of HTMLContentElement.
2300
2301         This patch makes there renderer children not to create a renderer if they are on a lower shadow
2302         encapsulation boudary.
2303
2304         Tests: fast/dom/shadow/content-element-in-media-element.html
2305                fast/dom/shadow/content-element-in-meter-element.html
2306                fast/dom/shadow/content-element-in-progress-element.html
2307                fast/dom/shadow/content-element-in-select-element.html
2308
2309         * dom/NodeRenderingContext.h:
2310         (NodeRenderingContext):
2311         (WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):
2312         (WebCore):
2313         * html/HTMLMediaElement.cpp:
2314         (WebCore::HTMLMediaElement::childShouldCreateRenderer):
2315         * html/HTMLMeterElement.cpp:
2316         (WebCore::HTMLMeterElement::childShouldCreateRenderer):
2317         * html/HTMLProgressElement.cpp:
2318         (WebCore::HTMLProgressElement::childShouldCreateRenderer):
2319         * html/HTMLSelectElement.cpp:
2320         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
2321
2322 2012-03-20  Dana Jansens  <danakj@chromium.org>
2323
2324         [chromium] Store origin/screen space transforms for surface and replica in the surface
2325         https://bugs.webkit.org/show_bug.cgi?id=81296
2326
2327         Reviewed by Adrienne Walker.
2328
2329         Compute and save a number of transforms for render surfaces. The origin
2330         tranform for the replica into its target surface. The origin transform
2331         for the replica into the screen. And the origin transform for the surface
2332         into the screen.
2333
2334         These transforms will allow us to detect occlusion of render surfaces,
2335         allowing us to cull (or partially-cull) the render surface quad during
2336         drawing.
2337
2338         This also fixes a subtle bug in the transforms used by the damage
2339         tracking code.
2340
2341         Unit test: CCLayerTreeHostCommonTest.verifyTransformsForSingleRenderSurface
2342                    CCLayerTreeHostCommonTest.verifyTransformsForReplica
2343                    CCLayerTreeHostCommonTest.verifyTransformsForRenderSurfaceHierarchy
2344
2345         * platform/graphics/chromium/RenderSurfaceChromium.h:
2346         (WebCore::RenderSurfaceChromium::screenSpaceTransform):
2347         (WebCore::RenderSurfaceChromium::setScreenSpaceTransform):
2348         (RenderSurfaceChromium):
2349         (WebCore::RenderSurfaceChromium::replicaOriginTransform):
2350         (WebCore::RenderSurfaceChromium::setReplicaOriginTransform):
2351         (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform):
2352         (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform):
2353         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2354         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
2355         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2356         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2357         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2358         (WebCore::damageInSurfaceSpace):
2359         * platform/graphics/chromium/cc/CCRenderSurface.h:
2360         (WebCore::CCRenderSurface::setDrawTransform):
2361         (WebCore::CCRenderSurface::drawTransform):
2362         (WebCore::CCRenderSurface::setScreenSpaceTransform):
2363         (WebCore::CCRenderSurface::screenSpaceTransform):
2364         (CCRenderSurface):
2365         (WebCore::CCRenderSurface::setReplicaDrawTransform):
2366         (WebCore::CCRenderSurface::replicaDrawTransform):
2367         (WebCore::CCRenderSurface::setReplicaOriginTransform):
2368         (WebCore::CCRenderSurface::replicaOriginTransform):
2369         (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform):
2370         (WebCore::CCRenderSurface::replicaScreenSpaceTransform):
2371
2372 2012-03-20  Yoshifumi Inoue  <yosin@chromium.org>
2373
2374         [Forms] The option element should not be form associated element.
2375         https://bugs.webkit.org/show_bug.cgi?id=79764
2376
2377         Reviewed by Kent Tamura.
2378
2379         This patch changes base class of HTMLOptionELement to HTMLElement
2380         from HTMLFormControlElement for saving memory space and iteration
2381         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
2382         and matching the HTML5 specification for ease of maintenance.
2383
2384         This patch changes behavior of handling of CSS pseudo classes "invalid"
2385         and "valid". The "option" elements no longer use these CSS pseudo classes
2386         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
2387
2388         Changes of TextIterator is lead by usage of isFormControlElement. This
2389         changes will be replaced with more meaningful predicate as part of
2390         https://bugs.webkit.org/show_bug.cgi?id=80381
2391
2392         No new tests but updated select-live-pseudo-selectors.html test.
2393
2394         * css/CSSStyleSelector.cpp:
2395         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
2396         * css/SelectorChecker.cpp:
2397         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
2398         * html/HTMLKeygenElement.cpp:
2399         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
2400         * html/HTMLOptionElement.cpp:
2401         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
2402         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
2403         (WebCore::HTMLOptionElement::attach): Changeid base class.
2404         (WebCore::HTMLOptionElement::detach): Changed base class.
2405         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
2406         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
2407         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
2408         * html/HTMLOptionElement.h:
2409         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
2410         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
2411         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
2412
2413 2012-03-20  Xiaomei Ji  <xji@chromium.org>
2414
2415         Crash introduced in r110965.
2416         https://bugs.webkit.org/show_bug.cgi?id=81720
2417
2418         Reviewed by Ryosuke Niwa.
2419
2420         Since word break iterator just keeps a pointer to the UChar array given to the constructor,
2421         we need to allocate the UChar array deeper in the stack than the iterator.
2422
2423         Test: editing/selection/move-by-word-visually-crash-test-5.html
2424
2425         * editing/visible_units.cpp:
2426         (WebCore::wordBreakIteratorForMinOffsetBoundary):
2427         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
2428         (WebCore::visualWordPosition):
2429
2430 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
2431
2432         [chromium] Convert TouchFlingPlatformGestureCurve to a 2-D Bezier for better control of curve shape.
2433         https://bugs.webkit.org/show_bug.cgi?id=81713
2434
2435         Reviewed by Dirk Pranke.
2436
2437         Exisiting unit test revised to cover this change.
2438
2439         Change the fling gesture animation curve to use a 2-D Bezier to obtain greater control
2440         over the shape of the curve. Also, change time scaling code to be logarithmic for more
2441         natural feel.
2442
2443         * platform/TouchFlingPlatformGestureCurve.cpp:
2444         (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
2445         (WebCore::TouchFlingPlatformGestureCurve::apply):
2446
2447 2012-03-18  Tim Horton  <timothy_horton@apple.com>
2448
2449         Infinite repaint loop with SVGImageCache and deferred repaint timers
2450         https://bugs.webkit.org/show_bug.cgi?id=78315
2451         <rdar://problem/10651634>
2452
2453         Reviewed by Nikolas Zimmermann.
2454
2455         Only defer image redraw on a timer if we're in layout. This breaks
2456         the repaint loop while still preventing us from drawing inside layout.
2457
2458         Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
2459         preventing deferred repaint timers from being started during that process.
2460
2461         No new tests, as the problem only occurs in a nonstandard configuration.
2462
2463         * page/FrameView.cpp:
2464         (WebCore::FrameView::FrameView):
2465         (WebCore::FrameView::reset):
2466         (WebCore::FrameView::repaintContentRectangle):
2467         (WebCore::FrameView::endDeferredRepaints):
2468         (WebCore::FrameView::startDeferredRepaintTimer):
2469         (WebCore):
2470         (WebCore::FrameView::doDeferredRepaints):
2471         (WebCore::FrameView::deferredRepaintTimerFired):
2472         (WebCore::FrameView::beginDisableRepaints):
2473         (WebCore::FrameView::endDisableRepaints):
2474         * page/FrameView.h:
2475         (FrameView):
2476         (WebCore::FrameView::repaintsDisabled):
2477         * rendering/RenderView.cpp:
2478         (WebCore::RenderView::shouldRepaint):
2479         * svg/graphics/SVGImage.cpp:
2480         (WebCore::SVGImage::drawSVGToImageBuffer):
2481         (WebCore::SVGImage::draw):
2482         (WebCore::SVGImage::frameView):
2483         (WebCore):
2484         * svg/graphics/SVGImage.h:
2485         (WebCore):
2486         * svg/graphics/SVGImageCache.cpp:
2487         (WebCore::SVGImageCache::imageContentChanged):
2488         (WebCore::SVGImageCache::redraw):
2489         (WebCore::SVGImageCache::redrawTimerFired):
2490         (WebCore):
2491         * svg/graphics/SVGImageCache.h:
2492         (SVGImageCache):
2493
2494 2012-03-20  Adam Klein  <adamk@chromium.org>
2495
2496         Include fix for dom/xhtml test promised in r111449.
2497
2498         * dom/ContainerNode.cpp:
2499         (WebCore::ContainerNode::replaceChild): Check against next instead of
2500         prev when deciding there's no work to do.
2501
2502 2012-03-20  Jon Lee  <jonlee@apple.com>
2503
2504         Restrict access to notifications for unique origins and file URLs with no local file access
2505         https://bugs.webkit.org/show_bug.cgi?id=79704
2506         <rdar://problem/10912430>
2507
2508         Reviewed by Adam Barth.
2509
2510         Before checking or requesting permissions, we look at whether we can show notifications based on
2511         the security context. If not, we short circuit and do not forward the request to the client.
2512
2513         * notifications/Notification.cpp:
2514         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
2515         different logic for checking permissions than when checking permissions through the
2516         notification center.
2517         * notifications/NotificationCenter.cpp:
2518         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
2519         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
2520         we asynchronously call the callback with that decision. Otherwise we ask the client.
2521
2522         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
2523         requestPermission().
2524         * notifications/NotificationCenter.h:
2525         (NotificationRequestCallback): Add new private class encapsulating the callback.
2526         * notifications/NotificationCenter.cpp:
2527         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
2528         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
2529         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
2530         to invoke the callback.
2531         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
2532         (WebCore::NotificationCenter::NotificationRequest::startTimer):
2533         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
2534         center.
2535         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
2536         regardless of any restrictions that might otherwise cause toString() to return "null".
2537         * page/SecurityOrigin.cpp:
2538         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
2539         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
2540         universal access, we always let it show. Otherwise the client should be asked.
2541         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
2542         (WebCore::SecurityOrigin::toRawString):
2543
2544         Added FIXME's regarding the naming of enforceFilePathSeparation().
2545         * dom/Document.cpp:
2546         (WebCore::Document::initSecurityContext): Also, tab reformatting.
2547
2548         * WebCore.exp.in: Export toRawString().
2549
2550 2012-03-20  Mark Pilgrim  <pilgrim@chromium.org>
2551
2552         Move webaudio to Modules/webaudio/
2553         https://bugs.webkit.org/show_bug.cgi?id=81541
2554
2555         Reviewed by Kentaro Hara.
2556
2557         No new tests, all existing tests pass.
2558
2559         * CMakeLists.txt:
2560         * DerivedSources.make:
2561         * DerivedSources.pri:
2562         * GNUmakefile.am:
2563         * GNUmakefile.list.am:
2564         * Modules/webaudio: Added.
2565         * Modules/webaudio/AsyncAudioDecoder.cpp: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.cpp.
2566         * Modules/webaudio/AsyncAudioDecoder.h: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.h.
2567         * Modules/webaudio/AudioBasicProcessorNode.cpp: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.cpp.
2568         * Modules/webaudio/AudioBasicProcessorNode.h: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.h.
2569         * Modules/webaudio/AudioBuffer.cpp: Copied from Source/WebCore/webaudio/AudioBuffer.cpp.
2570         * Modules/webaudio/AudioBuffer.h: Copied from Source/WebCore/webaudio/AudioBuffer.h.
2571         * Modules/webaudio/AudioBuffer.idl: Copied from Source/WebCore/webaudio/AudioBuffer.idl.
2572         * Modules/webaudio/AudioBufferCallback.h: Copied from Source/WebCore/webaudio/AudioBufferCallback.h.
2573         * Modules/webaudio/AudioBufferCallback.idl: Copied from Source/WebCore/webaudio/AudioBufferCallback.idl.
2574         * Modules/webaudio/AudioBufferSourceNode.cpp: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.cpp.
2575         * Modules/webaudio/AudioBufferSourceNode.h: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.h.
2576         * Modules/webaudio/AudioBufferSourceNode.idl: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.idl.
2577         * Modules/webaudio/AudioChannelMerger.cpp: Copied from Source/WebCore/webaudio/AudioChannelMerger.cpp.
2578         * Modules/webaudio/AudioChannelMerger.h: Copied from Source/WebCore/webaudio/AudioChannelMerger.h.
2579         * Modules/webaudio/AudioChannelMerger.idl: Copied from Source/WebCore/webaudio/AudioChannelMerger.idl.
2580         * Modules/webaudio/AudioChannelSplitter.cpp: Copied from Source/WebCore/webaudio/AudioChannelSplitter.cpp.
2581         * Modules/webaudio/AudioChannelSplitter.h: Copied from Source/WebCore/webaudio/AudioChannelSplitter.h.
2582         * Modules/webaudio/AudioChannelSplitter.idl: Copied from Source/WebCore/webaudio/AudioChannelSplitter.idl.
2583         * Modules/webaudio/AudioContext.cpp: Copied from Source/WebCore/webaudio/AudioContext.cpp.
2584         * Modules/webaudio/AudioContext.h: Copied from Source/WebCore/webaudio/AudioContext.h.
2585         * Modules/webaudio/AudioContext.idl: Copied from Source/WebCore/webaudio/AudioContext.idl.
2586         * Modules/webaudio/AudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/AudioDestinationNode.cpp.
2587         * Modules/webaudio/AudioDestinationNode.h: Copied from Source/WebCore/webaudio/AudioDestinationNode.h.
2588         * Modules/webaudio/AudioDestinationNode.idl: Copied from Source/WebCore/webaudio/AudioDestinationNode.idl.
2589         * Modules/webaudio/AudioGain.h: Copied from Source/WebCore/webaudio/AudioGain.h.
2590         * Modules/webaudio/AudioGain.idl: Copied from Source/WebCore/webaudio/AudioGain.idl.
2591         * Modules/webaudio/AudioGainNode.cpp: Copied from Source/WebCore/webaudio/AudioGainNode.cpp.
2592         * Modules/webaudio/AudioGainNode.h: Copied from Source/WebCore/webaudio/AudioGainNode.h.
2593         * Modules/webaudio/AudioGainNode.idl: Copied from Source/WebCore/webaudio/AudioGainNode.idl.
2594         * Modules/webaudio/AudioListener.cpp: Copied from Source/WebCore/webaudio/AudioListener.cpp.
2595         * Modules/webaudio/AudioListener.h: Copied from Source/WebCore/webaudio/AudioListener.h.
2596         * Modules/webaudio/AudioListener.idl: Copied from Source/WebCore/webaudio/AudioListener.idl.
2597         * Modules/webaudio/AudioNode.cpp: Copied from Source/WebCore/webaudio/AudioNode.cpp.
2598         * Modules/webaudio/AudioNode.h: Copied from Source/WebCore/webaudio/AudioNode.h.
2599         * Modules/webaudio/AudioNode.idl: Copied from Source/WebCore/webaudio/AudioNode.idl.
2600         * Modules/webaudio/AudioNodeInput.cpp: Copied from Source/WebCore/webaudio/AudioNodeInput.cpp.
2601         * Modules/webaudio/AudioNodeInput.h: Copied from Source/WebCore/webaudio/AudioNodeInput.h.
2602         * Modules/webaudio/AudioNodeOutput.cpp: Copied from Source/WebCore/webaudio/AudioNodeOutput.cpp.
2603         * Modules/webaudio/AudioNodeOutput.h: Copied from Source/WebCore/webaudio/AudioNodeOutput.h.
2604         * Modules/webaudio/AudioPannerNode.cpp: Copied from Source/WebCore/webaudio/AudioPannerNode.cpp.
2605         * Modules/webaudio/AudioPannerNode.h: Copied from Source/WebCore/webaudio/AudioPannerNode.h.
2606         * Modules/webaudio/AudioPannerNode.idl: Copied from Source/WebCore/webaudio/AudioPannerNode.idl.
2607         * Modules/webaudio/AudioParam.cpp: Copied from Source/WebCore/webaudio/AudioParam.cpp.
2608         * Modules/webaudio/AudioParam.h: Copied from Source/WebCore/webaudio/AudioParam.h.
2609         * Modules/webaudio/AudioParam.idl: Copied from Source/WebCore/webaudio/AudioParam.idl.
2610         * Modules/webaudio/AudioParamTimeline.cpp: Copied from Source/WebCore/webaudio/AudioParamTimeline.cpp.
2611         * Modules/webaudio/AudioParamTimeline.h: Copied from Source/WebCore/webaudio/AudioParamTimeline.h.
2612         * Modules/webaudio/AudioProcessingEvent.cpp: Copied from Source/WebCore/webaudio/AudioProcessingEvent.cpp.
2613         * Modules/webaudio/AudioProcessingEvent.h: Copied from Source/WebCore/webaudio/AudioProcessingEvent.h.
2614         * Modules/webaudio/AudioProcessingEvent.idl: Copied from Source/WebCore/webaudio/AudioProcessingEvent.idl.
2615         * Modules/webaudio/AudioSourceNode.h: Copied from Source/WebCore/webaudio/AudioSourceNode.h.
2616         * Modules/webaudio/AudioSourceNode.idl: Copied from Source/WebCore/webaudio/AudioSourceNode.idl.
2617         * Modules/webaudio/BiquadDSPKernel.cpp: Copied from Source/WebCore/webaudio/BiquadDSPKernel.cpp.
2618         * Modules/webaudio/BiquadDSPKernel.h: Copied from Source/WebCore/webaudio/BiquadDSPKernel.h.
2619         * Modules/webaudio/BiquadFilterNode.cpp: Copied from Source/WebCore/webaudio/BiquadFilterNode.cpp.
2620         * Modules/webaudio/BiquadFilterNode.h: Copied from Source/WebCore/webaudio/BiquadFilterNode.h.
2621         * Modules/webaudio/BiquadFilterNode.idl: Copied from Source/WebCore/webaudio/BiquadFilterNode.idl.
2622         * Modules/webaudio/BiquadProcessor.cpp: Copied from Source/WebCore/webaudio/BiquadProcessor.cpp.
2623         * Modules/webaudio/BiquadProcessor.h: Copied from Source/WebCore/webaudio/BiquadProcessor.h.
2624         * Modules/webaudio/ConvolverNode.cpp: Copied from Source/WebCore/webaudio/ConvolverNode.cpp.
2625         * Modules/webaudio/ConvolverNode.h: Copied from Source/WebCore/webaudio/ConvolverNode.h.
2626         * Modules/webaudio/ConvolverNode.idl: Copied from Source/WebCore/webaudio/ConvolverNode.idl.
2627         * Modules/webaudio/DOMWindowWebAudio.idl: Copied from Source/WebCore/webaudio/DOMWindowWebAudio.idl.
2628         * Modules/webaudio/DefaultAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp.
2629         * Modules/webaudio/DefaultAudioDestinationNode.h: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.h.
2630         * Modules/webaudio/DelayDSPKernel.cpp: Copied from Source/WebCore/webaudio/DelayDSPKernel.cpp.
2631         * Modules/webaudio/DelayDSPKernel.h: Copied from Source/WebCore/webaudio/DelayDSPKernel.h.
2632         * Modules/webaudio/DelayNode.cpp: Copied from Source/WebCore/webaudio/DelayNode.cpp.
2633         * Modules/webaudio/DelayNode.h: Copied from Source/WebCore/webaudio/DelayNode.h.
2634         * Modules/webaudio/DelayNode.idl: Copied from Source/WebCore/webaudio/DelayNode.idl.
2635         * Modules/webaudio/DelayProcessor.cpp: Copied from Source/WebCore/webaudio/DelayProcessor.cpp.
2636         * Modules/webaudio/DelayProcessor.h: Copied from Source/WebCore/webaudio/DelayProcessor.h.
2637         * Modules/webaudio/DynamicsCompressorNode.cpp: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.cpp.
2638         * Modules/webaudio/DynamicsCompressorNode.h: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.h.
2639         * Modules/webaudio/DynamicsCompressorNode.idl: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.idl.
2640         * Modules/webaudio/HighPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/HighPass2FilterNode.cpp.
2641         * Modules/webaudio/HighPass2FilterNode.h: Copied from Source/WebCore/webaudio/HighPass2FilterNode.h.
2642         * Modules/webaudio/HighPass2FilterNode.idl: Copied from Source/WebCore/webaudio/HighPass2FilterNode.idl.
2643         * Modules/webaudio/JavaScriptAudioNode.cpp: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.cpp.
2644         * Modules/webaudio/JavaScriptAudioNode.h: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.h.
2645         * Modules/webaudio/JavaScriptAudioNode.idl: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.idl.
2646         * Modules/webaudio/LowPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/LowPass2FilterNode.cpp.
2647         * Modules/webaudio/LowPass2FilterNode.h: Copied from Source/WebCore/webaudio/LowPass2FilterNode.h.
2648         * Modules/webaudio/LowPass2FilterNode.idl: Copied from Source/WebCore/webaudio/LowPass2FilterNode.idl.
2649         * Modules/webaudio/MediaElementAudioSourceNode.cpp: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp.
2650         * Modules/webaudio/MediaElementAudioSourceNode.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
2651         * Modules/webaudio/MediaElementAudioSourceNode.idl: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.idl.
2652         * Modules/webaudio/OfflineAudioCompletionEvent.cpp: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp.
2653         * Modules/webaudio/OfflineAudioCompletionEvent.h: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.h.
2654         * Modules/webaudio/OfflineAudioCompletionEvent.idl: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.idl.
2655         * Modules/webaudio/OfflineAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp.
2656         * Modules/webaudio/OfflineAudioDestinationNode.h: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.h.
2657         * Modules/webaudio/RealtimeAnalyser.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyser.cpp.
2658         * Modules/webaudio/RealtimeAnalyser.h: Copied from Source/WebCore/webaudio/RealtimeAnalyser.h.
2659         * Modules/webaudio/RealtimeAnalyserNode.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.cpp.
2660         * Modules/webaudio/RealtimeAnalyserNode.h: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.h.
2661         * Modules/webaudio/RealtimeAnalyserNode.idl: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.idl.
2662         * Modules/webaudio/WaveShaperDSPKernel.cpp: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.cpp.
2663         * Modules/webaudio/WaveShaperDSPKernel.h: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.h.
2664         * Modules/webaudio/WaveShaperNode.cpp: Copied from Source/WebCore/webaudio/WaveShaperNode.cpp.
2665         * Modules/webaudio/WaveShaperNode.h: Copied from Source/WebCore/webaudio/WaveShaperNode.h.
2666         * Modules/webaudio/WaveShaperNode.idl: Copied from Source/WebCore/webaudio/WaveShaperNode.idl.
2667         * Modules/webaudio/WaveShaperProcessor.cpp: Copied from Source/WebCore/webaudio/WaveShaperProcessor.cpp.
2668         * Modules/webaudio/WaveShaperProcessor.h: Copied from Source/WebCore/webaudio/WaveShaperProcessor.h.
2669         * WebCore.gyp/WebCore.gyp:
2670         * WebCore.gypi:
2671         * WebCore.pri:
2672         * WebCore.xcodeproj/project.pbxproj:
2673         * webaudio/AsyncAudioDecoder.cpp: Removed.
2674         * webaudio/AsyncAudioDecoder.h: Removed.
2675         * webaudio/AudioBasicProcessorNode.cpp: Removed.
2676         * webaudio/AudioBasicProcessorNode.h: Removed.
2677         * webaudio/AudioBuffer.cpp: Removed.
2678         * webaudio/AudioBuffer.h: Removed.
2679         * webaudio/AudioBuffer.idl: Removed.
2680         * webaudio/AudioBufferCallback.h: Removed.
2681         * webaudio/AudioBufferCallback.idl: Removed.
2682         * webaudio/AudioBufferSourceNode.cpp: Removed.
2683         * webaudio/AudioBufferSourceNode.h: Removed.
2684         * webaudio/AudioBufferSourceNode.idl: Removed.
2685         * webaudio/AudioChannelMerger.cpp: Removed.
2686         * webaudio/AudioChannelMerger.h: Removed.
2687         * webaudio/AudioChannelMerger.idl: Removed.
2688         * webaudio/AudioChannelSplitter.cpp: Removed.
2689         * webaudio/AudioChannelSplitter.h: Removed.
2690         * webaudio/AudioChannelSplitter.idl: Removed.
2691         * webaudio/AudioContext.cpp: Removed.
2692         * webaudio/AudioContext.h: Removed.
2693         * webaudio/AudioContext.idl: Removed.
2694         * webaudio/AudioDestinationNode.cpp: Removed.
2695         * webaudio/AudioDestinationNode.h: Removed.
2696         * webaudio/AudioDestinationNode.idl: Removed.
2697         * webaudio/AudioGain.h: Removed.
2698         * webaudio/AudioGain.idl: Removed.
2699         * webaudio/AudioGainNode.cpp: Removed.
2700         * webaudio/AudioGainNode.h: Removed.
2701         * webaudio/AudioGainNode.idl: Removed.
2702         * webaudio/AudioListener.cpp: Removed.
2703         * webaudio/AudioListener.h: Removed.
2704         * webaudio/AudioListener.idl: Removed.
2705         * webaudio/AudioNode.cpp: Removed.
2706         * webaudio/AudioNode.h: Removed.
2707         * webaudio/AudioNode.idl: Removed.
2708         * webaudio/AudioNodeInput.cpp: Removed.
2709         * webaudio/AudioNodeInput.h: Removed.
2710         * webaudio/AudioNodeOutput.cpp: Removed.
2711         * webaudio/AudioNodeOutput.h: Removed.
2712         * webaudio/AudioPannerNode.cpp: Removed.
2713         * webaudio/AudioPannerNode.h: Removed.
2714         * webaudio/AudioPannerNode.idl: Removed.
2715         * webaudio/AudioParam.cpp: Removed.
2716         * webaudio/AudioParam.h: Removed.
2717         * webaudio/AudioParam.idl: Removed.
2718         * webaudio/AudioParamTimeline.cpp: Removed.
2719         * webaudio/AudioParamTimeline.h: Removed.
2720         * webaudio/AudioProcessingEvent.cpp: Removed.
2721         * webaudio/AudioProcessingEvent.h: Removed.
2722         * webaudio/AudioProcessingEvent.idl: Removed.
2723         * webaudio/AudioSourceNode.h: Removed.
2724         * webaudio/AudioSourceNode.idl: Removed.
2725         * webaudio/BiquadDSPKernel.cpp: Removed.
2726         * webaudio/BiquadDSPKernel.h: Removed.
2727         * webaudio/BiquadFilterNode.cpp: Removed.
2728         * webaudio/BiquadFilterNode.h: Removed.
2729         * webaudio/BiquadFilterNode.idl: Removed.
2730         * webaudio/BiquadProcessor.cpp: Removed.
2731         * webaudio/BiquadProcessor.h: Removed.
2732         * webaudio/ConvolverNode.cpp: Removed.
2733         * webaudio/ConvolverNode.h: Removed.
2734         * webaudio/ConvolverNode.idl: Removed.
2735         * webaudio/DOMWindowWebAudio.idl: Removed.
2736         * webaudio/DefaultAudioDestinationNode.cpp: Removed.
2737         * webaudio/DefaultAudioDestinationNode.h: Removed.
2738         * webaudio/DelayDSPKernel.cpp: Removed.
2739         * webaudio/DelayDSPKernel.h: Removed.
2740         * webaudio/DelayNode.cpp: Removed.
2741         * webaudio/DelayNode.h: Removed.
2742         * webaudio/DelayNode.idl: Removed.
2743         * webaudio/DelayProcessor.cpp: Removed.
2744         * webaudio/DelayProcessor.h: Removed.
2745         * webaudio/DynamicsCompressorNode.cpp: Removed.
2746         * webaudio/DynamicsCompressorNode.h: Removed.
2747         * webaudio/DynamicsCompressorNode.idl: Removed.
2748         * webaudio/HighPass2FilterNode.cpp: Removed.
2749         * webaudio/HighPass2FilterNode.h: Removed.
2750         * webaudio/HighPass2FilterNode.idl: Removed.
2751         * webaudio/JavaScriptAudioNode.cpp: Removed.
2752         * webaudio/JavaScriptAudioNode.h: Removed.
2753         * webaudio/JavaScriptAudioNode.idl: Removed.
2754         * webaudio/LowPass2FilterNode.cpp: Removed.
2755         * webaudio/LowPass2FilterNode.h: Removed.
2756         * webaudio/LowPass2FilterNode.idl: Removed.
2757         * webaudio/MediaElementAudioSourceNode.cpp: Removed.
2758         * webaudio/MediaElementAudioSourceNode.h: Removed.
2759         * webaudio/MediaElementAudioSourceNode.idl: Removed.
2760         * webaudio/OfflineAudioCompletionEvent.cpp: Removed.
2761         * webaudio/OfflineAudioCompletionEvent.h: Removed.
2762         * webaudio/OfflineAudioCompletionEvent.idl: Removed.
2763         * webaudio/OfflineAudioDestinationNode.cpp: Removed.
2764         * webaudio/OfflineAudioDestinationNode.h: Removed.
2765         * webaudio/RealtimeAnalyser.cpp: Removed.
2766         * webaudio/RealtimeAnalyser.h: Removed.
2767         * webaudio/RealtimeAnalyserNode.cpp: Removed.
2768         * webaudio/RealtimeAnalyserNode.h: Removed.
2769         * webaudio/RealtimeAnalyserNode.idl: Removed.
2770         * webaudio/WaveShaperDSPKernel.cpp: Removed.
2771         * webaudio/WaveShaperDSPKernel.h: Removed.
2772         * webaudio/WaveShaperNode.cpp: Removed.
2773         * webaudio/WaveShaperNode.h: Removed.
2774         * webaudio/WaveShaperNode.idl: Removed.
2775         * webaudio/WaveShaperProcessor.cpp: Removed.
2776         * webaudio/WaveShaperProcessor.h: Removed.
2777
2778 2012-03-20  Anders Carlsson  <andersca@apple.com>
2779
2780         Add a per-ScrollableArea tile cache base class
2781         https://bugs.webkit.org/show_bug.cgi?id=81694
2782
2783         Reviewed by Sam Weinig.
2784
2785         Add an abstract base class, TiledBacking, that can be used to inform tile caches about changed
2786         state in scrollable areas (such as the currently visible rect, whether the page is active or not, etc).
2787
2788         Make TileCache inherit from TiledBacking and port updating the visible rect over to this new mechanism.
2789
2790         * WebCore.xcodeproj/project.pbxproj:
2791         * page/FrameView.cpp:
2792         (WebCore::FrameView::tiledBacking):
2793         (WebCore):
2794         * page/FrameView.h:
2795         (FrameView):
2796         * platform/ScrollableArea.h:
2797         (WebCore):
2798         (ScrollableArea):
2799         (WebCore::ScrollableArea::tiledBacking):
2800         * platform/graphics/GraphicsLayer.h:
2801         (WebCore):
2802         (WebCore::GraphicsLayer::tiledBacking):
2803         * platform/graphics/TiledBacking.h: Added.
2804         (WebCore):
2805         (TiledBacking):
2806         (WebCore::TiledBacking::~TiledBacking):
2807         * platform/graphics/ca/GraphicsLayerCA.cpp:
2808         (WebCore::GraphicsLayerCA::tiledBacking):
2809         * platform/graphics/ca/GraphicsLayerCA.h:
2810         (GraphicsLayerCA):
2811         * platform/graphics/ca/PlatformCALayer.h:
2812         (PlatformCALayer):
2813         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2814         (PlatformCALayer::tiledBacking):
2815         * platform/graphics/ca/mac/TileCache.h:
2816         (TileCache):
2817         * platform/graphics/ca/mac/WebTileCacheLayer.h:
2818         (WebCore):
2819         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2820         (-[WebTileCacheLayer WebCore::]):
2821         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2822         (PlatformCALayer::tiledBacking):
2823         * rendering/RenderLayerCompositor.cpp:
2824         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2825
2826 2012-03-20  Xiaomei Ji  <xji@chromium.org>
2827
2828         visual word movement: crashes on CSS generated content.
2829         https://bugs.webkit.org/show_bug.cgi?id=81581
2830
2831         Reviewed by Ryosuke Niwa.
2832
2833         Check for null pointer when referencing box->renderer()->node() in previousRootInlineBox and nextRootInlineBox.
2834
2835         Test: editing/selection/move-by-word-visually-crash-test-css-generated-content.html
2836
2837         * editing/visible_units.cpp:
2838         (WebCore::previousRootInlineBox):
2839         (WebCore::nextRootInlineBox):
2840
2841 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
2842
2843         Use CSSPrimitiveValue::convertToLength() to handle CSSPropertyWebkitBoxReflect and in createGridTrackBreadth.
2844         https://bugs.webkit.org/show_bug.cgi?id=81633
2845
2846         Reviewed by Andreas Kling.
2847
2848         No new tests / refactoring only.
2849
2850         * css/CSSStyleSelector.cpp:
2851         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2852
2853 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2854
2855         Unreviewed, rolling out r111442.
2856         http://trac.webkit.org/changeset/111442
2857         https://bugs.webkit.org/show_bug.cgi?id=81711
2858
2859         Causes crashes and image mismatches in canvas tests (Requested
2860         by leviw on #webkit).
2861
2862         * html/HTMLCanvasElement.cpp:
2863         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2864         (WebCore::HTMLCanvasElement::reset):
2865         (WebCore::HTMLCanvasElement::createImageBuffer):
2866         (WebCore::HTMLCanvasElement::clearCopiedImage):
2867         * html/HTMLCanvasElement.h:
2868         (HTMLCanvasElement):
2869         * html/canvas/CanvasRenderingContext2D.cpp:
2870         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2871         (WebCore::CanvasRenderingContext2D::unwindStateStack):
2872         (WebCore::CanvasRenderingContext2D::reset):
2873
2874 2012-03-20  Adrienne Walker  <enne@google.com>
2875
2876         RenderLayerCompositor doesn't properly clip graphics layer sizes
2877         https://bugs.webkit.org/show_bug.cgi?id=80372
2878
2879         Reviewed by Simon Fraser.
2880
2881         To find the bounds for a composited layer, calculateCompositedBounds
2882         iterates through all non-composited child layers using z-order and
2883         normal flow lists. This does not preserve clipping from ancestor
2884         layers, because a clipping ancestor layer can end up as a sibling to
2885         its clipped descendent because it is not a stacking context.
2886
2887         Fix by explicitly checking cached clip roots.
2888
2889         Test: compositing/clip-child-by-non-stacking-ancestor.html
2890
2891         * rendering/RenderLayer.cpp:
2892         (WebCore::RenderLayer::localClipRect):
2893         (WebCore):
2894         * rendering/RenderLayer.h:
2895         (RenderLayer):
2896         * rendering/RenderLayerCompositor.cpp:
2897         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
2898         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2899
2900 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2901
2902         Unreviewed, rolling out r111445 and r111446.
2903         http://trac.webkit.org/changeset/111445
2904         http://trac.webkit.org/changeset/111446
2905         https://bugs.webkit.org/show_bug.cgi?id=81708
2906
2907         It broke Qt and GTK build intentionally (Requested by Ossy on
2908         #webkit).
2909
2910         * WebCore.exp.in:
2911         * dom/Document.cpp:
2912         (WebCore::Document::initSecurityContext):
2913         * notifications/Notification.cpp:
2914         (WebCore::Notification::Notification):
2915         * notifications/NotificationCenter.cpp:
2916         (WebCore::NotificationCenter::checkPermission):
2917         (WebCore::NotificationCenter::requestPermission):
2918         * notifications/NotificationCenter.h:
2919         (NotificationCenter):
2920         * page/SecurityOrigin.cpp:
2921         (WebCore::SecurityOrigin::toString):
2922         * page/SecurityOrigin.h:
2923         (SecurityOrigin):
2924
2925 2012-03-20  Adam Klein  <adamk@chromium.org>
2926
2927         Refactor ContainerNode::replaceChild to match other mutation methods and share code
2928         https://bugs.webkit.org/show_bug.cgi?id=81579
2929
2930         Reviewed by Ojan Vafai.
2931
2932         Originally landed as r111310, this fixes a bug in replaceChild
2933         introduced when switching to the insert-before logic.
2934
2935         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
2936         to handle insertion of DocumentFragments more cleanly.
2937
2938         No new tests, no change in behavior.
2939
2940         * dom/ContainerNode.cpp:
2941         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
2942         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
2943         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
2944         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
2945
2946 2012-03-20  Jon Lee  <jonlee@apple.com>
2947
2948         Restrict access to notifications for unique origins and file URLs with no local file access
2949         https://bugs.webkit.org/show_bug.cgi?id=79704
2950         <rdar://problem/10912430>
2951
2952         Reviewed by Adam Barth.
2953
2954         Before checking or requesting permissions, we look at whether we can show notifications based on
2955         the security context. If not, we short circuit and do not forward the request to the client.
2956
2957         * notifications/Notification.cpp:
2958         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
2959         different logic for checking permissions than when checking permissions through the
2960         notification center.
2961         * notifications/NotificationCenter.cpp:
2962         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
2963         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
2964         we asynchronously call the callback with that decision. Otherwise we ask the client.
2965
2966         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
2967         requestPermission().
2968         * notifications/NotificationCenter.h:
2969         (NotificationRequestCallback): Add new private class encapsulating the callback.
2970         * notifications/NotificationCenter.cpp:
2971         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
2972         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
2973         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
2974         to invoke the callback.
2975         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
2976         (WebCore::NotificationCenter::NotificationRequest::startTimer):
2977         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
2978         center.
2979         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
2980         regardless of any restrictions that might otherwise cause toString() to return "null".
2981         * page/SecurityOrigin.cpp:
2982         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
2983         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
2984         universal access, we always let it show. Otherwise the client should be asked.
2985         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
2986         (WebCore::SecurityOrigin::toRawString):
2987
2988         Added FIXME's regarding the naming of enforceFilePathSeparation().
2989         * dom/Document.cpp:
2990         (WebCore::Document::initSecurityContext): Also, tab reformatting.
2991
2992         * WebCore.exp.in: Export toRawString().
2993
2994 2012-03-20  Andreas Kling  <kling@webkit.org>
2995
2996         Remove unused CSSPrimitiveValue constructors.
2997         <http://webkit.org/b/81695>
2998
2999         Reviewed by Antti Koivisto.
3000
3001         Kill off CSSPrimitiveValue constructors that aren't used anywhere.
3002
3003         * css/CSSPrimitiveValue.cpp:
3004         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3005         * css/CSSPrimitiveValue.h:
3006         (CSSPrimitiveValueBase):
3007         (WebCore::CSSPrimitiveValueBase::CSSPrimitiveValueBase):
3008         (CSSPrimitiveValue):
3009         * css/CSSPrimitiveValueMappings.h:
3010
3011 2012-03-20  Sami Kyostila  <skyostil@chromium.org>
3012
3013         Reuse buffer allocation if canvas size does not change
3014         https://bugs.webkit.org/show_bug.cgi?id=80871
3015
3016         Reviewed by Stephen White.
3017
3018         If the user changes the width or height attributes of a canvas element,
3019         the contents of the canvas should be cleared and the context state
3020         should be reset. This has become a common idiom to clear the canvas
3021         "efficiently" at the start of a frame.
3022
3023         Previously, this code path triggered a full reallocation of the image
3024         buffer backing the canvas, leading to reduced performance. This patch
3025         implements an optimization where we reuse the previous image buffer
3026         allocation if the size of the canvas did not change. Also, instead of
3027         clearing the canvas every time its dimensions are touched, we only clear
3028         if anything has been drawn into the canvas since it was previously
3029         cleared.
3030
3031         Note that for now this optimization only applies for 2D canvases,
3032         since it is not entirely clear how touching the dimensions of a WebGL
3033         canvas should work.
3034
3035         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
3036               existing layout tests for canvas resetting.
3037
3038         * html/HTMLCanvasElement.cpp:
3039         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
3040         (WebCore::HTMLCanvasElement::reset):
3041         (WebCore::HTMLCanvasElement::createImageBuffer):
3042         (WebCore::HTMLCanvasElement::clearImageBuffer):
3043         (WebCore):
3044         (WebCore::HTMLCanvasElement::clearCopiedImage):
3045         * html/HTMLCanvasElement.h:
3046         (HTMLCanvasElement):
3047         * html/canvas/CanvasRenderingContext2D.cpp:
3048         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Save the
3049         initial graphics context state so we can restore it without creating a
3050         new context.
3051         (WebCore::CanvasRenderingContext2D::unwindStateStack):
3052         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
3053         compositor when the context is reset, because clearing the image buffer
3054         does the same thing. We can also skip the notification if we did not
3055         have an image buffer at the time of the reset, because the reset will
3056         not have any visual impact in this case. Finally, if the canvas size
3057         did change, the notification is also unnecessary because of the call
3058         to RenderObject::repaint() from HTMLCanvasElement::reset().
3059
3060 2012-03-20  Dana Jansens  <danakj@chromium.org>
3061
3062         [chromium] Allow us to disable overdraw metrics when tracing is off
3063         https://bugs.webkit.org/show_bug.cgi?id=81431
3064
3065         Reviewed by Adrienne Walker.
3066
3067         This change allows us to disable overdraw metrics conditionally in the
3068         future with a one-line change in each LayerTreeHost class.
3069
3070         Unit test: CCQuadCullerTest.verifyWithoutMetrics
3071
3072         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3073         (WebCore::CCLayerTreeHost::paintLayerContents):
3074         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3075         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3076         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3077         (WebCore::::CCOcclusionTrackerBase):
3078         (WebCore):
3079         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
3080         (CCOcclusionTrackerBase):
3081         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
3082         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
3083         (WebCore::CCOverdrawMetrics::didCull):
3084         (WebCore::CCOverdrawMetrics::didDraw):
3085         (WebCore::CCOverdrawMetrics::recordMetrics):
3086         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
3087         (WebCore::CCOverdrawMetrics::create):
3088         (CCOverdrawMetrics):
3089
3090 2012-03-20  Robert Hogan  <robert@webkit.org>
3091
3092         Use-after-free of continuation in RenderBlock::paintContinuationOutlines()
3093         https://bugs.webkit.org/show_bug.cgi?id=81276
3094
3095         Reviewed by David Hyatt.
3096
3097         Test: fast/css/relative-positioned-block-crash.html
3098
3099         https://trac.webkit.org/changeset/108185/ allowed anonymous blocks to get their own layer (when they're
3100         relatively positioned). This broke the dependency in addContinuationWithOutline() on the owner of the continuation
3101         table and the renderer getting added to it always being in the same layer. When they're not in the same layer
3102         there's no guarantee that the owner of the continuation table will get painted again and so avoid any stale pointers
3103         in its continuation table should any of the renderers in there get destroyed.
3104
3105         Fix this for now by only adding renderers to the containing block's continuation table if we don't have our own layer.
3106         This fix causes fast/inline/continuation-outlines-with-layers.html to regress as it uses blocks inside relatively positioned
3107         inlines, so skip it on all platforms pending a medium-term fix.
3108
3109         * rendering/RenderBlock.cpp:
3110         (WebCore::RenderBlock::paintObject):
3111
3112 2012-03-20  Adele Peterson  <adele@apple.com>
3113
3114         "Attempt to insert nil value " exception when calling attributed string APIs on content with a custom font
3115         https://bugs.webkit.org/show_bug.cgi?id=81630
3116         <rdar://problem/10650660> 
3117
3118         Reviewed by Alexey Proskuryakov. 
3119
3120         Test: TestWebKitAPI/Tests/mac/AttributedString.mm 
3121
3122         If content is using a custom font, then the platform font will be nil and needs to be nil checked.
3123
3124         * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
3125
3126 2012-03-20  Julien Chaffraix  <jchaffraix@webkit.org>
3127
3128         Make distributeExtraLogicalHeightToRows return the consumed logical height
3129         https://bugs.webkit.org/show_bug.cgi?id=81678
3130
3131         Reviewed by Tony Chang.
3132
3133         Small refactoring, no change in behavior.
3134
3135         * rendering/RenderTable.cpp:
3136         (WebCore::RenderTable::distributeExtraLogicalHeight):
3137         Remove the consumed logical height from the available height.
3138
3139         * rendering/RenderTableSection.cpp:
3140         (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
3141         (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
3142         (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
3143         Changed those method to not return anything but remove from the available width.
3144
3145         (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
3146         Return the consumed logical height.
3147
3148         * rendering/RenderTableSection.h:
3149         Updated the previous distribute functions signature and the comment about
3150         the returned value from distributeExtraLogicalHeightToRows.
3151
3152 2012-03-20  Jacky Jiang  <zhajiang@rim.com>
3153
3154         [BlackBerry] Dijit crash WebCore::CookieManager::getRawCookies
3155         https://bugs.webkit.org/show_bug.cgi?id=81686
3156
3157         Reviewed by Rob Buis.
3158
3159         HTML plugin element with an empty src caused an ASSERT failure on debug
3160         build and a crash on release build.
3161         When getting cookie, url can be null, so we need to check for it to
3162         avoid the crash.
3163
3164         No new tests as this is covered by
3165         LayoutTests/fast/loader/empty-embed-src-attribute.html.
3166
3167         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3168         (WebCore::ResourceRequest::initializePlatformRequest):
3169
3170 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
3171
3172         Web Inspector: Tabbed pane drop down should be sorted.
3173         https://bugs.webkit.org/show_bug.cgi?id=81680
3174
3175         Reviewed by Pavel Feldman.
3176
3177         * inspector/front-end/TabbedPane.js:
3178         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex.compareFunction):
3179         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
3180
3181 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
3182
3183         Web Inspector: Open resource dialog scripts list should be sorted.
3184         https://bugs.webkit.org/show_bug.cgi?id=81682
3185
3186         Reviewed by Pavel Feldman.
3187
3188         * inspector/front-end/FilteredItemSelectionDialog.js:
3189         (WebInspector.OpenResourceDialog.compareFunction):
3190         (WebInspector.OpenResourceDialog):
3191
3192 2012-03-20  Dana Jansens  <danakj@chromium.org>
3193
3194         [chromium] Use opaque contents for paint culling
3195         https://bugs.webkit.org/show_bug.cgi?id=81676
3196
3197         Reviewed by Adrienne Walker.
3198
3199         UnitTest: CCLayerTreeHostTestContentLayerOcclusion
3200
3201         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3202         (WebCore::CCLayerTreeHost::paintLayerContents):
3203
3204 2012-03-20  Dan Bernstein  <mitz@apple.com>
3205
3206         Build fix after r111419.
3207
3208         * dom/WebKitNamedFlow.cpp:
3209         * dom/WebKitNamedFlow.h:
3210
3211 2012-03-20  Dan Bernstein  <mitz@apple.com>
3212
3213         REGRESSION (r111229): css1/basic/inheritance.html is failing
3214         https://bugs.webkit.org/show_bug.cgi?id=81684
3215
3216         Reverted r111229.
3217
3218         Rubber-stamped by Dave Hyatt.
3219
3220         * dom/Document.cpp:
3221         (WebCore::Document::webkitGetFlowByName):
3222         * dom/Document.h:
3223         (Document):
3224         * dom/Element.cpp:
3225         (WebCore::Element::detach):
3226         * dom/NodeRenderingContext.cpp:
3227         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
3228         * dom/WebKitNamedFlow.cpp:
3229         (WebCore):
3230         * dom/WebKitNamedFlow.h:
3231         (WebCore):
3232         (WebKitNamedFlow):
3233         * dom/WebKitNamedFlow.idl:
3234
3235 2012-03-20  Vineet Chaudhary  <rgf748@motorola.com>
3236
3237         https://bugs.webkit.org/show_bug.cgi?id=80696
3238         Remove custom bindings for attribute type Array.
3239
3240         Reviewed by Kentaro Hara.
3241
3242         No new tests.
3243
3244         * bindings/js/JSConsoleCustom.cpp: Removed custom function.
3245         (WebCore):
3246         * bindings/js/JSDOMBinding.h: Added template jsArray and toNativeArray.
3247         (WebCore):
3248         (WebCore::jsArray):
3249         (WebCore::toNativeArray):
3250         * bindings/scripts/CodeGenerator.pm: Modified codegenerators to generate appropriate code.
3251         (GetArrayType): Added GetArrayType to get return type of attribute interface.
3252         * bindings/scripts/CodeGeneratorGObject.pm: Modified codegenerators to generate appropriate code.
3253         (SkipAttribute):
3254         * bindings/scripts/CodeGeneratorJS.pm: Modified codegenerators to generate appropriate code.
3255         (AddIncludesForType):
3256         (JSValueToNative):
3257         (NativeToJSValue):
3258         * bindings/scripts/CodeGeneratorV8.pm: Modified codegenerators to generate appropriate code.
3259         (GenerateNormalAttrGetter):
3260         (GenerateNormalAttrSetter):
3261         (JSValueToNative):
3262         (NativeToJSValue):
3263         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated results from running binding tests.
3264         (webkit_dom_test_obj_get_property):
3265         (webkit_dom_test_obj_class_init):
3266         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
3267         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
3268         (WebCore::jsTestObjSequenceAttr):
3269         (WebCore::setJSTestObjSequenceAttr):
3270         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
3271         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
3272         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
3273         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
3274         (WebCore::TestObjInternal::methodReturningSequenceCallback):
3275         * bindings/v8/V8Binding.h: Added template v8Array and toNativeArray.
3276         (WebCore):
3277         (WebCore::v8Array):
3278         (WebCore::toNativeArray):
3279         * bindings/v8/custom/V8ConsoleCustom.cpp: Removed custom function.
3280         (WebCore):
3281         * page/Console.idl: Replaced attribute type Array to sequence<SriptProfile> to remove
3282           custom bindings.
3283
3284 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3285
3286         Unreviewed, rolling out r111310.
3287         http://trac.webkit.org/changeset/111310
3288         https://bugs.webkit.org/show_bug.cgi?id=81683
3289
3290         Broke layout test
3291         dom/xhtml/level3/core/nodereplacechild30.xhtml (Requested by
3292         aklein on #webkit).
3293
3294         * dom/ContainerNode.cpp:
3295         (WebCore::ContainerNode::replaceChild):
3296         (WebCore::ContainerNode::appendChild):
3297         (WebCore::ContainerNode::parserAddChild):
3298
3299 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3300
3301         Convert hasSpellingMarker to use Internals interface.
3302         https://bugs.webkit.org/show_bug.cgi?id=81300
3303
3304         Reviewed by Ryosuke Niwa.
3305
3306         Remove hasSpellingMarker functions, because it is able to work in the
3307         cross-port way through the Internals interface.
3308
3309         No new tests, since we are improving here the infra-structure
3310         for testing a specific method.
3311
3312         * testing/Internals.cpp:
3313         (WebCore::Internals::hasSpellingMarker):
3314         (WebCore):
3315         * testing/Internals.h:
3316         (Internals):
3317         * testing/Internals.idl:
3318
3319 2012-03-20  Dan Bernstein  <mitz@apple.com>
3320
3321         Build fix.
3322
3323         * history/PageCache.cpp: Fixed an unused function warning introduced in r111391.
3324
3325 2012-03-20  Konrad Piascik  <kpiascik@rim.com>
3326
3327         (r110063) m_mouseDownMayStartDrag is used without being behind the ENABLE(DRAG_SUPPORT) macro
3328         https://bugs.webkit.org/show_bug.cgi?id=81666
3329
3330         Reviewed by Rob Buis.
3331
3332         Compiled with feature disabled and built.
3333
3334         * page/EventHandler.cpp:
3335         (WebCore::EventHandler::selectCursor):
3336
3337 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
3338
3339         [chromium] Tune fling physics curve. [Not for review yet]
3340         https://bugs.webkit.org/show_bug.cgi?id=81398
3341
3342         Reviewed by James Robinson.
3343
3344         Existing tests updated.
3345
3346         Tune physics of curve for better feel.
3347
3348         * platform/TouchFlingPlatformGestureCurve.cpp:
3349         (WebCore::TouchFlingPlatformGestureCurve::apply):
3350
3351 2012-03-20  Alexis Menard  <alexis.menard@openbossa.org>
3352
3353         Implement a fast path when setting CSS properties with keywords from JS.
3354         https://bugs.webkit.org/show_bug.cgi?id=80874
3355
3356         Reviewed by Antti Koivisto.
3357
3358         The idea is to avoid the creation of the CSSParser instance and to run the parser on
3359         a string we know it should be a keyword. When JS calls parseValue we try to check if we can
3360         use the fast path and if the keyword is accepted then we just add it to the declaration directly.
3361         For the sake of maintenance the parseValue function used by CSSGrammar.y is sharing some code with
3362         the fast path (keyword matching mostly).
3363
3364         This patch improves this use case by 20%. Setting keyword properties from JS is used a lot in
3365         Google Maps for example (when zooming or panning).
3366
3367         No new tests : it's a performance improvement, there shouldn't be any behavior change.
3368
3369         * css/CSSParser.cpp:
3370         (WebCore):
3371         (WebCore::isValidKeywordPropertyAndValue):
3372         (WebCore::isKeywordPropertyID):
3373         (WebCore::parseKeywordValue):
3374         (WebCore::CSSParser::parseValue):
3375
3376 2012-03-20  Ian Vollick  <vollick@chromium.org>
3377
3378         [chromium] Infrastructure to allow animating layers to be only partially updated
3379         https://bugs.webkit.org/show_bug.cgi?id=81106
3380
3381         Reviewed by James Robinson
3382
3383         Merged the controller tests in CCLayerAnimationControllerTest
3384
3385         * WebCore.gypi:
3386         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3387         * platform/graphics/chromium/GraphicsLayerChromium.h:
3388         (GraphicsLayerChromium):
3389         * platform/graphics/chromium/LayerChromium.cpp:
3390         (WebCore::LayerChromium::LayerChromium):
3391         (WebCore::LayerChromium::pushPropertiesTo):
3392         (WebCore::LayerChromium::setOpacityFromAnimation):
3393         (WebCore):
3394         (WebCore::LayerChromium::setTransformFromAnimation):
3395         (WebCore::LayerChromium::addAnimation):
3396         (WebCore::LayerChromium::pauseAnimation):
3397         (WebCore::LayerChromium::removeAnimation):
3398         (WebCore::LayerChromium::suspendAnimations):
3399         (WebCore::LayerChromium::resumeAnimations):
3400         (WebCore::LayerChromium::setLayerAnimationController):
3401         (WebCore::LayerChromium::hasActiveAnimation):
3402         (WebCore::LayerChromium::setAnimationEvent):
3403         * platform/graphics/chromium/LayerChromium.h:
3404         (WebCore):
3405         (LayerChromium):
3406         (WebCore::LayerChromium::id):
3407         (WebCore::LayerChromium::opacity):
3408         (WebCore::LayerChromium::transform):
3409         (WebCore::LayerChromium::bounds):
3410         * platform/graphics/chromium/cc/CCActiveAnimation.h:
3411         (CCActiveAnimation):
3412         * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
3413         (WebCore::CCAnimationEvent::CCAnimationEvent):
3414         (WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
3415         (WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
3416         (WebCore::CCAnimationStartedEvent::create):
3417         (WebCore):
3418         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
3419         (WebCore::CCFloatAnimationFinishedEvent::create):
3420         (WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
3421         (WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
3422         (WebCore::CCFloatAnimationFinishedEvent::type):
3423         (WebCore::CCTransformAnimationFinishedEvent::create):
3424         (WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
3425         (WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
3426         (WebCore::CCTransformAnimationFinishedEvent::type):
3427         * platform/graphics/chromium/cc/CCAnimationEvents.h:
3428         (WebCore):