Floated flexboxes render as regular RenderBlocks
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-07  Ojan Vafai  <ojan@chromium.org>
2
3         Floated flexboxes render as regular RenderBlocks
4         https://bugs.webkit.org/show_bug.cgi?id=77909
5
6         Reviewed by Eric Seidel.
7
8         Add grid/flexbox cases to adjusting the display of floated/positioned
9         elements. Also, move this logic into a switch statement. This makes
10         the code more readable and gives compile warnings when new display types
11         are added that aren't handled here.
12
13         Test: css3/flexbox/floated-flexbox.html
14
15         * css/CSSStyleSelector.cpp:
16         (WebCore::adjustDisplay):
17         (WebCore):
18         (WebCore::CSSStyleSelector::adjustRenderStyle):
19
20 2012-02-08  Dirk Schulze  <krit@webkit.org>
21
22         viewBox on nested SVG causes wrong content size for relative values
23         https://bugs.webkit.org/show_bug.cgi?id=69459
24
25         Reviewed by Nikolas.
26
27         In the past we just checked the change of the viewport size of the root SVG element. If the size changed, all childs
28         with relative length values needed a relayout. We did not consider that we might have other viewports in the document.
29         Childs with relative lengths had a strange zooming, if just the viewport size of an inner SVG element changed.
30
31         With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
32         need a relayout.
33
34         Test: inner-svg-change-viewBox.svg
35
36         * rendering/svg/RenderSVGContainer.cpp:
37         (WebCore::RenderSVGContainer::layout):
38         * rendering/svg/RenderSVGContainer.h:
39         (RenderSVGContainer):
40         (WebCore::RenderSVGContainer::determineIfLayoutSizeChanged): Check if we need layout and have relative length values.
41         * rendering/svg/RenderSVGRoot.cpp:
42         (WebCore::RenderSVGRoot::layout): Remove resetting 'viewport size changed' flag for code operability. No influence on the layout.
43         * rendering/svg/RenderSVGViewportContainer.cpp:
44         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): Add a flag that indicates that the viewport size changes.
45         (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged): The flag gets set during the layout phase of the SVG element if the size changes.
46         (WebCore):
47         * rendering/svg/RenderSVGViewportContainer.h:
48         (WebCore::RenderSVGViewportContainer::isLayoutSizeChanged): Added getter to get flag status.
49         (RenderSVGViewportContainer):
50         (WebCore::toRenderSVGViewportContainer): Added casting function for constant RenderObjects.
51         (WebCore):
52         * rendering/svg/SVGRenderSupport.cpp:
53         (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
54         (WebCore):
55         (WebCore::SVGRenderSupport::layoutChildren): Don't check the roots viewport for size changes, but the nearest viewport.
56         * svg/SVGSVGElement.cpp:
57         (WebCore::SVGSVGElement::svgAttributeChanged): Added viewBoxAttr to the list of attributes that cause relayout.
58
59 2012-02-08  Gregg Tavares  <gman@google.com>
60
61         Implement new WEBGL compressed texture extensions
62         https://bugs.webkit.org/show_bug.cgi?id=77066
63
64         This removes the old experimental compressed
65         texture extension and implements the first new
66         one.
67
68         A test is in the WebGL conformance tests in
69         extensions/webgl-compressed-texture-s3tc.html
70         and will be copied here in a future patch.
71
72         Reviewed by Kenneth Russell.
73
74         No new tests. Test coming in future patch.
75
76         * CMakeLists.txt:
77         * DerivedSources.make:
78         * GNUmakefile.list.am:
79         * Target.pri:
80         * WebCore.gypi:
81         * WebCore.xcodeproj/project.pbxproj:
82         * bindings/js/JSWebGLRenderingContextCustom.cpp:
83         (WebCore::toJS):
84         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
85         (WebCore::toV8Object):
86         * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
87         (WebCore):
88         (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
89         (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
90         (WebCore::WebGLCompressedTextureS3TC::getName):
91         (WebCore::WebGLCompressedTextureS3TC::create):
92         (WebCore::WebGLCompressedTextureS3TC::supported):
93         * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
94         (WebCore):
95         (WebGLCompressedTextureS3TC):
96         * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
97         * html/canvas/WebGLCompressedTextures.cpp: Removed.
98         * html/canvas/WebGLCompressedTextures.h: Removed.
99         * html/canvas/WebGLExtension.h:
100         * html/canvas/WebGLGetInfo.cpp:
101         (WebCore::WebGLGetInfo::WebGLGetInfo):
102         (WebCore):
103         (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
104         * html/canvas/WebGLGetInfo.h:
105         * html/canvas/WebGLObject.cpp:
106         * html/canvas/WebGLRenderingContext.cpp:
107         (WebCore):
108         (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
109         (WebCore::WebGLRenderingContext::compressedTexImage2D):
110         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
111         (WebCore::WebGLRenderingContext::getExtension):
112         (WebCore::WebGLRenderingContext::getParameter):
113         (WebCore::WebGLRenderingContext::getSupportedExtensions):
114         (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
115         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
116         (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
117         (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
118         * html/canvas/WebGLRenderingContext.h:
119         (WebCore):
120         (WebGLRenderingContext):
121         * html/canvas/WebGLRenderingContext.idl:
122
123 2012-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
124
125         Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
126         https://bugs.webkit.org/show_bug.cgi?id=78113
127
128         Retaining path list was replaced with Retaining tree some time ago.
129         But it was not so useful when we want to track the retaining path from an object to a DOM Window node.
130
131         Drive by fix: sort doesn't work in retaining tree panel.
132         Drive by fix: save/load child nodes doesn't work for the retaining tree panel.
133
134         Reviewed by Yury Semikhatsky.
135
136         * inspector/front-end/DetailedHeapshotGridNodes.js:
137         (WebInspector.HeapSnapshotObjectNode):
138         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
139         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
140         (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
141         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
142         * inspector/front-end/DetailedHeapshotView.js:
143         (WebInspector.HeapSnapshotContainmentDataGrid):
144         (WebInspector.HeapSnapshotRetainmentDataGrid):
145         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
146         * inspector/front-end/HeapSnapshot.js:
147         (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
148         (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
149         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
150         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
151         (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
152         (WebInspector.HeapSnapshot.prototype._init):
153         (WebInspector.HeapSnapshot.prototype._buildRetainers):
154         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
155         (WebInspector.HeapSnapshot.prototype._bfs):
156         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
157         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
158         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
159         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
160         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
161         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
162         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
163         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
164         * inspector/front-end/heapProfiler.css:
165         (.detailed-heapshot-view .data-grid td.distanceToWindow-column):
166
167 2012-02-08  Anders Carlsson  <andersca@apple.com>
168
169         Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
170         https://bugs.webkit.org/show_bug.cgi?id=78126
171
172         Reviewed by Dan Bernstein.
173
174         This broke in r106977 when I tried to change an early return into an ASSERT,
175         so let's bring back the early return.
176
177         * page/FrameView.cpp:
178         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
179
180 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
181
182         Unreviewed, rolling out r106920, r106924, r106933, r106939,
183         and r107090.
184         http://trac.webkit.org/changeset/106920
185         http://trac.webkit.org/changeset/106924
186         http://trac.webkit.org/changeset/106933
187         http://trac.webkit.org/changeset/106939
188         http://trac.webkit.org/changeset/107090
189         https://bugs.webkit.org/show_bug.cgi?id=78124
190
191         Something is completely wrong this change (Requested by
192         Ossy_gardener on #webkit).
193
194         * platform/FileSystem.h:
195         (WebCore):
196         * platform/qt/FileSystemQt.cpp:
197
198 2012-02-08  David Hyatt  <hyatt@apple.com>
199
200         https://bugs.webkit.org/show_bug.cgi?id=78122
201         
202         Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
203         text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
204         centering headers in a line grid.
205
206         Reviewed by Adam Roben.
207
208         Added a new test in fast/line-grid.
209
210         * rendering/RootInlineBox.cpp:
211         (WebCore::RootInlineBox::lineGridSnapAdjustment):
212
213 2012-02-08  Cary Clark  <caryclark@google.com>
214
215         [Skia Mac] Make misspelling underline dots unclipped
216         https://bugs.webkit.org/show_bug.cgi?id=78117
217         http://code.google.com/p/chromium/issues/detail?id=113154
218
219         Reviewed by Stephen White.
220
221         No new tests. Existing layout tests cover this.
222
223         As is done on the CoreGraphics Mac platform, adjust the
224         underline width to remove partial dots, not including the
225         trailing transparent pixel column.
226
227         * platform/graphics/skia/GraphicsContextSkia.cpp:
228         (WebCore::GraphicsContext::drawLineForTextChecking):
229
230 2012-02-08  Pavel Feldman  <pfeldman@google.com>
231
232         Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
233         https://bugs.webkit.org/show_bug.cgi?id=78116
234
235         Reviewed by Yury Semikhatsky.
236
237         * inspector/front-end/DOMAgent.js:
238         (WebInspector.DOMNode):
239         (WebInspector.DOMDocument):
240         (WebInspector.DOMAgent.prototype._setDocument):
241         (WebInspector.DOMAgent.prototype._setDetachedRoot):
242         (WebInspector.DOMAgent.prototype._setChildNodes):
243         (WebInspector.DOMAgent.prototype._childNodeRemoved):
244         (WebInspector.DOMAgent.prototype._unbind):
245
246 2012-02-08  Peter Rybin  <peter.rybin@gmail.com>
247
248         Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
249         https://bugs.webkit.org/show_bug.cgi?id=77967
250
251         Reviewed by Yury Semikhatsky.
252
253         Condition for RefPtr-based types added. This is more-or-less a hack
254         and it's should be redone together with the switch to type-safe API.
255
256         * inspector/CodeGeneratorInspector.py:
257         (Generator.process_command):
258
259 2012-02-07  Yury Semikhatsky  <yurys@chromium.org>
260
261         Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
262         https://bugs.webkit.org/show_bug.cgi?id=77972
263
264         When object popover is shown the object under cursor is resolved and its
265         wrapper is put into 'popover' object wrapper group. The group is discarded
266         when the popover closes.
267
268         Reviewed by Pavel Feldman.
269
270         * bindings/js/ScriptProfiler.cpp:
271         (WebCore::ScriptProfiler::objectByHeapObjectId):
272         * bindings/js/ScriptProfiler.h:
273         (WebCore):
274         (ScriptProfiler):
275         * bindings/v8/ScriptProfiler.cpp:
276         (WebCore::ScriptProfiler::objectByHeapObjectId):
277         (WebCore):
278         * bindings/v8/ScriptProfiler.h:
279         (WebCore):
280         (ScriptProfiler):
281         * inspector/Inspector.json:
282         * inspector/InspectorProfilerAgent.cpp:
283         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
284         * inspector/InspectorProfilerAgent.h:
285         (InspectorProfilerAgent):
286         * inspector/front-end/DetailedHeapshotGridNodes.js:
287         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
288         * inspector/front-end/DetailedHeapshotView.js:
289         (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
290         * inspector/front-end/JavaScriptSourceFrame.js:
291         (WebInspector.JavaScriptSourceFrame):
292         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
293         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
294         * inspector/front-end/ObjectPopoverHelper.js:
295         (WebInspector.ObjectPopoverHelper):
296         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
297         (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
298
299 2012-02-08  Mario Sanchez Prada  <msanchez@igalia.com>
300
301         [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
302         https://bugs.webkit.org/show_bug.cgi?id=73431
303
304         Reviewed by Chris Fleizach.
305
306         Don't replace item's markers with the objectReplacementCharacter
307         character, as they will be treated in an special way later on.
308
309         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
310         (textForRenderer): Don't append the objectReplacementCharacter
311         character for list item's markers.
312
313 2012-02-08  Pavel Feldman  <pfeldman@google.com>
314
315         Web Inspector: do not clear entire tree map upon last element deletion.
316         https://bugs.webkit.org/show_bug.cgi?id=78112
317
318         Reviewed by Yury Semikhatsky.
319
320         * inspector/front-end/treeoutline.js:
321         (TreeOutline.prototype._forgetChildrenRecursive):
322
323 2012-02-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>
324
325         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
326         https://bugs.webkit.org/show_bug.cgi?id=74386
327
328         Reviewed by Kentaro Hara.
329
330         Move createObjectURL & revokeObjectURL from DOMURL implementation to
331         static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
332
333         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
334         Already Existing:
335             fast/files/revoke-blob-url.html
336             fast/dom/window-domurl-crash.html
337             fast/files/apply-blob-url-to-img.html
338             fast/files/create-blob-url-crash.html
339             fast/files/workers/inline-worker-via-blob-url.html
340
341         * GNUmakefile.list.am:
342         * Target.pri:
343         * WebCore.gypi:
344         * WebCore.vcproj/WebCore.vcproj:
345         * WebCore.xcodeproj/project.pbxproj:
346         * dom/ScriptExecutionContext.cpp:
347         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
348         (WebCore::ScriptExecutionContext::fileThread):
349         (WebCore):
350         (WebCore::ScriptExecutionContext::publicURLManager):
351         * dom/ScriptExecutionContext.h:
352         (WebCore):
353         (ScriptExecutionContext):
354         * html/DOMURL.cpp:
355         (WebCore):
356         (WebCore::DOMURL::createObjectURL): Changed to static.
357         (WebCore::DOMURL::revokeObjectURL): ditto.
358         * html/DOMURL.h:
359         (DOMURL):
360         (WebCore::DOMURL::create):
361         * html/DOMURL.idl:
362         * html/PublicURLManager.h: Added.
363         (WebCore):
364         (PublicURLManager):
365         (WebCore::PublicURLManager::create):
366         (WebCore::PublicURLManager::contextDestroyed):
367         (WebCore::PublicURLManager::blobURLs):
368         (WebCore::PublicURLManager::streamURLs):
369         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
370         (WebCore):
371         * page/DOMWindow.h: ditto.
372         (DOMWindow):
373         * page/DOMWindow.idl:
374         * workers/WorkerContext.cpp:
375         (WebCore):
376         * workers/WorkerContext.h:
377         (WorkerContext):
378         * workers/WorkerContext.idl:
379
380 2012-02-01  Brian Grinstead  <briangrinstead@gmail.com>
381
382         Web Inspector: Add changes for Spectrum colorpicker
383         https://bugs.webkit.org/show_bug.cgi?id=75454
384
385         Reviewed by Pavel Feldman.
386
387         * inspector/front-end/Color.js:
388         (WebInspector.Color.fromRGB):
389         * inspector/front-end/utilities.js:
390         (Element.prototype.totalOffsetLeft):
391         (Element.prototype.totalOffsetTop):
392         (Element.prototype.totalOffset):
393         (Element.prototype.scrollOffset):
394         ():
395
396 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
397
398         Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
399         https://bugs.webkit.org/show_bug.cgi?id=78102
400
401         Reviewed by Vsevolod Vlasov.
402
403         * inspector/front-end/WatchExpressionsSidebarPane.js:
404         (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
405
406 2012-02-08  Antaryami Pandia  <antaryami.pandia@motorola.com>
407
408         CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
409         https://bugs.webkit.org/show_bug.cgi?id=69993
410
411         Reviewed by Simon Fraser.
412
413         The issue was that for overflow:scroll, currently webkit always places the horizontal
414         and vertical scrollbar. But Since the listbox renderer handles its scrolling,
415         we should not set scrollbar for list-box.
416
417         Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
418                fast/forms/select-overflow-scroll-inherited.html
419                fast/forms/select-overflow-scroll.html
420
421         * rendering/RenderBlock.cpp:
422         (WebCore::RenderBlock::layoutBlock):
423         * rendering/RenderLayer.cpp:
424         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
425
426 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
427
428         feImage doesn't invalidate when its target SVG element is animated
429         https://bugs.webkit.org/show_bug.cgi?id=73860
430
431         Reviewed by Dirk Schulze.
432
433         Consider following testcase:
434         <defs>
435             <rect id="rect" fill="red" width="50" height="50"/>
436             <filter id="filter">
437                 <feImage xlink:href="#rect"/>
438             </filter>
439         </defs>
440         <rect width="50" height="50" filter="url(#filter)"/>
441
442         If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
443         doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
444         a child of the <feImage/>. To get invalidations working for these situations, we have to track
445         the referencingElement & referencedElement in SVGDocumentExtensions.
446
447         Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
448
449         Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
450                svg/filters/feImage-late-indirect-update.svg
451                svg/filters/feImage-mutliple-targets-id-change.svg
452                svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
453                svg/filters/feImage-target-attribute-change-with-use-indirection.svg
454                svg/filters/feImage-target-attribute-change.svg
455                svg/filters/feImage-target-inline-style-change.svg
456                svg/filters/feImage-target-property-change.svg
457                svg/filters/feImage-target-style-change.svg
458
459         * rendering/svg/RenderSVGResource.cpp:
460         (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
461         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
462         * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
463         * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
464         (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
465         (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
466         (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
467         (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
468         * svg/SVGDocumentExtensions.h: Expose new methods.
469         * svg/SVGElement.cpp:
470         (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
471         * svg/SVGFEImageElement.cpp:
472         (WebCore::SVGFEImageElement::clearResourceReferences):
473         (WebCore::SVGFEImageElement::buildPendingResource):
474
475 2012-02-08  Kihong Kwon  <kihong.kwon@samsung.com>
476
477         [EFL] Using string method instead of char* operation in the platformLanguage().
478         https://bugs.webkit.org/show_bug.cgi?id=78077
479
480         Reviewed by Andreas Kling.
481
482         No new tests. Just fix a bug of platformLanguage function.
483
484         * platform/efl/LanguageEfl.cpp:
485         (WebCore::platformLanguage):
486         Change char* operation to string operation.
487
488 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
489
490         Web Inspector: Touch event emulation fails for iframes
491         https://bugs.webkit.org/show_bug.cgi?id=77987
492
493         Reviewed by Pavel Feldman.
494
495         Test: fast/events/touch/emulated-touch-iframe.html
496
497         * page/EventHandler.cpp:
498         (WebCore::EventHandler::handleMouseReleaseEvent):
499
500 2012-02-08  Andreas Kling  <awesomekling@apple.com>
501
502         StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
503         <http://webkit.org/b/78068>
504
505         Rubber-stamped by Ryosuke Niwa.
506
507         Turns out that setProperty() with a CSSProperty has quite different behavior from
508         the other setProperty() methods. We should probably clean that up (separately.)
509         For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
510         use setProperty(CSSProperty).
511
512         * dom/StyledElement.cpp:
513         (WebCore::StyledElement::addCSSProperty):
514         (WebCore::StyledElement::addCSSImageProperty):
515
516 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
517
518         Unreviewed, rolling out r107050.
519         http://trac.webkit.org/changeset/107050
520         https://bugs.webkit.org/show_bug.cgi?id=78094
521
522         May crash editing tests (Requested by morrita on #webkit).
523
524         * html/HTMLDetailsElement.cpp:
525         (WebCore::HTMLDetailsElement::createShadowSubtree):
526         * html/HTMLKeygenElement.cpp:
527         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
528         * html/HTMLMeterElement.cpp:
529         (WebCore::HTMLMeterElement::createShadowSubtree):
530         * html/HTMLProgressElement.cpp:
531         (WebCore::HTMLProgressElement::createShadowSubtree):
532         * html/HTMLSummaryElement.cpp:
533         (WebCore::HTMLSummaryElement::createShadowSubtree):
534         * html/HTMLTextAreaElement.cpp:
535         (WebCore::HTMLTextAreaElement::createShadowSubtree):
536
537 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
538
539         [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
540         https://bugs.webkit.org/show_bug.cgi?id=77995
541
542         Reviewed by Csaba Osztrogonác.
543
544         From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
545         while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
546         from frameDetached(). There's no point in redrawing there, so we should just stop it.
547
548         Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
549
550         * svg/graphics/SVGImage.cpp:
551         (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
552         (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
553         * svg/graphics/SVGImage.h:
554
555 2012-02-08  Pablo Flouret  <pablof@motorola.com>
556
557         Add state attribute to history's dom interface.
558         https://bugs.webkit.org/show_bug.cgi?id=76035
559
560         Reviewed by Kentaro Hara.
561
562         Tests: fast/loader/stateobjects/state-attribute-object-types.html
563                fast/loader/stateobjects/state-attribute-only-one-deserialization.html
564
565         * bindings/js/JSHistoryCustom.cpp:
566         (WebCore::JSHistory::state):
567         (WebCore):
568         (WebCore::JSHistory::pushState):
569         (WebCore::JSHistory::replaceState):
570         * bindings/v8/custom/V8HistoryCustom.cpp:
571         (WebCore::V8History::stateAccessorGetter):
572         (WebCore):
573         (WebCore::V8History::pushStateCallback):
574         (WebCore::V8History::replaceStateCallback):
575         * page/History.cpp:
576         (WebCore::History::History):
577         (WebCore::History::state):
578         (WebCore):
579         (WebCore::History::stateInternal):
580         (WebCore::History::stateChanged):
581         * page/History.h:
582         (History):
583         * page/History.idl:
584
585 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
586
587         SVGLoad event fires too early
588         https://bugs.webkit.org/show_bug.cgi?id=78084
589
590         Reviewed by Hajime Morita.
591
592         SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
593
594         We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
595         which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
596         thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
597         <svg onload="alert(evt.target)"> will say SVGSVGElement).
598
599         Consider:
600         <svg onload="alert('1')>
601         <g onload="alert('2)">
602         <rect onload="alert('3')"/>
603         </svg>
604
605         As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
606         So first you'll see '3', then '2', then '1'.
607
608         Using:
609         <svg onload="alert('1')>
610         <g onload="alert('2)">
611         <image xlink:href="someExternal.jpg" onload="alert('3')"/>
612         </svg>
613
614         will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
615         then '3', then '2', all as expected and specified in SVG.
616
617         http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
618         "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
619         ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
620         external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
621         external resources are not required to be ready for the event to be triggered."
622
623         What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
624         element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
625         </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
626         WebKit, as we're not yet "ready to render".
627
628         HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
629         At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
630         equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
631
632         Covered by existing tests.
633
634         * dom/Document.cpp:
635         (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
636         * svg/SVGDocumentExtensions.cpp:
637         (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
638         There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
639         * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
640         * svg/SVGElement.cpp:
641         (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
642         (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
643         (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
644         * svg/SVGElement.h: Add isOutermostSVGSVGElement().
645         * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
646         (WebCore::SVGSVGElement::currentScale):
647         (WebCore::SVGSVGElement::setCurrentScale):
648         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
649         (WebCore::SVGSVGElement::createRenderer):
650         * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
651         * svg/SVGStyledElement.cpp:
652         (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
653
654 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
655
656         Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
657         https://bugs.webkit.org/show_bug.cgi?id=78090
658
659         Reviewed by Vsevolod Vlasov.
660
661         * inspector/InspectorDOMAgent.cpp:
662         (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
663
664 2012-02-07  Alexander Pavlov  <apavlov@chromium.org>
665
666         Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
667         https://bugs.webkit.org/show_bug.cgi?id=77865
668
669         Reviewed by Pavel Feldman.
670
671         Test: inspector/styles/lazy-computed-style.html
672
673         * inspector/front-end/StylesSidebarPane.js:
674         (WebInspector.StylesSidebarPane):
675         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
676         (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
677         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
678         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
679
680 2012-02-08  Tommy Widenflycht  <tommyw@google.com>
681
682         MediaStream API: Adding the onstatechange callback to PeerConnection
683         https://bugs.webkit.org/show_bug.cgi?id=77954
684
685         When readyState changes a callback should be triggered.
686
687         Reviewed by Adam Barth.
688
689         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
690
691         * dom/EventNames.h:
692         (WebCore):
693         * mediastream/PeerConnection.cpp:
694         (WebCore::PeerConnection::changeReadyState):
695         * mediastream/PeerConnection.h:
696         (PeerConnection):
697         (WebCore::PeerConnection::didChangeState):
698         * mediastream/PeerConnection.idl:
699         * platform/mediastream/PeerConnectionHandlerClient.h:
700         (PeerConnectionHandlerClient):
701
702 2012-02-08  Kentaro Hara  <haraken@chromium.org>
703
704         Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
705         https://bugs.webkit.org/show_bug.cgi?id=77963
706
707         Reviewed by Adam Barth.
708
709         This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
710         for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
711
712         No tests. No change in behavior.
713
714         * bindings/scripts/CodeGeneratorJS.pm:
715         (GenerateHeader):
716         (GenerateImplementation):
717         * bindings/scripts/CodeGeneratorV8.pm:
718         (GenerateHeaderNamedAndIndexedPropertyAccessors):
719         (GenerateImplementationIndexer):
720         (GenerateImplementationNamedPropertyGetter):
721         * bindings/scripts/test/TestInterface.idl:
722         * css/CSSStyleDeclaration.idl:
723         * dom/DOMStringMap.idl:
724         * html/HTMLAppletElement.idl:
725         * html/HTMLEmbedElement.idl:
726         * html/HTMLObjectElement.idl:
727         * page/History.idl:
728         * page/Location.idl:
729         * storage/Storage.idl:
730
731 2012-02-08  Kentaro Hara  <haraken@chromium.org>
732
733         Replace [CheckNodeSecurity] with [CheckAccessToNode]
734         https://bugs.webkit.org/show_bug.cgi?id=77971
735
736         Reviewed by Adam Barth.
737
738         [CheckNodeSecurity] is not implemented by code generators.
739         This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
740
741         Test: http/tests/security/cross-frame-access-frameelement.html
742
743         * page/DOMWindow.idl:
744
745 2012-02-08  Kentaro Hara  <haraken@chromium.org>
746
747         Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
748         https://bugs.webkit.org/show_bug.cgi?id=78081
749
750         Reviewed by Adam Barth.
751
752         [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
753         This patch renames it to [JSCustomPushEventHandlerScope]
754
755         No tests. No change in behavior.
756
757         * bindings/scripts/CodeGeneratorJS.pm:
758         (GenerateHeader):
759         * dom/Node.idl:
760         * html/HTMLElement.idl:
761
762 2012-02-06  Kentaro Hara  <haraken@chromium.org>
763
764         Add "JS" prefix to JSC-specific IDLs
765         https://bugs.webkit.org/show_bug.cgi?id=77846
766
767         Reviewed by Darin Adler.
768
769         In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
770         This patch adds "JS" prefix to the remaining JSC specific IDLs.
771         Specifically, this patch renames IDLs as follows:
772
773         [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
774         [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
775         [GenerateNativeConverter] => [JSGenerateToNativeObject]  (Note: For naming consistency
776         with [JSGenerateToJS] and [JSCustomToNativeObject])
777         [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate]  (Note: Should be prefixed "JS",
778         should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
779
780         No tests. No change in behavior.
781
782         * bindings/scripts/CodeGeneratorJS.pm:
783         (GenerateGetOwnPropertySlotBody):
784         (GenerateGetOwnPropertyDescriptorBody):
785         (GenerateHeader):
786         (GenerateImplementation):
787         * bindings/scripts/test/TestTypedArray.idl:
788         * dom/Attr.idl:
789         * dom/DataTransferItemList.idl:
790         * dom/Document.idl:
791         * dom/DocumentType.idl:
792         * dom/Element.idl:
793         * dom/Node.idl:
794         * fileapi/DirectoryEntry.idl:
795         * fileapi/DirectoryEntrySync.idl:
796         * fileapi/File.idl:
797         * fileapi/FileEntry.idl:
798         * fileapi/FileEntrySync.idl:
799         * fileapi/WebKitBlobBuilder.idl:
800         * html/DOMFormData.idl:
801         * html/DOMURL.idl:
802         * html/HTMLAppletElement.idl:
803         * html/HTMLCanvasElement.idl:
804         * html/HTMLElement.idl:
805         * html/HTMLEmbedElement.idl:
806         * html/HTMLImageElement.idl:
807         * html/HTMLMediaElement.idl:
808         * html/HTMLObjectElement.idl:
809         * html/HTMLOptionElement.idl:
810         * html/HTMLOptionsCollection.idl:
811         * html/HTMLTableCaptionElement.idl:
812         * html/HTMLTableSectionElement.idl:
813         * html/HTMLVideoElement.idl:
814         * html/TextTrackCue.idl:
815         * html/canvas/Float32Array.idl:
816         * html/canvas/Float64Array.idl:
817         * html/canvas/Int16Array.idl:
818         * html/canvas/Int32Array.idl:
819         * html/canvas/Int8Array.idl:
820         * html/canvas/Uint16Array.idl:
821         * html/canvas/Uint32Array.idl:
822         * html/canvas/Uint8Array.idl:
823         * html/canvas/Uint8ClampedArray.idl:
824         * mediastream/LocalMediaStream.idl:
825         * page/DOMWindow.idl:
826         * page/History.idl:
827         * page/Location.idl:
828         * storage/StorageInfo.idl:
829         * svg/SVGElement.idl:
830         * svg/SVGElementInstance.idl:
831         * workers/DedicatedWorkerContext.idl:
832         * workers/SharedWorker.idl:
833         * workers/SharedWorkerContext.idl:
834         * workers/Worker.idl:
835         * workers/WorkerContext.idl:
836
837 2012-02-07  Kentaro Hara  <haraken@chromium.org>
838
839         Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
840         https://bugs.webkit.org/show_bug.cgi?id=78076
841
842         Reviewed by Adam Barth.
843
844         This patch renames the [HasOverridingNameGetter] attribute to the
845         [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
846
847         Test: bindings/scripts/test/TestCustomNamedGetter.idl
848
849         * bindings/scripts/CodeGeneratorJS.pm:
850         (GenerateGetOwnPropertySlotBody):
851         (GenerateGetOwnPropertyDescriptorBody):
852         (GenerateHeader):
853         (GenerateImplementation):
854         * bindings/scripts/CodeGeneratorV8.pm:
855         (GenerateHeaderNamedAndIndexedPropertyAccessors):
856         (GenerateImplementationNamedPropertyGetter):
857
858         * html/HTMLDocument.idl:
859         * html/HTMLFormElement.idl:
860         * html/HTMLFrameSetElement.idl:
861
862         * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
863
864         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
865         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
866         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
867         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
868         (WebDOMTestCustomNamedGetter::operator=):
869         (WebDOMTestCustomNamedGetter::impl):
870         (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
871         (WebDOMTestCustomNamedGetter::anotherFunction):
872         (toWebCore):
873         (toWebKit):
874         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
875         (WebCore):
876         (WebDOMTestCustomNamedGetter):
877         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
878         (WebKit):
879         (WebKit::kit):
880         (webkit_dom_test_custom_named_getter_another_function):
881         (WebKit::core):
882         (webkit_dom_test_custom_named_getter_finalize):
883         (webkit_dom_test_custom_named_getter_set_property):
884         (webkit_dom_test_custom_named_getter_get_property):
885         (webkit_dom_test_custom_named_getter_constructed):
886         (webkit_dom_test_custom_named_getter_class_init):
887         (webkit_dom_test_custom_named_getter_init):
888         (WebKit::wrapTestCustomNamedGetter):
889         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
890         (_WebKitDOMTestCustomNamedGetter):
891         (_WebKitDOMTestCustomNamedGetterClass):
892         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
893         (WebKit):
894         * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
895         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
896         (WebCore):
897         (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
898         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
899         (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
900         (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
901         (WebCore::JSTestCustomNamedGetterPrototype::self):
902         (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
903         (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
904         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
905         (WebCore::JSTestCustomNamedGetter::finishCreation):
906         (WebCore::JSTestCustomNamedGetter::createPrototype):
907         (WebCore::JSTestCustomNamedGetter::destroy):
908         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
909         (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
910         (WebCore::jsTestCustomNamedGetterConstructor):
911         (WebCore::JSTestCustomNamedGetter::getConstructor):
912         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
913         (WebCore::isObservable):
914         (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
915         (WebCore::JSTestCustomNamedGetterOwner::finalize):
916         (WebCore::toJS):
917         (WebCore::toTestCustomNamedGetter):
918         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
919         (WebCore):
920         (JSTestCustomNamedGetter):
921         (WebCore::JSTestCustomNamedGetter::create):
922         (WebCore::JSTestCustomNamedGetter::createStructure):
923         (WebCore::JSTestCustomNamedGetter::impl):
924         (WebCore::JSTestCustomNamedGetter::releaseImpl):
925         (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
926         (JSTestCustomNamedGetterOwner):
927         (WebCore::wrapperOwner):
928         (WebCore::wrapperContext):
929         (JSTestCustomNamedGetterPrototype):
930         (WebCore::JSTestCustomNamedGetterPrototype::create):
931         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
932         (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
933         (JSTestCustomNamedGetterConstructor):
934         (WebCore::JSTestCustomNamedGetterConstructor::create):
935         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
936         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
937         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
938         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
939         (-[DOMTestCustomNamedGetter dealloc]):
940         (-[DOMTestCustomNamedGetter finalize]):
941         (-[DOMTestCustomNamedGetter anotherFunction:]):
942         (core):
943         (kit):
944         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
945         (WebCore):
946         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
947         (WebCore):
948         (TestCustomNamedGetterInternal):
949         (WebCore::TestCustomNamedGetterInternal::V8_USE):
950         (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
951         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
952         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
953         (WebCore::V8TestCustomNamedGetter::GetTemplate):
954         (WebCore::V8TestCustomNamedGetter::HasInstance):
955         (WebCore::V8TestCustomNamedGetter::wrapSlow):
956         (WebCore::V8TestCustomNamedGetter::derefObject):
957         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
958         (WebCore):
959         (V8TestCustomNamedGetter):
960         (WebCore::V8TestCustomNamedGetter::toNative):
961         (WebCore::V8TestCustomNamedGetter::existingWrapper):
962         (WebCore::V8TestCustomNamedGetter::wrap):
963         (WebCore::toV8):
964
965 2012-02-07  Emil A Eklund  <eae@chromium.org>
966
967         Revert TableSection cell and border calculations to integers
968         https://bugs.webkit.org/show_bug.cgi?id=77918
969
970         Reviewed by Eric Seidel.
971
972         Change RenderTableSection cell width, row height and border calculations
973         back to use integers. Table layout is done on integer bounds to comply
974         with the specification and to ensure that columns given the same width,
975         including percentage widths, are rendered with identical widths. The same
976         applies to heights.
977
978         No new tests.
979
980         * rendering/RenderTableSection.cpp:
981         (WebCore::RenderTableSection::setCellLogicalWidths):
982         (WebCore::RenderTableSection::calcRowLogicalHeight):
983         (WebCore::RenderTableSection::layoutRows):
984         (WebCore::RenderTableSection::calcOuterBorderBefore):
985         (WebCore::RenderTableSection::calcOuterBorderAfter):
986         (WebCore::RenderTableSection::calcOuterBorderStart):
987         (WebCore::RenderTableSection::calcOuterBorderEnd):
988         (WebCore::RenderTableSection::paintObject):
989         (WebCore::RenderTableSection::nodeAtPoint):
990         * rendering/RenderTableSection.h:
991         (RenderTableSection):
992         (WebCore::RenderTableSection::RowStruct::RowStruct):
993         (WebCore::RenderTableSection::outerBorderBefore):
994         (WebCore::RenderTableSection::outerBorderAfter):
995         (WebCore::RenderTableSection::outerBorderStart):
996         (WebCore::RenderTableSection::outerBorderEnd):
997
998 2012-02-07  Robert Kroeger  <rjkroege@chromium.org>
999
1000         [chromium] Remove the no longer necessary Chromium gesture recognizer.
1001         https://bugs.webkit.org/show_bug.cgi?id=77492
1002
1003         Reviewed by Adam Barth.
1004
1005         * WebCore.gypi:
1006         * platform/PlatformGestureRecognizer.h: Removed.
1007         * platform/chromium/FramelessScrollView.h:
1008         (WebCore):
1009         (FramelessScrollView):
1010         * platform/chromium/GestureRecognizerChromium.cpp: Removed.
1011         * platform/chromium/GestureRecognizerChromium.h: Removed.
1012         * platform/chromium/PopupContainer.cpp:
1013         (WebCore):
1014         * platform/chromium/PopupContainer.h:
1015         * platform/chromium/PopupListBox.cpp:
1016         (WebCore):
1017         * platform/chromium/PopupListBox.h:
1018         (PopupListBox):
1019
1020 2012-02-07  Erik Arvidsson  <arv@chromium.org>
1021
1022         [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
1023         https://bugs.webkit.org/show_bug.cgi?id=78052
1024
1025         Reviewed by Nate Chapin.
1026
1027         Before this patch the code generator did not add the named hidden reference when the data node
1028         was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
1029
1030         Covered by existing tests
1031
1032         * Target.pri:
1033         * UseV8.cmake:
1034         * WebCore.gypi:
1035         * bindings/scripts/CodeGeneratorV8.pm:
1036         (GenerateNormalAttrGetter):
1037         (HasCustomToV8Implementation):
1038         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1039         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
1040         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1041
1042 2012-02-07  Kentaro Hara  <haraken@chromium.org>
1043
1044         [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
1045         https://bugs.webkit.org/show_bug.cgi?id=78059
1046
1047         Reviewed by Adam Barth.
1048
1049         CodeGeneratorGObject.pm does not support custom attributes.
1050         We can skip generating code for attributes with [Custom].
1051         The change would make sense, since CodeGeneratorGObject.pm already
1052         skips attributes with [CustomGetter] or [CustomSetter].
1053
1054         Test: bindings/scripts/test/TestObj.idl
1055
1056         * bindings/scripts/CodeGeneratorGObject.pm:
1057         (SkipAttribute):
1058         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1059
1060 2012-02-07  Emil A Eklund  <eae@chromium.org>
1061
1062         Add pixelSnappedX/Y/Width/Height methods
1063         https://bugs.webkit.org/show_bug.cgi?id=78040
1064
1065         Reviewed by Eric Seidel.
1066
1067         Add pixel snapped versions of x/y/width/height methods. These return the
1068         same value as the x/w/width/height methods for now but once we move over
1069         to sub pixel layout they will snap the subpixel value to a device pixel
1070         and return an integer value.
1071
1072         When snapping the left and top edge is simply rounded to the nearest
1073         device pixel.
1074         The right and bottom edges are computed by subtracting the rounded left/
1075         top edge from the precise location and size. This ensures that the edges
1076         all line up with device pixels and that the total size of an object,
1077         including borders, is at most one pixel off.
1078
1079         In summary, the values are computed as follows:
1080                 x: round(x)
1081                 y: round(y)
1082                 maxX: round(x + width)
1083                 maxY: round(y + height)
1084                 width: round(x + width) - round(x)
1085                 height: round(y + height) - round(y)
1086
1087         We use the term pixel snapped to indicate that the numbers are not merely
1088         rounded. This also matches the naming used by the line box tree.
1089
1090         No new tests, no functionality changes.
1091
1092         * page/PrintContext.cpp:
1093         (WebCore::PrintContext::pageNumberForElement):
1094         * rendering/RenderBlock.cpp:
1095         (WebCore::::collectIfNeeded):
1096         * rendering/RenderBlock.h:
1097         (RenderBlock):
1098         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
1099         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
1100         (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
1101         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
1102         (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
1103         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
1104         (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
1105         (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
1106         (FloatingObject):
1107         (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
1108         (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
1109         (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
1110         (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
1111         * rendering/RenderBlockLineLayout.cpp:
1112         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1113         * rendering/RenderBox.cpp:
1114         (WebCore::RenderBox::pixelSnappedClientWidth):
1115         (WebCore):
1116         (WebCore::RenderBox::pixelSnappedClientHeight):
1117         (WebCore::RenderBox::scrollHeight):
1118         * rendering/RenderBox.h:
1119         (WebCore::RenderBox::pixelSnappedWidth):
1120         (WebCore::RenderBox::pixelSnappedHeight):
1121         (RenderBox):
1122         (WebCore::RenderBox::pixelSnappedOffsetWidth):
1123         (WebCore::RenderBox::pixelSnappedOffsetHeight):
1124         (WebCore::RenderBox::clientLogicalWidth):
1125         (WebCore::RenderBox::clientLogicalHeight):
1126         * rendering/RenderBoxModelObject.cpp:
1127         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
1128         (WebCore):
1129         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
1130         * rendering/RenderBoxModelObject.h:
1131         (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
1132         (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
1133         (RenderBoxModelObject):
1134         * rendering/RenderLayer.cpp:
1135         (WebCore::RenderLayer::pixelSnappedScrollWidth):
1136         (WebCore):
1137         (WebCore::RenderLayer::pixelSnappedScrollHeight):
1138         (WebCore::RenderLayer::computeScrollDimensions):
1139         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1140         * rendering/RenderLayer.h:
1141         (RenderLayer):
1142         * rendering/RenderListBox.cpp:
1143         (WebCore::RenderListBox::scrollHeight):
1144         * rendering/RenderTheme.cpp:
1145         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
1146         * rendering/RenderTreeAsText.cpp:
1147         (WebCore::write):
1148
1149 2012-02-07  Mike Lawther  <mikelawther@chromium.org>
1150
1151         CSS3 calc() - simple parse time evaluation
1152         https://bugs.webkit.org/show_bug.cgi?id=77960
1153
1154         Adds simple number/percent expression evaluation. rgb() and hsl() functions now
1155         allow simple calc() expressions.
1156
1157         Reviewed by Ojan Vafai.
1158
1159         * css/CSSCalculationValue.cpp:
1160         (WebCore):
1161         (WebCore::CSSCalcValue::doubleValue):
1162         (WebCore::CSSCalcPrimitiveValue::doubleValue):
1163         (WebCore::CSSCalcBinaryOperation::doubleValue):
1164         (CSSCalcBinaryOperation):
1165         (WebCore::CSSCalcBinaryOperation::evaluate):
1166         * css/CSSCalculationValue.h:
1167         (CSSCalcExpressionNode):
1168         (WebCore::CSSCalcValue::isInt):
1169         (CSSCalcValue):
1170         * css/CSSParser.cpp:
1171         (WebCore::CSSParser::parsedDouble):
1172
1173 2012-02-07  Andreas Kling  <awesomekling@apple.com>
1174
1175         REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions.
1176         <http://webkit.org/b/78068>
1177
1178         Reviewed by Ryosuke Niwa.
1179
1180         Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
1181         This regressed in r106756 and I suspect it'll fix up the cycler regression.
1182
1183         * dom/StyledElement.cpp:
1184         (WebCore::StyledElement::addCSSProperty):
1185
1186 2012-02-07  Noel Gordon  <noel.gordon@gmail.com>
1187
1188         Remove TextureMapperQt from the gyp projects
1189         https://bugs.webkit.org/show_bug.cgi?id=78055
1190
1191         Reviewed by Noam Rosenthal.
1192
1193         TextureMapperQt.{cpp,h} were removed in r106659, remove references to
1194         these files from the gyp projects.
1195
1196         * WebCore.gypi:
1197
1198 2012-02-07  Tony Chang  <tony@chromium.org>
1199
1200         merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1201         https://bugs.webkit.org/show_bug.cgi?id=78036
1202
1203         Reviewed by Darin Adler.
1204
1205         In r89362, we started running the preprocessor through CSSPropertyNames.in.
1206         Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1207         and wrap it in an #if.
1208
1209         No new tests, build refactoring.
1210
1211         * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
1212         * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
1213         * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
1214         * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
1215         * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
1216         * css/DashboardSupportCSSPropertyNames.in: Removed.
1217
1218 2012-02-07  Xingnan Wang  <xingnan.wang@intel.com>
1219
1220         Enable IPP for FFTFrame
1221         https://bugs.webkit.org/show_bug.cgi?id=75522
1222
1223         Reviewed by Tony Chang.
1224
1225         Add the FFTFrame implementation using Intel IPP's DFT algorithm.
1226
1227         * WebCore.gyp/WebCore.gyp:
1228         * WebCore.gypi:
1229         * platform/audio/FFTFrame.h:
1230         (FFTFrame):
1231         * platform/audio/FFTFrameStub.cpp:
1232         * platform/audio/ipp/FFTFrameIPP.cpp: Added.
1233         (WebCore):
1234         (WebCore::FFTFrame::FFTFrame):
1235         (WebCore::FFTFrame::initialize):
1236         (WebCore::FFTFrame::cleanup):
1237         (WebCore::FFTFrame::~FFTFrame):
1238         (WebCore::FFTFrame::multiply):
1239         (WebCore::FFTFrame::doFFT):
1240         (WebCore::FFTFrame::doInverseFFT):
1241         (WebCore::FFTFrame::realData):
1242         (WebCore::FFTFrame::imagData):
1243         (WebCore::FFTFrame::getUpToDateComplexData):
1244
1245 2012-02-07  Adrienne Walker  <enne@google.com>
1246
1247         Properly detect top level frames when propogating compositing
1248         https://bugs.webkit.org/show_bug.cgi?id=78033
1249
1250         Reviewed by James Robinson.
1251
1252         There's no need to enumerate all tag names when searching for a
1253         top-level frame. If a render view's document has a frame, then that
1254         frame is not the top-level one.
1255
1256         * rendering/RenderLayerCompositor.cpp:
1257         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1258         * rendering/RenderLayerCompositor.h:
1259         (RenderLayerCompositor):
1260
1261 2012-02-07  Chris Palmer  <palmer@google.com>
1262
1263         Resolve crash in FrameLoader::checkTimerFired.
1264         https://bugs.webkit.org/show_bug.cgi?id=77907
1265
1266         Reviewed by Eric Seidel.
1267
1268         Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.
1269
1270         * loader/FrameLoader.cpp:
1271         (WebCore::FrameLoader::checkTimerFired):
1272
1273 2012-02-07  Yong Li  <yoli@rim.com>
1274
1275         [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client
1276         https://bugs.webkit.org/show_bug.cgi?id=78029
1277
1278         Reviewed by Rob Buis.
1279
1280         When a redirect is rejected by security origin check, the ResourceRequest
1281         will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
1282         case, we should stop handling the request.
1283
1284         No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
1285         -origin-tripmine.html) can cover this.
1286
1287         * platform/network/blackberry/NetworkJob.cpp:
1288         (WebCore::NetworkJob::startNewJobWithRequest):
1289
1290 2012-02-07  David Barton  <dbarton@mathscribe.com>
1291
1292         Remove extraneous MathML code before bug 52444 fix
1293         https://bugs.webkit.org/show_bug.cgi?id=78034
1294
1295         Reviewed by Eric Seidel.
1296         
1297         Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
1298         This patch removes a couple unused functions, some extra blank lines, unused #include
1299         directives, etc., and adds a very few WebKit-standard changes to these files.
1300
1301         No new tests.
1302
1303         * rendering/mathml/RenderMathMLBlock.cpp:
1304         (WebCore):
1305         * rendering/mathml/RenderMathMLBlock.h:
1306         (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
1307             - changed to a static member function since 'this' is unused;
1308               removed redundant non-const version
1309         (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
1310             - changed to a static member function since 'this' is unused;
1311               removed redundant non-const version
1312         (WebCore):
1313         * rendering/mathml/RenderMathMLFraction.cpp:
1314         * rendering/mathml/RenderMathMLMath.cpp:
1315         * rendering/mathml/RenderMathMLMath.h:
1316         * rendering/mathml/RenderMathMLOperator.h:
1317         (WebCore):
1318         * rendering/mathml/RenderMathMLRoot.cpp:
1319         * rendering/mathml/RenderMathMLRow.cpp:
1320         * rendering/mathml/RenderMathMLRow.h:
1321         * rendering/mathml/RenderMathMLSquareRoot.cpp:
1322         * rendering/mathml/RenderMathMLSquareRoot.h:
1323         * rendering/mathml/RenderMathMLSubSup.cpp:
1324         * rendering/mathml/RenderMathMLSubSup.h:
1325         * rendering/mathml/RenderMathMLUnderOver.cpp:
1326         * rendering/mathml/RenderMathMLUnderOver.h:
1327
1328 2012-02-07  David Reveman  <reveman@chromium.org>
1329
1330         [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting.
1331         https://bugs.webkit.org/show_bug.cgi?id=78020
1332
1333         Reviewed by James Robinson.
1334
1335         Revert r101854.
1336
1337         This patch is tested by the following unit test:
1338         - TextureManagerTest.requestTextureExceedingPreferredLimit
1339
1340         * platform/graphics/chromium/ManagedTexture.cpp:
1341         (WebCore::ManagedTexture::reserve):
1342         * platform/graphics/chromium/TextureManager.cpp:
1343         (WebCore::TextureManager::requestTexture):
1344         * platform/graphics/chromium/TextureManager.h:
1345         (TextureManager):
1346
1347 2012-02-07  Anders Carlsson  <andersca@apple.com>
1348
1349         Use the non-fast-scrollable region to detect when we can't do fast scrolling
1350         https://bugs.webkit.org/show_bug.cgi?id=78056
1351         <rdar://problem/10247932>
1352
1353         Reviewed by Sam Weinig.
1354
1355         * page/scrolling/ScrollingCoordinator.cpp:
1356         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1357         Actually set the non-fast scrollable region on the scrolling tree state.
1358
1359         * page/scrolling/ScrollingTree.cpp:
1360         (WebCore::ScrollingTree::tryToHandleWheelEvent):
1361         Check if the wheel event's position is inside the non-fast-scrollable region
1362         and return false if it is.
1363
1364         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
1365         Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.
1366
1367         * platform/graphics/Region.cpp:
1368         * platform/graphics/Region.h:
1369         Add a simple contains(const IntPoint&) member function.
1370
1371 2012-02-07  Dan Bernstein  <mitz@apple.com>
1372
1373         <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
1374         https://bugs.webkit.org/show_bug.cgi?id=78044
1375
1376         Reviewed by Beth Dakin.
1377
1378         Tests: fast/text/synthetic-bold-transformed-expected.html
1379                fast/text/synthetic-bold-transformed.html
1380
1381         * platform/graphics/mac/FontMac.mm:
1382         (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
1383
1384 2012-02-07  Levi Weintraub  <leviw@chromium.org>
1385
1386         Update LayoutUnit usage in ColumnInfo and RenderFrameSet
1387         https://bugs.webkit.org/show_bug.cgi?id=77914
1388
1389         Reviewed by Eric Seidel.
1390
1391         Updating ColumnInfo and RenderFrameSet to use LayoutUnits
1392         instead of directly referencing integers for locations and
1393         distances.
1394
1395         No new tests. No changed behavior.
1396
1397         * rendering/ColumnInfo.h:
1398         (WebCore::ColumnInfo::forcedBreakOffset):
1399         (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
1400         (ColumnInfo):
1401         * rendering/RenderFrameSet.cpp:
1402         (WebCore::RenderFrameSet::paintColumnBorder):
1403         (WebCore::RenderFrameSet::paintRowBorder):
1404         * rendering/RenderFrameSet.h:
1405         (RenderFrameSet):
1406
1407 2012-02-07  Adam Klein  <adamk@chromium.org>
1408
1409         Add JSC support for delivering mutations when the outermost script context exits
1410         https://bugs.webkit.org/show_bug.cgi?id=70289
1411
1412         Reviewed by Eric Seidel.
1413
1414         The meat of this change is in JSMainThreadExecState, where a counter
1415         is incremented every time WebCore calls into JSC and decremented every
1416         time it returns. When the counter reaches zero, any pending mutations
1417         are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
1418
1419         The rest of the changes are of two sorts: compilation/logic fixes for
1420         JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
1421         usages of JSMainThreadExecState so as to trigger the above
1422         increment/decrements at the appropriate times.
1423
1424         * bindings/js/JSCustomXPathNSResolver.cpp:
1425         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1426         Use JSMainThreadExecState instead of JSC::call.
1427         * bindings/js/JSDictionary.cpp:
1428         (WebCore::JSDictionary::convertValue): Add support
1429         for tryGetProperty with a HashMap<AtomicString>.
1430         * bindings/js/JSDictionary.h:
1431         * bindings/js/JSErrorHandler.cpp:
1432         (WebCore::JSErrorHandler::handleEvent):
1433         Use JSMainThreadExecState instead of JSC::call.
1434         * bindings/js/JSHTMLDocumentCustom.cpp:
1435         (WebCore::JSHTMLDocument::open):
1436         Use JSMainThreadExecState instead of JSC::call.
1437         * bindings/js/JSMainThreadExecState.cpp:
1438         (WebCore::JSMainThreadExecState::didLeaveScriptContext):
1439         * bindings/js/JSMainThreadExecState.h:
1440         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
1441         Increment a static recursion level counter.
1442         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1443         Decrement a static recursion level counter and, if we are
1444         at zero (the outermost script invocation), deliver any
1445         outstanding mutation records.
1446         * bindings/js/JSNodeFilterCondition.cpp:
1447         (WebCore::JSNodeFilterCondition::acceptNode):
1448         Use JSMainThreadExecState instead of JSC::call.
1449         * bindings/js/JSWebKitMutationObserverCustom.cpp:
1450         (WebCore::JSWebKitMutationObserver::observe):
1451         Fix JSDictionary logic, add support for attributeFilter.
1452
1453 2012-02-07  Anders Carlsson  <andersca@apple.com>
1454
1455         Fix build.
1456
1457         * platform/ScrollableArea.h:
1458         (WebCore::ScrollableArea::scrollableAreaBoundingBox):
1459
1460 2012-02-07  Levi Weintraub  <leviw@chromium.org>
1461
1462         [SVG] Use element disappears after scripted change
1463         https://bugs.webkit.org/show_bug.cgi?id=74392
1464
1465         Reviewed by Eric Seidel.
1466
1467         Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
1468         SVGUseElements to not update the shadow root's style, and therefor not render
1469         correctly.
1470
1471         Test: svg/custom/use-disappears-after-style-update.svg
1472
1473         * svg/SVGUseElement.cpp:
1474         (WebCore::SVGUseElement::didRecalcStyle):
1475
1476 2012-02-07  Kentaro Hara  <haraken@chromium.org>
1477
1478         Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
1479         https://bugs.webkit.org/show_bug.cgi?id=77973
1480
1481         Reviewed by Adam Barth.
1482
1483         This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
1484         attributes should be prefixed by "V8".
1485
1486         No tests. No change in behavior.
1487
1488         * bindings/scripts/CodeGeneratorV8.pm:
1489         (GenerateNormalAttrGetter):
1490         (GenerateNormalAttrSetter):
1491         (GenerateSingleBatchedAttribute):
1492         (GenerateImplementation):
1493
1494 2011-10-10  Jer Noble  <jer.noble@apple.com>
1495
1496         media/audio-data-url.html test broken on Lion
1497         https://bugs.webkit.org/show_bug.cgi?id=69779
1498
1499         Reviewed by Eric Carlson.
1500
1501         Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
1502         handle those URLs.
1503
1504         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1505         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1506
1507 2012-02-07  Anders Carlsson  <andersca@apple.com>
1508
1509         Scrolling tree should keep track of region we can't do fast scrolling for
1510         https://bugs.webkit.org/show_bug.cgi?id=78050
1511
1512         Reviewed by Dan Bernstein.
1513
1514         We currently won't do fast scrolling for subframes and other types of scrollable areas.
1515         Because of this, we'll have the scrolling tree keep a region of the page for which we can't
1516         do fast scrolling. This region will be updated after layout.
1517
1518         * page/FrameView.cpp:
1519         (WebCore::FrameView::scrollableAreaBoundingBox):
1520         Return the bounding box.
1521
1522         * page/scrolling/ScrollingCoordinator.cpp:
1523         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1524         Go through all the scrollable areas in this frame view and compute the region which we can't do
1525         fast scrolling for.
1526
1527         * page/scrolling/ScrollingTree.cpp:
1528         (WebCore::ScrollingTree::commitNewTreeState):
1529         Update the non-fast-scrollable region.
1530
1531         * page/scrolling/ScrollingTreeState.cpp:
1532         (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
1533         Set the non-fast-scrollable region if it's changed.
1534
1535         * platform/ScrollableArea.h:
1536         Add scrollableAreaBoundingBox member function.
1537
1538         * rendering/RenderLayer.cpp:
1539         (WebCore::RenderLayer::scrollableAreaBoundingBox):
1540         Return the bounding box.
1541
1542         * rendering/RenderListBox.cpp:
1543         (WebCore::RenderListBox::scrollableAreaBoundingBox):
1544         Return the bounding box.
1545
1546 2012-02-07  Levi Weintraub  <leviw@chromium.org>
1547
1548         unicode-bidi:plaintext is supposed to be effective on display:inline elements too
1549         https://bugs.webkit.org/show_bug.cgi?id=73310
1550
1551         Reviewed by Eric Seidel.
1552
1553         Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
1554         like unicode-bidi: isolate with the addition of their directionality being determined
1555         by the UBA.
1556
1557         Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
1558                fast/text/international/inline-plaintext-is-isolated.html
1559                fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
1560                fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
1561                fast/text/international/inline-plaintext-with-generated-content-expected.html
1562                fast/text/international/inline-plaintext-with-generated-content.html
1563
1564         * platform/text/UnicodeBidi.h:
1565         (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
1566         are both treated as isolated content.
1567         * rendering/InlineIterator.h:
1568         (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
1569         (WebCore::notifyObserverWillExitObject): Ditto.
1570         (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
1571         (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
1572         * rendering/RenderBlockLineLayout.cpp:
1573         (WebCore::determineDirectionality): Generalized for inlines.
1574         (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
1575         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
1576         (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
1577         bidiFirstSkippingEmptyInlines.
1578
1579 2012-02-07  Kentaro Hara  <haraken@chromium.org>
1580
1581         [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
1582         https://bugs.webkit.org/show_bug.cgi?id=77957
1583
1584         Reviewed by Adam Barth.
1585
1586         This patch replaces IsSubType("WorkerContext") and something equivalent that
1587         with the [IsWorkerContext] IDL.
1588
1589         No tests. No change in behavior.
1590
1591         * bindings/scripts/CodeGeneratorV8.pm:
1592         (GetInternalFields):
1593         (GenerateConstructorGetter):
1594         (GenerateImplementation):
1595
1596 2012-02-07  David Reveman  <reveman@chromium.org>
1597
1598         [Chromium] Crash when using per-tile painting on Windows.
1599         https://bugs.webkit.org/show_bug.cgi?id=75715
1600
1601         Reviewed by James Robinson.
1602
1603         PlatformCanvas constructor on win32 expects forth argument to be a
1604         shared section handle. Passing a pointer to a system memory causes
1605         it to crash. Fix this by not using the PlatformCanvas API for
1606         SkCanvas construction in per-tile texture uploader.
1607
1608         Tested with manual tests.
1609
1610         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1611         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
1612         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
1613         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1614         (Texture):
1615
1616 2012-02-07  Jer Noble  <jer.noble@apple.com>
1617
1618         Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
1619
1620         * platform/mac/PlatformClockCM.mm:
1621
1622 2012-02-07  James Robinson  <jamesr@chromium.org>
1623
1624         [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
1625         https://bugs.webkit.org/show_bug.cgi?id=77923
1626
1627         Reviewed by Kenneth Russell.
1628
1629         Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
1630         frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
1631         error checking in case the TextureManager cannot successfully reserve memory for the texture.
1632
1633         Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
1634         continues and that we don't create a new set of textures for each plane on each frame.
1635
1636         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1637         (WebCore::CCVideoLayerImpl::draw):
1638         (WebCore::CCVideoLayerImpl::reserveTextures):
1639
1640 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
1641
1642         https://bugs.webkit.org/show_bug.cgi?id=77912
1643         Removing old CG shadow code.
1644         
1645         A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
1646         for this particular setShadow method. However, this shadow offset adjustment for CG
1647         has since moved down into platform specific code. Thus, this offset adjustment here
1648         is now redundant.
1649
1650         The CG-only shadow setting code block in this setShadow method is now redundant.
1651         Since it sets the shadow values to the CGContext directly - and not to the State object -
1652         it will be overwritten later by any subsequent calls to setting shadow values such as
1653         blur, offset, or shadow color.
1654
1655         Reviewed by Simon Fraser.
1656
1657         No new tests. Current canvas tests cover this path.
1658
1659         * html/canvas/CanvasRenderingContext2D.cpp:
1660         (WebCore::CanvasRenderingContext2D::setShadow):
1661
1662 2012-02-07  James Robinson  <jamesr@chromium.org>
1663
1664         [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
1665         https://bugs.webkit.org/show_bug.cgi?id=78013
1666
1667         Reviewed by Kenneth Russell.
1668
1669         If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
1670         some early outs.
1671
1672         Tested manually by forcing the first makeContextCurrent() call fail.
1673
1674         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1675         (WebCore::CCLayerTreeHost::updateLayers):
1676         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1677         (CCLayerTreeHost):
1678         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1679         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1680         (WebCore::CCSingleThreadProxy::compositeImmediately):
1681         (WebCore::CCSingleThreadProxy::commitIfNeeded):
1682         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1683         (CCSingleThreadProxy):
1684
1685 2012-02-07  Brady Eidson  <beidson@apple.com>
1686
1687         <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
1688         WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
1689
1690         Reviewed by Alexey Proskuryakov.
1691
1692         Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
1693
1694         Associate the credential with the URL of the challenge itself, not the original request:
1695         * platform/network/cf/ResourceHandleCFNet.cpp:
1696         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 
1697         (WebCore::ResourceHandle::receivedCredential):
1698         * platform/network/mac/ResourceHandleMac.mm:
1699         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1700         (WebCore::ResourceHandle::receivedCredential):
1701
1702 2012-02-07  Tony Chang  <tony@chromium.org>
1703
1704         move warning about css values and render style constants closer to where it applies
1705         https://bugs.webkit.org/show_bug.cgi?id=78017
1706
1707         Reviewed by Darin Adler.
1708
1709         Move the warning about keeping RenderStyleConstnats.h enums and
1710         CSSValueKeywords.in values in the same order closer to the properties
1711         that the warning applies to. The warning was easy to miss and was
1712         confusing since it doesn't apply to most values.
1713
1714         Also refactor 2 conversion functions to
1715         enumerate the possible values so the order doesn't matter.
1716
1717         No new tests, just refactoring and comment cleanup.
1718
1719         * css/CSSPrimitiveValueMappings.h:
1720         (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
1721         (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
1722         * css/CSSValueKeywords.in:
1723         * css/SVGCSSPropertyNames.in:
1724         * css/SVGCSSValueKeywords.in:
1725         * rendering/style/RenderStyleConstants.h:
1726
1727 2012-02-06  Jer Noble  <jer.noble@apple.com>
1728
1729         Use CMClock as a timing source for PlatformClock where available.
1730         https://bugs.webkit.org/show_bug.cgi?id=77885
1731
1732         Reviewed by Eric Carlson.
1733
1734         No new tests; performance improvement covered by existing test cases.
1735
1736         * WebCore.xcodeproj/project.pbxproj:
1737         * platform/Clock.cpp:
1738         (Clock::create): Use PlatformClockCM if available.
1739         * platform/mac/PlatformClockCM.h: Added.
1740         (WebCore::PlatformClockCM::playRate):
1741         (WebCore::PlatformClockCM::isRunning):
1742         * platform/mac/PlatformClockCM.mm: Added.
1743         (PlatformClockCM::PlatformClockCM):
1744         (PlatformClockCM::initializeWithTimingSource):
1745         (PlatformClockCM::setCurrentTime):
1746         (PlatformClockCM::currentTime):
1747         (PlatformClockCM::setPlayRate):
1748         (PlatformClockCM::start):
1749         (PlatformClockCM::stop):
1750
1751 2012-02-06  Anders Carlsson  <andersca@apple.com>
1752
1753         ScrollableAreaSet should be moved from Page to FrameView
1754         https://bugs.webkit.org/show_bug.cgi?id=62762
1755
1756         Reviewed by Beth Dakin.
1757
1758         It makes more sense for the set of scrollable areas to be per frame view instead of per page;
1759         scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
1760         frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
1761
1762         * WebCore.exp.in:
1763         Replace the Page member functions with FrameView member functions instead.
1764
1765         * page/EventHandler.cpp:
1766         (WebCore::EventHandler::mouseMoved):
1767         Check if the frame view contains the given layer.
1768
1769         (WebCore::EventHandler::updateMouseEventTargetNode):
1770         Ditto.
1771
1772         * page/FocusController.cpp:
1773         (WebCore::contentAreaDidShowOrHide):
1774         Add helper function.
1775
1776         (WebCore::FocusController::setContainingWindowIsVisible):
1777         Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
1778         inside all subframe views.
1779
1780         * page/FrameView.cpp:
1781         (WebCore::FrameView::FrameView):
1782         Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
1783
1784         (WebCore::FrameView::~FrameView):
1785         Don't remove the scrollable area here.
1786
1787         (WebCore::FrameView::zoomAnimatorTransformChanged):
1788         m_page is gone so use m_frame->page() instead.
1789
1790         (WebCore::FrameView::setAnimatorsAreActive):
1791         Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
1792         this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
1793         this will be done implicitly.
1794
1795         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1796         Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
1797         to do this for all scrollable areas on the page, but we only need to do it for this frame view.
1798
1799         (WebCore::FrameView::scrollAnimatorEnabled):
1800         Get the page from m_frame since m_page is gone.
1801
1802         (WebCore::FrameView::addScrollableArea):
1803         (WebCore::FrameView::removeScrollableArea):
1804         (WebCore::FrameView::containsScrollableArea):
1805         Move these member functions here from Page.
1806
1807         (WebCore::FrameView::addChild):
1808         If we are adding a frame view, add it to the scrollable area set.
1809
1810         (WebCore::FrameView::removeChild):
1811         If we are removing a frame view, remove it from the scrollable area set.
1812
1813         * page/FrameView.h:
1814         Move the member function declarations and the scrollable area set member variable here from Page.
1815
1816         * page/Page.cpp:
1817         (WebCore::Page::~Page):
1818         Don't call disconnectPage on the scrollable areas anymore.
1819
1820         * platform/ScrollView.h:
1821         (ScrollView):
1822         Make addChild and removeChild virtual.
1823
1824         * platform/ScrollableArea.h:
1825         Remove disconnectFromPage.
1826
1827         * rendering/RenderLayer.cpp:
1828         (WebCore::RenderLayer::RenderLayer):
1829         (WebCore::RenderLayer::~RenderLayer):
1830         (WebCore::RenderLayer::styleChanged):
1831         The frame view now keeps track of the scrollable areas.
1832
1833         * rendering/RenderLayer.h:
1834         Remove the page member variable and disconnectFromPage.
1835
1836         * rendering/RenderListBox.cpp:
1837         (WebCore::RenderListBox::RenderListBox):
1838         (WebCore::RenderListBox::~RenderListBox):
1839         The frame view now keeps track of the scrollable areas.
1840
1841         * rendering/RenderListBox.h:
1842         Remove the page member variable and disconnectFromPage.
1843
1844 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
1845
1846         Remove redundant checks in CanvasRenderingContext2D.cpp
1847         https://bugs.webkit.org/show_bug.cgi?id=78000
1848
1849         Reviewed by Dan Bernstein.
1850
1851         * html/canvas/CanvasRenderingContext2D.cpp:
1852         (WebCore::CanvasRenderingContext2D::setShadowColor):
1853         (WebCore::CanvasRenderingContext2D::setShadow):
1854         (WebCore::CanvasRenderingContext2D::drawImage):
1855
1856 2012-02-07  Abhishek Arya  <inferno@chromium.org>
1857
1858         Crash in ContainerNode functions due to mutation events.
1859         https://bugs.webkit.org/show_bug.cgi?id=77999
1860
1861         Reviewed by Ryosuke Niwa.
1862
1863         Add RefPtr to protect premature deletion of this due to mutation events.
1864
1865         Tests: fast/dom/remove-body-during-body-replacement.html
1866                fast/dom/remove-body-during-body-replacement2.html
1867
1868         * dom/ContainerNode.cpp:
1869         (WebCore::ContainerNode::insertBefore):
1870         (WebCore::ContainerNode::replaceChild):
1871         (WebCore::ContainerNode::removeChild):
1872         (WebCore::ContainerNode::appendChild):
1873
1874 2012-02-07  Dana Jansens  <danakj@chromium.org>
1875
1876         [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
1877         https://bugs.webkit.org/show_bug.cgi?id=77996
1878
1879         Reviewed by James Robinson.
1880
1881         We're holding onto the last element in the Vector and then calling
1882         append(). If append() reallocates the Vector's buffer, the pointer
1883         is no longer valid.
1884
1885         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1886         (WebCore::enterTargetRenderSurface):
1887
1888 2012-02-07  Abhishek Arya  <inferno@chromium.org>
1889
1890         Crash due to column style not updated on post block
1891         in splitInlines.
1892         https://bugs.webkit.org/show_bug.cgi?id=77939
1893
1894         Reviewed by Julien Chaffraix.
1895
1896         Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
1897
1898         * rendering/RenderInline.cpp:
1899         (WebCore::RenderInline::splitFlow):
1900
1901 2012-02-07  Peter Rybin  <peter.rybin@gmail.com>
1902
1903         Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
1904         https://bugs.webkit.org/show_bug.cgi?id=77919
1905
1906         Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
1907         Reviewed by Yury Semikhatsky.
1908
1909         Array validator method runtimeCast is added, internal backing method
1910         is moved from .cpp to .h (it's template anyway), boolean validator is
1911         supported.
1912
1913         * inspector/CodeGeneratorInspector.py:
1914         (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
1915         (RawTypes.Bool.get_validate_method_params):
1916         (TypeBuilder):
1917
1918 2012-02-07  Dean Jackson  <dino@apple.com>
1919
1920         Apple/Safari: Enable WebGL multisampling on ATI cards
1921         for OS X 10.7.2 and above.
1922         https://bugs.webkit.org/show_bug.cgi?id=77922
1923
1924         Address review comments by Alexey Proskuryakov and Mark Rowe.
1925
1926         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1927         (WebCore::systemAllowsMultisamplingOnATICards):
1928
1929 2012-02-07  Dean Jackson  <dino@apple.com>
1930
1931         Apple/Safari: Enable WebGL multisampling on ATI cards
1932         for OS X 10.7.2 and above.
1933         https://bugs.webkit.org/show_bug.cgi?id=77922
1934
1935         Reviewed by Chris Marrin.
1936
1937         Follow Chrome's lead to allow WebGL antialiasing
1938         on ATI cards as long as we're on 10.7.2 and above.
1939
1940         No new tests. Covered by existing tests.
1941
1942         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1943         (WebCore::systemAllowsMultisamplingOnATICards):
1944         (WebCore):
1945         (WebCore::GraphicsContext3D::validateAttributes):
1946
1947 2012-02-07  Pavel Feldman  <pfeldman@google.com>
1948
1949         Web Inspector: add generic support for undo-ing DOM edits.
1950         https://bugs.webkit.org/show_bug.cgi?id=77875
1951
1952         Reviewed by Yury Semikhatsky.
1953
1954         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
1955         initiated by the inspector. There is a way to undo these actions up until the undoable
1956         state marker.
1957
1958         Tests: inspector/elements/undo-dom-edits-2.html
1959                inspector/elements/undo-dom-edits.html
1960                inspector/styles/undo-add-property.html
1961                inspector/styles/undo-change-property.html
1962                inspector/styles/undo-property-toggle.html
1963
1964         * CMakeLists.txt:
1965         * GNUmakefile.list.am:
1966         * Target.pri:
1967         * WebCore.gypi:
1968         * WebCore.vcproj/WebCore.vcproj:
1969         * WebCore.xcodeproj/project.pbxproj:
1970         * inspector/Inspector.json:
1971         * inspector/InspectorAllInOne.cpp:
1972         * inspector/InspectorCSSAgent.cpp:
1973         (InspectorCSSAgent::StyleSheetAction):
1974         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
1975         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
1976         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
1977         (WebCore):
1978         (InspectorCSSAgent::SetStyleSheetTextAction):
1979         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
1980         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
1981         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
1982         (InspectorCSSAgent::SetPropertyTextAction):
1983         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
1984         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
1985         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
1986         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
1987         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
1988         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
1989         (InspectorCSSAgent::TogglePropertyAction):
1990         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
1991         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
1992         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
1993         (WebCore::InspectorCSSAgent::getStyleSheetText):
1994         (WebCore::InspectorCSSAgent::setStyleSheetText):
1995         (WebCore::InspectorCSSAgent::setPropertyText):
1996         (WebCore::InspectorCSSAgent::toggleProperty):
1997         * inspector/InspectorCSSAgent.h:
1998         (InspectorCSSAgent):
1999         * inspector/InspectorDOMAgent.cpp:
2000         (InspectorDOMAgent::DOMAction):
2001         (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
2002         (WebCore::InspectorDOMAgent::DOMAction::perform):
2003         (WebCore::InspectorDOMAgent::DOMAction::undo):
2004         (WebCore):
2005         (InspectorDOMAgent::RemoveChildAction):
2006         (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
2007         (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
2008         (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
2009         (InspectorDOMAgent::InsertBeforeAction):
2010         (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
2011         (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
2012         (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
2013         (InspectorDOMAgent::RemoveAttributeAction):
2014         (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
2015         (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
2016         (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
2017         (InspectorDOMAgent::SetAttributeAction):
2018         (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
2019         (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
2020         (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
2021         (InspectorDOMAgent::SetOuterHTMLAction):
2022         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
2023         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
2024         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
2025         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
2026         (InspectorDOMAgent::ReplaceWholeTextAction):
2027         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
2028         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
2029         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
2030         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2031         (WebCore::InspectorDOMAgent::reset):
2032         (WebCore::InspectorDOMAgent::setAttributeValue):
2033         (WebCore::InspectorDOMAgent::setAttributesAsText):
2034         (WebCore::InspectorDOMAgent::removeAttribute):
2035         (WebCore::InspectorDOMAgent::removeNode):
2036         (WebCore::InspectorDOMAgent::setNodeName):
2037         (WebCore::InspectorDOMAgent::setOuterHTML):
2038         (WebCore::InspectorDOMAgent::setNodeValue):
2039         (WebCore::InspectorDOMAgent::moveTo):
2040         (WebCore::InspectorDOMAgent::undo):
2041         (WebCore::InspectorDOMAgent::markUndoableState):
2042         * inspector/InspectorDOMAgent.h:
2043         (InspectorDOMAgent):
2044         (WebCore::InspectorDOMAgent::history):
2045         * inspector/InspectorHistory.cpp: Added.
2046         (WebCore::InspectorHistory::Action::Action):
2047         (WebCore):
2048         (WebCore::InspectorHistory::Action::~Action):
2049         (WebCore::InspectorHistory::Action::toString):
2050         (WebCore::InspectorHistory::Action::isUndoableStateMark):
2051         (WebCore::InspectorHistory::Action::mergeId):
2052         (WebCore::InspectorHistory::Action::merge):
2053         (WebCore::InspectorHistory::InspectorHistory):
2054         (WebCore::InspectorHistory::~InspectorHistory):
2055         (WebCore::InspectorHistory::perform):
2056         (WebCore::InspectorHistory::markUndoableState):
2057         (WebCore::InspectorHistory::undo):
2058         (WebCore::InspectorHistory::reset):
2059         * inspector/InspectorHistory.h: Added.
2060         (WebCore):
2061         (InspectorHistory):
2062         (Action):
2063         * inspector/InspectorStyleSheet.cpp:
2064         (WebCore::InspectorStyle::setPropertyText):
2065         (WebCore::InspectorStyle::styleText):
2066         (WebCore::InspectorStyleSheet::addRule):
2067         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2068         (WebCore::InspectorStyleSheet::buildObjectForStyle):
2069         (WebCore::InspectorStyleSheet::setPropertyText):
2070         (WebCore::InspectorStyleSheet::getText):
2071         (WebCore::InspectorStyleSheetForInlineStyle::getText):
2072         * inspector/InspectorStyleSheet.h:
2073         (InspectorStyle):
2074         (InspectorStyleSheet):
2075         (InspectorStyleSheetForInlineStyle):
2076         * inspector/front-end/CSSStyleModel.js:
2077         (WebInspector.CSSProperty.prototype.setText):
2078         * inspector/front-end/ElementsPanel.js:
2079         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2080         (WebInspector.ElementsPanel.prototype._updateSidebars):
2081         (WebInspector.ElementsPanel.prototype.handleShortcut):
2082         * inspector/front-end/StylesSidebarPane.js:
2083         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2084         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2085         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2086         (WebInspector.StylePropertyTreeElement):
2087         (WebInspector.StylePropertyTreeElement.prototype):
2088
2089 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2090
2091         Unreviewed, rolling out r106935.
2092         http://trac.webkit.org/changeset/106935
2093         https://bugs.webkit.org/show_bug.cgi?id=77994
2094
2095         "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
2096         cr on #webkit).
2097
2098         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2099         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2100         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2101         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2102         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2103         (WebCore::CCThreadProxy::setNeedsRedraw):
2104         * platform/graphics/chromium/cc/CCThreadProxy.h:
2105         (CCThreadProxy):
2106
2107 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2108
2109         Unreviewed, rolling out r106932.
2110         http://trac.webkit.org/changeset/106932
2111         https://bugs.webkit.org/show_bug.cgi?id=77988
2112
2113         Breaks Mac bots (Requested by pfeldman on #webkit).
2114
2115         * CMakeLists.txt:
2116         * GNUmakefile.list.am:
2117         * Target.pri:
2118         * WebCore.gypi:
2119         * WebCore.vcproj/WebCore.vcproj:
2120         * WebCore.xcodeproj/project.pbxproj:
2121         * inspector/Inspector.json:
2122         * inspector/InspectorAllInOne.cpp:
2123         * inspector/InspectorCSSAgent.cpp:
2124         (WebCore::InspectorCSSAgent::getStyleSheetText):
2125         (WebCore::InspectorCSSAgent::setStyleSheetText):
2126         (WebCore::InspectorCSSAgent::setPropertyText):
2127         (WebCore::InspectorCSSAgent::toggleProperty):
2128         * inspector/InspectorCSSAgent.h:
2129         (InspectorCSSAgent):
2130         * inspector/InspectorDOMAgent.cpp:
2131         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2132         (WebCore::InspectorDOMAgent::reset):
2133         (WebCore::InspectorDOMAgent::setAttributeValue):
2134         (WebCore::InspectorDOMAgent::setAttributesAsText):
2135         (WebCore::InspectorDOMAgent::removeAttribute):
2136         (WebCore::InspectorDOMAgent::removeNode):
2137         (WebCore::InspectorDOMAgent::setNodeName):
2138         (WebCore::InspectorDOMAgent::setOuterHTML):
2139         (WebCore::InspectorDOMAgent::setNodeValue):
2140         (WebCore::InspectorDOMAgent::moveTo):
2141         * inspector/InspectorDOMAgent.h:
2142         (InspectorDOMAgent):
2143         * inspector/InspectorHistory.cpp: Removed.
2144         * inspector/InspectorHistory.h: Removed.
2145         * inspector/InspectorStyleSheet.cpp:
2146         (WebCore::InspectorStyle::setPropertyText):
2147         (WebCore::InspectorStyle::styleText):
2148         (WebCore::InspectorStyleSheet::addRule):
2149         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2150         (WebCore::InspectorStyleSheet::buildObjectForStyle):
2151         (WebCore::InspectorStyleSheet::setPropertyText):
2152         (WebCore::InspectorStyleSheet::text):
2153         (WebCore::InspectorStyleSheetForInlineStyle::text):
2154         * inspector/InspectorStyleSheet.h:
2155         (InspectorStyle):
2156         (InspectorStyleSheet):
2157         (InspectorStyleSheetForInlineStyle):
2158         * inspector/front-end/CSSStyleModel.js:
2159         (WebInspector.CSSProperty.prototype.setText):
2160         * inspector/front-end/ElementsPanel.js:
2161         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2162         (WebInspector.ElementsPanel.prototype.handleShortcut):
2163         * inspector/front-end/StylesSidebarPane.js:
2164         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2165         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2166         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2167         (WebInspector.StylePropertyTreeElement):
2168         (WebInspector.StylePropertyTreeElement.prototype):
2169
2170 2012-02-07  Priit Laes  <plaes@plaes.org>
2171
2172         [GTK] Build failure with --enable-web-audio
2173         https://bugs.webkit.org/show_bug.cgi?id=77978
2174
2175         Reviewed by Gustavo Noronha Silva.
2176
2177         * GNUmakefile.list.am: Include AudioSourceProviderClient.h
2178
2179 2012-02-07  Alexei Filippov  <alexeif@chromium.org>
2180
2181         Web Inspector: fix objects duplication when switching filter in heap profiler.
2182         https://bugs.webkit.org/show_bug.cgi?id=77974
2183
2184         Reviewed by Yury Semikhatsky.
2185
2186         * inspector/front-end/DetailedHeapshotView.js:
2187         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2188
2189 2012-02-07  Jonathan Backer  <backer@chromium.org>
2190
2191         [chromium] Add setNeedsRedraw to WebWidget
2192         https://bugs.webkit.org/show_bug.cgi?id=77555
2193
2194         Reviewed by James Robinson.
2195
2196         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2197         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2198         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2199         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2200         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2201         (WebCore::CCThreadProxy::setNeedsRedraw):
2202         (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
2203         (WebCore):
2204         * platform/graphics/chromium/cc/CCThreadProxy.h:
2205         (CCThreadProxy):
2206
2207 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
2208
2209         [Qt][WK2] Compute and set cache capacities using the current CacheModel
2210         https://bugs.webkit.org/show_bug.cgi?id=73918
2211
2212         Reviewed by Kenneth Rohde Christiansen.
2213
2214         No new tests. (build fix)
2215
2216         * platform/qt/FileSystemQt.cpp:
2217         (WebCore::getVolumeFreeSizeForPath):
2218
2219 2012-02-07  Pavel Feldman  <pfeldman@google.com>
2220
2221         Web Inspector: add generic support for undo-ing DOM edits.
2222         https://bugs.webkit.org/show_bug.cgi?id=77875
2223
2224         Reviewed by Yury Semikhatsky.
2225
2226         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
2227         initiated by the inspector. There is a way to undo these actions up until the undoable
2228         state marker.
2229
2230         Tests: inspector/elements/undo-dom-edits-2.html
2231                inspector/elements/undo-dom-edits.html
2232                inspector/styles/undo-add-property.html
2233                inspector/styles/undo-change-property.html
2234                inspector/styles/undo-property-toggle.html
2235
2236         * CMakeLists.txt:
2237         * GNUmakefile.list.am:
2238         * Target.pri:
2239         * WebCore.gypi:
2240         * WebCore.vcproj/WebCore.vcproj:
2241         * WebCore.xcodeproj/project.pbxproj:
2242         * inspector/Inspector.json:
2243         * inspector/InspectorAllInOne.cpp:
2244         * inspector/InspectorCSSAgent.cpp:
2245         (InspectorCSSAgent::StyleSheetAction):
2246         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
2247         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
2248         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
2249         (WebCore):
2250         (InspectorCSSAgent::SetStyleSheetTextAction):
2251         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
2252         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
2253         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
2254         (InspectorCSSAgent::SetPropertyTextAction):
2255         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
2256         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
2257         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
2258         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
2259         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
2260         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
2261         (InspectorCSSAgent::TogglePropertyAction):
2262         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
2263         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
2264         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
2265         (WebCore::InspectorCSSAgent::getStyleSheetText):
2266         (WebCore::InspectorCSSAgent::setStyleSheetText):
2267         (WebCore::InspectorCSSAgent::setPropertyText):
2268         (WebCore::InspectorCSSAgent::toggleProperty):
2269         * inspector/InspectorCSSAgent.h:
2270         (InspectorCSSAgent):
2271         * inspector/InspectorDOMAgent.cpp:
2272         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2273         (WebCore::InspectorDOMAgent::reset):
2274         (WebCore::InspectorDOMAgent::setAttributeValue):
2275         (WebCore::InspectorDOMAgent::setAttributesAsText):
2276         (WebCore::InspectorDOMAgent::removeAttribute):
2277         (WebCore::InspectorDOMAgent::removeNode):
2278         (WebCore::InspectorDOMAgent::setNodeName):
2279         (WebCore::InspectorDOMAgent::setOuterHTML):
2280         (WebCore::InspectorDOMAgent::setNodeValue):
2281         (WebCore::InspectorDOMAgent::moveTo):
2282         (WebCore::InspectorDOMAgent::undo):
2283         (WebCore):
2284         (WebCore::InspectorDOMAgent::markUndoableState):
2285         * inspector/InspectorDOMAgent.h:
2286         (InspectorDOMAgent):
2287         (WebCore::InspectorDOMAgent::history):
2288         * inspector/InspectorHistory.cpp: Added.
2289         (WebCore::InspectorHistory::Action::Action):
2290         (WebCore):
2291         (WebCore::InspectorHistory::Action::~Action):
2292         (WebCore::InspectorHistory::Action::toString):
2293         (WebCore::InspectorHistory::Action::isUndoableStateMark):
2294         (WebCore::InspectorHistory::Action::mergeId):
2295         (WebCore::InspectorHistory::Action::merge):
2296         (WebCore::InspectorHistory::InspectorHistory):
2297         (WebCore::InspectorHistory::~InspectorHistory):
2298         (WebCore::InspectorHistory::perform):
2299         (WebCore::InspectorHistory::markUndoableState):
2300         (WebCore::InspectorHistory::undo):
2301         (WebCore::InspectorHistory::reset):
2302         * inspector/InspectorHistory.h: Added.
2303         (WebCore):
2304         (InspectorHistory):
2305         (Action):
2306         * inspector/InspectorStyleSheet.cpp:
2307         (WebCore::InspectorStyle::setPropertyText):
2308         (WebCore::InspectorStyle::styleText):
2309         (WebCore::InspectorStyleSheet::addRule):
2310         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2311         (WebCore::InspectorStyleSheet::buildObjectForStyle):
2312         (WebCore::InspectorStyleSheet::setPropertyText):
2313         (WebCore::InspectorStyleSheet::getText):
2314         (WebCore::InspectorStyleSheetForInlineStyle::getText):
2315         * inspector/InspectorStyleSheet.h:
2316         (InspectorStyle):
2317         (InspectorStyleSheet):
2318         (InspectorStyleSheetForInlineStyle):
2319         * inspector/front-end/CSSStyleModel.js:
2320         (WebInspector.CSSProperty.prototype.setText):
2321         * inspector/front-end/ElementsPanel.js:
2322         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2323         (WebInspector.ElementsPanel.prototype._updateSidebars):
2324         (WebInspector.ElementsPanel.prototype.handleShortcut):
2325         * inspector/front-end/StylesSidebarPane.js:
2326         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2327         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2328         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2329         (WebInspector.StylePropertyTreeElement):
2330         (WebInspector.StylePropertyTreeElement.prototype):
2331
2332 2012-02-07  Chris Guan  <chris.guan@torchmobile.com.cn>
2333
2334         [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
2335         https://bugs.webkit.org/show_bug.cgi?id=77926
2336
2337         Reviewed by Rob Buis.
2338
2339         1. rename clientIsOk to isClientAvailable.
2340         2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
2341         release build but keep available in debug build.
2342         
2343         No changes in behavior, so no new tests.
2344
2345         * platform/network/blackberry/NetworkJob.cpp:
2346         (WebCore::NetworkJob::NetworkJob):
2347         (WebCore::NetworkJob::handleNotifyDataReceived):
2348         (WebCore::NetworkJob::handleNotifyDataSent):
2349         (WebCore::NetworkJob::handleNotifyClose):
2350         (WebCore::NetworkJob::startNewJobWithRequest):
2351         (WebCore::NetworkJob::sendResponseIfNeeded):
2352         (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
2353         * platform/network/blackberry/NetworkJob.h:
2354         (NetworkJob):
2355         (WebCore::NetworkJob::isClientAvailable):
2356
2357 2012-02-06  Yury Semikhatsky  <yurys@chromium.org>
2358
2359         Web Inspector: don't mark object is queriable if it is only reachable by internal reference
2360         https://bugs.webkit.org/show_bug.cgi?id=77877
2361
2362         Reviewed by Pavel Feldman.
2363
2364         * inspector/front-end/HeapSnapshot.js:
2365         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2366
2367 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2368
2369         Unreviewed, rolling out r106909.
2370         http://trac.webkit.org/changeset/106909
2371         https://bugs.webkit.org/show_bug.cgi?id=77965
2372
2373         ~20 tests are crashing on chromium win release bot. (Requested
2374         by loislo on #webkit).
2375
2376         * html/HTMLDetailsElement.cpp:
2377         (WebCore::HTMLDetailsElement::createShadowSubtree):
2378         * html/HTMLKeygenElement.cpp:
2379         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2380         * html/HTMLMeterElement.cpp:
2381         (WebCore::HTMLMeterElement::createShadowSubtree):
2382         * html/HTMLProgressElement.cpp:
2383         (WebCore::HTMLProgressElement::createShadowSubtree):
2384         * html/HTMLSummaryElement.cpp:
2385         (WebCore::HTMLSummaryElement::createShadowSubtree):
2386         * html/HTMLTextAreaElement.cpp:
2387         (WebCore::HTMLTextAreaElement::createShadowSubtree):
2388
2389 2012-02-07  Andreas Kling  <awesomekling@apple.com>
2390
2391         REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
2392         <http://webkit.org/b/77952>
2393
2394         Reviewed by Andreas Kling.
2395         Patch by Ryosuke Niwa.
2396
2397         The performance regression was caused by using ensureAttributeData() which forces the
2398         regeneration of invalidated attributes ("style" and SVG animatable attributes.)
2399         Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
2400         of ElementAttributeData, not the validity of its contents. Use that when grabbing
2401         at an element's inline and attribute styles.
2402
2403         * dom/Element.h:
2404         (Element):
2405         (WebCore::Element::ensureAttributeDataWithoutUpdate):
2406         * dom/StyledElement.h:
2407         (WebCore::StyledElement::ensureInlineStyleDecl):
2408         (WebCore::StyledElement::ensureAttributeStyle):
2409
2410 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
2411
2412         [Qt][WK2] Compute and set cache capacities using the current CacheModel
2413         https://bugs.webkit.org/show_bug.cgi?id=73918
2414
2415         Reviewed by Csaba Osztrogonác.
2416
2417         No new tests. (build fix).
2418
2419         * platform/qt/FileSystemQt.cpp:
2420
2421 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
2422
2423         [Qt][WK2] Compute and set cache capacities using the current CacheModel
2424         https://bugs.webkit.org/show_bug.cgi?id=73918
2425
2426         Reviewed by Kenneth Rohde Christiansen.
2427
2428         No new tests. (Not applicable)
2429
2430         Added OS-specific implementation for retrieving the free disk space.
2431
2432         * platform/FileSystem.h:
2433         (WebCore):
2434         * platform/qt/FileSystemQt.cpp:
2435         (WebCore::getVolumeFreeSizeForPath):
2436         (WebCore):
2437
2438 2012-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2439
2440         [Inspector] Add the Nokia N9 user agent
2441         https://bugs.webkit.org/show_bug.cgi?id=77949
2442
2443         Reviewed by Simon Hausmann.
2444
2445         * inspector/front-end/SettingsScreen.js:
2446         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2447
2448 2012-02-07  Alexander Pavlov  <apavlov@chromium.org>
2449
2450         [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
2451         https://bugs.webkit.org/show_bug.cgi?id=77953
2452
2453         Reviewed by Andreas Kling.
2454
2455         * page/EventHandler.cpp:
2456         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
2457
2458 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2459
2460         Unreviewed, rolling out r106912.
2461         http://trac.webkit.org/changeset/106912
2462         https://bugs.webkit.org/show_bug.cgi?id=77947
2463
2464         "AppleWebKit build is broken" (Requested by haraken on
2465         #webkit).
2466
2467         * dom/ScriptExecutionContext.cpp:
2468         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2469         (WebCore):
2470         * dom/ScriptExecutionContext.h:
2471         (WebCore):
2472         (ScriptExecutionContext):
2473         * html/DOMURL.cpp:
2474         (WebCore::DOMURL::DOMURL):
2475         (WebCore):
2476         (WebCore::DOMURL::~DOMURL):
2477         (WebCore::DOMURL::contextDestroyed):
2478         (WebCore::DOMURL::createObjectURL):
2479         (WebCore::DOMURL::revokeObjectURL):
2480         * html/DOMURL.h:
2481         (WebCore::DOMURL::create):
2482         (DOMURL):
2483         * html/DOMURL.idl:
2484         * html/PublicURLManager.h: Removed.
2485         * page/DOMWindow.cpp:
2486         (WebCore):
2487         (WebCore::DOMWindow::webkitURL):
2488         * page/DOMWindow.h:
2489         (DOMWindow):
2490         * page/DOMWindow.idl:
2491         * workers/WorkerContext.cpp:
2492         (WebCore):
2493         (WebCore::WorkerContext::webkitURL):
2494         * workers/WorkerContext.h:
2495         (WorkerContext):
2496         * workers/WorkerContext.idl:
2497
2498 2012-02-07  Kentaro Hara  <haraken@chromium.org>
2499
2500         Unreviewed, rolling out r106862.
2501         http://trac.webkit.org/changeset/106862
2502         https://bugs.webkit.org/show_bug.cgi?id=77510
2503
2504         Mac build fails if we manually remove generated code
2505
2506         * DerivedSources.make:
2507         * bindings/scripts/generate-bindings.pl:
2508         (generateEmptyHeaderAndCpp):
2509         * bindings/scripts/resolve-supplemental.pl:
2510         * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
2511
2512 2012-02-07  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2513
2514         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
2515         https://bugs.webkit.org/show_bug.cgi?id=74386
2516
2517         Reviewed by David Levin.
2518
2519         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
2520         Already Existing:
2521             fast/files/revoke-blob-url.html
2522             fast/dom/window-domurl-crash.html
2523             fast/files/apply-blob-url-to-img.html
2524             fast/files/create-blob-url-crash.html
2525             fast/files/workers/inline-worker-via-blob-url.html
2526
2527         * dom/ScriptExecutionContext.cpp:
2528         (WebCore::ScriptExecutionContext::fileThread):
2529         (WebCore):
2530         (WebCore::ScriptExecutionContext::publicURLManager):
2531         * dom/ScriptExecutionContext.h:
2532         (WebCore):
2533         (ScriptExecutionContext):
2534         * html/DOMURL.cpp:
2535         (WebCore):
2536         (WebCore::DOMURL::createObjectURL): Changed to static.
2537         (WebCore::DOMURL::revokeObjectURL): ditto.
2538         * html/DOMURL.h:
2539         (DOMURL):
2540         (WebCore::DOMURL::create):
2541         * html/DOMURL.idl:
2542         * html/PublicURLManager.h: Added.
2543         (WebCore):
2544         (PublicURLManager):
2545         (WebCore::PublicURLManager::create):
2546         (WebCore::PublicURLManager::contextDestroyed):
2547         (WebCore::PublicURLManager::blobURLs):
2548         (WebCore::PublicURLManager::streamURLs):
2549         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
2550         (WebCore):
2551         * page/DOMWindow.h: ditto.
2552         (DOMWindow):
2553         * page/DOMWindow.idl:
2554         * workers/WorkerContext.cpp:
2555         (WebCore):
2556         * workers/WorkerContext.h:
2557         (WorkerContext):
2558         * workers/WorkerContext.idl:
2559
2560 2012-02-03  Vsevolod Vlasov  <vsevik@chromium.org>
2561
2562         http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
2563         https://bugs.webkit.org/show_bug.cgi?id=77661
2564
2565         Reviewed by Yury Semikhatsky.
2566
2567         * inspector/InspectorIndexedDBAgent.cpp:
2568         (WebCore):
2569
2570 2012-02-07  Hayato Ito  <hayato@chromium.org>
2571
2572         Fix build on Mac with '--shadow-dom'.
2573         https://bugs.webkit.org/show_bug.cgi?id=77940
2574
2575         Reviewed by Hajime Morita.
2576
2577         * WebCore.xcodeproj/project.pbxproj:
2578
2579 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
2580
2581         Stop calling Element::ensureShadowRoot() if it is used in construction phase.
2582         https://bugs.webkit.org/show_bug.cgi?id=77929
2583
2584         Reviewed by Hajime Morita.
2585
2586         ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
2587         So we want to remove Element::ensureShadowRoot().
2588         This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
2589
2590         No new tests, no change in behavior.
2591
2592         * html/HTMLDetailsElement.cpp:
2593         (WebCore::HTMLDetailsElement::createShadowSubtree):
2594         * html/HTMLKeygenElement.cpp:
2595         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2596         * html/HTMLMeterElement.cpp:
2597         (WebCore::HTMLMeterElement::createShadowSubtree):
2598         * html/HTMLProgressElement.cpp:
2599         (WebCore::HTMLProgressElement::createShadowSubtree):
2600         * html/HTMLSummaryElement.cpp:
2601         (WebCore::HTMLSummaryElement::createShadowSubtree):
2602         * html/HTMLTextAreaElement.cpp:
2603         (WebCore::HTMLTextAreaElement::createShadowSubtree):
2604
2605 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
2606
2607         Remove Element::ensureShadowRoot export.
2608         https://bugs.webkit.org/show_bug.cgi?id=77932
2609
2610         Reviewed by Hajime Morita.
2611
2612         Removes Element::ensureShadowRoot export.
2613
2614         No new tests, no change in behavior.
2615
2616         * WebCore.exp.in:
2617
2618 2012-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
2619
2620         Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
2621
2622         * inspector/front-end/DetailedHeapshotGridNodes.js:
2623         * inspector/front-end/HeapSnapshot.js:
2624         (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
2625         (WebInspector.HeapSnapshot.prototype._init):
2626
2627 2012-02-06  Hayato Ito  <hayato@chromium.org>
2628
2629         Implement querySelector on ShadowRoot.
2630         https://bugs.webkit.org/show_bug.cgi?id=77714
2631
2632         Reviewed by Dimitri Glazkov.
2633
2634         * dom/SelectorQuery.cpp:
2635         (WebCore::nodeIsRootNodeOfTreeScope):
2636         (WebCore):
2637         (WebCore::SelectorDataList::execute):
2638
2639 2012-02-06  Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K  <nayankk@motorola.com>
2640
2641         [GTK] Add TextureMapperGL implementation
2642         https://bugs.webkit.org/show_bug.cgi?id=75308
2643
2644         Reviewed by Alejandro G. Castro.
2645
2646         No new tests. This will be covered by accelerated compositing and
2647         3D CSS transform tests eventually.
2648
2649         * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
2650         * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
2651         * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
2652         * platform/graphics/gtk/WindowGLContext.h: Added.
2653         * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
2654         * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
2655
2656 2012-02-06  Emil A Eklund  <eae@chromium.org>
2657
2658         Change baselinePosition and lineHeight to LayoutUnit
2659         https://bugs.webkit.org/show_bug.cgi?id=77905
2660
2661         Reviewed by Eric Seidel.
2662
2663         Change the virtual baselinePosition and lineHeight methods to return
2664         LayoutUnits as they are both computed from the height and top/bottom
2665         margins (or width and left/right margins for vertical text), all of
2666         which are LayoutUnits.
2667
2668         No new tests.
2669
2670         * platform/efl/RenderThemeEfl.cpp:
2671         (WebCore::RenderThemeEfl::baselinePosition):
2672         * platform/efl/RenderThemeEfl.h:
2673         (RenderThemeEfl):
2674         * platform/gtk/RenderThemeGtk.cpp:
2675         (WebCore::RenderThemeGtk::baselinePosition):
2676         * platform/gtk/RenderThemeGtk.h:
2677         (RenderThemeGtk):
2678         * platform/qt/RenderThemeQt.cpp:
2679         (WebCore::RenderThemeQt::baselinePosition):
2680         * platform/qt/RenderThemeQt.h:
2681         (RenderThemeQt):
2682         * rendering/RenderListMarker.cpp:
2683         (WebCore::RenderListMarker::lineHeight):
2684         (WebCore::RenderListMarker::baselinePosition):
2685         * rendering/RenderListMarker.h:
2686         (RenderListMarker):
2687         * rendering/RenderSlider.cpp:
2688         (WebCore::RenderSlider::baselinePosition):
2689         * rendering/RenderSlider.h:
2690         (RenderSlider):
2691         * rendering/RootInlineBox.h:
2692         (WebCore::RootInlineBox::baselinePosition):
2693         (WebCore::RootInlineBox::lineHeight):
2694         * rendering/mathml/RenderMathMLFraction.cpp:
2695         (WebCore::RenderMathMLFraction::baselinePosition):
2696         * rendering/mathml/RenderMathMLFraction.h:
2697         (RenderMathMLFraction):
2698         * rendering/mathml/RenderMathMLOperator.cpp:
2699         (WebCore::RenderMathMLOperator::baselinePosition):
2700         * rendering/mathml/RenderMathMLOperator.h:
2701         (RenderMathMLOperator):
2702         * rendering/mathml/RenderMathMLRow.cpp:
2703         (WebCore::RenderMathMLRow::baselinePosition):
2704         * rendering/mathml/RenderMathMLRow.h:
2705         (RenderMathMLRow):
2706         * rendering/mathml/RenderMathMLSubSup.cpp:
2707         (WebCore::RenderMathMLSubSup::baselinePosition):
2708         * rendering/mathml/RenderMathMLSubSup.h:
2709         (RenderMathMLSubSup):
2710         * rendering/mathml/RenderMathMLUnderOver.cpp:
2711         (WebCore::RenderMathMLUnderOver::baselinePosition):
2712         * rendering/mathml/RenderMathMLUnderOver.h:
2713         (RenderMathMLUnderOver):
2714
2715 2012-02-06  Xianzhu Wang  <wangxianzhu@chromium.org>
2716
2717         Avoid Page::updateViewportArguments() if the causing frame is not the main frame
2718         https://bugs.webkit.org/show_bug.cgi?id=77387
2719
2720         Reviewed by Kenneth Rohde Christiansen.
2721
2722         * dom/Document.cpp:
2723         (WebCore::Document::processViewport):
2724         (WebCore::Document::updateViewportArguments):
2725         (WebCore::Document::setInPageCache):
2726         * dom/Document.h:
2727         (Document):
2728         * html/HTMLBodyElement.cpp:
2729         (WebCore::HTMLBodyElement::insertedIntoDocument):
2730         * page/Frame.cpp:
2731         (WebCore::Frame::setDocument):
2732         * page/Page.cpp:
2733         (WebCore::Page::viewportArguments):
2734         (WebCore):
2735         * page/Page.h:
2736         (Page):
2737
2738 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
2739
2740         Fix some miscellaneous 'make dist' error for WebKitGTK+.
2741
2742         * GNUmakefile.list.am: Add some missing Shadow DOM files to the
2743         source list.
2744
2745 2012-02-06  Dana Jansens  <danakj@chromium.org>
2746
2747         Add contains() test to Region
2748         https://bugs.webkit.org/show_bug.cgi?id=72294
2749
2750         Reviewed by Anders Carlsson.
2751
2752         * platform/graphics/Region.cpp:
2753         (WebCore::Region::contains):
2754         (WebCore):
2755         * platform/graphics/Region.h:
2756         (Region):
2757         (Shape):
2758         (WebCore::operator==):
2759         (WebCore):
2760
2761 2012-02-06  Kentaro Hara  <haraken@chromium.org>
2762
2763         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2764         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
2765         https://bugs.webkit.org/show_bug.cgi?id=77852
2766
2767         Reviewed by Adam Barth.
2768
2769         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2770         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
2771
2772         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
2773         constant value is equal to the expected constant value)
2774         [ReturnsNew] => [ReturnNewObject] (For clarification)
2775         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
2776         with other [*Getter] IDLs)
2777         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
2778         with other [*Setter] IDLs)
2779         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
2780         name in implementation)
2781
2782         No tests. No change in behavior.
2783
2784         * bindings/scripts/CodeGenerator.pm:
2785         (ShouldCheckEnums):
2786         (GenerateCompileTimeCheckForEnumsIfNeeded):
2787         * bindings/scripts/CodeGeneratorJS.pm:
2788         (GenerateHeader):
2789         (GenerateImplementation):
2790         (NativeToJSValue):
2791         * bindings/scripts/CodeGeneratorV8.pm:
2792         (GenerateSingleBatchedAttribute):
2793         (GenerateFunctionCallString):
2794         (NativeToJSValue):
2795
2796         * bindings/scripts/test/TestObj.idl:
2797         * bindings/scripts/test/TestTypedArray.idl:
2798
2799         * bindings/scripts/test/JS/JSTestInterface.cpp:
2800         (WebCore):
2801         * bindings/scripts/test/JS/JSTestObj.cpp:
2802         (WebCore):
2803         * bindings/scripts/test/V8/V8TestInterface.cpp:
2804         (WebCore):
2805         * bindings/scripts/test/V8/V8TestObj.cpp:
2806         (WebCore):
2807
2808         * css/WebKitCSSFilterValue.idl:
2809         * css/WebKitCSSTransformValue.idl:
2810         * dom/DOMCoreException.idl:
2811         * dom/Document.idl:
2812         * dom/EventException.idl:
2813         * dom/RangeException.idl:
2814         * fileapi/FileException.idl:
2815         * fileapi/OperationNotAllowedException.idl:
2816         * html/HTMLFormElement.idl:
2817         * html/canvas/Float32Array.idl:
2818         * html/canvas/Float64Array.idl:
2819         * html/canvas/Int16Array.idl:
2820         * html/canvas/Int32Array.idl:
2821         * html/canvas/Int8Array.idl:
2822         * html/canvas/OESStandardDerivatives.idl:
2823         * html/canvas/OESVertexArrayObject.idl:
2824         * html/canvas/Uint16Array.idl:
2825         * html/canvas/Uint32Array.idl:
2826         * html/canvas/Uint8Array.idl:
2827         * html/canvas/Uint8ClampedArray.idl:
2828         * html/canvas/WebGLCompressedTextures.idl:
2829         * html/canvas/WebGLDebugRendererInfo.idl:
2830         * html/canvas/WebGLRenderingContext.idl:
2831         * inspector/JavaScriptCallFrame.idl:
2832         * loader/appcache/DOMApplicationCache.idl:
2833         * page/Console.idl:
2834         * page/DOMWindow.idl:
2835         * page/Location.idl:
2836         * storage/IDBCursor.idl:
2837         * storage/IDBDatabaseException.idl:
2838         * storage/IDBObjectStore.idl:
2839         * storage/SQLException.idl:
2840         * svg/SVGComponentTransferFunctionElement.idl:
2841         * svg/SVGException.idl:
2842         * svg/SVGFEBlendElement.idl:
2843         * svg/SVGFEColorMatrixElement.idl:
2844         * svg/SVGFECompositeElement.idl:
2845         * svg/SVGFEConvolveMatrixElement.idl:
2846         * svg/SVGFEDisplacementMapElement.idl:
2847         * svg/SVGFEMorphologyElement.idl:
2848         * svg/SVGFETurbulenceElement.idl:
2849         * svg/SVGGradientElement.idl:
2850         * xml/XMLHttpRequestException.idl:
2851         * xml/XPathException.idl:
2852
2853 2012-02-06  James Robinson  <jamesr@chromium.org>
2854
2855         [chromium] canvas demo is slow due to unnecessary resource cleanups
2856         https://bugs.webkit.org/show_bug.cgi?id=77135
2857
2858         Reviewed by Kenneth Russell.
2859
2860         This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
2861         TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
2862         particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
2863         ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
2864         rebuild the compositing tree frequently.
2865
2866         New unit test added for ManagedTexture / TextureManager interaction.
2867
2868         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2869         (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
2870         (WebCore::Canvas2DLayerChromium::setTextureManager):
2871         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2872         (Canvas2DLayerChromium):
2873         * platform/graphics/chromium/LayerChromium.cpp:
2874         (WebCore::LayerChromium::setLayerTreeHost):
2875         * platform/graphics/chromium/LayerChromium.h:
2876         (LayerChromium):
2877         * platform/graphics/chromium/ManagedTexture.cpp:
2878         (WebCore::ManagedTexture::setTextureManager):
2879         (WebCore):
2880         (WebCore::ManagedTexture::steal):
2881         (WebCore::ManagedTexture::clear):
2882         * platform/graphics/chromium/ManagedTexture.h:
2883         (ManagedTexture):
2884         * platform/graphics/chromium/RenderSurfaceChromium.h:
2885         (RenderSurfaceChromium):
2886         * platform/graphics/chromium/TiledLayerChromium.cpp:
2887         (WebCore::TiledLayerChromium::setLayerTreeHost):
2888         (WebCore):
2889         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2890         * platform/graphics/chromium/TiledLayerChromium.h:
2891
2892 2012-02-06  Kentaro Hara  <haraken@chromium.org>
2893
2894         Unreviewed, rolling out r106883.
2895         http://trac.webkit.org/changeset/106883
2896         https://bugs.webkit.org/show_bug.cgi?id=77852
2897
2898         build failure around Chromium V8 bindings
2899
2900         * bindings/scripts/CodeGenerator.pm:
2901         (ShouldCheckEnums):
2902         (GenerateCompileTimeCheckForEnumsIfNeeded):
2903         * bindings/scripts/CodeGeneratorJS.pm:
2904         (GenerateHeader):
2905         (GenerateImplementation):
2906         (NativeToJSValue):
2907         * bindings/scripts/CodeGeneratorV8.pm:
2908         (GenerateSingleBatchedAttribute):
2909         (GenerateFunctionCallString):
2910         (NativeToJSValue):
2911         * bindings/scripts/test/JS/JSTestInterface.cpp:
2912         (WebCore):
2913         * bindings/scripts/test/JS/JSTestObj.cpp:
2914         (WebCore):
2915         * bindings/scripts/test/TestObj.idl:
2916         * bindings/scripts/test/TestTypedArray.idl:
2917         * bindings/scripts/test/V8/V8TestInterface.cpp:
2918         (WebCore):
2919         * bindings/scripts/test/V8/V8TestObj.cpp:
2920         (WebCore):
2921         * css/WebKitCSSFilterValue.idl:
2922         * css/WebKitCSSTransformValue.idl:
2923         * dom/DOMCoreException.idl:
2924         * dom/Document.idl:
2925         * dom/EventException.idl:
2926         * dom/RangeException.idl:
2927         * fileapi/FileException.idl:
2928         * fileapi/OperationNotAllowedException.idl:
2929         * html/HTMLFormElement.idl:
2930         * html/canvas/Float32Array.idl:
2931         * html/canvas/Float64Array.idl:
2932         * html/canvas/Int16Array.idl:
2933         * html/canvas/Int32Array.idl:
2934         * html/canvas/Int8Array.idl:
2935         * html/canvas/OESStandardDerivatives.idl:
2936         * html/canvas/OESVertexArrayObject.idl:
2937         * html/canvas/Uint16Array.idl:
2938         * html/canvas/Uint32Array.idl:
2939         * html/canvas/Uint8Array.idl:
2940         * html/canvas/Uint8ClampedArray.idl:
2941         * html/canvas/WebGLCompressedTextures.idl:
2942         * html/canvas/WebGLDebugRendererInfo.idl:
2943         * html/canvas/WebGLRenderingContext.idl:
2944         * inspector/JavaScriptCallFrame.idl:
2945         * loader/appcache/DOMApplicationCache.idl:
2946         * page/Console.idl:
2947         * page/DOMWindow.idl:
2948         * page/Location.idl:
2949         * storage/IDBCursor.idl:
2950         * storage/IDBDatabaseException.idl:
2951         * storage/IDBObjectStore.idl:
2952         * storage/SQLException.idl:
2953         * svg/SVGComponentTransferFunctionElement.idl:
2954         * svg/SVGException.idl:
2955         * svg/SVGFEBlendElement.idl:
2956         * svg/SVGFEColorMatrixElement.idl:
2957         * svg/SVGFECompositeElement.idl:
2958         * svg/SVGFEConvolveMatrixElement.idl:
2959         * svg/SVGFEDisplacementMapElement.idl:
2960         * svg/SVGFEMorphologyElement.idl:
2961         * svg/SVGFETurbulenceElement.idl:
2962         * svg/SVGGradientElement.idl:
2963         * xml/XMLHttpRequestException.idl:
2964         * xml/XPathException.idl:
2965
2966 2012-02-06  Yongsheng Zhu  <yongsheng.zhu@intel.com>
2967
2968         WebGL must allocate smaller drawing buffer when the allocation fails. 
2969         https://bugs.webkit.org/show_bug.cgi?id=76654
2970
2971         Reviewed by Kenneth Russell.
2972
2973         Test: fast/canvas/webgl/drawingbuffer-test.html
2974
2975         * platform/graphics/gpu/DrawingBuffer.cpp:
2976         (WebCore):
2977         (WebCore::DrawingBuffer::create):
2978         (WebCore::DrawingBuffer::reset):
2979
2980 2012-02-06  Kentaro Hara  <haraken@chromium.org>
2981
2982         Unreviewed. Rebaselined run-bindings-tests results.
2983
2984         * bindings/scripts/test/V8/V8TestObj.cpp:
2985         (WebCore::TestObjInternal::optionsObjectCallback):
2986
2987 2012-02-06  Levi Weintraub  <leviw@chromium.org>
2988
2989         Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
2990         https://bugs.webkit.org/show_bug.cgi?id=77891
2991
2992         Reviewed by Darin Adler.
2993
2994         Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
2995         directories to properly use LayoutUnits vs ints.
2996
2997         No new tests. No new behavior.
2998
2999         * accessibility/AccessibilityObject.h:
3000         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
3001         (WebCore::AccessibilityObject::doAXBoundsForRange):
3002         * accessibility/AccessibilityRenderObject.cpp:
3003         (WebCore::AccessibilityRenderObject::isOffScreen):
3004         (WebCore::AccessibilityRenderObject::clickPoint):
3005         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3006         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
3007         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
3008         * accessibility/AccessibilityRenderObject.h:
3009         (AccessibilityRenderObject):
3010         * accessibility/AccessibilitySlider.cpp:
3011         (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
3012         * accessibility/AccessibilitySlider.h:
3013         (AccessibilitySlider):
3014         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3015         (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
3016         * css/CSSComputedStyleDeclaration.cpp:
3017         (WebCore::computedTransform):
3018         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3019         * dom/Clipboard.h:
3020         (WebCore::Clipboard::dragLocation):
3021         (Clipboard):
3022         * dom/DocumentMarkerController.cpp:
3023         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
3024         * dom/DocumentMarkerController.h:
3025         * dom/Element.cpp:
3026         (WebCore::Element::screenRect):
3027         * dom/Element.h:
3028         (Element):
3029         * editing/Editor.cpp:
3030         (WebCore::Editor::rangeForPoint):
3031         (WebCore::Editor::firstRectForRange):
3032         * editing/RenderedPosition.cpp:
3033         (WebCore::RenderedPosition::absoluteRect):
3034         * editing/RenderedPosition.h:
3035         (WebCore::RenderedPosition::absoluteRect):
3036         (RenderedPosition):
3037         * editing/VisiblePosition.h:
3038         (VisiblePosition):
3039         * inspector/DOMNodeHighlighter.cpp:
3040         * loader/SubframeLoader.cpp:
3041         (WebCore::SubframeLoader::createJavaAppletWidget):
3042         * loader/SubframeLoader.h:
3043         (SubframeLoader):
3044         * page/EventHandler.cpp:
3045         (WebCore::EventHandler::handleMousePressEvent):
3046         * page/Frame.cpp:
3047         (WebCore::Frame::nodeImage):
3048         * page/win/FrameCGWin.cpp:
3049         (WebCore::Frame::nodeImage):
3050
3051 2012-02-05  Kentaro Hara  <haraken@chromium.org>
3052
3053         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
3054         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
3055         https://bugs.webkit.org/show_bug.cgi?id=77852
3056
3057         Reviewed by Adam Barth.
3058
3059         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
3060         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
3061
3062         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
3063         constant value is equal to the expected constant value)
3064         [ReturnsNew] => [ReturnNewObject] (For clarification)
3065         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
3066         with other [*Getter] IDLs)
3067         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
3068         with other [*Setter] IDLs)
3069         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
3070         name in implementation)
3071
3072         No tests. No change in behavior.
3073
3074         * bindings/scripts/CodeGenerator.pm:
3075         (ShouldCheckEnums):
3076         (GenerateCompileTimeCheckForEnumsIfNeeded):
3077         * bindings/scripts/CodeGeneratorJS.pm:
3078         (GenerateHeader):
3079         (GenerateImplementation):
3080         (NativeToJSValue):
3081         * bindings/scripts/CodeGeneratorV8.pm:
3082         (GenerateSingleBatchedAttribute):
3083         (GenerateFunctionCallString):
3084         (NativeToJSValue):
3085
3086         * bindings/scripts/test/TestObj.idl:
3087         * bindings/scripts/test/TestTypedArray.idl:
3088
3089         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
3090         (WebCore):
3091         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
3092         (WebCore):
3093         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
3094         (WebCore):
3095         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
3096         (WebCore):
3097
3098         * bindings/scripts/test/TestObj.idl:
3099         * bindings/scripts/test/TestTypedArray.idl:
3100         * css/WebKitCSSFilterValue.idl:
3101         * css/WebKitCSSTransformValue.idl:
3102         * dom/DOMCoreException.idl:
3103         * dom/Document.idl:
3104         * dom/EventException.idl:
3105         * dom/RangeException.idl:
3106         * fileapi/FileException.idl:
3107         * fileapi/OperationNotAllowedException.idl:
3108         * html/HTMLFormElement.idl:
3109         * html/canvas/Float32Array.idl:
3110         * html/canvas/Float64Array.idl:
3111         * html/canvas/Int16Array.idl:
3112         * html/canvas/Int32Array.idl:
3113         * html/canvas/Int8Array.idl:
3114         * html/canvas/OESStandardDerivatives.idl:
3115         * html/canvas/OESVertexArrayObject.idl:
3116         * html/canvas/Uint16Array.idl:
3117         * html/canvas/Uint32Array.idl:
3118         * html/canvas/Uint8Array.idl:
3119         * html/canvas/Uint8ClampedArray.idl:
3120         * html/canvas/WebGLCompressedTextures.idl:
3121         * html/canvas/WebGLDebugRendererInfo.idl:
3122         * html/canvas/WebGLRenderingContext.idl:
3123         * inspector/JavaScriptCallFrame.idl:
3124         * loader/appcache/DOMApplicationCache.idl:
3125         * page/Console.idl:
3126         * page/DOMWindow.idl:
3127         * page/Location.idl:
3128         * storage/IDBCursor.idl:
3129         * storage/IDBDatabaseException.idl:
3130         * storage/IDBObjectStore.idl:
3131         * storage/SQLException.idl:
3132         * svg/SVGComponentTransferFunctionElement.idl:
3133         * svg/SVGException.idl:
3134         * svg/SVGFEBlendElement.idl:
3135         * svg/SVGFEColorMatrixElement.idl:
3136         * svg/SVGFECompositeElement.idl:
3137         * svg/SVGFEConvolveMatrixElement.idl:
3138         * svg/SVGFEDisplacementMapElement.idl:
3139         * svg/SVGFEMorphologyElement.idl:
3140         * svg/SVGFETurbulenceElement.idl:
3141         * svg/SVGGradientElement.idl:
3142         * xml/XMLHttpRequestException.idl:
3143
3144 2012-02-06  Stephen Chenney  <schenney@chromium.org>
3145
3146         RenderSVGShape::strokeContains will fail for some strokes
3147         https://bugs.webkit.org/show_bug.cgi?id=76931
3148
3149         Reviewed by Darin Adler.
3150
3151         Adding support for rounded zero-length endcaps for SVG path hit
3152         testing.
3153
3154         Tests: svg/hittest/zero-length-butt-cap-path.xhtml
3155                svg/hittest/zero-length-round-cap-path.xhtml
3156                svg/hittest/zero-length-square-cap-path.xhtml
3157
3158         * rendering/svg/RenderSVGShape.cpp:
3159         (WebCore::RenderSVGShape::strokeContains):
3160
3161 2012-02-06  Gregg Tavares  <gman@google.com>
3162
3163         Add webGLErrorsToConsoleEnabled Settings flag
3164         https://bugs.webkit.org/show_bug.cgi?id=77696
3165
3166         Reviewed by Kenneth Russell.
3167
3168         No new tests as there is no change in behavior.
3169
3170         * html/canvas/WebGLRenderingContext.cpp:
3171         (WebCore):
3172         (WebCore::WebGLRenderingContext::setupFlags):
3173         * page/Settings.cpp:
3174         (WebCore::Settings::Settings):
3175         * page/Settings.h:
3176         (Settings):
3177         (WebCore::Settings::webGLErrorsToConsoleEnabled):
3178
3179 2012-02-06  Emil A Eklund  <eae@chromium.org>
3180
3181         Convert PopupMenuClient::clientPadding over to new layout abstraction
3182         https://bugs.webkit.org/show_bug.cgi?id=77798
3183
3184         Reviewed by Eric Seidel.
3185
3186         Change PopupMenuClient and all classes inheriting from it to use the new
3187         layout types for padding.
3188
3189         No new tests.
3190
3191         * platform/PopupMenuClient.h:
3192         (PopupMenuClient):
3193         * rendering/RenderMenuList.h:
3194         * rendering/RenderTextControlSingleLine.cpp:
3195         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3196         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3197         * rendering/RenderTextControlSingleLine.h:
3198
3199 2012-02-06  Philip Rogers  <pdr@google.com>
3200
3201         Fix color animations by value
3202         https://bugs.webkit.org/show_bug.cgi?id=77812
3203
3204         Reviewed by Darin Adler.
3205
3206         Test: svg/animations/animate-color-fill-from-by.html
3207
3208         * svg/SVGAnimatedColor.cpp:
3209         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
3210
3211 2012-02-03  Jer Noble  <jer.noble@apple.com>
3212
3213         REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
3214         https://bugs.webkit.org/show_bug.cgi?id=77288
3215
3216         Reviewed by Darin Adler.
3217
3218         Test: media/video-mouse-focus.html
3219
3220         Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
3221         and returning false.
3222
3223         * html/HTMLMediaElement.cpp:
3224         (WebCore::HTMLMediaElement::isMouseFocusable):
3225         * html/HTMLMediaElement.h:
3226
3227 2012-02-06  Anders Carlsson  <andersca@apple.com>
3228
3229         Overlay scrollbars flash when window is simply activated
3230         https://bugs.webkit.org/show_bug.cgi?id=77911
3231         <rdar://problem/10211995>
3232
3233         Reviewed by Kenneth Russell.
3234
3235         Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
3236         that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
3237         we only want to flash scrollers when the window becomes visible.
3238
3239         * WebCore.exp.in:
3240         * page/FocusController.cpp:
3241         (WebCore::FocusController::FocusController):
3242         (WebCore::FocusController::setActive):
3243         (WebCore::FocusController::setContainingWindowIsVisible):
3244         (WebCore):
3245         * page/FocusController.h:
3246         (FocusController):
3247         (WebCore::FocusController::containingWindowIsVisible):
3248
3249         * platform/mac/ScrollAnimatorMac.mm:
3250         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3251         Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
3252
3253 2012-02-06  Greg Simon  <gregsimon@chromium.org>
3254
3255         postMessage leaks MemoryEvent object
3256         https://bugs.webkit.org/show_bug.cgi?id=77893
3257
3258         Reviewed by Adam Barth.
3259
3260         Changed from PassRefPtr().leakRef() to RefPtr.get() when 
3261         calling into FrameLoaderClient to stop +1 extra ref.
3262
3263         * page/DOMWindow.cpp:
3264         (WebCore::DOMWindow::postMessageTimerFired):
3265
3266 2012-02-06  Ehsan Akhgari  <ehsan.akhgari@gmail.com>
3267
3268         WebGL conformance test misc/functions-returning-strings.html fails
3269         https://bugs.webkit.org/show_bug.cgi?id=77149
3270
3271         Make sure that WebGL methods returning strings don't return null when
3272         they run successfully.
3273
3274         Reviewed by Kenneth Russell.
3275
3276         Test: fast/canvas/webgl/functions-returning-strings.html
3277
3278         * html/canvas/WebGLRenderingContext.cpp:
3279         (WebCore):
3280         (WebCore::WebGLRenderingContext::getProgramInfoLog):
3281         (WebCore::WebGLRenderingContext::getShaderInfoLog):
3282         (WebCore::WebGLRenderingContext::getShaderSource):
3283         (WebCore::WebGLRenderingContext::ensureNotNull):
3284         * html/canvas/WebGLRenderingContext.h:
3285         (WebGLRenderingContext):
3286
3287 2012-02-06  Enrica Casucci  <enrica@apple.com>
3288
3289         Refactor Mac platform implementation of the Pasteboard class.
3290         https://bugs.webkit.org/show_bug.cgi?id=77567
3291         
3292         The goal of this change is to remove the majority of the methods in
3293         the class interface that are Mac specific.
3294         writeSelectionForTypes has been left to support OS X services.
3295         Some of the methods have been turned into static functions.
3296         The method asURL was being used only by the DragData class and its
3297         implementation has been moved there.
3298         This is a first step in the direction of removing NSPasteboard access from
3299         the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
3300         leaving the WebKit1 behavior unchanged.
3301
3302         Reviewed by Alexey Proskuryakov.
3303
3304         No new tests. No changes in behavior.
3305
3306         * platform/Pasteboard.h: Removed most of the Mac specific methods.
3307         * platform/mac/ClipboardMac.mm:
3308         (WebCore::ClipboardMac::writeRange):
3309         (WebCore::ClipboardMac::writeURL):
3310         * platform/mac/DragDataMac.mm:
3311         (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
3312         because we only want to handle the case of single file, otherwise the user
3313         doesn't know which of the files has been chosen.
3314         * platform/mac/PasteboardMac.mm:
3315         (WebCore::writeURLForTypes):
3316         (WebCore::Pasteboard::writeURL):
3317         (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
3318         (WebCore::Pasteboard::writeImage):
3319         (WebCore::documentFragmentWithImageResource): Ditto.
3320         (WebCore::documentFragmentWithRTF): Ditto.
3321         (WebCore::Pasteboard::documentFragment):
3322
3323 2012-02-06  James Robinson  <jamesr@chromium.org>
3324
3325         [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
3326         https://bugs.webkit.org/show_bug.cgi?id=77910
3327
3328         Reviewed by Kenneth Russell.
3329
3330         When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
3331         This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
3332         ASSERT()s, as well as saves some memory.
3333
3334         New unit test added to TiledLayerChromiumTest.
3335
3336         * platform/graphics/chromium/TiledLayerChromium.cpp:
3337         (WebCore::TiledLayerChromium::invalidateRect):
3338         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
3339         (WebCore::CCLayerTilingData::setBounds):
3340
3341 2012-02-06  Chris Rogers  <crogers@google.com>
3342
3343         zvmul incorrectly multiplies complex arrays on Windows.
3344         https://bugs.webkit.org/show_bug.cgi?id=77900
3345
3346         Reviewed by Kenneth Russell.
3347
3348         * platform/audio/VectorMath.cpp:
3349         (WebCore::VectorMath::zvmul):
3350
3351 2012-02-06  Andreas Kling  <awesomekling@apple.com>
3352
3353         REGRESSION(r106756): 10% performance hit on DOM/Template.
3354         <http://webkit.org/b/77831>
3355
3356         Reviewed by Ryosuke Niwa.
3357
3358         Let the StylePropertySet used for element attribute style have the element as its parent.
3359         This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
3360         some of the internal logic with inline styles.
3361
3362         In the end, this means that CSSParser will now pick up the document's CSSValuePool when
3363         parsing properties for attribute styles, which fixes the perf regression from r106756.
3364
3365         * css/StylePropertySet.cpp:
3366         (WebCore::StylePropertySet::StylePropertySet):
3367         (WebCore::StylePropertySet::contextStyleSheet):
3368
3369             Find contextStyleSheet via the parentElement() when there is one.
3370
3371         (WebCore::StylePropertySet::setNeedsStyleRecalc):
3372
3373             Always set FullStyleChange for attribute style mutations. We can probably use the
3374             same lighter invalidation as inline styles, but that's a topic for another patch.
3375
3376         * css/StylePropertySet.h:
3377         (WebCore::StylePropertySet::createInline):
3378         (WebCore::StylePropertySet::createAttributeStyle):
3379         (WebCore::StylePropertySet::parentRuleInternal):
3380         (WebCore::StylePropertySet::clearParentRule):
3381         (StylePropertySet):
3382         (WebCore::StylePropertySet::parentElement):
3383         (WebCore::StylePropertySet::clearParentElement):
3384
3385             Added m_parentIsElement bit and update assertions as appropriate to not just
3386             cover the inline style case. Added a createAttributeStyle() helper to create
3387             a StylePropertySet for use as Element::attributeStyle().
3388
3389         * dom/StyledElement.h:
3390         * dom/ElementAttributeData.h:
3391         * dom/ElementAttributeData.cpp:
3392         (WebCore::ElementAttributeData::ensureAttributeStyle):
3393
3394             Use StylePropertySet::createAttributeStyle().
3395
3396         * dom/StyledElement.cpp:
3397         (WebCore::StyledElement::removeCSSProperties):
3398         (WebCore::StyledElement::addCSSProperty):
3399         (WebCore::StyledElement::addCSSImageProperty):
3400
3401             Remove setNeedsStyleRecalc() calls since that is now handled automatically by
3402             StylePropertySet's mutation methods.
3403
3404 2012-02-06  Kentaro Hara  <haraken@chromium.org>
3405
3406         In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
3407         https://bugs.webkit.org/show_bug.cgi?id=77510
3408
3409         Reviewed by Adam Barth.
3410
3411         Currently, if any IDL file is updated, all IDL files are rebuilt.
3412         This patch stops rebuilding IDL files which are not modified nor
3413         whose supplemental dependencies are not changed.
3414
3415         The new build flow is as follows:
3416
3417             supplemental.dep : $(ALL_IDLS)
3418                 perl resolve-supplemental.pl ...
3419
3420             %.idl-needs-rebuild : %.idl supplemental.dep
3421                 perl update-idl-needs-rebuild.pl ...
3422
3423             JS%.cpp : %.idl-needs-rebuild
3424                 perl generate-bindings.pl ...
3425
3426         resolve-supplemental.pl generates the following supplemental.dep.
3427         The number in () is the last access timestamp of the file.
3428
3429             A.idl(1200)
3430             B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
3431             C.idl(1000)
3432
3433         update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
3434         if X.idl-needs-rebuild is older than X.idl or the IDL files which are
3435         supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
3436         B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
3437         and B.idl-needs-rebuild will be touched.
3438
3439         Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
3440         but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
3441         will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
3442         generate-bindings.pl will run for the IDL files which are modified or whose
3443         dependencies are changed.
3444
3445         No tests. I manually confirmed the followings:
3446         - Touch Element.idl, then only Element.idl is rebuilt
3447         - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
3448         - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
3449
3450         * DerivedSources.make: Modified the build flow as described above.
3451         * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
3452         * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
3453         the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
3454         (touch):
3455
3456 2012-02-06  Wei James  <james.wei@intel.com>
3457
3458         AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
3459         https://bugs.webkit.org/show_bug.cgi?id=77609
3460
3461         Reviewed by Kenneth Russell.
3462
3463         Test: webaudio/stereo2mono-down-mixing.html
3464
3465         * platform/audio/AudioBus.cpp:
3466         (WebCore):
3467         (WebCore::AudioBus::copyFrom):
3468         (WebCore::AudioBus::sumFrom):
3469
3470 2012-02-06  Cris Neckar  <cdn@chromium.org>
3471
3472         Add RefPtrs for parent and sibling counter nodes
3473         https://bugs.webkit.org/show_bug.cgi?id=75212
3474
3475         Reviewed by Adam Barth.
3476
3477         Test: fast/css/counters/reparent-table-children-with-counters-crash.html
3478
3479         * rendering/RenderCounter.cpp:
3480         (WebCore::findPlaceForCounter):
3481         (WebCore::makeCounterNode):
3482         (WebCore::updateCounters):
3483
3484 2012-02-06  Kalev Lember  <kalevlember@gmail.com>
3485
3486         [GTK] Add missing pango include dir to fix build
3487         https://bugs.webkit.org/show_bug.cgi?id=77832
3488
3489         Reviewed by Martin Robinson.
3490
3491         * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
3492
3493 2012-02-06  Jochen Eisinger  <jochen@chromium.org>
3494
3495         Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
3496         https://bugs.webkit.org/show_bug.cgi?id=77370
3497
3498         Reviewed by Adam Barth.