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